var FusionPageBuilder = FusionPageBuilder || {}; ( function() { FusionPageBuilder.SettingsHelpers = Backbone.Model.extend( { /** * Init. * * @since 2.0.0 * @return {void} */ initialize: function( ) { this.openSettingsView = null; this.openChildSettingsView = null; this.modalDialogMoreView = null; this.listenTo( window.FusionEvents, 'fusion-settings-modal-save', this.removeElementSettingsView ); this.listenTo( window.FusionEvents, 'fusion-settings-modal-cancel', this.removeElementSettingsView ); this.listenTo( window.FusionEvents, 'fusion-settings-removed', this.removeElementSettingsView ); this.listenTo( window.FusionEvents, 'fusion-preferences-editing_mode-updated', this.editingModeChanged ); }, /** * Check if element settings panel (dialog) should be rendered or not. * * @since 2.0.0 * @param {string} view - Element View. * @return {boolean} */ shouldRenderSettings: function( view ) { var modelParent = view.model.get( 'parent' ), isChild = 'multi_element_child' === view.model.get( 'multi' ), modelCid = view.model.get( 'cid' ), generated = 'generated_element' === view.model.get( 'type' ), rendered = false, $editPanel = 'dialog' === window.FusionApp.preferencesData.editing_mode ? jQuery( '.fusion-builder-dialog.fusion-builder-settings-dialog .ui-dialog-content' ) : window.FusionApp.sidebarView.$el.find( '.fusion-builder-custom-tab' ), panelCid, $panelWrap; if ( generated ) { if ( jQuery( '.ui-dialog-content[data-cid="' + modelCid + '"]' ).length ) { jQuery( '.ui-dialog-content[data-cid="' + modelCid + '"]' ).closest( '.ui-dialog' ).show(); return false; } if ( jQuery( '.ui-dialog-content:not( [data-cid="' + modelCid + '"] )' ).length ) { jQuery( '.ui-dialog-content:not( [data-cid="' + modelCid + '"] )' ).closest( '.ui-dialog' ).hide(); } return true; } if ( $editPanel.length ) { // Check if panel is already open, if so do nothing. $editPanel.each( function() { panelCid = jQuery( this ).attr( 'data-cid' ); $panelWrap = 'dialog' === window.FusionApp.preferencesData.editing_mode ? jQuery( this ).closest( '.fusion-builder-dialog.fusion-builder-settings-dialog' ) : jQuery( this ); if ( parseInt( modelCid, 10 ) === parseInt( panelCid, 10 ) ) { $panelWrap.show(); rendered = true; // continue. return; } $panelWrap.hide(); } ); } // Show panel if it is already rendered. if ( rendered ) { // If not dialog we have to show correct sidebar tab before exit. if ( 'dialog' !== window.FusionApp.preferencesData.editing_mode ) { window.FusionApp.sidebarView.openSidebarAndShowEOTab(); } return false; } // Remove the parent view unless its a direct parent of what we want to edit. if ( this.openSettingsView ) { if ( isChild && modelParent === this.openSettingsView.model.get( 'cid' ) && 'multi_element_parent' === this.openSettingsView.model.get( 'multi' ) ) { if ( 'dialog' === window.FusionApp.preferencesData.editing_mode ) { this.openSettingsView.$el.closest( '.fusion-builder-dialog.fusion-builder-settings-dialog' ).hide(); } else { this.openSettingsView.$el.hide(); } } else { this.openSettingsView.saveSettings(); } } // If we have open child view, remove it. if ( this.openChildSettingsView ) { this.openChildSettingsView.saveSettings(); } // Set newly opened view to access. if ( ! isChild ) { this.openSettingsView = view; } else { this.openChildSettingsView = view; } return true; }, removeElementSettingsView: function( cid ) { if ( this.openSettingsView && cid === this.openSettingsView.model.get( 'cid' ) ) { this.openSettingsView = false; } if ( this.openChildSettingsView && cid === this.openChildSettingsView.model.get( 'cid' ) ) { this.openChildSettingsView = false; } }, /** * Render dialog more options template. * * @since 2.0.0 * @param {Object} view - The view. * @param {Object} event - The event. * @return {void} */ renderDialogMoreOptions: function( view ) { var $wrap = 'dialog' === window.FusionApp.preferencesData.editing_mode ? view.$el.closest( '.ui-dialog' ).find( '.fusion-utility-menu-wrap' ) : view.$el.find( '.fusion-utility-menu-wrap' ); this.modalDialogMoreView = new FusionPageBuilder.modalDialogMore( { model: this.model } ); jQuery( this.modalDialogMoreView.render( { view: view } ).el ).appendTo( $wrap ); // After child modal is closed 'click' is attached again. $wrap.find( '.fusion-utility-menu' ).off().on( 'click', function( event ) { $wrap = jQuery( this ).closest( '.fusion-utility-menu-wrap' ); $wrap.toggleClass( 'active' ); event.stopPropagation(); window.FusionPageBuilderApp.sizesHide( event ); } ); }, /** * Things to be done when editing_mode pregerence is changed. */ editingModeChanged: function() { if ( this.openSettingsView ) { this.openSettingsView.saveSettings(); } if ( this.openChildSettingsView ) { this.openChildSettingsView.saveSettings(); } } } ); }( jQuery ) );
rokubet
kingbetting giriş
padişahbet güncel giriş
pin up aviator
betmatik giriş
padişahbet güncel giriş
cashwin giris
neyine giriş
betwild giris
rexbet giriş
imajbet giriş
sugar rush 1000
biabet giris
plinko romania
biabet giriş