/* global FusionPageBuilderEvents, fusionBuilderGetContent, FusionPageBuilderApp, FusionPageBuilderViewManager, FusionPageBuilderElements, fusionHistoryManager, fusionBuilderText */ /* eslint no-alert: 0 */ /* eslint no-unused-vars: 0 */ /* eslint no-shadow: 0 */ var FusionPageBuilder = FusionPageBuilder || {}; ( function( $ ) { $( document ).ready( function() { // Builder Inner Row View FusionPageBuilder.InnerRowView = window.wp.Backbone.View.extend( { className: 'fusion_builder_row_inner fusion_builder_column_element', template: FusionPageBuilder.template( $( '#fusion-builder-row-inner-template' ).html() ), events: { 'click .fusion-builder-remove-inner-row': 'removeRow', 'click .fusion-builder-save-inner-row-dialog-button': 'saveElementDialog', 'click .fusion-builder-clone-inner-row': 'cloneNestedRow', 'click .fusion-builder-inner-row-overlay': 'showInnerRowDialog', 'click .fusion-builder-inner-row-settings': 'showSettings', 'click .fusion-builder-inner-row-close': 'hideInnerRowDialog', 'click .fusion-builder-inner-row-close-icon': 'hideInnerRowDialog', 'click .fusion-builder-modal-save': 'saveInnerRowSettings', 'click .fusion-builder-insert-inner-column': 'displayInnerColumn' }, initialize: function() { this.$el.attr( 'data-cid', this.model.get( 'cid' ) ); // Close modal view this.listenTo( FusionPageBuilderEvents, 'fusion-close-inner-modal', this.hideInnerRowDialog ); }, showSettings: function( event ) { var modalView, viewSettings = { model: this.model, collection: this.collection, attributes: { 'data-modal_view': 'element_settings' } }; if ( event ) { event.preventDefault(); } modalView = new FusionPageBuilder.ModalView( viewSettings ); jQuery( 'body' ).append( modalView.render().el ); }, showInnerRowDialog: function( event ) { var thisEl = this.$el; if ( event ) { event.preventDefault(); } FusionPageBuilderApp.allContent = fusionBuilderGetContent( 'content', true ); FusionPageBuilderApp.pauseBuilder = true; thisEl.find( '.fusion-builder-row-content' ).show(); $( 'body' ).addClass( 'fusion_builder_inner_row_no_scroll' ).append( '
' ); }, hideInnerRowDialog: function( event ) { var thisEl = this.$el, innerColumnsString = ''; if ( event ) { event.preventDefault(); } // If builder is paused, resume it. if ( FusionPageBuilderApp.pauseBuilder ) { FusionPageBuilderApp.pauseBuilder = false; // Reset models with previous data. FusionPageBuilderApp.clearBuilderLayout(); FusionPageBuilderApp.$el.find( '.fusion_builder_container' ).remove(); FusionPageBuilderApp.createBuilderLayout( FusionPageBuilderApp.allContent ); } thisEl.find( '.fusion-builder-row-content' ).hide(); $( 'body' ).removeClass( 'fusion_builder_inner_row_no_scroll' ); $( '.fusion_builder_modal_inner_row_overlay' ).remove(); this.$el.find( '.fusion-builder-column-inner' ).each( function() { if ( 'undefined' !== typeof jQuery( this )[ 0 ].dataset ) { innerColumnsString += jQuery( this )[ 0 ].dataset.columnSize.replace( '_', '/' ) + ' + '; } else { innerColumnsString += jQuery( this ).data( 'column-size' ).replace( '_', '/' ) + ' + '; } } ); this.$el.find( '> p' ).html( innerColumnsString.slice( 0, innerColumnsString.length - 3 ) ); }, saveInnerRowSettings: function( event ) { var innerColumnsString = '', element, thisEl; if ( 'object' === typeof event ) { event.preventDefault(); } FusionPageBuilderApp.pauseBuilder = false; thisEl = this.$el; element = FusionPageBuilderElements.find( function( model ) { return model.get( 'cid' ) === thisEl.data( 'cid' ); } ); element.set( { chnaged: { changed: true } } ); FusionPageBuilderEvents.trigger( 'fusion-element-edited' ); this.$el.find( '.fusion-builder-column-inner' ).each( function() { if ( 'undefined' !== typeof jQuery( this )[ 0 ].dataset ) { innerColumnsString += jQuery( this )[ 0 ].dataset.columnSize.replace( '_', '/' ) + ' + '; } else { innerColumnsString += jQuery( this ).data( 'column-size' ).replace( '_', '/' ) + ' + '; } } ); this.$el.find( '> p' ).html( innerColumnsString.slice( 0, innerColumnsString.length - 3 ) ); this.$el.find( '.fusion-builder-row-content' ).hide(); $( 'body' ).removeClass( 'fusion_builder_inner_row_no_scroll' ); $( '.fusion_builder_modal_inner_row_overlay' ).remove(); // Update title. if ( 'undefined' !== typeof element.attributes.params.admin_label && '' !== element.attributes.params.admin_label ) { this.$el.find( '.fusion_module_title' ).text( _.unescape( element.attributes.params.admin_label ) ); } else { this.$el.find( '.fusion_module_title' ).text( fusionAllElements[ element.get( 'element_type' ) ].name ); } element.set( { chnaged: {} } ); // Save history state fusionHistoryManager.turnOnTracking(); window.fusionHistoryState = fusionBuilderText.edited_nested_columns; FusionPageBuilderEvents.trigger( 'fusion-element-edited' ); }, displayInnerColumn: function( event ) { var view; if ( event ) { event.preventDefault(); } FusionPageBuilderApp.parentRowId = this.model.get( 'cid' ); view = new FusionPageBuilder.NestedColumnLibraryView( { model: this.model, collection: this.collection, attributes: { 'data-modal_view': 'nested_column_library' }, view: this } ); $( this.$el ).find( '.fusion-builder-row-content' ).append( view.render().el ); }, render: function() { var innerColumnsWrapper = this.$el, innerColumnsString = ''; this.$el.html( this.template( this.model.toJSON() ) ); this.sortableColumns(); setTimeout( function() { innerColumnsWrapper.find( '.fusion-builder-column-inner' ).each( function() { var size = String( jQuery( this ).data( 'column-size' ) ); innerColumnsString += size.includes( '_' ) ? size.replace( '_', '/' ) : size; innerColumnsString += ' + '; } ); innerColumnsWrapper.find( '> h4' ).after( '' + innerColumnsString.slice( 0, innerColumnsString.length - 3 ) + '
' ); }, 100 ); // If global, make it. if ( 'undefined' !== typeof this.model.attributes.params && 'undefined' !== typeof this.model.attributes.params.fusion_global ) { FusionPageBuilderApp.addClassToElement( this.$el, 'fusion-global-element', this.model.attributes.params.fusion_global, this.model.get( 'cid' ) ); } return this; }, cloneNestedRow: function( event, parentCID ) { var innerRowAttributes, thisInnerRow; if ( event ) { event.preventDefault(); } innerRowAttributes = $.extend( true, {}, this.model.attributes ); innerRowAttributes.created = 'manually'; innerRowAttributes.cid = FusionPageBuilderViewManager.generateCid(); if ( event ) { innerRowAttributes.appendAfter = this.$el; } if ( parentCID ) { innerRowAttributes.parent = parentCID; } FusionPageBuilderApp.collection.add( innerRowAttributes ); // Parse inner columns thisInnerRow = this.$el; thisInnerRow.find( '.fusion-builder-column-inner' ).each( function() { var $thisColumnInner = $( this ), columnInnerCID = $thisColumnInner.data( 'cid' ), innerColumnModule = FusionPageBuilderElements.findWhere( { cid: columnInnerCID } ), // Clone model attritubes innerColAttributes = $.extend( true, {}, innerColumnModule.attributes ); innerColAttributes.created = 'manually'; innerColAttributes.cid = FusionPageBuilderViewManager.generateCid(); innerColAttributes.parent = innerRowAttributes.cid; FusionPageBuilderApp.collection.add( innerColAttributes ); // Parse elements inside inner col $thisColumnInner.find( '.fusion_module_block' ).each( function() { var thisModule = $( this ), moduleCID = 'undefined' === typeof thisModule.data( 'cid' ) ? thisModule.find( '.fusion-builder-data-cid' ).data( 'cid' ) : thisModule.data( 'cid' ), // Get model from collection by cid module = FusionPageBuilderElements.find( function( model ) { return model.get( 'cid' ) === moduleCID; } ), // Clone model attritubes innerElementAttributes = $.extend( true, {}, module.attributes ); innerElementAttributes.created = 'manually'; innerElementAttributes.cid = FusionPageBuilderViewManager.generateCid(); innerElementAttributes.parent = innerColAttributes.cid; innerElementAttributes.from = 'fusion_builder_row_inner'; FusionPageBuilderApp.collection.add( innerElementAttributes ); } ); } ); if ( ! parentCID ) { // Save history state fusionHistoryManager.turnOnTracking(); window.fusionHistoryState = fusionBuilderText.cloned_nested_columns; FusionPageBuilderEvents.trigger( 'fusion-element-cloned' ); } // Check for globals. if ( innerRowAttributes.parent ) { setTimeout( FusionPageBuilderApp.checkGlobalParents, 500, innerRowAttributes.parent ); } }, saveElementDialog: function( event ) { if ( event ) { event.preventDefault(); } FusionPageBuilderApp.showLibrary(); $( '#fusion-builder-layouts-elements-trigger' ).click(); $( '#fusion-builder-layouts-elements .fusion-builder-layouts-header-element-fields' ).append( '' ); }, saveElement: function( event ) { var elementContent = this.getInnerRowContent(), $mainContainer = $( '#fusion_builder_main_container' ), elementName = $( '#fusion-builder-save-element-input' ).val(), saveGlobal = $( '#fusion_save_global' ).is( ':checked' ), layoutsContainer = $( '#fusion-builder-layouts-elements .fusion-page-layouts' ), emptyMessage = $( '#fusion-builder-layouts-elements .fusion-page-layouts .fusion-empty-library-message' ), thisModel = this.model, isDuplicate = false, oldGLobalID = null, params = {}; if ( event ) { event.preventDefault(); } if ( 'undefined' !== typeof this.model.attributes.params && 'undefined' !== typeof this.model.attributes.params.fusion_global && 0 < $mainContainer.find( '[fusion-global-layout="' + this.model.attributes.params.fusion_global + '"]' ).length ) { // Make a copy. oldGLobalID = this.model.attributes.params.fusion_global; params = this.model.get( 'params' ); // Remove temporarily and update model delete params.fusion_global; this.model.set( 'params', params ); // Get content. elementContent = this.getInnerRowContent(); // Add it back. params.fusion_global = oldGLobalID; this.model.set( 'params', params ); } $.each( jQuery( 'ul.fusion-page-layouts.fusion-layout-elements li' ), function() { var templateName = jQuery( this ).find( 'h4.fusion-page-layout-title' ).html().split( '

Des gestionnaires experts en campagnes de contacts clients
Chaque équipe de téléactrices est gérée par un superviseur et accompagnée par un team leader
L’organisation est la même pour le centre de Hotline
Des certifications et des standards de haut niveau combinés à des technologies de pointe en support aux équipes











