OwlCyberSecurity - MANAGER
Edit File: vc_tta_section.js
(function ( $ ) { 'use strict'; window.vc.ttaSectionActivateOnClone = false; window.InlineShortcodeView_vc_tta_section = window.InlineShortcodeViewContainerWithParent.extend( { events: { 'click > .vc_controls [data-vc-control="destroy"]': 'destroy', 'click > .vc_controls [data-vc-control="edit"]': 'edit', 'click > .vc_controls [data-vc-control="clone"]': 'clone', 'click > .vc_controls [data-vc-control="prepend"]': 'prependElement', 'click > .vc_controls [data-vc-control="append"]': 'appendElement', 'click > .vc_controls [data-vc-control="parent.destroy"]': 'destroyParent', 'click > .vc_controls [data-vc-control="parent.edit"]': 'editParent', 'click > .vc_controls [data-vc-control="parent.clone"]': 'cloneParent', 'click > .vc_controls [data-vc-control="parent.append"]': 'addSibling', 'click .vc_tta-panel-body > [data-js-panel-body].vc_empty-element': 'appendElement', 'click > .vc_controls .vc_control-btn-switcher': 'switchControls', 'mouseenter': 'resetActive', 'mouseleave': 'holdActive' }, controls_selector: '#vc_controls-template-vc_tta_section', previousClasses: false, activeClass: 'vc_active', render: function () { var model = this.model; window.InlineShortcodeView_vc_tta_section.__super__.render.call( this ); _.bindAll( this, 'bindAccordionEvents' ); this.refreshContent(); this.moveClasses(); _.defer( this.bindAccordionEvents ); if ( this.isAsActiveSection() ) { window.vc.frame_window.vc_iframe.addActivity( function () { var $accordion = window.vc.frame_window.jQuery( '[data-vc-accordion][data-vc-target="[data-model-id=' + model.get( 'id' ) + ']"]' ); $accordion.trigger( 'click' ); } ); } return this; }, allowAddControl: function () { return vc_user_access().shortcodeAll( 'vc_tta_section' ); }, clone: function ( e ) { vc.ttaSectionActivateOnClone = true; window.InlineShortcodeView_vc_tta_section.__super__.clone.call( this, e ); }, addSibling: function ( e ) { window.InlineShortcodeView_vc_tta_section.__super__.addSibling.call( this, e ); }, parentChanged: function () { window.InlineShortcodeView_vc_tta_section.__super__.parentChanged.call( this ); this.refreshContent( true ); return this; }, changed: function () { if ( this.allowAddControlOnEmpty() && 0 === this.$el.find( '.vc_element[data-tag]' ).length ) { this.$el.addClass( 'vc_empty' ).find( '.vc_tta-panel-body > [data-js-panel-body]' ).addClass( 'vc_empty-element' ); } else { this.$el.removeClass( 'vc_empty' ).find( '.vc_tta-panel-body > [data-js-panel-body].vc_empty-element' ).removeClass( 'vc_empty-element' ); } }, moveClasses: function () { var panelClassName; if ( this.previousClasses ) { this.$el.get( 0 ).className = this.$el.get( 0 ).className.replace( this.previousClasses, "" ); } panelClassName = this.$el.find( '.vc_tta-panel' ).get( 0 ).className; this.$el.attr( 'data-vc-content', this.$el.find( '.vc_tta-panel' ).data( 'vcContent' ) ); this.previousClasses = panelClassName; this.$el.find( '.vc_tta-panel' ).get( 0 ).className = ""; this.$el.get( 0 ).className = this.$el.get( 0 ).className + " " + this.previousClasses; // Fix data-vc-target for accordions: this.$el.find( '.vc_tta-panel-title [data-vc-target]' ).attr( 'data-vc-target', '[data-model-id=' + this.model.get( 'id' ) + ']' ); }, refreshContent: function ( noSectionUpdate ) { var $controlsIcon, $controlsIconsPositionEl, parentModel, parentParams, paramsMap, parentLayout; parentModel = vc.shortcodes.get( this.model.get( 'parent_id' ) ); if ( _.isObject( parentModel ) ) { paramsMap = vc.getDefaultsAndDependencyMap( parentModel.get( 'shortcode' ) ); parentParams = _.extend( {}, paramsMap.defaults, parentModel.get( 'params' ) ); $controlsIcon = this.$el.find( '.vc_tta-controls-icon' ); if ( parentParams && !_.isUndefined( parentParams.c_icon ) && 0 < parentParams.c_icon.length ) { if ( $controlsIcon.length ) { $controlsIcon.attr( 'data-vc-tta-controls-icon', parentParams.c_icon ); } else { this.$el.find( '[data-vc-tta-controls-icon-wrapper]' ).append( $( '<i class="vc_tta-controls-icon" data-vc-tta-controls-icon="' + parentParams.c_icon + '"></i>' ) ); } if ( !_.isUndefined( parentParams.c_position ) && 0 < parentParams.c_position.length ) { $controlsIconsPositionEl = this.$el.find( '[data-vc-tta-controls-icon-position]' ); if ( $controlsIconsPositionEl.length ) { $controlsIconsPositionEl.attr( 'data-vc-tta-controls-icon-position', parentParams.c_position ); } } } else { $controlsIcon.remove(); this.$el.find( '[data-vc-tta-controls-icon-position]' ).attr( 'data-vc-tta-controls-icon-position', '' ); } if ( true !== noSectionUpdate && parentModel.view && parentModel.view.sectionUpdated ) { parentModel.view.sectionUpdated( this.model ); } } }, setAsActiveSection: function ( isActive ) { this.model.set( 'isActiveSection', !!isActive ); }, isAsActiveSection: function () { return !!this.model.get( 'isActiveSection' ); }, bindAccordionEvents: function () { var that = this; window.vc.frame_window.jQuery( '[data-vc-target="[data-model-id=' + this.model.get( 'id' ) + ']"]' ) .on( 'show.vc.accordion hide.vc.accordion', function ( e ) { that.setAsActiveSection( 'show' === e.type ); } ); }, destroy: function ( e ) { var parentModel, parentId; parentId = this.model.get( 'parent_id' ); window.InlineShortcodeView_vc_tta_section.__super__.destroy.call( this, e ); parentModel = vc.shortcodes.get( parentId ); if ( !vc.shortcodes.where( { parent_id: parentId } ).length ) { parentModel.destroy(); } else { if ( parentModel.view && parentModel.view.removeSection ) { parentModel.view.removeSection( this.model.get( 'id' ) ); } } } } ); })( window.jQuery );