/*! elementor - v3.28.0 - 22-04-2025 */ .elementor-widget-image-carousel .swiper{position:static}.elementor-widget-image-carousel .swiper .swiper-slide figure{line-height:inherit}.elementor-widget-image-carousel .swiper-slide{text-align:center}.elementor-image-carousel-wrapper:not(.swiper-initialized) .swiper-slide{max-width:calc(100% / var(--e-image-carousel-slides-to-show, 3))}/*! elementor - v3.28.0 - 01-04-2025 */ (()=>{var e={87323:(e,t,r)=>{"use strict";var o=r(12470).__,n=r(96784);Object.defineProperty(t,"__esModule",{value:!0}),t.ConvertAll=void 0;var i=n(r(10906)),u=n(r(39805)),a=n(r(40989)),l=n(r(15118)),c=n(r(29402)),s=n(r(87861));function _isNativeReflectConstruct(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!e})()}t.ConvertAll=function(e){function ConvertAll(){return(0,u.default)(this,ConvertAll),function _callSuper(e,t,r){return t=(0,c.default)(t),(0,l.default)(e,_isNativeReflectConstruct()?Reflect.construct(t,r||[],(0,c.default)(e).constructor):t.apply(e,r))}(this,ConvertAll,arguments)}return(0,s.default)(ConvertAll,e),(0,a.default)(ConvertAll,[{key:"getHistory",value:function getHistory(){return{type:o("Converted to Containers","elementor"),title:o("All Content","elementor")}}},{key:"apply",value:function apply(){var e=elementor.getPreviewContainer().children;(0,i.default)(e).forEach((function(e){$e.run("container-converter/convert",{container:e})}))}}])}($e.modules.editor.document.CommandHistoryBase)},93989:(e,t,r)=>{"use strict";var o=r(12470).__,n=r(96784);Object.defineProperty(t,"__esModule",{value:!0}),t.Convert=void 0;var i=n(r(39805)),u=n(r(40989)),a=n(r(15118)),l=n(r(29402)),c=n(r(87861)),s=n(r(80976));function _isNativeReflectConstruct(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!e})()}t.Convert=function(e){function Convert(){return(0,i.default)(this,Convert),function _callSuper(e,t,r){return t=(0,l.default)(t),(0,a.default)(e,_isNativeReflectConstruct()?Reflect.construct(t,r||[],(0,l.default)(e).constructor):t.apply(e,r))}(this,Convert,arguments)}return(0,c.default)(Convert,e),(0,u.default)(Convert,[{key:"getHistory",value:function getHistory(){return{type:o("Converted to Container","elementor"),title:o("Section","elementor")}}},{key:"validateArgs",value:function validateArgs(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.requireContainer(e)}},{key:"apply",value:function apply(e){this.constructor.convert(e)}}],[{key:"convert",value:function convert(e){var t=e.container,r=e.rootContainer,o=void 0===r?t.parent:r,n=t.view,i=t.type,u=o===t.parent?n._index+1:n._index;if(s.default.canConvertToContainer(i)){var a=t.model.toJSON(),l=s.default.getLegacyControlsMapping(a),c=t.settings.toJSON({remove:"default"});c=s.default.migrate(c,l),c=s.default.normalizeSettings(a,c);var f=$e.run("document/elements/create",{model:{elType:"container",settings:c},container:o,options:{at:u,edit:!1}});t.children.forEach((function(e){$e.run("container-converter/convert",{container:e,rootContainer:f})}))}else $e.run("document/elements/create",{model:{elType:t.model.get("elType"),widgetType:t.model.get("widgetType"),settings:t.settings.toJSON({remove:"default"})},container:o,options:{at:u,edit:!1}})}}])}($e.modules.editor.document.CommandHistoryBase)},99150:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Convert",{enumerable:!0,get:function get(){return o.Convert}}),Object.defineProperty(t,"ConvertAll",{enumerable:!0,get:function get(){return n.ConvertAll}});var o=r(93989),n=r(87323)},33976:(e,t,r)=>{"use strict";var o=r(12470).__,n=r(96784),i=r(10564);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var u=n(r(39805)),a=n(r(40989)),l=n(r(15118)),c=n(r(29402)),s=n(r(87861)),f=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=i(e)&&"function"!=typeof e)return{default:e};var r=_getRequireWildcardCache(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&{}.hasOwnProperty.call(e,u)){var a=n?Object.getOwnPropertyDescriptor(e,u):null;a&&(a.get||a.set)?Object.defineProperty(o,u,a):o[u]=e[u]}return o.default=e,r&&r.set(e,o),o}(r(99150));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?r:t})(e)}function _isNativeReflectConstruct(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!e})()}t.default=function(e){function _default(){var e;return(0,u.default)(this,_default),(e=function _callSuper(e,t,r){return t=(0,c.default)(t),(0,l.default)(e,_isNativeReflectConstruct()?Reflect.construct(t,r||[],(0,c.default)(e).constructor):t.apply(e,r))}(this,_default)).bindEvents(),e}return(0,s.default)(_default,e),(0,a.default)(_default,[{key:"bindEvents",value:function bindEvents(){elementor.channels.editor.on("elementorContainerConverter:convert",(function(e){var t=e.container,r=e.el.querySelector(".elementor-button"),n="e-loading";r.classList.add(n),setTimeout((function(){"document"===t.type?$e.run("container-converter/convert-all"):$e.run("container-converter/convert",{container:t}),r.classList.remove(n),r.setAttribute("disabled",!0),elementor.notifications.showToast({message:o("Your changes have been updated.","elementor")})}))}))}},{key:"getNamespace",value:function getNamespace(){return"container-converter"}},{key:"defaultCommands",value:function defaultCommands(){return this.importCommands(f)}}])}($e.modules.ComponentBase)},78345:(e,t,r)=>{"use strict";var o=r(96784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=o(r(85707)),i=r(91034);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function _objectSpread(e){for(var t=1;t{"use strict";var o=r(96784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=o(r(85707)),i=r(91034);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function _objectSpread(e){for(var t=1;t{"use strict";var o=r(96784);Object.defineProperty(t,"__esModule",{value:!0}),t.getDeviceKey=getDeviceKey,t.responsive=function responsive(e,t){var r=[""].concat((0,n.default)(Object.keys(elementorFrontend.config.responsive.activeBreakpoints)));return Object.fromEntries(r.map((function(r){var o=getDeviceKey(e,r);if("string"==typeof t){var n=getDeviceKey(t,r);return[o,function(e){var t=e.settings;return[n,t[o]]}]}return[o,function(n){var i=n.settings,u=n.value;return t({key:e,deviceKey:o,value:u,deviceValue:i[o],settings:i,breakpoint:r})}]})))};var n=o(r(10906));function getDeviceKey(e,t){return[e,t].filter((function(e){return!!e})).join("_")}},80976:(e,t,r)=>{"use strict";var o=r(96784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=o(r(18821)),i=o(r(39805)),u=o(r(40989)),a=o(r(85707)),l=o(r(49040)),c=o(r(78345));function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function _objectSpread(e){for(var t=1;t{"use strict";e.exports=wp.i18n},78113:e=>{e.exports=function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=Array(t);r{e.exports=function _arrayWithHoles(e){if(Array.isArray(e))return e},e.exports.__esModule=!0,e.exports.default=e.exports},91819:(e,t,r)=>{var o=r(78113);e.exports=function _arrayWithoutHoles(e){if(Array.isArray(e))return o(e)},e.exports.__esModule=!0,e.exports.default=e.exports},36417:e=>{e.exports=function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e},e.exports.__esModule=!0,e.exports.default=e.exports},39805:e=>{e.exports=function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},e.exports.__esModule=!0,e.exports.default=e.exports},40989:(e,t,r)=>{var o=r(45498);function _defineProperties(e,t){for(var r=0;r{var o=r(45498);e.exports=function _defineProperty(e,t,r){return(t=o(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports.__esModule=!0,e.exports.default=e.exports},29402:e=>{function _getPrototypeOf(t){return e.exports=_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},e.exports.__esModule=!0,e.exports.default=e.exports,_getPrototypeOf(t)}e.exports=_getPrototypeOf,e.exports.__esModule=!0,e.exports.default=e.exports},87861:(e,t,r)=>{var o=r(91270);e.exports=function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&o(e,t)},e.exports.__esModule=!0,e.exports.default=e.exports},96784:e=>{e.exports=function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports},20365:e=>{e.exports=function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)},e.exports.__esModule=!0,e.exports.default=e.exports},65474:e=>{e.exports=function _iterableToArrayLimit(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o,n,i,u,a=[],l=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(o=i.call(r)).done)&&(a.push(o.value),a.length!==t);l=!0);}catch(e){c=!0,n=e}finally{try{if(!l&&null!=r.return&&(u=r.return(),Object(u)!==u))return}finally{if(c)throw n}}return a}},e.exports.__esModule=!0,e.exports.default=e.exports},11018:e=>{e.exports=function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.__esModule=!0,e.exports.default=e.exports},78687:e=>{e.exports=function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.__esModule=!0,e.exports.default=e.exports},15118:(e,t,r)=>{var o=r(10564).default,n=r(36417);e.exports=function _possibleConstructorReturn(e,t){if(t&&("object"==o(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return n(e)},e.exports.__esModule=!0,e.exports.default=e.exports},91270:e=>{function _setPrototypeOf(t,r){return e.exports=_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},e.exports.__esModule=!0,e.exports.default=e.exports,_setPrototypeOf(t,r)}e.exports=_setPrototypeOf,e.exports.__esModule=!0,e.exports.default=e.exports},18821:(e,t,r)=>{var o=r(70569),n=r(65474),i=r(37744),u=r(11018);e.exports=function _slicedToArray(e,t){return o(e)||n(e,t)||i(e,t)||u()},e.exports.__esModule=!0,e.exports.default=e.exports},10906:(e,t,r)=>{var o=r(91819),n=r(20365),i=r(37744),u=r(78687);e.exports=function _toConsumableArray(e){return o(e)||n(e)||i(e)||u()},e.exports.__esModule=!0,e.exports.default=e.exports},11327:(e,t,r)=>{var o=r(10564).default;e.exports=function toPrimitive(e,t){if("object"!=o(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=o(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)},e.exports.__esModule=!0,e.exports.default=e.exports},45498:(e,t,r)=>{var o=r(10564).default,n=r(11327);e.exports=function toPropertyKey(e){var t=n(e,"string");return"symbol"==o(t)?t:t+""},e.exports.__esModule=!0,e.exports.default=e.exports},10564:e=>{function _typeof(t){return e.exports=_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,_typeof(t)}e.exports=_typeof,e.exports.__esModule=!0,e.exports.default=e.exports},37744:(e,t,r)=>{var o=r(78113);e.exports=function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return o(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?o(e,t):void 0}},e.exports.__esModule=!0,e.exports.default=e.exports}},t={};function __webpack_require__(r){var o=t[r];if(void 0!==o)return o.exports;var n=t[r]={exports:{}};return e[r](n,n.exports,__webpack_require__),n.exports}(()=>{"use strict";var e=__webpack_require__(96784),t=e(__webpack_require__(39805)),r=e(__webpack_require__(40989)),o=e(__webpack_require__(15118)),n=e(__webpack_require__(29402)),i=e(__webpack_require__(87861)),u=e(__webpack_require__(33976));function _isNativeReflectConstruct(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!e})()}new(function(e){function Module(){return(0,t.default)(this,Module),function _callSuper(e,t,r){return t=(0,n.default)(t),(0,o.default)(e,_isNativeReflectConstruct()?Reflect.construct(t,r||[],(0,n.default)(e).constructor):t.apply(e,r))}(this,Module,arguments)}return(0,i.default)(Module,e),(0,r.default)(Module,[{key:"onInit",value:function onInit(){$e.components.register(new u.default)}}])}(elementorModules.editor.utils.Module))})()})(); /*! elementor - v3.0.15 - 2020-12-20 */ // MarionetteJS (Backbone.Marionette) // ---------------------------------- // v2.4.5.e1 // Change Log: // e1: Fix - Compatibility with jQuery 3. (`Marionette.Region.reset`). // // Copyright (c)2016 Derick Bailey, Muted Solutions, LLC. // Distributed under MIT license // // http://marionettejs.com /*! * Includes BabySitter * https://github.com/marionettejs/backbone.babysitter/ * * Includes Wreqr * https://github.com/marionettejs/backbone.wreqr/ */ !function(a,b){if("function"==typeof define&&define.amd)define(["backbone","underscore"],function(c,d){return a.Marionette=a.Mn=b(a,c,d)});else if("undefined"!=typeof exports){var c=require("backbone"),d=require("underscore");module.exports=b(a,c,d)}else a.Marionette=a.Mn=b(a,a.Backbone,a._)}(this,function(a,b,c){"use strict";!function(a,b){var c=a.ChildViewContainer;return a.ChildViewContainer=function(a,b){var c=function(a){this._views={},this._indexByModel={},this._indexByCustom={},this._updateLength(),b.each(a,this.add,this)};b.extend(c.prototype,{add:function(a,b){var c=a.cid;return this._views[c]=a,a.model&&(this._indexByModel[a.model.cid]=c),b&&(this._indexByCustom[b]=c),this._updateLength(),this},findByModel:function(a){return this.findByModelCid(a.cid)},findByModelCid:function(a){var b=this._indexByModel[a];return this.findByCid(b)},findByCustom:function(a){var b=this._indexByCustom[a];return this.findByCid(b)},findByIndex:function(a){return b.values(this._views)[a]},findByCid:function(a){return this._views[a]},remove:function(a){var c=a.cid;return a.model&&delete this._indexByModel[a.model.cid],b.any(this._indexByCustom,function(a,b){return a===c?(delete this._indexByCustom[b],!0):void 0},this),delete this._views[c],this._updateLength(),this},call:function(a){this.apply(a,b.tail(arguments))},apply:function(a,c){b.each(this._views,function(d){b.isFunction(d[a])&&d[a].apply(d,c||[])})},_updateLength:function(){this.length=b.size(this._views)}});var d=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck","reduce"];return b.each(d,function(a){c.prototype[a]=function(){var c=b.values(this._views),d=[c].concat(b.toArray(arguments));return b[a].apply(b,d)}}),c}(a,b),a.ChildViewContainer.VERSION="0.1.11",a.ChildViewContainer.noConflict=function(){return a.ChildViewContainer=c,this},a.ChildViewContainer}(b,c),function(a,b){var c=a.Wreqr,d=a.Wreqr={};return a.Wreqr.VERSION="1.3.6",a.Wreqr.noConflict=function(){return a.Wreqr=c,this},d.Handlers=function(a,b){var c=function(a){this.options=a,this._wreqrHandlers={},b.isFunction(this.initialize)&&this.initialize(a)};return c.extend=a.Model.extend,b.extend(c.prototype,a.Events,{setHandlers:function(a){b.each(a,function(a,c){var d=null;b.isObject(a)&&!b.isFunction(a)&&(d=a.context,a=a.callback),this.setHandler(c,a,d)},this)},setHandler:function(a,b,c){var d={callback:b,context:c};this._wreqrHandlers[a]=d,this.trigger("handler:add",a,b,c)},hasHandler:function(a){return!!this._wreqrHandlers[a]},getHandler:function(a){var b=this._wreqrHandlers[a];if(b)return function(){return b.callback.apply(b.context,arguments)}},removeHandler:function(a){delete this._wreqrHandlers[a]},removeAllHandlers:function(){this._wreqrHandlers={}}}),c}(a,b),d.CommandStorage=function(){var c=function(a){this.options=a,this._commands={},b.isFunction(this.initialize)&&this.initialize(a)};return b.extend(c.prototype,a.Events,{getCommands:function(a){var b=this._commands[a];return b||(b={command:a,instances:[]},this._commands[a]=b),b},addCommand:function(a,b){var c=this.getCommands(a);c.instances.push(b)},clearCommands:function(a){var b=this.getCommands(a);b.instances=[]}}),c}(),d.Commands=function(a,b){return a.Handlers.extend({storageType:a.CommandStorage,constructor:function(b){this.options=b||{},this._initializeStorage(this.options),this.on("handler:add",this._executeCommands,this),a.Handlers.prototype.constructor.apply(this,arguments)},execute:function(a){a=arguments[0];var c=b.rest(arguments);this.hasHandler(a)?this.getHandler(a).apply(this,c):this.storage.addCommand(a,c)},_executeCommands:function(a,c,d){var e=this.storage.getCommands(a);b.each(e.instances,function(a){c.apply(d,a)}),this.storage.clearCommands(a)},_initializeStorage:function(a){var c,d=a.storageType||this.storageType;c=b.isFunction(d)?new d:d,this.storage=c}})}(d,b),d.RequestResponse=function(a,b){return a.Handlers.extend({request:function(a){return this.hasHandler(a)?this.getHandler(a).apply(this,b.rest(arguments)):void 0}})}(d,b),d.EventAggregator=function(a,b){var c=function(){};return c.extend=a.Model.extend,b.extend(c.prototype,a.Events),c}(a,b),d.Channel=function(c){var d=function(b){this.vent=new a.Wreqr.EventAggregator,this.reqres=new a.Wreqr.RequestResponse,this.commands=new a.Wreqr.Commands,this.channelName=b};return b.extend(d.prototype,{reset:function(){return this.vent.off(),this.vent.stopListening(),this.reqres.removeAllHandlers(),this.commands.removeAllHandlers(),this},connectEvents:function(a,b){return this._connect("vent",a,b),this},connectCommands:function(a,b){return this._connect("commands",a,b),this},connectRequests:function(a,b){return this._connect("reqres",a,b),this},_connect:function(a,c,d){if(c){d=d||this;var e="vent"===a?"on":"setHandler";b.each(c,function(c,f){this[a][e](f,b.bind(c,d))},this)}}}),d}(d),d.radio=function(a,b){var c=function(){this._channels={},this.vent={},this.commands={},this.reqres={},this._proxyMethods()};b.extend(c.prototype,{channel:function(a){if(!a)throw new Error("Channel must receive a name");return this._getChannel(a)},_getChannel:function(b){var c=this._channels[b];return c||(c=new a.Channel(b),this._channels[b]=c),c},_proxyMethods:function(){b.each(["vent","commands","reqres"],function(a){b.each(d[a],function(b){this[a][b]=e(this,a,b)},this)},this)}});var d={vent:["on","off","trigger","once","stopListening","listenTo","listenToOnce"],commands:["execute","setHandler","setHandlers","removeHandler","removeAllHandlers"],reqres:["request","setHandler","setHandlers","removeHandler","removeAllHandlers"]},e=function(a,c,d){return function(e){var f=a._getChannel(e)[c];return f[d].apply(f,b.rest(arguments))}};return new c}(d,b),a.Wreqr}(b,c);var d=a.Marionette,e=a.Mn,f=b.Marionette={};f.VERSION="2.4.5",f.noConflict=function(){return a.Marionette=d,a.Mn=e,this},b.Marionette=f,f.Deferred=b.$.Deferred,f.extend=b.Model.extend,f.isNodeAttached=function(a){return b.$.contains(document.documentElement,a)},f.mergeOptions=function(a,b){a&&c.extend(this,c.pick(a,b))},f.getOption=function(a,b){return a&&b?a.options&&void 0!==a.options[b]?a.options[b]:a[b]:void 0},f.proxyGetOption=function(a){return f.getOption(this,a)},f._getValue=function(a,b,d){return c.isFunction(a)&&(a=d?a.apply(b,d):a.call(b)),a},f.normalizeMethods=function(a){return c.reduce(a,function(a,b,d){return c.isFunction(b)||(b=this[b]),b&&(a[d]=b),a},{},this)},f.normalizeUIString=function(a,b){return a.replace(/@ui\.[a-zA-Z-_$0-9]*/g,function(a){return b[a.slice(4)]})},f.normalizeUIKeys=function(a,b){return c.reduce(a,function(a,c,d){var e=f.normalizeUIString(d,b);return a[e]=c,a},{})},f.normalizeUIValues=function(a,b,d){return c.each(a,function(e,g){c.isString(e)?a[g]=f.normalizeUIString(e,b):c.isObject(e)&&c.isArray(d)&&(c.extend(e,f.normalizeUIValues(c.pick(e,d),b)),c.each(d,function(a){var d=e[a];c.isString(d)&&(e[a]=f.normalizeUIString(d,b))}))}),a},f.actAsCollection=function(a,b){var d=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck"];c.each(d,function(d){a[d]=function(){var a=c.values(c.result(this,b)),e=[a].concat(c.toArray(arguments));return c[d].apply(c,e)}})};var g=f.deprecate=function(a,b){c.isObject(a)&&(a=a.prev+" is going to be removed in the future. Please use "+a.next+" instead."+(a.url?" See: "+a.url:"")),void 0!==b&&b||g._cache[a]||(g._warn("Deprecation warning: "+a),g._cache[a]=!0)};g._console="undefined"!=typeof console?console:{},g._warn=function(){var a=g._console.warn||g._console.log||function(){};return a.apply(g._console,arguments)},g._cache={},f._triggerMethod=function(){function a(a,b,c){return c.toUpperCase()}var b=/(^|:)(\w)/gi;return function(d,e,f){var g=arguments.length<3;g&&(f=e,e=f[0]);var h,i="on"+e.replace(b,a),j=d[i];return c.isFunction(j)&&(h=j.apply(d,g?c.rest(f):f)),c.isFunction(d.trigger)&&(g+f.length>1?d.trigger.apply(d,g?f:[e].concat(c.drop(f,0))):d.trigger(e)),h}}(),f.triggerMethod=function(a){return f._triggerMethod(this,arguments)},f.triggerMethodOn=function(a){var b=c.isFunction(a.triggerMethod)?a.triggerMethod:f.triggerMethod;return b.apply(a,c.rest(arguments))},f.MonitorDOMRefresh=function(a){function b(){a._isShown=!0,d()}function c(){a._isRendered=!0,d()}function d(){a._isShown&&a._isRendered&&f.isNodeAttached(a.el)&&f.triggerMethodOn(a,"dom:refresh",a)}a._isDomRefreshMonitored||(a._isDomRefreshMonitored=!0,a.on({show:b,render:c}))},function(a){function b(b,d,e,f){var g=f.split(/\s+/);c.each(g,function(c){var f=b[c];if(!f)throw new a.Error('Method "'+c+'" was configured as an event handler, but does not exist.');b.listenTo(d,e,f)})}function d(a,b,c,d){a.listenTo(b,c,d)}function e(a,b,d,e){var f=e.split(/\s+/);c.each(f,function(c){var e=a[c];a.stopListening(b,d,e)})}function f(a,b,c,d){a.stopListening(b,c,d)}function g(b,d,e,f,g){if(d&&e){if(!c.isObject(e))throw new a.Error({message:"Bindings must be an object or function.",url:"marionette.functions.html#marionettebindentityevents"});e=a._getValue(e,b),c.each(e,function(a,e){c.isFunction(a)?f(b,d,e,a):g(b,d,e,a)})}}a.bindEntityEvents=function(a,c,e){g(a,c,e,d,b)},a.unbindEntityEvents=function(a,b,c){g(a,b,c,f,e)},a.proxyBindEntityEvents=function(b,c){return a.bindEntityEvents(this,b,c)},a.proxyUnbindEntityEvents=function(b,c){return a.unbindEntityEvents(this,b,c)}}(f);var h=["description","fileName","lineNumber","name","message","number"];return f.Error=f.extend.call(Error,{urlRoot:"http://marionettejs.com/docs/v"+f.VERSION+"/",constructor:function(a,b){c.isObject(a)?(b=a,a=b.message):b||(b={});var d=Error.call(this,a);c.extend(this,c.pick(d,h),c.pick(b,h)),this.captureStackTrace(),b.url&&(this.url=this.urlRoot+b.url)},captureStackTrace:function(){Error.captureStackTrace&&Error.captureStackTrace(this,f.Error)},toString:function(){return this.name+": "+this.message+(this.url?" See: "+this.url:"")}}),f.Error.extend=f.extend,f.Callbacks=function(){this._deferred=f.Deferred(),this._callbacks=[]},c.extend(f.Callbacks.prototype,{add:function(a,b){var d=c.result(this._deferred,"promise");this._callbacks.push({cb:a,ctx:b}),d.then(function(c){b&&(c.context=b),a.call(c.context,c.options)})},run:function(a,b){this._deferred.resolve({options:a,context:b})},reset:function(){var a=this._callbacks;this._deferred=f.Deferred(),this._callbacks=[],c.each(a,function(a){this.add(a.cb,a.ctx)},this)}}),f.Controller=function(a){this.options=a||{},c.isFunction(this.initialize)&&this.initialize(this.options)},f.Controller.extend=f.extend,c.extend(f.Controller.prototype,b.Events,{destroy:function(){return f._triggerMethod(this,"before:destroy",arguments),f._triggerMethod(this,"destroy",arguments),this.stopListening(),this.off(),this},triggerMethod:f.triggerMethod,mergeOptions:f.mergeOptions,getOption:f.proxyGetOption}),f.Object=function(a){this.options=c.extend({},c.result(this,"options"),a),this.initialize.apply(this,arguments)},f.Object.extend=f.extend,c.extend(f.Object.prototype,b.Events,{initialize:function(){},destroy:function(a){return a=a||{},this.triggerMethod("before:destroy",a),this.triggerMethod("destroy",a),this.stopListening(),this},triggerMethod:f.triggerMethod,mergeOptions:f.mergeOptions,getOption:f.proxyGetOption,bindEntityEvents:f.proxyBindEntityEvents,unbindEntityEvents:f.proxyUnbindEntityEvents}),f.Region=f.Object.extend({constructor:function(a){if(this.options=a||{},this.el=this.getOption("el"),this.el=this.el instanceof b.$?this.el[0]:this.el,!this.el)throw new f.Error({name:"NoElError",message:'An "el" must be specified for a region.'});this.$el=this.getEl(this.el),f.Object.call(this,a)},show:function(a,b){if(this._ensureElement()){this._ensureViewIsIntact(a),f.MonitorDOMRefresh(a);var d=b||{},e=a!==this.currentView,g=!!d.preventDestroy,h=!!d.forceShow,i=!!this.currentView,j=e&&!g,k=e||h;if(i&&this.triggerMethod("before:swapOut",this.currentView,this,b),this.currentView&&e&&delete this.currentView._parent,j?this.empty():i&&k&&this.currentView.off("destroy",this.empty,this),k){a.once("destroy",this.empty,this),a._parent=this,this._renderView(a),i&&this.triggerMethod("before:swap",a,this,b),this.triggerMethod("before:show",a,this,b),f.triggerMethodOn(a,"before:show",a,this,b),i&&this.triggerMethod("swapOut",this.currentView,this,b);var l=f.isNodeAttached(this.el),m=[],n=c.extend({triggerBeforeAttach:this.triggerBeforeAttach,triggerAttach:this.triggerAttach},d);return l&&n.triggerBeforeAttach&&(m=this._displayedViews(a),this._triggerAttach(m,"before:")),this.attachHtml(a),this.currentView=a,l&&n.triggerAttach&&(m=this._displayedViews(a),this._triggerAttach(m)),i&&this.triggerMethod("swap",a,this,b),this.triggerMethod("show",a,this,b),f.triggerMethodOn(a,"show",a,this,b),this}return this}},triggerBeforeAttach:!0,triggerAttach:!0,_triggerAttach:function(a,b){var d=(b||"")+"attach";c.each(a,function(a){f.triggerMethodOn(a,d,a,this)},this)},_displayedViews:function(a){return c.union([a],c.result(a,"_getNestedViews")||[])},_renderView:function(a){a.supportsRenderLifecycle||f.triggerMethodOn(a,"before:render",a),a.render(),a.supportsRenderLifecycle||f.triggerMethodOn(a,"render",a)},_ensureElement:function(){if(c.isObject(this.el)||(this.$el=this.getEl(this.el),this.el=this.$el[0]),!this.$el||0===this.$el.length){if(this.getOption("allowMissingEl"))return!1;throw new f.Error('An "el" '+this.$el.selector+" must exist in DOM")}return!0},_ensureViewIsIntact:function(a){if(!a)throw new f.Error({name:"ViewNotValid",message:"The view passed is undefined and therefore invalid. You must pass a view instance to show."});if(a.isDestroyed)throw new f.Error({name:"ViewDestroyedError",message:'View (cid: "'+a.cid+'") has already been destroyed and cannot be used.'})},getEl:function(a){return b.$(a,f._getValue(this.options.parentEl,this))},attachHtml:function(a){this.$el.contents().detach(),this.el.appendChild(a.el)},empty:function(a){var b=this.currentView,c=a||{},d=!!c.preventDestroy;return b?(b.off("destroy",this.empty,this),this.triggerMethod("before:empty",b),d||this._destroyView(),this.triggerMethod("empty",b),delete this.currentView,d&&this.$el.contents().detach(),this):this},_destroyView:function(){var a=this.currentView;a.isDestroyed||(a.supportsDestroyLifecycle||f.triggerMethodOn(a,"before:destroy",a),a.destroy?a.destroy():(a.remove(),a.isDestroyed=!0),a.supportsDestroyLifecycle||f.triggerMethodOn(a,"destroy",a))},attachView:function(a){return this.currentView&&delete this.currentView._parent,a._parent=this,this.currentView=a,this},hasView:function(){return!!this.currentView},reset:function(){return this.empty(),this.$el&&(this.el=this.options.el),delete this.$el,this}},{buildRegion:function(a,b){if(c.isString(a))return this._buildRegionFromSelector(a,b);if(a.selector||a.el||a.regionClass)return this._buildRegionFromObject(a,b);if(c.isFunction(a))return this._buildRegionFromRegionClass(a);throw new f.Error({message:"Improper region configuration type.",url:"marionette.region.html#region-configuration-types"})},_buildRegionFromSelector:function(a,b){return new b({el:a})},_buildRegionFromObject:function(a,b){var d=a.regionClass||b,e=c.omit(a,"selector","regionClass");return a.selector&&!e.el&&(e.el=a.selector),new d(e)},_buildRegionFromRegionClass:function(a){return new a}}),f.RegionManager=f.Controller.extend({constructor:function(a){this._regions={},this.length=0,f.Controller.call(this,a),this.addRegions(this.getOption("regions"))},addRegions:function(a,b){return a=f._getValue(a,this,arguments),c.reduce(a,function(a,d,e){return c.isString(d)&&(d={selector:d}),d.selector&&(d=c.defaults({},d,b)),a[e]=this.addRegion(e,d),a},{},this)},addRegion:function(a,b){var c;return c=b instanceof f.Region?b:f.Region.buildRegion(b,f.Region),this.triggerMethod("before:add:region",a,c),c._parent=this,this._store(a,c),this.triggerMethod("add:region",a,c),c},get:function(a){return this._regions[a]},getRegions:function(){return c.clone(this._regions)},removeRegion:function(a){var b=this._regions[a];return this._remove(a,b),b},removeRegions:function(){var a=this.getRegions();return c.each(this._regions,function(a,b){this._remove(b,a)},this),a},emptyRegions:function(){var a=this.getRegions();return c.invoke(a,"empty"),a},destroy:function(){return this.removeRegions(),f.Controller.prototype.destroy.apply(this,arguments)},_store:function(a,b){this._regions[a]||this.length++,this._regions[a]=b},_remove:function(a,b){this.triggerMethod("before:remove:region",a,b),b.empty(),b.stopListening(),delete b._parent,delete this._regions[a],this.length--,this.triggerMethod("remove:region",a,b)}}),f.actAsCollection(f.RegionManager.prototype,"_regions"),f.TemplateCache=function(a){this.templateId=a},c.extend(f.TemplateCache,{templateCaches:{},get:function(a,b){var c=this.templateCaches[a];return c||(c=new f.TemplateCache(a),this.templateCaches[a]=c),c.load(b)},clear:function(){var a,b=c.toArray(arguments),d=b.length;if(d>0)for(a=0;d>a;a++)delete this.templateCaches[b[a]];else this.templateCaches={}}}),c.extend(f.TemplateCache.prototype,{load:function(a){if(this.compiledTemplate)return this.compiledTemplate;var b=this.loadTemplate(this.templateId,a);return this.compiledTemplate=this.compileTemplate(b,a),this.compiledTemplate},loadTemplate:function(a,c){var d=b.$(a);if(!d.length)throw new f.Error({name:"NoTemplateError",message:'Could not find template: "'+a+'"'});return d.html()},compileTemplate:function(a,b){return c.template(a,b)}}),f.Renderer={render:function(a,b){if(!a)throw new f.Error({name:"TemplateNotFoundError",message:"Cannot render the template since its false, null or undefined."});var d=c.isFunction(a)?a:f.TemplateCache.get(a);return d(b)}},f.View=b.View.extend({isDestroyed:!1,supportsRenderLifecycle:!0,supportsDestroyLifecycle:!0,constructor:function(a){this.render=c.bind(this.render,this),a=f._getValue(a,this),this.options=c.extend({},c.result(this,"options"),a),this._behaviors=f.Behaviors(this),b.View.call(this,this.options),f.MonitorDOMRefresh(this)},getTemplate:function(){return this.getOption("template")},serializeModel:function(a){return a.toJSON.apply(a,c.rest(arguments))},mixinTemplateHelpers:function(a){a=a||{};var b=this.getOption("templateHelpers");return b=f._getValue(b,this),c.extend(a,b)},normalizeUIKeys:function(a){var b=c.result(this,"_uiBindings");return f.normalizeUIKeys(a,b||c.result(this,"ui"))},normalizeUIValues:function(a,b){var d=c.result(this,"ui"),e=c.result(this,"_uiBindings");return f.normalizeUIValues(a,e||d,b)},configureTriggers:function(){if(this.triggers){var a=this.normalizeUIKeys(c.result(this,"triggers"));return c.reduce(a,function(a,b,c){return a[c]=this._buildViewTrigger(b),a},{},this)}},delegateEvents:function(a){return this._delegateDOMEvents(a),this.bindEntityEvents(this.model,this.getOption("modelEvents")),this.bindEntityEvents(this.collection,this.getOption("collectionEvents")),c.each(this._behaviors,function(a){a.bindEntityEvents(this.model,a.getOption("modelEvents")),a.bindEntityEvents(this.collection,a.getOption("collectionEvents"))},this),this},_delegateDOMEvents:function(a){var d=f._getValue(a||this.events,this);d=this.normalizeUIKeys(d),c.isUndefined(a)&&(this.events=d);var e={},g=c.result(this,"behaviorEvents")||{},h=this.configureTriggers(),i=c.result(this,"behaviorTriggers")||{};c.extend(e,g,d,h,i),b.View.prototype.delegateEvents.call(this,e)},undelegateEvents:function(){return b.View.prototype.undelegateEvents.apply(this,arguments),this.unbindEntityEvents(this.model,this.getOption("modelEvents")),this.unbindEntityEvents(this.collection,this.getOption("collectionEvents")),c.each(this._behaviors,function(a){a.unbindEntityEvents(this.model,a.getOption("modelEvents")),a.unbindEntityEvents(this.collection,a.getOption("collectionEvents"))},this),this},_ensureViewIsIntact:function(){if(this.isDestroyed)throw new f.Error({name:"ViewDestroyedError",message:'View (cid: "'+this.cid+'") has already been destroyed and cannot be used.'})},destroy:function(){if(this.isDestroyed)return this;var a=c.toArray(arguments);return this.triggerMethod.apply(this,["before:destroy"].concat(a)),this.isDestroyed=!0,this.triggerMethod.apply(this,["destroy"].concat(a)),this.unbindUIElements(),this.isRendered=!1,this.remove(),c.invoke(this._behaviors,"destroy",a),this},bindUIElements:function(){this._bindUIElements(),c.invoke(this._behaviors,this._bindUIElements)},_bindUIElements:function(){if(this.ui){this._uiBindings||(this._uiBindings=this.ui);var a=c.result(this,"_uiBindings");this.ui={},c.each(a,function(a,b){this.ui[b]=this.$(a)},this)}},unbindUIElements:function(){this._unbindUIElements(),c.invoke(this._behaviors,this._unbindUIElements)},_unbindUIElements:function(){this.ui&&this._uiBindings&&(c.each(this.ui,function(a,b){delete this.ui[b]},this),this.ui=this._uiBindings,delete this._uiBindings)},_buildViewTrigger:function(a){var b=c.defaults({},a,{preventDefault:!0,stopPropagation:!0}),d=c.isObject(a)?b.event:a;return function(a){a&&(a.preventDefault&&b.preventDefault&&a.preventDefault(),a.stopPropagation&&b.stopPropagation&&a.stopPropagation());var c={view:this,model:this.model,collection:this.collection};this.triggerMethod(d,c)}},setElement:function(){var a=b.View.prototype.setElement.apply(this,arguments);return c.invoke(this._behaviors,"proxyViewProperties",this),a},triggerMethod:function(){var a=f._triggerMethod(this,arguments);return this._triggerEventOnBehaviors(arguments),this._triggerEventOnParentLayout(arguments[0],c.rest(arguments)),a},_triggerEventOnBehaviors:function(a){for(var b=f._triggerMethod,c=this._behaviors,d=0,e=c&&c.length;e>d;d++)b(c[d],a)},_triggerEventOnParentLayout:function(a,b){var d=this._parentLayoutView();if(d){var e=f.getOption(d,"childViewEventPrefix"),g=e+":"+a,h=[this].concat(b);f._triggerMethod(d,g,h);var i=f.getOption(d,"childEvents");i=f._getValue(i,d);var j=d.normalizeMethods(i);j&&c.isFunction(j[a])&&j[a].apply(d,h)}},_getImmediateChildren:function(){return[]},_getNestedViews:function(){var a=this._getImmediateChildren();return a.length?c.reduce(a,function(a,b){return b._getNestedViews?a.concat(b._getNestedViews()):a},a):a},_parentLayoutView:function(){for(var a=this._parent;a;){if(a instanceof f.LayoutView)return a;a=a._parent}},normalizeMethods:f.normalizeMethods,mergeOptions:f.mergeOptions,getOption:f.proxyGetOption,bindEntityEvents:f.proxyBindEntityEvents,unbindEntityEvents:f.proxyUnbindEntityEvents}),f.ItemView=f.View.extend({constructor:function(){f.View.apply(this,arguments)},serializeData:function(){if(!this.model&&!this.collection)return{};var a=[this.model||this.collection];return arguments.length&&a.push.apply(a,arguments),this.model?this.serializeModel.apply(this,a):{items:this.serializeCollection.apply(this,a)}},serializeCollection:function(a){return a.toJSON.apply(a,c.rest(arguments))},render:function(){return this._ensureViewIsIntact(),this.triggerMethod("before:render",this),this._renderTemplate(),this.isRendered=!0,this.bindUIElements(),this.triggerMethod("render",this),this},_renderTemplate:function(){var a=this.getTemplate();if(a!==!1){if(!a)throw new f.Error({name:"UndefinedTemplateError",message:"Cannot render the template since it is null or undefined."});var b=this.mixinTemplateHelpers(this.serializeData()),c=f.Renderer.render(a,b,this);return this.attachElContent(c),this}},attachElContent:function(a){return this.$el.html(a),this}}),f.CollectionView=f.View.extend({childViewEventPrefix:"childview",sort:!0,constructor:function(a){this.once("render",this._initialEvents),this._initChildViewStorage(),f.View.apply(this,arguments),this.on({"before:show":this._onBeforeShowCalled,show:this._onShowCalled,"before:attach":this._onBeforeAttachCalled,attach:this._onAttachCalled}),this.initRenderBuffer()},initRenderBuffer:function(){this._bufferedChildren=[]},startBuffering:function(){this.initRenderBuffer(),this.isBuffering=!0},endBuffering:function(){var a,b=this._isShown&&f.isNodeAttached(this.el);this.isBuffering=!1,this._isShown&&this._triggerMethodMany(this._bufferedChildren,this,"before:show"),b&&this._triggerBeforeAttach&&(a=this._getNestedViews(),this._triggerMethodMany(a,this,"before:attach")),this.attachBuffer(this,this._createBuffer()),b&&this._triggerAttach&&(a=this._getNestedViews(),this._triggerMethodMany(a,this,"attach")),this._isShown&&this._triggerMethodMany(this._bufferedChildren,this,"show"),this.initRenderBuffer()},_triggerMethodMany:function(a,b,d){var e=c.drop(arguments,3);c.each(a,function(a){f.triggerMethodOn.apply(a,[a,d,a,b].concat(e))})},_initialEvents:function(){this.collection&&(this.listenTo(this.collection,"add",this._onCollectionAdd),this.listenTo(this.collection,"remove",this._onCollectionRemove),this.listenTo(this.collection,"reset",this.render),this.getOption("sort")&&this.listenTo(this.collection,"sort",this._sortViews))},_onCollectionAdd:function(a,b,d){var e=void 0!==d.at&&(d.index||b.indexOf(a));if((this.getOption("filter")||e===!1)&&(e=c.indexOf(this._filteredSortedModels(e),a)),this._shouldAddChild(a,e)){this.destroyEmptyView();var f=this.getChildView(a);this.addChild(a,f,e)}},_onCollectionRemove:function(a){var b=this.children.findByModel(a);this.removeChildView(b),this.checkEmpty()},_onBeforeShowCalled:function(){this._triggerBeforeAttach=this._triggerAttach=!1,this.children.each(function(a){f.triggerMethodOn(a,"before:show",a)})},_onShowCalled:function(){this.children.each(function(a){f.triggerMethodOn(a,"show",a)})},_onBeforeAttachCalled:function(){this._triggerBeforeAttach=!0},_onAttachCalled:function(){this._triggerAttach=!0},render:function(){return this._ensureViewIsIntact(),this.triggerMethod("before:render",this),this._renderChildren(),this.isRendered=!0,this.triggerMethod("render",this),this},reorder:function(){var a=this.children,b=this._filteredSortedModels(),d=c.some(b,function(b){return!a.findByModel(b)});if(d)this.render();else{var e=c.map(b,function(b,c){var d=a.findByModel(b);return d._index=c,d.el}),f=a.filter(function(a){return!c.contains(e,a.el)});this.triggerMethod("before:reorder"),this._appendReorderedChildren(e),c.each(f,this.removeChildView,this),this.checkEmpty(),this.triggerMethod("reorder")}},resortView:function(){f.getOption(this,"reorderOnSort")?this.reorder():this.render()},_sortViews:function(){var a=this._filteredSortedModels(),b=c.find(a,function(a,b){var c=this.children.findByModel(a);return!c||c._index!==b},this);b&&this.resortView()},_emptyViewIndex:-1,_appendReorderedChildren:function(a){this.$el.append(a)},_renderChildren:function(){this.destroyEmptyView(),this.destroyChildren({checkEmpty:!1}),this.isEmpty(this.collection)?this.showEmptyView():(this.triggerMethod("before:render:collection",this),this.startBuffering(),this.showCollection(),this.endBuffering(),this.triggerMethod("render:collection",this),this.children.isEmpty()&&this.getOption("filter")&&this.showEmptyView())},showCollection:function(){var a,b=this._filteredSortedModels();c.each(b,function(b,c){a=this.getChildView(b),this.addChild(b,a,c)},this)},_filteredSortedModels:function(a){var b=this.getViewComparator(),d=this.collection.models;if(a=Math.min(Math.max(a,0),d.length-1),b){var e;a&&(e=d[a],d=d.slice(0,a).concat(d.slice(a+1))),d=this._sortModelsBy(d,b),e&&d.splice(a,0,e)}return this.getOption("filter")&&(d=c.filter(d,function(a,b){return this._shouldAddChild(a,b)},this)),d},_sortModelsBy:function(a,b){return"string"==typeof b?c.sortBy(a,function(a){return a.get(b)},this):1===b.length?c.sortBy(a,b,this):a.sort(c.bind(b,this))},showEmptyView:function(){var a=this.getEmptyView();if(a&&!this._showingEmptyView){this.triggerMethod("before:render:empty"),this._showingEmptyView=!0;var c=new b.Model;this.addEmptyView(c,a),this.triggerMethod("render:empty")}},destroyEmptyView:function(){this._showingEmptyView&&(this.triggerMethod("before:remove:empty"),this.destroyChildren(),delete this._showingEmptyView,this.triggerMethod("remove:empty"))},getEmptyView:function(){return this.getOption("emptyView")},addEmptyView:function(a,b){var d,e=this._isShown&&!this.isBuffering&&f.isNodeAttached(this.el),g=this.getOption("emptyViewOptions")||this.getOption("childViewOptions");c.isFunction(g)&&(g=g.call(this,a,this._emptyViewIndex));var h=this.buildChildView(a,b,g);h._parent=this,this.proxyChildEvents(h),h.once("render",function(){this._isShown&&f.triggerMethodOn(h,"before:show",h),e&&this._triggerBeforeAttach&&(d=this._getViewAndNested(h),this._triggerMethodMany(d,this,"before:attach"))},this),this.children.add(h),this.renderChildView(h,this._emptyViewIndex),e&&this._triggerAttach&&(d=this._getViewAndNested(h),this._triggerMethodMany(d,this,"attach")),this._isShown&&f.triggerMethodOn(h,"show",h)},getChildView:function(a){var b=this.getOption("childView");if(!b)throw new f.Error({name:"NoChildViewError",message:'A "childView" must be specified'});return b},addChild:function(a,b,c){var d=this.getOption("childViewOptions");d=f._getValue(d,this,[a,c]);var e=this.buildChildView(a,b,d);return this._updateIndices(e,!0,c),this.triggerMethod("before:add:child",e),this._addChildView(e,c),this.triggerMethod("add:child",e),e._parent=this,e},_updateIndices:function(a,b,c){this.getOption("sort")&&(b&&(a._index=c),this.children.each(function(c){c._index>=a._index&&(c._index+=b?1:-1)}))},_addChildView:function(a,b){var c,d=this._isShown&&!this.isBuffering&&f.isNodeAttached(this.el);this.proxyChildEvents(a),a.once("render",function(){this._isShown&&!this.isBuffering&&f.triggerMethodOn(a,"before:show",a),d&&this._triggerBeforeAttach&&(c=this._getViewAndNested(a),this._triggerMethodMany(c,this,"before:attach"))},this),this.children.add(a),this.renderChildView(a,b),d&&this._triggerAttach&&(c=this._getViewAndNested(a),this._triggerMethodMany(c,this,"attach")),this._isShown&&!this.isBuffering&&f.triggerMethodOn(a,"show",a)},renderChildView:function(a,b){return a.supportsRenderLifecycle||f.triggerMethodOn(a,"before:render",a),a.render(),a.supportsRenderLifecycle||f.triggerMethodOn(a,"render",a),this.attachHtml(this,a,b),a},buildChildView:function(a,b,d){var e=c.extend({model:a},d),g=new b(e);return f.MonitorDOMRefresh(g),g},removeChildView:function(a){return a?(this.triggerMethod("before:remove:child",a),a.supportsDestroyLifecycle||f.triggerMethodOn(a,"before:destroy",a),a.destroy?a.destroy():a.remove(),a.supportsDestroyLifecycle||f.triggerMethodOn(a,"destroy",a),delete a._parent,this.stopListening(a),this.children.remove(a),this.triggerMethod("remove:child",a),this._updateIndices(a,!1),a):a},isEmpty:function(){return!this.collection||0===this.collection.length},checkEmpty:function(){this.isEmpty(this.collection)&&this.showEmptyView()},attachBuffer:function(a,b){a.$el.append(b)},_createBuffer:function(){var a=document.createDocumentFragment();return c.each(this._bufferedChildren,function(b){a.appendChild(b.el)}),a},attachHtml:function(a,b,c){a.isBuffering?a._bufferedChildren.splice(c,0,b):a._insertBefore(b,c)||a._insertAfter(b)},_insertBefore:function(a,b){var c,d=this.getOption("sort")&&b li > a': 'switchTab', 'change .fusion-builder-demo-select': 'demoSelect', 'input .fusion-builder-demo-page-link': 'demoSelectByURL', 'click .fusion-builder-demo-button-load': 'loadDemoPage', 'click .ui-dialog-titlebar-close': 'removeView', 'click .fusion-builder-layout-button-load': 'loadLayout', 'click .fusion-builder-layout-button-save': 'saveLayout', 'click .fusion-builder-layout-button-delete': 'deleteLayout', 'click .fusion-builder-element-button-save': 'saveElement' }, /** * Init. * * @since 2.0.0 * @return {void} */ initialize: function() { var self = this; jQuery( document ).on( 'click', '.fusion-builder-library-dialog .fusion-tabs-menu > li > a', function( event ) { self.switchTab( event ); } ); // Loader animation this.listenTo( FusionEvents, 'fusion-show-loader', this.showLoader ); this.listenTo( FusionEvents, 'fusion-hide-loader', this.hideLoader ); }, showLoader: function() { jQuery( '#fb-preview' )[ 0 ].contentWindow.jQuery( '.fusion-builder-live-editor' ).css( 'height', '148px' ); jQuery( '#fb-preview' )[ 0 ].contentWindow.jQuery( '.fusion-builder-live-editor' ).append( '
' ); jQuery( '#fb-preview' )[ 0 ].contentWindow.jQuery( '#fusion_builder_container' ).hide(); }, hideLoader: function() { jQuery( '#fb-preview' )[ 0 ].contentWindow.jQuery( '#fusion_builder_container' ).fadeIn( 'fast' ); jQuery( '#fb-preview' )[ 0 ].contentWindow.jQuery( '.fusion-builder-live-editor > .fusion-builder-element-content.fusion-loader' ).remove(); jQuery( '#fb-preview' )[ 0 ].contentWindow.jQuery( '.fusion-builder-live-editor' ).removeAttr( 'style' ); }, /** * Renders the view. * * @since 2.0.0 * @return {Object} this */ render: function() { var self = this; this.$el = this.$el.dialog( { title: 'Fusion Builder Library', width: FusionApp.dialog.dialogWidth, height: FusionApp.dialog.dialogHeight, draggable: false, resizable: false, modal: true, dialogClass: 'fusion-builder-large-library-dialog fusion-builder-dialog fusion-builder-library-dialog', open: function() { FusionApp.dialog.resizeDialog(); }, close: function() { self.removeView(); } } ).closest( '.ui-dialog' ); this.appendSave(); this.targetTab(); this.focusInput(); return this; }, /** * Find the target tab and trigger the 'click' event on it. * * @since 2.0.0 * @return {void} */ targetTab: function() { if ( 'undefined' !== typeof this.model.target ) { this.$el.find( '.fusion-tabs-menu > li > a[href="' + this.model.target + '"]' ).trigger( 'click' ); } else { this.$el.find( '.fusion-tabs-menu > li:first-child > a' ).trigger( 'click' ); } }, /** * Focus on an element. * * @since 2.0.0 * @return {void} */ focusInput: function() { var self = this; if ( 'undefined' !== typeof this.model.focus ) { setTimeout( function() { self.$el.find( self.model.target ).find( self.model.focus ).focus(); }, 200 ); } }, /** * Appends the HTML that allows users to save an element. * * @since 2.0.0 * @return {void} */ appendSave: function() { var elementView, elementSave; if ( 'undefined' !== typeof this.model.target && 'undefined' !== typeof this.model.element_cid ) { elementView = FusionPageBuilderViewManager.getView( this.model.element_cid ); elementSave = 'undefined' !== typeof elementView.getSaveLabel ? elementView.getSaveLabel() : fusionBuilderText.save_element; jQuery( this.model.target ).find( '.fusion-builder-layouts-header-element-fields' ).append( '
' + elementSave + '
' ); } }, /** * Switches a tab. Takes care of toggling the 'current' & 'inactive' classes * and also changes the 'display' property of elements to properly make the switch. * * @since 2.0.0 * @param {Object} event - The event. * @return {void} */ switchTab: function( event ) { var $tabLink = jQuery( event.target ), tab = $tabLink.attr( 'href' ); if ( event ) { event.preventDefault(); } FusionEvents.trigger( 'fusion-switch-element-option-tabs' ); $tabLink.parent( 'li' ).addClass( 'current' ).removeClass( 'inactive' ); $tabLink.parent( 'li' ).siblings().removeClass( 'current' ).addClass( 'inactive' ); this.$el.find( '.fusion-builder-layouts-tab' ).css( 'display', 'none' ); this.$el.find( tab ).css( 'display', 'block' ); }, /** * Shows/Hides demos on select. * * @since 2.0.0 * @param {Object} event - The event. * @return {void} */ demoSelect: function( event ) { var $selectedDemo = jQuery( event.target ).val(); jQuery( '#fusion-builder-layouts-demos .fusion-page-layouts' ).addClass( 'hidden' ); jQuery( '#fusion-builder-demo-url-invalid' ).addClass( 'hidden' ); jQuery( '.fusion-builder-demo-page-link' ).val( '' ); jQuery( '#fusion-builder-layouts-demos .demo-' + $selectedDemo ).removeClass( 'hidden' ); }, /** * Shows/Hides demos on added URL change. * * @since 2.0.0 * @param {Object} event - The event. * @return {void} */ demoSelectByURL: function( event ) { var demoPageLink = jQuery( event.target ).val(), demoPage, parentDemo, demoSelectorVal; demoPageLink = demoPageLink.replace( 'https://', '' ).replace( 'http://', '' ); if ( '/' !== demoPageLink[ demoPageLink.length - 1 ] && ! _.isEmpty( demoPageLink ) ) { demoPageLink += '/'; } demoPage = jQuery( '#fusion-builder-layouts-demos' ).find( '.fusion-page-layout[data-page-link="' + demoPageLink + '"]' ); parentDemo = demoPage.closest( '.fusion-page-layouts' ); jQuery( '#fusion-builder-layouts-demos .fusion-page-layouts' ).addClass( 'hidden' ); jQuery( '#fusion-builder-demo-url-invalid' ).addClass( 'hidden' ); if ( _.isEmpty( demoPageLink ) ) { demoSelectorVal = jQuery( '.fusion-builder-demo-select' ).val(); jQuery( '#fusion-builder-layouts-demos .demo-' + demoSelectorVal ).removeClass( 'hidden' ); } else if ( ! demoPage.length ) { jQuery( '#fusion-builder-demo-url-invalid' ).removeClass( 'hidden' ); } else { parentDemo.show(); parentDemo.find( '.fusion-page-layout' ).hide(); demoPage.show(); } }, /** * Loads the demo pages via an ajax call. * * @since 2.0.0 * @param {Object} event - The event. * @return {void} */ loadDemoPage: function( event ) { var pageName, demoName, postId, content, self = this, frameDocument = document.getElementById( 'fb-preview' ).contentWindow.document, oldWrite = frameDocument.write; // jshint ignore:line // Turn document write off before page request. frameDocument.write = function() {}; // eslint-disable-line no-empty-function document.write = function() {}; // eslint-disable-line no-empty-function if ( event ) { event.preventDefault(); } FusionApp.confirmationPopup( { title: fusionBuilderText.import_demo_page, content: fusionBuilderText.importing_single_page, actions: [ { label: fusionBuilderText.cancel, classes: 'no', callback: function() { FusionApp.confirmationPopup( { action: 'hide' } ); } }, { label: fusionBuilderText.ok, classes: 'yes', callback: function() { if ( true === FusionPageBuilderApp.layoutIsLoading ) { return; } FusionPageBuilderApp.layoutIsLoading = true; FusionPageBuilderApp.loaded = false; pageName = jQuery( event.currentTarget ).data( 'page-name' ); demoName = jQuery( event.currentTarget ).data( 'demo-name' ); postId = jQuery( event.currentTarget ).data( 'post-id' ); jQuery.ajax( { type: 'POST', url: fusionAppConfig.ajaxurl, data: { action: 'fusion_builder_load_demo', fusion_load_nonce: fusionAppConfig.fusion_load_nonce, page_name: pageName, demo_name: demoName, post_id: postId }, beforeSend: function() { FusionEvents.trigger( 'fusion-show-loader' ); // Hide confirmation popup. FusionApp.confirmationPopup( { action: 'hide' } ); // Hide library dialog. self.$el.css( 'display', 'none' ); self.$el.next( '.ui-widget-overlay' ).css( 'display', 'none' ); }, success: function( data ) { var dataObj, needsRefresh = false, newCustomCss = false; // New layout loaded FusionPageBuilderApp.layoutLoaded(); dataObj = JSON.parse( data ); newCustomCss = 'undefined' !== typeof dataObj.custom_css ? dataObj.custom_css : false; content = dataObj.post_content; if ( newCustomCss ) { FusionApp.data.postMeta._fusion_builder_custom_css = newCustomCss; } jQuery.each( dataObj.post_meta, function( name, value ) { needsRefresh = true; FusionApp.data.postMeta[ name ] = value[ 0 ]; } ); if ( 'undefined' !== typeof dataObj.page_template && FusionApp.data.postMeta._wp_page_template !== dataObj.page_template ) { FusionApp.data.postMeta._wp_page_template = dataObj.page_template; needsRefresh = true; } if ( needsRefresh ) { FusionApp.contentChange( 'page', 'page-option' ); } FusionApp.data.postContent = content; FusionApp.contentChange( 'page', 'builder-content' ); if ( newCustomCss && 'undefined' !== typeof avadaPanelIFrame ) { // Add the CSS to the page. avadaPanelIFrame.liveUpdatePageCustomCSS( newCustomCss ); } // Create new builder layout. FusionPageBuilderApp.clearBuilderLayout( false ); FusionPageBuilderApp.createBuilderLayout( content ); // Refresh frame if needed. if ( needsRefresh ) { FusionApp.fullRefresh(); } FusionPageBuilderApp.layoutIsLoading = false; }, complete: function() { // Add success/transition of some kind here. FusionEvents.trigger( 'fusion-hide-loader' ); frameDocument.write = oldWrite; document.write = oldWrite; FusionPageBuilderApp.loaded = true; FusionEvents.trigger( 'fusion-builder-loaded' ); self.removeView(); } } ); } } ] } ); }, /** * Loads the layout via AJAX. * * @since 2.0.0 * @param {Object} event - The event. * @return {void} */ loadLayout: function( event ) { var $layout, contentPlacement, content, self = this; if ( event ) { event.preventDefault(); } if ( true === FusionPageBuilderApp.layoutIsLoading ) { return; } FusionPageBuilderApp.layoutIsLoading = true; $layout = jQuery( event.currentTarget ).closest( '.fusion-page-layout' ); contentPlacement = jQuery( event.currentTarget ).data( 'load-type' ); // Get correct content. FusionPageBuilderApp.builderToShortcodes(); content = FusionApp.getPost( 'post_content' ); // eslint-disable-line camelcase FusionPageBuilderApp.loaded = false; jQuery.ajax( { type: 'POST', url: fusionAppConfig.ajaxurl, data: { action: 'fusion_builder_load_layout', fusion_load_nonce: fusionAppConfig.fusion_load_nonce, fusion_layout_id: $layout.data( 'layout_id' ) }, beforeSend: function() { FusionEvents.trigger( 'fusion-show-loader' ); // Hide library dialog. self.$el.css( 'display', 'none' ); self.$el.next( '.ui-widget-overlay' ).css( 'display', 'none' ); }, success: function( data ) { var dataObj, newCustomCss, needsRefresh = false, existingCss = 'undefined' !== typeof FusionApp.data.postMeta._fusion_builder_custom_css ? FusionApp.data.postMeta._fusion_builder_custom_css : ''; // New layout loaded FusionPageBuilderApp.layoutLoaded(); dataObj = JSON.parse( data ); newCustomCss = 'undefined' !== typeof dataObj.custom_css ? dataObj.custom_css : false; if ( 'above' === contentPlacement ) { content = dataObj.post_content + content; if ( newCustomCss ) { FusionApp.data.postMeta._fusion_builder_custom_css = newCustomCss + '\n' + existingCss; } } else if ( 'below' === contentPlacement ) { content = content + dataObj.post_content; if ( newCustomCss ) { FusionApp.data.postMeta._fusion_builder_custom_css = existingCss + '\n' + newCustomCss; } } else { content = dataObj.post_content; if ( newCustomCss ) { FusionApp.data.postMeta._fusion_builder_custom_css = newCustomCss; } jQuery.each( dataObj.post_meta, function( name, value ) { needsRefresh = true; FusionApp.data.postMeta[ name ] = value[ 0 ]; } ); if ( 'undefined' !== typeof dataObj.page_template && FusionApp.data.postMeta._wp_page_template !== dataObj.page_template ) { FusionApp.data.postMeta._wp_page_template = dataObj.page_template; needsRefresh = true; } if ( needsRefresh ) { FusionApp.contentChange( 'page', 'page-option' ); } } FusionApp.setPost( 'post_content', content ); FusionApp.contentChange( 'page', 'builder-content' ); if ( needsRefresh ) { // Set new content and refresh frame. FusionApp.fullRefresh( false, {}, { post_content: content } ); } else { if ( newCustomCss && 'undefined' !== typeof avadaPanelIFrame ) { // Add the CSS to the page. avadaPanelIFrame.liveUpdatePageCustomCSS( newCustomCss ); } // Create new builder layout. FusionPageBuilderApp.clearBuilderLayout( false ); FusionPageBuilderApp.createBuilderLayout( content ); } FusionPageBuilderApp.layoutIsLoading = false; }, complete: function() { FusionPageBuilderApp.loaded = true; FusionEvents.trigger( 'fusion-builder-loaded' ); FusionEvents.trigger( 'fusion-hide-loader' ); self.removeView(); } } ); }, /** * Saves the layout via AJAX. * * @since 2.0.0 * @param {Object} event - The event. * @return {void} */ saveLayout: function( event ) { var templateContent, templateName, layoutsContainer, currentPostID, customCSS, pageTemplate; if ( event ) { event.preventDefault(); } FusionPageBuilderApp.builderToShortcodes(); templateContent = FusionApp.getPost( 'post_content' ); // eslint-disable-line camelcase templateName = jQuery( '#new_template_name' ).val(); layoutsContainer = jQuery( '#fusion-builder-layouts-templates .fusion-page-layouts' ); currentPostID = jQuery( '#fusion_builder_main_container' ).data( 'post-id' ); customCSS = 'undefined' !== typeof FusionApp.data.postMeta._fusion_builder_custom_css ? FusionApp.data.postMeta._fusion_builder_custom_css : ''; pageTemplate = 'undefined' !== typeof FusionApp.data.postMeta._wp_page_template ? FusionApp.data.postMeta._wp_page_template : ''; if ( '' !== templateName ) { jQuery.ajax( { type: 'POST', url: fusionAppConfig.ajaxurl, dataType: 'json', data: { action: 'fusion_builder_save_layout', fusion_po_type: 'object', fusion_load_nonce: fusionAppConfig.fusion_load_nonce, fusion_layout_name: templateName, fusion_layout_content: templateContent, fusion_layout_post_type: 'fusion_template', fusion_current_post_id: currentPostID, fusion_custom_css: customCSS, fusion_page_template: pageTemplate, fusion_options: FusionApp.data.postMeta, fusion_front_end: true }, complete: function( data ) { layoutsContainer.prepend( data.responseText ); } } ); jQuery( '#new_template_name' ).val( '' ); } else { alert( fusionBuilderText.please_enter_template_name ); // jshint ignore: line } }, /** * Deletes a layout via AJAX. * * @since 2.0.0 * @param {Object} event - The event. * @return {void} */ deleteLayout: function( event ) { var $layout; if ( event ) { event.preventDefault(); FusionApp.confirmationPopup( { title: fusionBuilderText.are_you_sure, content: fusionBuilderText.are_you_sure_you_want_to_delete_this, actions: [ { label: fusionBuilderText.cancel, classes: 'no', callback: function() { FusionApp.confirmationPopup( { action: 'hide' } ); } }, { label: fusionBuilderText.im_sure, classes: 'yes', callback: function() { if ( true === FusionPageBuilderApp.layoutIsDeleting ) { return; } FusionPageBuilderApp.layoutIsDeleting = true; $layout = jQuery( event.currentTarget ).closest( '.fusion-page-layout' ); jQuery.ajax( { type: 'POST', url: fusionAppConfig.ajaxurl, data: { action: 'fusion_builder_delete_layout', fusion_load_nonce: fusionAppConfig.fusion_load_nonce, fusion_layout_id: $layout.data( 'layout_id' ) }, success: function() { $layout.remove(); FusionPageBuilderApp.layoutIsDeleting = false; } } ); FusionApp.confirmationPopup( { action: 'hide' } ); } } ] } ); } }, /** * Saves an element via AJAX. * * @since 2.0.0 * @param {Object} event - The event. * @return {void} */ saveElement: function( event ) { var elementName = jQuery( '#fusion-builder-save-element-input' ).val(), layoutsContainer = jQuery( this.model.target ).find( '.fusion-page-layouts' ), saveGlobal = jQuery( this.model.target ).find( '#fusion_save_global' ).is( ':checked' ), elementView = FusionPageBuilderViewManager.getView( this.model.element_cid ), elementContent = elementView.getContent(), elementCategory = 'undefined' !== typeof elementView.getCategory ? elementView.getCategory() : 'elements', isDuplicate = false, oldGLobalID = null, wrapperClass = '', params = {}; if ( event ) { event.preventDefault(); } if ( 'undefined' !== typeof elementView.model.attributes.params && 'undefined' !== typeof elementView.model.attributes.params.fusion_global ) { // Make a copy. oldGLobalID = elementView.model.attributes.params.fusion_global; params = elementView.model.get( 'params' ); // Remove temporarily and update model delete params.fusion_global; elementView.model.set( 'params', params ); // Get content. elementContent = elementView.getColumnContent(); // Add it back. params.fusion_global = oldGLobalID; elementView.model.set( 'params', params ); } switch ( elementCategory ) { case 'sections': wrapperClass = 'ul.fusion-page-layouts.fusion-layout-sections li'; break; case 'columns': wrapperClass = 'ul.fusion-page-layouts.fusion-layout-columns li'; break; case 'elements': wrapperClass = 'ul.fusion-page-layouts.fusion-layout-elements li'; break; } jQuery.each( jQuery( wrapperClass ), function() { var templateName = jQuery( this ).find( 'h4.fusion-page-layout-title' ).html().split( '
' + fusionBuilderText.global_container + '' ); FusionPageBuilderApp.$el.find( 'div[data-cid="' + cid + '"] .fusion-builder-wireframe-utility-toolbar' ).first().append( '' + fusionBuilderText.global_container + '' ); FusionPageBuilderApp.$el.find( 'div[data-cid="' + cid + '"]' ).addClass( 'fusion-global-container' ); } else if ( 'columns' === elementCategory ) { FusionPageBuilderApp.$el.find( 'div[data-cid="' + cid + '"] .fusion-builder-module-controls-inner.fusion-builder-column-controls-inner' ).after( '' + fusionBuilderText.global_column + '' ); FusionPageBuilderApp.$el.find( 'div[data-cid="' + cid + '"] .fusion-builder-wireframe-utility-toolbar' ).first().append( '' + fusionBuilderText.global_column + '' ); FusionPageBuilderApp.$el.find( 'div[data-cid="' + cid + '"]' ).addClass( 'fusion-global-column' ); } else if ( 'elements' === elementCategory && 'undefined' !== typeof elementView.model.get( 'multi' ) && 'multi_element_parent' === elementView.model.get( 'multi' ) ) { FusionPageBuilderApp.$el.find( 'div[data-cid="' + cid + '"]' ).addClass( 'fusion-global-parent-element' ); FusionPageBuilderApp.$el.find( 'div[data-cid="' + cid + '"] .fusion-builder-module-controls-inner' ).after( '' + fusionBuilderText.global_element + '' ); FusionPageBuilderApp.$el.find( 'div[data-cid="' + cid + '"] .fusion-builder-wireframe-utility-toolbar' ).first().append( '' + fusionBuilderText.global_element + '' ); } else if ( 'elements' === elementCategory && 'fusion_builder_row_inner' === elementView.model.get( 'element_type' ) ) { FusionPageBuilderApp.$el.find( 'div[data-cid="' + cid + '"]' ).addClass( 'fusion-global-nested-row' ); FusionPageBuilderApp.$el.find( 'div[data-cid="' + cid + '"] .fusion-builder-module-controls-inner' ).after( '' + fusionBuilderText.global_element + '' ); FusionPageBuilderApp.$el.find( 'div[data-cid="' + cid + '"] .fusion-builder-wireframe-utility-toolbar' ).last().append( '' + fusionBuilderText.global_element + '' ); } else if ( 'elements' === elementCategory ) { FusionPageBuilderApp.$el.find( 'div[data-cid="' + cid + '"]' ).addClass( 'fusion-global-element' ); FusionPageBuilderApp.$el.find( 'div[data-cid="' + cid + '"] .fusion-builder-module-controls-inner' ).after( '' + fusionBuilderText.global_element + '' ); FusionPageBuilderApp.$el.find( 'div[data-cid="' + cid + '"] .fusion-builder-wireframe-utility-toolbar' ).first().append( '' + fusionBuilderText.global_element + '' ); } FusionPageBuilderApp.$el.find( 'div[data-cid="' + cid + '"]' ).attr( 'fusion-global-layout', globalID ); FusionEvents.trigger( 'fusion-element-added' ); FusionPageBuilderApp.saveGlobal = true; // Check for globals. MultiGlobalArgs = { currentModel: elementView.model, handleType: 'save', attributes: elementView.model.attributes }; setTimeout( fusionGlobalManager.handleMultiGlobal, 500, MultiGlobalArgs ); // Save history FusionEvents.trigger( 'fusion-history-save-step', fusionBuilderText.saved + ' ' + fusionAllElements[ elementView.model.get( 'element_type' ) ].name + ' ' + fusionBuilderText.as_global ); if ( 'undefined' !== typeof FusionApp.contentChange ) { FusionApp.contentChange( 'page', 'builder-content' ); } } } } ); } else { alert( fusionBuilderText.please_enter_element_name ); // jshint ignore: line } }, /** * Removes the view. * * @since 2.0.0 * @param {Object} event - The event. * @return {void} */ removeView: function() { this.$el.find( '.fusion-save-element-fields' ).remove(); this.$el.find( '.fusion-builder-modal-top-container' ).prependTo( '#fusion-builder-front-end-library' ); FusionApp.dialogCloseResets( this ); this.remove(); } } ); } ); }( jQuery ) ); {"translation-revision-date":"2025-01-09T20:01:27+00:00","generator":"WP-CLI\/2.11.0","source":"build\/main.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"en","plural-forms":"nplurals=2; plural=(n != 1);"},"Header & Footer Builder":["Constructor de Encabezados y Pies de P\u00e1gina"],"Theme Support":["Soporte del Tema"],"Rollback to Previous Version":["Revertir a la Versi\u00f3n Anterior"],"Activate":["Activar"],"Activated":["Activado"],"Install":["Instalar"],"Dashboard":["Tablero"],"Settings":["Configuraciones"],"Basic":["B\u00e1sico"],"Advanced":["Avanzado"],"Post Info":["Informaci\u00f3n de la publicaci\u00f3n"],"Breadcrumbs":["Migajas de pan"],"Site Logo":["Logo del sitio"],"Navigation Menu":["Men\u00fa de navegaci\u00f3n"],"Scroll to Top":["Desplazarse hacia arriba"],"Site Tagline":["Eslogan del sitio"],"Search":["Buscar"],"Page Title":["T\u00edtulo de la p\u00e1gina"],"Retina Logo":["Logo Retina"],"Copyright":["Derechos de autor"],"Advanced Heading":["Encabezado avanzado"],"Modal Popup":["Popup modal"],"Business Hours":["Horas de atenci\u00f3n"],"Business Reviews":["Rese\u00f1as de Negocios"],"Countdown Timer":["Temporizador de Cuenta Regresiva"],"Dual Color Heading":["Encabezado de Doble Color"],"Fancy Heading":["Encabezado Elegante"],"Google Map":["Mapa de Google"],"Image Gallery":["Galer\u00eda de Im\u00e1genes"],"Info Box":["Caja de Informaci\u00f3n"],"Instagram Feed":["Feed de Instagram"],"Login Form":["Formulario de Inicio de Sesi\u00f3n"],"Marketing Button":["Bot\u00f3n de Marketing"],"Price List":["Lista de Precios"],"Retina Image":["Imagen Retina"],"Social Share":["Compartir en Redes Sociales"],"Table":["Tabla"],"Table of Contents":["Tabla de Contenidos"],"Team Member":["Miembro del Equipo"],"Timeline":["L\u00ednea de Tiempo"],"Twitter Feed":["Feed de Twitter"],"Video":["Video"],"Video Gallery":["Galer\u00eda de Videos"],"Welcome Music":["Bienvenido M\u00fasica"],"Party Propz":["Accesorios de fiesta"],"Shape Divider":["Divisor de forma"],"Presets":["Preajustes"],"Yes":["S\u00ed"],"Essentials":["Esenciales"],"White Label Option":["Opci\u00f3n de etiqueta blanca"],"24\/7 Premium Support":["Soporte premium 24\/7"],"Cross-Domain Copy-Paste":["Copiar y pegar entre dominios"],"Dynamic Header & Footer Widgets":["Widgets din\u00e1micos de encabezado y pie de p\u00e1gina"],"Creative & Advanced Design Widgets":["Widgets de dise\u00f1o creativos y avanzados"],"Multi-Button":["Multi-bot\u00f3n"],"Image Hotspots":["Puntos calientes de imagen"],"Content & Media Widgets":["Widgets de contenido y multimedia"],"Content Toggle Button":["Bot\u00f3n de alternancia de contenido"],"Before & After Slider":["Deslizador de antes y despu\u00e9s"],"Conditional Display":["Visualizaci\u00f3n condicional"],"User Registeration Form":["Formulario de registro de usuario"],"Marketing & Engagement Widgets":["Widgets de marketing y compromiso"],"Pricing Table":["Tabla de precios"],"E-Commerce Integration":["Integraci\u00f3n de comercio electr\u00f3nico"],"WooCommerce: Add to Cart":["WooCommerce: Agregar al carrito"],"WooCommerce: Product Category":["WooCommerce: Categor\u00eda de producto"],"WooCommerce: Mini Cart":["WooCommerce: Mini carrito"],"WooCommerce: Product":["WooCommerce: Producto"],"WooCommerce: Checkout":["WooCommerce: Pago"],"Forms Integration":["Integraci\u00f3n de formularios"],"Contact Form 7":["Formulario de contacto 7"],"Gravity Forms":["Gravity Forms"],"WPForms":["WPForms"],"Fluent Forms":["Formas fluidas"],"SEO Widgets":["Widgets de SEO"],"FAQ with Schema":["FAQ con esquema"],"How-To":["C\u00f3mo hacer"],"Creative Features":["Caracter\u00edsticas creativas"],"Particles":["Part\u00edculas"],"Social Media Integration":["Integraci\u00f3n de redes sociales"],"Advanced Features":["Caracter\u00edsticas avanzadas"],"Post Layout":["Dise\u00f1o de publicaciones"],"Off Canvas":["Fuera de canvas"],"Free Vs Pro":["Gratis vs Pro"],"Ultimate Addons for Elementor Pro offers 50+ widgets and features!":["\u00a1Ultimate Addons para Elementor Pro ofrece m\u00e1s de 50 widgets y caracter\u00edsticas!"],"Compare the popular features\/widgets to find the best option for your website.":["Compara las caracter\u00edsticas\/widgets populares para encontrar la mejor opci\u00f3n para tu sitio web."],"Upgrade Now":["Actualizar ahora"],"Free":["Gratis"],"Pro":["Pro"],"Post Layouts":["Dise\u00f1os de publicaciones"],"Pricing Cards":["Tarjetas de precios"],"Form Stylers and more...":["Estilizadores de formularios y m\u00e1s..."],"Column Showcase":["Vitrina de columnas"],"Unlock Ultimate Features":["Desbloquear caracter\u00edsticas definitivas"],"Create Stunning Designs with the Pro Version!":["\u00a1Crea dise\u00f1os impresionantes con la versi\u00f3n Pro!"],"Get access to advanced widgets and features to create the website that stands out!":["\u00a1Obt\u00e9n acceso a widgets y caracter\u00edsticas avanzadas para crear un sitio web que destaque!"],"Extend Your Website":["Extiende tu sitio web"],"Installing..":["Instalando.."],"Installed":["Instalado"],"Theme Installation failed, Please try again later.":["La instalaci\u00f3n del tema fall\u00f3, por favor intenta de nuevo m\u00e1s tarde."],"Plugin Installation failed, Please try again later.":["La instalaci\u00f3n del plugin fall\u00f3, por favor intenta de nuevo m\u00e1s tarde."],"Activating..":["Activando.."],"Visit Site":["Visitar sitio"],"Activate Theme":["Activar tema"],"Are you sure you want to switch your current theme to Astra?":["\u00bfEst\u00e1s seguro de que deseas cambiar tu tema actual a Astra?"],"Close":["Cerrar"],"My Account":["Mi cuenta"],"License Key":["Clave de licencia"],"Unlock Pro Features":["Desbloquear caracter\u00edsticas Pro"],"Get access to advanced blocks and premium features.":["Obt\u00e9n acceso a bloques avanzados y caracter\u00edsticas premium."],"Quick Access":["Acceso r\u00e1pido"],"Contact Us":["Cont\u00e1ctanos"],"Help Centre":["Centro de ayuda"],"Request a Feature":["Solicitar una caracter\u00edstica"],"Build Websites 10x Faster with Templates":["Construye sitios web 10 veces m\u00e1s r\u00e1pido con plantillas"],"Choose from our professionally designed websites to build your site faster, with easy customization options.":["Elige entre nuestros sitios web dise\u00f1ados profesionalmente para construir tu sitio m\u00e1s r\u00e1pido, con opciones de personalizaci\u00f3n f\u00e1ciles."],"View Templates":["Ver plantillas"],"Compare Free vs Pro":["Comparar gratis vs pro"],"Welcome to Ultimate Addons for Elementor!":["\u00a1Bienvenido a Ultimate Addons para Elementor!"],"We're excited to help you supercharge your website-building experience. Effortlessly design stunning websites with our comprehensive range of free and premium widgets and features.":["Estamos emocionados de ayudarte a potenciar tu experiencia de creaci\u00f3n de sitios web. Dise\u00f1a sitios web impresionantes sin esfuerzo con nuestra amplia gama de widgets y caracter\u00edsticas gratuitas y premium."],"Create Header\/Footer":["Crear encabezado\/pie de p\u00e1gina"],"Create New Page":["Crear nueva p\u00e1gina"],"Read full guide":["Leer gu\u00eda completa"],"View Demo":["Ver demostraci\u00f3n"],"Read Documentation":["Leer documentaci\u00f3n"],"Formerly Elementor Header & Footer Builder":["Anteriormente Constructor de encabezados y pies de p\u00e1gina de Elementor"],"Widgets":["Widgets"],"Templates":[""],"Free vs Pro":[""],"Get Pro":["Obtener Pro"],"Version":["Versi\u00f3n"],"Useful Resources":["Recursos \u00fatiles"],"Getting Started":["Comenzando"],"How to use widgets":["C\u00f3mo usar widgets"],"How to use features":["C\u00f3mo usar caracter\u00edsticas"],"How to use templates":["C\u00f3mo usar plantillas"],"Contact us":["Cont\u00e1ctanos"],"Custom SVG":["SVG personalizado"],"Editor":["Editor"],"Utilities":["Utilidades"],"Version Control":["Control de versiones"],"Option 1 (Recommended)":["Opci\u00f3n 1 (Recomendada)"],"This option will automatically replace your theme's header and footer files with custom templates from the plugin. It works with most themes and is selected by default.":["Esta opci\u00f3n reemplazar\u00e1 autom\u00e1ticamente los archivos de encabezado y pie de p\u00e1gina de tu tema con plantillas personalizadas del plugin. Funciona con la mayor\u00eda de los temas y est\u00e1 seleccionada por defecto."],"Option 2":["Opci\u00f3n 2"],"Settings saved successfully!":["\u00a1Configuraciones guardadas con \u00e9xito!"],"Failed to save settings!":["\u00a1Error al guardar configuraciones!"],"Select Option to Add Theme Support":["Selecciona una opci\u00f3n para agregar soporte de tema"],"To ensure compatibility between the header\/footer and your theme, please choose one of the following options to enable theme support:":["Para asegurar la compatibilidad entre el encabezado\/pie de p\u00e1gina y tu tema, por favor elige una de las siguientes opciones para habilitar el soporte de tema:"],"Note:":["Nota:"],"If neither option works, please contact your theme author to add support for this plugin.":["Si ninguna opci\u00f3n funciona, por favor contacta al autor de tu tema para agregar soporte para este plugin."],"Experiencing an issue with current version? Roll back to a previous version to help troubleshoot the issue.":["\u00bfTienes un problema con la versi\u00f3n actual? Vuelve a una versi\u00f3n anterior para ayudar a solucionar el problema."],"Rollback":["Revertir"],"Cancel":["Cancelar"],"250+ templates for every niche":["250+ plantillas para cada nicho"],"Modern, timeless designs":["Dise\u00f1os modernos y atemporales"],"Full design flexibility for easy customization":["Flexibilidad total de dise\u00f1o para una f\u00e1cil personalizaci\u00f3n"],"100% responsive across all devices":["100% responsivo en todos los dispositivos"],"Install Starter Templates":["Instalar plantillas iniciales"],"Activate Starter Templates":["Activar plantillas iniciales"],"Installing Starter Templates...":["Instalando plantillas iniciales..."],"Installed Starter Templates":["Plantillas iniciales instaladas"],"Activating Starter Templates...":["Activando plantillas iniciales..."],"Activated Starter Templates":["Plantillas iniciales activadas"],"Design Your Website in Minutes":["Dise\u00f1a tu sitio web en minutos"],"Build your website faster using our prebuilt templates":["Construye tu sitio web m\u00e1s r\u00e1pido usando nuestras plantillas preconstruidas"],"Stop building your site from scratch. Use our professional templates for your stunning website.It is easy to customize and completely responsive. Explore hundreds of designs and bring your vision to life in no time.":["Deja de construir tu sitio desde cero. Usa nuestras plantillas profesionales para tu impresionante sitio web. Es f\u00e1cil de personalizar y completamente responsivo. Explora cientos de dise\u00f1os y da vida a tu visi\u00f3n en poco tiempo."],"Explore Templates":["Explorar plantillas"],"Learn More":["Aprender m\u00e1s"],"Widgets \/ Features":["Widgets \/ Caracter\u00edsticas"],"Search...":["Buscar..."],"Activating...":["Activando..."],"Activate All":["Activar todo"],"Deactivating...":["Desactivando..."],"Deactivate All":["Desactivar todo"]}}}