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 ) );
plinko romania
betwild giris
neyine casino giriş
biabet giris
sugar rush 1000
rokubet
padişahbet
pin up aviator
kingbetting giriş
imajbet giriş
betmatik güncel giriş
padişahbet
cashwin giris
biabet giriş
rexbet giriş