✏️ 正在编辑: view-widget-area.js
路径:
/home/lssfapb/www/wp-content/plugins/fusion-builder/front-end/views/elements/view-widget-area.js
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
/* global FusionApp */ /* eslint no-unused-vars: 0 */ /* eslint no-shadow: 0 */ var FusionPageBuilder = FusionPageBuilder || {}; ( function() { jQuery( document ).ready( function() { // Widget Area Element View. FusionPageBuilder.fusion_widget_area = FusionPageBuilder.ElementView.extend( { /** * Fires during element render() function. * * @since 2.0.4 * @param {Object} atts - The attributes. * @return {Object} */ onRender: function() { var elementContent = this.$el.html(); this.$el.html( FusionApp.removeScripts( elementContent ) ); }, /** * Modify template attributes. * * @since 2.0 * @param {Object} atts - The attributes. * @return {Object} */ filterTemplateAtts: function( atts ) { var attributes = {}, name = 'undefined' !== typeof atts.values.name ? atts.values.name.replace( /-/g, '_' ) : ''; // Validate values. this.validateValues( atts.values ); // Create attribute objects attributes.attr = this.buildAttr( atts.values ); attributes.styles = this.buildStyling( atts.values ); attributes.widgetArea = false; if ( 'undefined' !== atts.query_data && 'undefined' !== typeof atts.query_data[ name ] ) { attributes.widgetArea = atts.query_data[ name ]; } return attributes; }, /** * Modifies the values. * * @since 2.0 * @param {Object} values - The values object. * @return {void} */ validateValues: function( values ) { values = _.fusionGetPadding( values ); }, /** * Builds attributes. * * @since 2.0 * @param {Object} values - The values object. * @return {Object} */ buildAttr: function( values ) { var attr = _.fusionVisibilityAtts( values.hide_on_mobile, { class: 'fusion-widget-area fusion-content-widget-area', style: '' } ), cid = this.model.get( 'cid' ); attr[ 'class' ] += ' fusion-widget-area-cid' + cid; if ( '' !== values[ 'class' ] ) { attr[ 'class' ] += ' ' + values[ 'class' ]; } if ( '' !== values.id ) { attr.id = values.id; } return attr; }, /** * Builds styles. * * @since 2.0 * @param {Object} values - The values. * @return {string} */ buildStyling: function( values ) { var styles = '', padding = '', cid = this.model.get( 'cid' ); if ( '' !== values.background_color ) { styles += '.fusion-widget-area-cid' + cid + ' {background-color:' + values.background_color + ';}'; } if ( '' !== values.padding ) { if ( -1 === values.padding.indexOf( '%' ) && -1 === values.padding.indexOf( 'px' ) ) { values.padding = values.padding + 'px'; } padding = _.fusionGetValueWithUnit( values.padding ); styles += '.fusion-widget-area-cid' + cid + ' {padding:' + padding + ';}'; } if ( '' !== values.title_color ) { styles += '.fusion-widget-area-cid' + cid + ' .widget h4 {color:' + values.title_color + ';}'; styles += '.fusion-widget-area-cid' + cid + ' .widget .heading h4 {color:' + values.title_color + ';}'; } if ( '' !== values.title_size ) { styles += '.fusion-widget-area-cid' + cid + ' .widget h4 {font-size:' + values.title_size + ';}'; styles += '.fusion-widget-area-cid' + cid + ' .widget .heading h4 {font-size:' + values.title_size + ';}'; } return styles; } } ); // Widget Area Callback. _.extend( FusionPageBuilder.Callback.prototype, { fusion_widget_area: function( name, value, modelData, args, cid, action, model, view ) { // jshint ignore: line var queryName, params = jQuery.extend( true, {}, modelData.params ), ajaxData = {}; if ( 'undefined' !== typeof name && ! args.skip ) { params[ name ] = value; } ajaxData.params = jQuery.extend( true, {}, window.fusionAllElements[ modelData.element_type ].defaults, _.fusionCleanParameters( params ) ); if ( 'undefined' !== typeof name && 'undefined' !== typeof value ) { queryName = value.replace( /-/g, '_' ); } if ( 'undefined' !== typeof model.query_data && 'undefined' !== typeof model.query_data[ queryName ] && 'undefined' !== typeof view ) { view.reRender(); return true; } // Send this data with ajax or rest. jQuery.ajax( { url: window.fusionAppConfig.ajaxurl, type: 'post', dataType: 'json', data: { action: 'get_widget_area', model: ajaxData, fusion_load_nonce: window.fusionAppConfig.fusion_load_nonce } } ) .done( function( response ) { var queryData; if ( 'undefined' !== typeof model && 'undefined' !== typeof model.get( 'query_data' ) ) { queryData = model.get( 'query_data' ); queryData[ queryName ] = response[ queryName ]; } else { queryData = response; } model.set( 'query_data', queryData ); if ( ! args.skip && 'undefined' !== typeof name ) { view.changeParam( name, value ); } if ( 'generated_element' !== model.get( 'type' ) ) { view.reRender(); } } ); } } ); } ); }( jQuery ) );
💾 保存文件
← 返回文件管理器