CVE-2019-17496 (JavaScript, published 2019-10-11T00:15Z)
Description: value: Craft CMS before 3.3.8 has stored XSS via a name field. This field is mishandled during site deletion.
Severity: MEDIUM (CVSS v3 base score: 6.1)
Weakness: CWE-79 \u2014 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.
Repository: https://github.com/craftcms/cms
Files changed:
CHANGELOG-v3.md
src/web/assets/cp/dist/js/Craft.js
src/web/assets/cp/dist/js/Craft.min.js
src/web/assets/cp/dist/js/Craft.min.js.map
src/web/assets/cp/src/js/AdminTable.js
Commit message: Fixed an XSS vulnerability


Vulnerable code:
/*!   - 2019-09-25 */
                Craft.cp.displayNotice(Craft.t('app', this.settings.deleteSuccessMessage, {name: Craft.escapeHtml(name)}));
                Craft.cp.displayError(Craft.t('app', this.settings.deleteFailMessage, {name: Craft.escapeHtml(name)}));
            return $row.attr(this.settings.nameAttribute);
!function($){$.extend(Craft,{navHeight:48,t:function(t,e,i){if(void 0!==Craft.translations[t]&&void 0!==Craft.translations[t][e]&&(e=Craft.translations[t][e]),i)for(var s in i)i.hasOwnProperty(s)&&(e=e.replace("{"+s+"}",i[s]));return e},formatDate:function(t){return"object"!=typeof t&&(t=new Date(t)),$.datepicker.formatDate(Craft.datepickerOptions.dateFormat,t)},formatNumber:function(t,e){return void 0===e&&(e=",.0f"),d3.formatLocale(d3FormatLocaleDefinition).format(e)(t)},escapeHtml:function(t){return $("<div/>").text(t).html()},escapeRegex:function(t){return t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},getText:function(t){return $("<div/>").html(t).text()},encodeUriComponent:function(t){t=encodeURIComponent(t);var e={"!":"%21","*":"%2A","'":"%27","(":"%28",")":"%29"};for(var i in e){var s=new RegExp("\\"+i,"g");t=t.replace(s,e[i])}return t},selectFullValue:function(t){var e=$(t),i=e.val();if(void 0!==e[0].setSelectionRange){var s=2*i.length;e[0].setSelectionRange(0,s)}else e.val(i)},formatInputId:function(t){return this.rtrim(t.replace(/[\[\]\\]+/g,"-"),"-")},getUrl:function(t,e,i){"string"!=typeof t&&(t="");var s="";if($.isPlainObject(e)){var n=[];for(var a in e)if(e.hasOwnProperty(a)){var r=e[a];"#"===a?s=r:null!==r&&""!==r&&n.push(a+"="+r)}e=n}e=Garnish.isArray(e)?e.join("&"):Craft.trim(e,"&?");var o,l=t.indexOf("?");if(-1!==l&&(e=t.substr(l+1)+(e?"&"+e:""),t=t.substr(0,l)),-1!==t.search("://")||"/"===t[0])return t+(e?"?"+e:"");if(t=Craft.trim(t,"/"),i){if(o=i,t){var h=o.match(new RegExp("[&?]"+Craft.escapeRegex(Craft.pathParam)+"=[^&]+"));h&&(o=o.replace(h[0],Craft.rtrim(h[0],"/")+"/"+t),t="")}}else o=Craft.baseUrl;if(-1!==(l=o.indexOf("?"))&&(e=o.substr(l+1)+(e?"&"+e:""),o=o.substr(0,l)),!Craft.omitScriptNameInUrls&&t)if(Craft.usePathInfo)-1===o.search(Craft.scriptName)&&(o=Craft.rtrim(o,"/")+"/"+Craft.scriptName);else{if(e&&e.substr(0,Craft.pathParam.length+1)===Craft.pathParam+"="){var d,c=e.indexOf("&");e=-1!==c?(d=e.substring(2,c),e.substr(c+1)):(d=e.substr(2),null),t=(d=Craft.rtrim(d))+(t?"/"+t:"")}e=Craft.pathParam+"="+t+(e?"&"+e:""),t=null}return t&&(o=Craft.rtrim(o,"/")+"/"+t),e&&(o+="?"+e),s&&(o+="#"+s),o},getCpUrl:function(t,e){return this.getUrl(t,e,Craft.baseCpUrl)},getSiteUrl:function(t,e){return this.getUrl(t,e,Craft.baseSiteUrl)},getActionUrl:function(t,e){return Craft.getUrl(t,e,Craft.actionUrl)},redirectTo:function(t){document.location.href=this.getUrl(t)},getCsrfInput:function(){return Craft.csrfTokenName?'<input type="hidden" name="'+Craft.csrfTokenName+'" value="'+Craft.csrfTokenValue+'"/>':""},postActionRequest:function(t,e,s,i){"function"==typeof e&&(i=s,s=e,e={});var n={"X-Registered-Asset-Bundles":Object.keys(Craft.registeredAssetBundles).join(","),"X-Registered-Js-Files":Object.keys(Craft.registeredJsFiles).join(",")};Craft.csrfTokenValue&&Craft.csrfTokenName&&(n["X-CSRF-Token"]=Craft.csrfTokenValue);var a=$.ajax($.extend({url:Craft.getActionUrl(t),type:"POST",dataType:"json",headers:n,data:e,success:s,error:function(t,e,i){4===t.readyState&&(void 0!==Craft.cp?Craft.cp.displayError():alert(Craft.t("app","An unknown error occurred.")),s&&s(null,e,t))}},i));return i&&"function"==typeof i.send&&i.send(a),a},_waitingOnAjax:!1,_ajaxQueue:[],queueActionRequest:function(t,e,i,s){"function"==typeof e&&(s=i,i=e,e=void 0),Craft._ajaxQueue.push([t,e,i,s]),Craft._waitingOnAjax||Craft._postNextActionRequestInQueue()},_postNextActionRequestInQueue:function(){Craft._waitingOnAjax=!0;var s=Craft._ajaxQueue.shift();Craft.postActionRequest(s[0],s[1],function(t,e,i){s[2]&&"function"==typeof s[2]&&s[2](t,e,i),Craft._ajaxQueue.length?Craft._postNextActionRequestInQueue():Craft._waitingOnAjax=!1},s[3])},stringToArray:function(t){if("string"!=typeof t)return t;for(var e=t.split(","),i=0;i<e.length;i++)e[i]=$.trim(e[i]);return e},expandPostArray:function(t){var e,i={};for(var s in t)if(t.hasOwnProperty(s)){var n,a=t[s],r=s.match(/^(\w+)(\[.*)?/);if(r[2])for(n=r[2].match(/\[[^\[\]]*\]/g),e=0;e<n.length;e++)n[e]=n[e].substring(1,n[e].length-1);else n=[];n.unshift(r[1]);var o=i;for(e=0;e<n.length;e++)e<n.length-1?("object"!=typeof o[n[e]]&&(n[e+1]&&parseInt(n[e+1])!=n[e+1]?o[n[e]]={}:o[n[e]]=[]),o=o[n[e]]):(n[e]||(n[e]=o.length),o[n[e]]=a)}return i},compare:function(t,e,i){if(typeof t!=typeof e)return!1;if("object"!=typeof t)return t===e;if(t.length!==e.length)return!1;if(t instanceof Array!=e instanceof Array)return!1;if(!(t instanceof Array))if(void 0===i||!0===i){if(!Craft.compare(Craft.getObjectKeys(t).sort(),Craft.getObjectKeys(e).sort()))return!1}else if(!Craft.compare(Craft.getObjectKeys(t),Craft.getObjectKeys(e)))return!1;for(var s in t)if(t.hasOwnProperty(s)&&!Craft.compare(t[s],e[s]))return!1;return!0},getObjectKeys:function(t){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(i);return e},escapeChars:function(t){Garnish.isArray(t)||(t=t.split());for(var e="",i=0;i<t.length;i++)e+="\\"+t[i];return e},ltrim:function(t,e){if(!t)return t;void 0===e&&(e=" \t\n\r\0\v");var i=new RegExp("^["+Craft.escapeChars(e)+"]+");return t.replace(i,"")},rtrim:function(t,e){if(!t)return t;void 0===e&&(e=" \t\n\r\0\v");var i=new RegExp("["+Craft.escapeChars(e)+"]+$");return t.replace(i,"")},trim:function(t,e){return t=Craft.ltrim(t,e),t=Craft.rtrim(t,e)},startsWith:function(t,e){return t.substr(0,e.length)===e},filterArray:function(t,e){for(var i=[],s=0;s<t.length;s++){("function"==typeof e?e(t[s],s):t[s])&&i.push(t[s])}return i},inArray:function(t,e){return-1!==$.inArray(t,e)},removeFromArray:function(t,e){var i=$.inArray(t,e);return-1!==i&&(e.splice(i,1),!0)},getLast:function(t){return t.length?t[t.length-1]:null},uppercaseFirst:function(t){return t.charAt(0).toUpperCase()+t.slice(1)},lowercaseFirst:function(t){return t.charAt(0).toLowerCase()+t.slice(1)},parseUrl:function(t){var e=t.match(/^(?:(https?):\/\/|\/\/)([^\/\:]*)(?:\:(\d+))?(\/[^\?]*)?(?:\?([^#]*))?(#.*)?/);return e?{scheme:e[1],host:e[2]+(e[3]?":"+e[3]:""),hostname:e[2],port:e[3]||null,path:e[4]||"/",query:e[5]||null,hash:e[6]||null}:{}},isSameHost:function(t){var e=this.parseUrl(document.location.href);if(!e)return!1;var i=this.parseUrl(t);return!!i&&e.host===i.host},secondsToHumanTimeDuration:function(t,e){void 0===e&&(e=!0);var i=Math.floor(t/604800);t%=604800;var s=Math.floor(t/86400);t%=86400;var n,a=Math.floor(t/3600);t%=3600,e?(n=Math.floor(t/60),t%=60):(n=Math.round(t/60),t=0);var r=[];return i&&r.push(i+" "+(1===i?Craft.t("app","week"):Craft.t("app","weeks"))),s&&r.push(s+" "+(1===s?Craft.t("app","day"):Craft.t("app","days"))),a&&r.push(a+" "+(1===a?Craft.t("app","hour"):Craft.t("app","hours"))),!n&&(e||i||s||a)||r.push(n+" "+(1===n?Craft.t("app","minute"):Craft.t("app","minutes"))),!t&&(!e||i||s||a||n)||r.push(t+" "+(1===t?Craft.t("app","second"):Craft.t("app","seconds"))),r.join(", ")},asciiString:function(t,e){for(var i,s="",n=0;n<t.length;n++)i=t.charAt(n),s+=(e||Craft.asciiCharMap)[i]||i;return s},randomString:function(t){for(var e="",i=0;i<t;i++)e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(Math.floor(62*Math.random()));return e},preventOutlineOnMouseFocus:function(t){var e=$(t),i=".preventOutlineOnMouseFocus";e.on("mousedown"+i,function(){e.addClass("no-outline"),e.trigger("focus")}).on("keydown"+i+" blur"+i,function(t){t.keyCode!==Garnish.SHIFT_KEY&&t.keyCode!==Garnish.CTRL_KEY&&t.keyCode!==Garnish.CMD_KEY&&e.removeClass("no-outline")})},createErrorList:function(t){for(var e=$(document.createElement("ul")).addClass("errors"),i=0;i<t.length;i++){var s=$(document.createElement("li"));s.appendTo(e),s.html(t[i])}return e},appendHeadHtml:function(t){if(t){var e=$("link[href]");if(e.length){for(var i,s=[],n=0;n<e.length;n++)i=e.eq(n).attr("href").replace(/&/g,"&amp;"),s.push(Craft.escapeRegex(i));var a=new RegExp('<link\\s[^>]*href="(?:'+s.join("|")+')".*?><\/script>',"g");t=t.replace(a,"")}$("head").append(t)}},appendFootHtml:function(t){if(t){var e=$("script[src]");if(e.length){for(var i,s=[],n=0;n<e.length;n++)i=e.eq(n).attr("src").replace(/&/g,"&amp;"),s.push(Craft.escapeRegex(i));var a=new RegExp('<script\\s[^>]*src="(?:'+s.join("|")+')".*?><\/script>',"g");t=t.replace(a,"")}Garnish.$bod.append(t)}},initUiElements:function(t){$(".grid",t).grid(),$(".info",t).infoicon(),$(".checkbox-select",t).checkboxselect(),$(".fieldtoggle",t).fieldtoggle(),$(".lightswitch",t).lightswitch(),$(".nicetext",t).nicetext(),$(".pill",t).pill(),$(".formsubmit",t).formsubmit(),$(".menubtn",t).menubtn()},_elementIndexClasses:{},_elementSelectorModalClasses:{},_elementEditorClasses:{},registerElementIndexClass:function(t,e){if(void 0!==this._elementIndexClasses[t])throw"An element index class has already been registered for the element type “"+t+"”.";this._elementIndexClasses[t]=e},registerElementSelectorModalClass:function(t,e){if(void 0!==this._elementSelectorModalClasses[t])throw"An element selector modal class has already been registered for the element type “"+t+"”.";this._elementSelectorModalClasses[t]=e},registerElementEditorClass:function(t,e){if(void 0!==this._elementEditorClasses[t])throw"An element editor class has already been registered for the element type “"+t+"”.";this._elementEditorClasses[t]=e},createElementIndex:function(t,e,i){return new(void 0!==this._elementIndexClasses[t]?this._elementIndexClasses[t]:Craft.BaseElementIndex)(t,e,i)},createElementSelectorModal:function(t,e){return new(void 0!==this._elementSelectorModalClasses[t]?this._elementSelectorModalClasses[t]:Craft.BaseElementSelectorModal)(t,e)},createElementEditor:function(t,e,i){return new(void 0!==this._elementEditorClasses[t]?this._elementEditorClasses[t]:Craft.BaseElementEditor)(e,i)},getLocalStorage:function(t,e){return t="Craft-"+Craft.systemUid+"."+t,"undefined"!=typeof localStorage&&void 0!==localStorage[t]?JSON.parse(localStorage[t]):e},setLocalStorage:function(t,e){if("undefined"!=typeof localStorage){t="Craft-"+Craft.systemUid+"."+t;try{localStorage[t]=JSON.stringify(e)}catch(t){}}},getElementInfo:function(t){var e=$(t);return e.hasClass("element")||(e=e.find(".element:first")),{id:e.data("id"),siteId:e.data("site-id"),label:e.data("label"),status:e.data("status"),url:e.data("url"),hasThumb:e.hasClass("hasthumb"),$element:e}},setElementSize:function(t,e){var i=$(t);if("small"!==e&&"large"!==e&&(e="small"),!i.hasClass(e)){var s="small"===e?"large":"small";if(i.addClass(e).removeClass(s),i.hasClass("hasthumb")){var n=i.find("> .elementthumb > img"),a=$("<img/>",{sizes:("small"===e?"30":"100")+"px",srcset:n.attr("srcset")||n.attr("data-pfsrcset")});n.replaceWith(a),picturefill({elements:[a[0]]})}}}}),$.extend($.fn,{animateLeft:function(t,e,i,s){return"ltr"===Craft.orientation?this.velocity({left:t},e,i,s):this.velocity({right:t},e,i,s)},animateRight:function(t,e,i,s){return"ltr"===Craft.orientation?this.velocity({right:t},e,i,s):this.velocity({left:t},e,i,s)},disable:function(){return this.each(function(){var t=$(this);t.addClass("disabled"),t.data("activatable")&&t.removeAttr("tabindex")})},enable:function(){return this.each(function(){var t=$(this);t.removeClass("disabled"),t.data("activatable")&&t.attr("tabindex","0")})},grid:function(){return this.each(function(){var t=$(this),e={};t.data("item-selector")&&(e.itemSelector=t.data("item-selector")),t.data("cols")&&(e.cols=parseInt(t.data("cols"))),t.data("max-cols")&&(e.maxCols=parseInt(t.data("max-cols"))),t.data("min-col-width")&&(e.minColWidth=parseInt(t.data("min-col-width"))),t.data("mode")&&(e.mode=t.data("mode")),t.data("fill-mode")&&(e.fillMode=t.data("fill-mode")),t.data("col-class")&&(e.colClass=t.data("col-class")),t.data("snap-to-grid")&&(e.snapToGrid=!!t.data("snap-to-grid")),new Craft.Grid(this,e)})},infoicon:function(){return this.each(function(){new Craft.InfoIcon(this)})},checkboxselect:function(){return this.each(function(){$.data(this,"checkboxselect")||new Garnish.CheckboxSelect(this)})},fieldtoggle:function(){return this.each(function(){$.data(this,"fieldtoggle")||new Craft.FieldToggle(this)})},lightswitch:function(e,t,i){return"settings"===e?("string"==typeof t?(e={})[t]=i:e=t,this.each(function(){var t=$.data(this,"lightswitch");t&&t.setSettings(e)})):($.isPlainObject(e)||(e={}),this.each(function(){var t=$.extend({},e);Garnish.hasAttr(this,"data-value")&&(t.value=$(this).attr("data-value")),$.data(this,"lightswitch")||new Craft.LightSwitch(this,t)}))},nicetext:function(){return this.each(function(){$.data(this,"nicetext")||new Garnish.NiceText(this)})},pill:function(){return this.each(function(){$.data(this,"pill")||new Garnish.Pill(this)})},formsubmit:function(){this.on("click",function(t){var e=$(t.currentTarget);if(!e.attr("data-confirm")||confirm(e.attr("data-confirm"))){var i=e.data("menu")?e.data("menu").$anchor:e,s=i.attr("data-form")?$("#"+i.attr("data-form")):i.closest("form");e.data("action")&&$('<input type="hidden" name="action"/>').val(e.data("action")).appendTo(s),e.data("redirect")&&$('<input type="hidden" name="redirect"/>').val(e.data("redirect")).appendTo(s),e.data("param")&&$('<input type="hidden"/>').attr({name:e.data("param"),value:e.data("value")}).appendTo(s),s.trigger({type:"submit",customTrigger:e})}})},menubtn:function(){return this.each(function(){var t=$(this);if(!t.data("menubtn")&&t.next().hasClass("menu")){var e={};t.data("menu-anchor")&&(e.menuAnchor=t.data("menu-anchor")),new Garnish.MenuBtn(t,e)}})}}),Garnish.$doc.ready(function(){Craft.initUiElements()}),Craft.BaseElementEditor=Garnish.Base.extend({$element:null,elementId:null,siteId:null,$form:null,$fieldsContainer:null,$cancelBtn:null,$saveBtn:null,$spinner:null,$siteSelect:null,$siteSpinner:null,hud:null,init:function(t,e){void 0===e&&$.isPlainObject(t)&&(e=t,t=null),this.$element=$(t),this.setSettings(e,Craft.BaseElementEditor.defaults),this.loadHud()},setElementAttribute:function(t,e){this.settings.attributes||(this.settings.attributes={}),null===e?delete this.settings.attributes[t]:this.settings.attributes[t]=e},getBaseData:function(){var t=$.extend({},this.settings.params);return this.settings.siteId?t.siteId=this.settings.siteId:this.$element&&this.$element.data("site-id")&&(t.siteId=this.$element.data("site-id")),this.settings.elementId?t.elementId=this.settings.elementId:this.$element&&this.$element.data("id")&&(t.elementId=this.$element.data("id")),this.settings.elementType&&(t.elementType=this.settings.elementType),this.settings.attributes&&(t.attributes=this.settings.attributes),this.settings.prevalidate&&(t.prevalidate=1),t},loadHud:function(){this.onBeginLoading();var t=this.getBaseData();t.includeSites=Craft.isMultiSite&&this.settings.showSiteSwitcher,Craft.postActionRequest("elements/get-editor-html",t,$.proxy(this,"showHud"))},showHud:function(t,e){if(this.onEndLoading(),"success"===e){var i=$();if(t.sites){var s=$('<div class="hud-header"/>');if(1===t.sites.length)$("<h5/>",{text:t.sites[0].name}).appendTo(s);else{var n=$('<div class="select"/>').appendTo(s);this.$siteSelect=$("<select/>").appendTo(n),this.$siteSpinner=$('<div class="spinner hidden"/>').appendTo(s);for(var a=0;a<t.sites.length;a++){var r=t.sites[a];$('<option value="'+r.id+'"'+(r.id==t.siteId?' selected="selected"':"")+">"+r.name+"</option>").appendTo(this.$siteSelect)}this.addListener(this.$siteSelect,"change","switchSite")}i=i.add(s)}this.$form=$("<div/>"),this.$fieldsContainer=$('<div class="fields"/>').appendTo(this.$form),this.updateForm(t),this.onCreateForm(this.$form);var o=$('<div class="hud-footer"/>').appendTo(this.$form),l=$('<div class="buttons right"/>').appendTo(o);if(this.$cancelBtn=$('<div class="btn">'+Craft.t("app","Cancel")+"</div>").appendTo(l),this.$saveBtn=$('<input class="btn submit" type="submit" value="'+Craft.t("app","Save")+'"/>').appendTo(l),this.$spinner=$('<div class="spinner hidden"/>').appendTo(l),i=i.add(this.$form),this.hud)this.hud.updateBody(i),this.hud.updateSizeAndPosition();else{var h=this.settings.hudTrigger||this.$element;this.hud=new Garnish.HUD(h,i,{bodyClass:"body elementeditor",closeOtherHUDs:!1,onShow:$.proxy(this,"onShowHud"),onHide:$.proxy(this,"onHideHud"),onSubmit:$.proxy(this,"saveElement")}),this.hud.$hud.data("elementEditor",this),this.hud.on("hide",$.proxy(function(){delete this.hud},this))}i.find(".text:first").trigger("focus"),this.addListener(this.$cancelBtn,"click",function(){this.hud.hide()})}},switchSite:function(){var t=this.$siteSelect.val();t!=this.siteId&&(this.$siteSpinner.removeClass("hidden"),this.reloadForm({siteId:t},$.proxy(function(t){this.$siteSpinner.addClass("hidden"),"success"!==t&&this.$siteSelect.val(this.siteId)},this)))},reloadForm:function(t,i){t=$.extend(this.getBaseData(),t),Craft.postActionRequest("elements/get-editor-html",t,$.proxy(function(t,e){"success"===e&&this.updateForm(t),i&&i(e)},this))},updateForm:function(t){this.siteId=t.siteId,this.$fieldsContainer.html(t.html);for(var e=this.$fieldsContainer.find("> .meta > .field > .heading > .instructions"),i=0;i<e.length;i++)e.eq(i).replaceWith($("<span/>",{class:"info",html:e.eq(i).children().html()})).infoicon();Garnish.requestAnimationFrame($.proxy(function(){Craft.appendHeadHtml(t.headHtml),Craft.appendFootHtml(t.footHtml),Craft.initUiElements(this.$fieldsContainer)},this))},saveElement:function(){var t=this.settings.validators;if($.isArray(t))for(var e=0;e<t.length;e++)if($.isFunction(t[e])&&!t[e].call())return!1;this.$spinner.removeClass("hidden");var i=$.param(this.getBaseData())+"&"+this.hud.$body.serialize();Craft.postActionRequest("elements/save-element",i,$.proxy(function(t,e){if(this.$spinner.addClass("hidden"),"success"===e)if(t.success){if(this.$element&&this.siteId==this.$element.data("site-id")){var i=this.$element.find(".title"),s=i.find("a");s.length&&t.cpEditUrl?(s.attr("href",t.cpEditUrl),s.text(t.newTitle)):i.text(t.newTitle)}this.closeHud(),this.onSaveElement(t)}else this.updateForm(t),Garnish.shake(this.hud.$hud)},this))},closeHud:function(){this.hud.hide(),delete this.hud},onShowHud:function(){this.settings.onShowHud(),this.trigger("showHud")},onHideHud:function(){this.settings.onHideHud(),this.trigger("hideHud")},onBeginLoading:function(){this.$element&&this.$element.addClass("loading"),this.settings.onBeginLoading(),this.trigger("beginLoading")},onEndLoading:function(){this.$element&&this.$element.removeClass("loading"),this.settings.onEndLoading(),this.trigger("endLoading")},onSaveElement:function(t){this.settings.onSaveElement(t),this.trigger("saveElement",{response:t}),Craft.cp.runQueue()},onCreateForm:function(t){this.settings.onCreateForm(t)}},{defaults:{hudTrigger:null,showSiteSwitcher:!0,elementId:null,elementType:null,siteId:null,attributes:null,params:null,prevalidate:!1,elementIndex:null,onShowHud:$.noop,onHideHud:$.noop,onBeginLoading:$.noop,onEndLoading:$.noop,onCreateForm:$.noop,onSaveElement:$.noop,validators:[]}}),Craft.BaseElementIndex=Garnish.Base.extend({initialized:!1,elementType:null,instanceState:null,sourceStates:null,sourceStatesStorageKey:null,searchTimeout:null,sourceSelect:null,$container:null,$main:null,$mainSpinner:null,isIndexBusy:!1,$sidebar:null,showingSidebar:null,sourceKey:null,sourceViewModes:null,$source:null,sourcesByKey:null,$visibleSources:null,$customizeSourcesBtn:null,customizeSourcesModal:null,$toolbar:null,$toolbarFlexContainer:null,toolbarOffset:null,$search:null,searching:!1,searchText:null,trashed:!1,drafts:!1,$clearSearchBtn:null,$statusMenuBtn:null,$statusMenuContainer:null,statusMenu:null,status:null,$siteMenuBtn:null,siteMenu:null,siteId:null,$sortMenuBtn:null,sortMenu:null,$sortAttributesList:null,$sortDirectionsList:null,$scoreSortAttribute:null,$structureSortAttribute:null,$elements:null,$viewModeBtnContainer:null,viewModeBtns:null,viewMode:null,view:null,_autoSelectElements:null,$countContainer:null,page:1,$exportBtn:null,actions:null,actionsHeadHtml:null,actionsFootHtml:null,$selectAllContainer:null,$selectAllCheckbox:null,showingActionTriggers:!1,_$detachedToolbarItems:null,_$triggers:null,init:function(t,e,i){if(this.elementType=t,this.$container=e,this.setSettings(i,Craft.BaseElementIndex.defaults),this.instanceState=this.getDefaultInstanceState(),this.sourceStates={},this.settings.storageKey&&$.extend(this.instanceState,Craft.getLocalStorage(this.settings.storageKey),{}),this.sourceStatesStorageKey="BaseElementIndex."+this.elementType+"."+this.settings.context,$.extend(this.sourceStates,Craft.getLocalStorage(this.sourceStatesStorageKey,{})),this.$main=this.$container.find(".main"),this.$toolbar=this.$container.find(".toolbar:first"),this.$toolbarFlexContainer=this.$toolbar.children(".flex"),this.$statusMenuBtn=this.$toolbarFlexContainer.find(".statusmenubtn:first"),this.$statusMenuContainer=this.$statusMenuBtn.parent(),this.$siteMenuBtn=this.$container.find(".sitemenubtn:first"),this.$sortMenuBtn=this.$toolbarFlexContainer.find(".sortmenubtn:first"),this.$search=this.$toolbarFlexContainer.find(".search:first input:first"),this.$clearSearchBtn=this.$toolbarFlexContainer.find(".search:first > .clear"),this.$mainSpinner=this.$toolbarFlexContainer.find(".spinner:first"),this.$sidebar=this.$container.find(".sidebar:first"),this.$customizeSourcesBtn=this.$sidebar.find(".customize-sources"),this.$elements=this.$container.find(".elements:first"),this.$countContainer=this.$container.find("#count-container"),this.$exportBtn=this.$container.find("#export-btn"),this.settings.hideSidebar&&(this.$sidebar.hide(),$(".body, .content",this.$container).removeClass("has-sidebar")),(this.settings.toolbarFixed||null===this.settings.toolbarFixed&&"index"===this.settings.context)&&!Garnish.isMobileBrowser(!0)&&(this.addListener(Garnish.$win,"resize","updateFixedToolbar"),this.addListener(Garnish.$scrollContainer,"scroll","updateFixedToolbar")),this.initSources()){if(this.$customizeSourcesBtn.length&&this.addListener(this.$customizeSourcesBtn,"click","createCustomizeSourcesModal"),this.$statusMenuBtn.length&&(this.statusMenu=this.$statusMenuBtn.menubtn().data("menubtn").menu,this.statusMenu.on("optionselect",$.proxy(this,"_handleStatusChange"))),this.$siteMenuBtn.length){this.siteMenu=this.$siteMenuBtn.menubtn().data("menubtn").menu;var s=this.siteMenu.$options.filter(".sel:first");if(s.length||(s=this.siteMenu.$options.first()),s.length?this._setSite(s.data("site-id")):this.settings.criteria={id:"0"},this.siteMenu.on("optionselect",$.proxy(this,"_handleSiteChange")),this.siteId){var n=Craft.getLocalStorage("BaseElementIndex.siteId");if(n&&n!=this.siteId){var a=this.siteMenu.$options.filter('[data-site-id="'+n+'"]:first');a.length&&a.trigger("click")}}}else this.settings.criteria&&this.settings.criteria.siteId?this._setSite(this.settings.criteria.siteId):this._setSite(Craft.siteId);this.addListener(this.$search,"textchange",$.proxy(function(){!this.searching&&this.$search.val()?this.startSearching():this.searching&&!this.$search.val()&&this.stopSearching(),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout($.proxy(this,"updateElementsIfSearchTextChanged"),500)},this)),this.addListener(this.$search,"keypress",$.proxy(function(t){t.keyCode===Garnish.RETURN_KEY&&(t.preventDefault(),this.searchTimeout&&clearTimeout(this.searchTimeout),this.updateElementsIfSearchTextChanged())},this)),this.addListener(this.$clearSearchBtn,"click",$.proxy(function(){this.$search.val(""),this.searchTimeout&&clearTimeout(this.searchTimeout),Garnish.isMobileBrowser(!0)||this.$search.trigger("focus"),this.stopSearching(),this.updateElementsIfSearchTextChanged()},this)),Garnish.isMobileBrowser(!0)||this.$search.trigger("focus"),this.$sortMenuBtn.length&&(this.sortMenu=this.$sortMenuBtn.menubtn().data("menubtn").menu,this.$sortAttributesList=this.sortMenu.$container.children(".sort-attributes"),this.$sortDirectionsList=this.sortMenu.$container.children(".sort-directions"),this.sortMenu.on("optionselect",$.proxy(this,"_handleSortChange"))),this.addListener(this.$exportBtn,"click","_showExportHud"),this.initialized=!0,this.afterInit(),this.selectDefaultSource(),"index"===this.settings.context&&this.setPage(Craft.pageNum),this.updateElements(!0)}},afterInit:function(){this.onAfterInit()},getSourceContainer:function(){return this.$sidebar.find("nav>ul")},get $sources(){if(this.sourceSelect)return this.sourceSelect.$items},initSources:function(){var t=this._getSourcesInList(this.getSourceContainer());return 0!==t.length&&(this.sourceSelect||(this.sourceSelect=new Garnish.Select(this.$sidebar.find("nav"),{multi:!1,allowEmpty:!1,vertical:!0,onSelectionChange:$.proxy(this,"_handleSourceSelectionChange")})),this.sourcesByKey={},this._initSources(t),!0)},selectDefaultSource:function(){var t,e=this.getDefaultSourceKey();e&&(t=this.getSourceByKey(e),-1===this.$visibleSources.index(t)&&(t=null)),e&&t||(t=this.$visibleSources.first()),t.length&&this.selectSource(t)},refreshSources:function(){this.sourceSelect.removeAllItems();var t={context:this.settings.context,elementType:this.elementType};this.setIndexBusy(),Craft.postActionRequest(this.settings.refreshSourcesAction,t,$.proxy(function(t,e){this.setIndexAvailable(),"success"===e?(this.getSourceContainer().replaceWith(t.html),this.initSources(),this.selectDefaultSource()):Craft.cp.displayError(Craft.t("app","An unknown error occurred."))},this))},updateFixedToolbar:function(t){this.updateFixedToolbar._scrollTop=Garnish.$scrollContainer.scrollTop(),992<Garnish.$win.width()&&17<=this.updateFixedToolbar._scrollTop?((this.updateFixedToolbar._makingFixed=!this.$toolbar.hasClass("fixed"))&&(this.$elements.css("padding-top",this.$toolbar.outerHeight()+21),this.$toolbar.addClass("fixed")),!this.updateFixedToolbar._makingFixed&&"resize"!==t.type||this.$toolbar.css({top:Garnish.$scrollContainer.offset().top,width:this.$main.width()})):this.$toolbar.hasClass("fixed")&&(this.$toolbar.removeClass("fixed"),this.$toolbar.css("width",""),this.$elements.css("padding-top",""),this.$toolbar.css("top","0"))},initSource:function(t){this.sourceSelect.addItems(t),this.initSourceToggle(t),(this.sourcesByKey[t.data("key")]=t).data("hasNestedSources")&&-1!==this.instanceState.expandedSources.indexOf(t.data("key"))&&this._expandSource(t)},initSourceToggle:function(t){this.deinitSourceToggle(t);var e=this._getSourceToggle(t);e.length?(this.addListener(t,"dblclick","_handleSourceDblClick"),this.addListener(e,"click","_handleSourceToggleClick"),t.data("hasNestedSources",!0)):t.data("hasNestedSources",!1)},deinitSource:function(t){this.sourceSelect.removeItems(t),this.deinitSourceToggle(t),delete this.sourcesByKey[t.data("key")]},deinitSourceToggle:function(t){t.data("hasNestedSources")&&(this.removeListener(t,"dblclick"),this.removeListener(this._getSourceToggle(t),"click")),t.removeData("hasNestedSources")},getDefaultInstanceState:function(){return{selectedSource:null,expandedSources:[]}},getDefaultSourceKey:function(){return this.instanceState.selectedSource},getDefaultExpandedSources:function(){return this.instanceState.expandedSources},startSearching:function(){this.$clearSearchBtn.removeClass("hidden"),this.$scoreSortAttribute||(this.$scoreSortAttribute=$('<li><a data-attr="score">'+Craft.t("app","Score")+"</a></li>"),this.sortMenu.addOptions(this.$scoreSortAttribute.children())),this.$scoreSortAttribute.prependTo(this.$sortAttributesList),this.searching=!0,this._updateStructureSortOption(),this.setSortAttribute("score")},stopSearching:function(){this.$clearSearchBtn.addClass("hidden"),this.$scoreSortAttribute.detach(),this.searching=!1,this._updateStructureSortOption()},setInstanceState:function(t,e){"object"==typeof t?$.extend(this.instanceState,t):this.instanceState[t]=e,this.storeInstanceState()},storeInstanceState:function(){this.settings.storageKey&&Craft.setLocalStorage(this.settings.storageKey,this.instanceState)},getSourceState:function(t,e,i){return void 0===this.sourceStates[t]&&(this.sourceStates[t]={}),void 0===e?this.sourceStates[t]:void 0!==this.sourceStates[t][e]?this.sourceStates[t][e]:void 0!==i?i:null},getSelectedSourceState:function(t,e){return this.getSourceState(this.instanceState.selectedSource,t,e)},setSelecetedSourceState:function(t,e){var i=this.getSelectedSourceState();"object"==typeof t?$.extend(i,t):i[t]=e,this.sourceStates[this.instanceState.selectedSource]=i,Craft.setLocalStorage(this.sourceStatesStorageKey,this.sourceStates)},storeSortAttributeAndDirection:function(){var t=this.getSelectedSortAttribute();"score"!==t&&this.setSelecetedSourceState({order:t,sort:this.getSelectedSortDirection()})},setPage:function(t){t=Math.max(t,1),this.page=t;var e=document.location.href.replace(/\?.*$/,"").replace(new RegExp("/"+Craft.pageTrigger.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"\\d+$"),"").replace(/\/+$/,"");1!==this.page&&("?"!==Craft.pageTrigger[0]&&(e+="/"),e+=Craft.pageTrigger+this.page),history.replaceState({},"",e)},getViewParams:function(){var t={siteId:this.siteId,search:this.searchText,offset:this.settings.batchSize*(this.page-1),limit:this.settings.batchSize,trashed:this.trashed?1:0,drafts:this.drafts?1:0};Garnish.hasAttr(this.$source,"data-override-status")||(t.status=this.status),$.extend(t,this.settings.criteria);var e={context:this.settings.context,elementType:this.elementType,source:this.instanceState.selectedSource,criteria:t,disabledElementIds:this.settings.disabledElementIds,viewState:$.extend({},this.getSelectedSourceState()),paginated:this._isViewPaginated()?1:0};return e.viewState.order=this.getSelectedSortAttribute(),e.viewState.sort=this.getSelectedSortDirection(),"structure"===this.getSelectedSortAttribute()&&(void 0===this.instanceState.collapsedElementIds&&(this.instanceState.collapsedElementIds=[]),e.collapsedElementIds=this.instanceState.collapsedElementIds),e},updateElements:function(t){if(this.initialized){this.setIndexBusy(),this.view&&(this.view.destroy(),delete this.view),this.$elements.html(""),!0!==t&&(this.$countContainer.html("&nbsp;"),this.setPage(1));var s=this.getViewParams();Craft.postActionRequest(this.settings.updateElementsAction,s,$.proxy(function(t,e){if(this.setIndexAvailable(),"success"===e){var i=Math.max(Math.ceil(t.count/this.settings.batchSize),1);if(this.page>i)return this.setPage(i),void this.updateElements(!0);this._updateView(s,t)}else Craft.cp.displayError(Craft.t("app","An unknown error occurred."))},this))}},updateElementsIfSearchTextChanged:function(){this.searchText!==(this.searchText=this.searching?this.$search.val():null)&&this.updateElements()},showActionTriggers:function(){this.showingActionTriggers||(this.$toolbar.css("min-height",this.$toolbar.height()),this._$detachedToolbarItems=this.$toolbarFlexContainer.children().not(this.$selectAllContainer).not(this.$mainSpinner),this._$detachedToolbarItems.detach(),this._$triggers?this._$triggers.insertAfter(this.$selectAllContainer):this._createTriggers(),this.showingActionTriggers=!0)},submitAction:function(t,e){var i=this.view.getSelectedElementIds();if(0!==i.length){for(var s,n=0;n<this.actions.length;n++)if(this.actions[n].type===t){s=this.actions[n];break}if(s&&(!s.confirm||confirm(s.confirm))){var a=this.getViewParams(),r=$.extend(a,e,{elementAction:t,elementIds:i});this.setIndexBusy(),this._autoSelectElements=i,Craft.postActionRequest(this.settings.submitActionsAction,r,$.proxy(function(t,e){this.setIndexAvailable(),"success"===e&&(t.success?(this._updateView(a,t),t.message&&Craft.cp.displayNotice(t.message),this.afterAction(s,r)):Craft.cp.displayError(t.message))},this))}}},afterAction:function(t,e){Craft.cp.runQueue(),this.onAfterAction(t,e)},hideActionTriggers:function(){this.showingActionTriggers&&(this._$detachedToolbarItems.insertBefore(this.$mainSpinner),this._$triggers.detach(),this.$toolbarFlexContainer.children().not(this.$selectAllContainer).removeClass("hidden"),this.$toolbar.css("min-height",""),this.showingActionTriggers=!1)},updateActionTriggers:function(){if(this.actions){var t=this.view.getSelectedElements().length;0!==t?(t===this.view.getEnabledElements().length?(this.$selectAllCheckbox.removeClass("indeterminate"),this.$selectAllCheckbox.addClass("checked"),this.$selectAllBtn.attr("aria-checked","true")):(this.$selectAllCheckbox.addClass("indeterminate"),this.$selectAllCheckbox.removeClass("checked"),this.$selectAllBtn.attr("aria-checked","mixed")),this.showActionTriggers()):(this.$selectAllCheckbox.removeClass("indeterminate checked"),this.$selectAllBtn.attr("aria-checked","false"),this.hideActionTriggers())}},getSelectedElements:function(){return this.view?this.view.getSelectedElements():$()},getSelectedElementIds:function(){return this.view?this.view.getSelectedElementIds():[]},getSortAttributeOption:function(t){return this.$sortAttributesList.find('a[data-attr="'+t+'"]:first')},getSelectedSortAttribute:function(){return this.$sortAttributesList.find("a.sel:first").data("attr")},setSortAttribute:function(t){var e=this.getSortAttributeOption(t);if(e.length){this.$sortAttributesList.find("a.sel").removeClass("sel"),e.addClass("sel");var i=e.text();this.$sortMenuBtn.attr("title",Craft.t("app","Sort by {attribute}",{attribute:i})),this.$sortMenuBtn.text(i),this.setSortDirection("score"===t?"desc":"asc"),"structure"===t?this.$sortDirectionsList.find("a").addClass("disabled"):this.$sortDirectionsList.find("a").removeClass("disabled")}},getSortDirectionOption:function(t){return this.$sortDirectionsList.find("a[data-dir="+t+"]:first")},getSelectedSortDirection:function(){return this.$sortDirectionsList.find("a.sel:first").data("dir")},getSelectedViewMode:function(){return this.getSelectedSourceState("mode")},setSortDirection:function(t){"desc"!==t&&(t="asc"),this.$sortMenuBtn.attr("data-icon",t),this.$sortDirectionsList.find("a.sel").removeClass("sel"),this.getSortDirectionOption(t).addClass("sel")},getSourceByKey:function(t){return void 0===this.sourcesByKey[t]?null:this.sourcesByKey[t]},selectSource:function(t){if(!t||!t.length)return!1;if(this.$source&&this.$source[0]&&this.$source[0]===t[0]&&t.data("key")===this.sourceKey)return!1;if(this.hideActionTriggers(),this.$source=t,this.sourceKey=t.data("key"),this.setInstanceState("selectedSource",this.sourceKey),this.sourceSelect.selectItem(t),Craft.cp.updateSidebarMenuLabel(),this.searching&&(this.searchText=null,this.$search.val(""),this.stopSearching()),Garnish.hasAttr(this.$source,"data-has-structure")?(this.$structureSortAttribute||(this.$structureSortAttribute=$('<li><a data-attr="structure">'+Craft.t("app","Structure")+"</a></li>"),this.sortMenu.addOptions(this.$structureSortAttribute.children())),this.$structureSortAttribute.prependTo(this.$sortAttributesList)):this.$structureSortAttribute&&this.$structureSortAttribute.removeClass("sel").detach(),this.setStoredSortOptionsForSource(),this.$statusMenuBtn.length&&(Garnish.hasAttr(this.$source,"data-override-status")?this.$statusMenuContainer.addClass("hidden"):this.$statusMenuContainer.removeClass("hidden")),this.$viewModeBtnContainer&&this.$viewModeBtnContainer.remove(),this.viewModeBtns={},this.viewMode=null,this.sourceViewModes=this.getViewModesForSource(),1<this.sourceViewModes.length){this.$viewModeBtnContainer=$('<div class="btngroup"/>').insertBefore(this.$mainSpinner);for(var e=0;e<this.sourceViewModes.length;e++){var i=this.sourceViewModes[e],s=$('<div data-view="'+i.mode+'" role="button" class="btn'+(void 0!==i.className?" "+i.className:"")+'" title="'+i.title+'"'+(void 0!==i.icon?' data-icon="'+i.icon+'"':"")+"/>").appendTo(this.$viewModeBtnContainer);this.viewModeBtns[i.mode]=s,this.addListener(s,"click",{mode:i.mode},function(t){this.selectViewMode(t.data.mode),this.updateElements()})}}var n=this.getSelectedViewMode();return n&&this.doesSourceHaveViewMode(n)||(n=this.viewMode&&this.doesSourceHaveViewMode(this.viewMode)?this.viewMode:this.sourceViewModes[0].mode),this.selectViewMode(n),this.onSelectSource(),!0},selectSourceByKey:function(t){var e=this.getSourceByKey(t);return!!e&&this.selectSource(e)},setStoredSortOptionsForSource:function(){var t=this.getSelectedSourceState("order"),e=this.getSelectedSourceState("sort");t&&e||(t=this.getDefaultSort(),Garnish.isArray(t)&&(e=t[1],t=t[0])),"asc"!==e&&"desc"!==e&&(e="asc"),this.setSortAttribute(t),this.setSortDirection(e)},getDefaultSort:function(){return this.$source&&Garnish.hasAttr(this.$source,"data-default-sort")?this.$source.attr("data-default-sort").split(":"):[this.$sortAttributesList.find("a:first").data("attr"),"asc"]},getViewModesForSource:function(){var t=[{mode:"table",title:Craft.t("app","Display in a table"),icon:"list"}];return this.$source&&Garnish.hasAttr(this.$source,"data-has-thumbs")&&t.push({mode:"thumbs",title:Craft.t("app","Display as thumbnails"),icon:"grid"}),t},doesSourceHaveViewMode:function(t){for(var e=0;e<this.sourceViewModes.length;e++)if(this.sourceViewModes[e].mode===t)return!0;return!1},selectViewMode:function(t,e){e||this.doesSourceHaveViewMode(t)||(t=this.sourceViewModes[0].mode),t!==this.viewMode&&(this.viewMode&&void 0!==this.viewModeBtns[this.viewMode]&&this.viewModeBtns[this.viewMode].removeClass("active"),this.viewMode=t,this.setSelecetedSourceState("mode",this.viewMode),void 0!==this.viewModeBtns[this.viewMode]&&this.viewModeBtns[this.viewMode].addClass("active"))},createView:function(t,e){return new(this.getViewClass(t))(this,this.$elements,e)},getViewClass:function(t){switch(t){case"table":return Craft.TableElementIndexView;case"thumbs":return Craft.ThumbsElementIndexView;default:throw'View mode "'+t+'" not supported.'}},rememberDisabledElementId:function(t){-1===$.inArray(t,this.settings.disabledElementIds)&&this.settings.disabledElementIds.push(t)},forgetDisabledElementId:function(t){var e=$.inArray(t,this.settings.disabledElementIds);-1!==e&&this.settings.disabledElementIds.splice(e,1)},enableElements:function(t){t.removeClass("disabled").parents(".disabled").removeClass("disabled");for(var e=0;e<t.length;e++){var i=$(t[e]).data("id");this.forgetDisabledElementId(i)}this.onEnableElements(t)},disableElements:function(t){t.removeClass("sel").addClass("disabled");for(var e=0;e<t.length;e++){var i=$(t[e]).data("id");this.rememberDisabledElementId(i)}this.onDisableElements(t)},getElementById:function(t){return this.view.getElementById(t)},enableElementsById:function(t){t=$.makeArray(t);for(var e=0;e<t.length;e++){var i=t[e],s=this.getElementById(i);s&&s.length?this.enableElements(s):this.forgetDisabledElementId(i)}},disableElementsById:function(t){t=$.makeArray(t);for(var e=0;e<t.length;e++){var i=t[e],s=this.getElementById(i);s&&s.length?this.disableElements(s):this.rememberDisabledElementId(i)}},selectElementAfterUpdate:function(t){null===this._autoSelectElements&&(this._autoSelectElements=[]),this._autoSelectElements.push(t)},addButton:function(t){this.getButtonContainer().append(t)},isShowingSidebar:function(){return null===this.showingSidebar&&(this.showingSidebar=this.$sidebar.length&&!this.$sidebar.hasClass("hidden")),this.showingSidebar},getButtonContainer:function(){if(this.settings.buttonContainer)return $(this.settings.buttonContainer);var t=$("#button-container");return t.length||(t=$('<div id="button-container"/>').appendTo(Craft.cp.$header)),t},setIndexBusy:function(){this.$mainSpinner.removeClass("invisible"),this.isIndexBusy=!0},setIndexAvailable:function(){this.$mainSpinner.addClass("invisible"),this.isIndexBusy=!1},createCustomizeSourcesModal:function(){var t=new Craft.CustomizeSourcesModal(this,{onHide:function(){t.destroy()}});return t},disable:function(){this.sourceSelect&&this.sourceSelect.disable(),this.view&&this.view.disable(),this.base()},enable:function(){this.sourceSelect&&this.sourceSelect.enable(),this.view&&this.view.enable(),this.base()},onAfterInit:function(){this.settings.onAfterInit(),this.trigger("afterInit")},onSelectSource:function(){this.settings.onSelectSource(this.sourceKey),this.trigger("selectSource",{sourceKey:this.sourceKey})},onSelectSite:function(){this.settings.onSelectSite(this.siteId),this.trigger("selectSite",{siteId:this.siteId})},onUpdateElements:function(){this.settings.onUpdateElements(),this.trigger("updateElements")},onSelectionChange:function(){this.settings.onSelectionChange(),this.trigger("selectionChange")},onEnableElements:function(t){this.settings.onEnableElements(t),this.trigger("enableElements",{elements:t})},onDisableElements:function(t){this.settings.onDisableElements(t),this.trigger("disableElements",{elements:t})},onAfterAction:function(t,e){this.settings.onAfterAction(t,e),this.trigger("afterAction",{action:t,params:e})},_handleSourceSelectionChange:function(){this.sourceSelect.totalSelected?this.selectSource(this.sourceSelect.$selectedItems)&&this.updateElements():this.sourceSelect.selectItem(this.$visibleSources.first())},_handleActionTriggerSubmit:function(t){t.preventDefault();var e=$(t.currentTarget);if(!e.hasClass("disabled")&&!e.data("custom-handler")){var i=e.data("action"),s=Garnish.getPostData(e);this.submitAction(i,s)}},_handleMenuActionTriggerSubmit:function(t){var e=$(t.option);if(!e.hasClass("disabled")&&!e.data("custom-handler")){var i=e.data("action");this.submitAction(i)}},_handleStatusChange:function(t){this.statusMenu.$options.removeClass("sel");var e=$(t.selectedOption).addClass("sel");this.$statusMenuBtn.html(e.html()),this.trashed=!1,this.drafts=!1,this.status=null,Garnish.hasAttr(e,"data-trashed")?this.trashed=!0:Garnish.hasAttr(e,"data-drafts")?this.drafts=!0:this.status=e.data("status"),this._updateStructureSortOption(),this.updateElements()},_handleSiteChange:function(t){this.siteMenu.$options.removeClass("sel");var e=$(t.selectedOption).addClass("sel");this.$siteMenuBtn.html(e.html()),this._setSite(e.data("site-id")),this.onSelectSite()},_setSite:function(t){var e,i;this.siteId=t,this.$visibleSources=$();for(var s=!1,n=0;n<this.$sources.length;n++)void 0===(i=this.$sources.eq(n)).data("sites")||-1!==i.data("sites").toString().split(",").indexOf(t.toString())?(i.parent().removeClass("hidden"),this.$visibleSources=this.$visibleSources.add(i),e||(e=i)):(i.parent().addClass("hidden"),this.$source&&this.$source.get(0)==i.get(0)&&(s=!0));s&&this.selectSource(e);var a,r=this.getSourceContainer().children(".heading");for(n=0;n<r.length;n++)0!==(a=r.eq(n)).nextUntil(".heading",":not(.hidden)").length?a.removeClass("hidden"):a.addClass("hidden");this.initialized&&(Craft.setLocalStorage("BaseElementIndex.siteId",t),this.updateElements())},_handleSortChange:function(t){var e=$(t.selectedOption);e.hasClass("disabled")||e.hasClass("sel")||(e.parent().parent().is(this.$sortAttributesList)?this.setSortAttribute(e.data("attr")):this.setSortDirection(e.data("dir")),this.storeSortAttributeAndDirection(),this.updateElements())},_handleSelectionChange:function(){this.updateActionTriggers(),this.onSelectionChange()},_handleSourceDblClick:function(t){this._toggleSource($(t.currentTarget)),t.stopPropagation()},_handleSourceToggleClick:function(t){this._toggleSource($(t.currentTarget).prev("a")),t.stopPropagation()},_updateStructureSortOption:function(){var t=this.getSortAttributeOption("structure");if(t.length)if(this.trashed||this.drafts||this.searching){if(t.addClass("disabled"),"structure"===this.getSelectedSortAttribute()){var e=this.$sortAttributesList.find("a:not(.disabled):first");this.setSortAttribute(e.data("attr")),this.setSortDirection("asc")}}else t.removeClass("disabled"),this.setStoredSortOptionsForSource()},_getSourcesInList:function(t){return t.children("li").children("a")},_getChildSources:function(t){var e=t.siblings("ul");return this._getSourcesInList(e)},_getSourceToggle:function(t){return t.siblings(".toggle")},_initSources:function(t){for(var e=0;e<t.length;e++)this.initSource($(t[e]))},_deinitSources:function(t){for(var e=0;e<t.length;e++)this.deinitSource($(t[e]))},_toggleSource:function(t){t.parent("li").hasClass("expanded")?this._collapseSource(t):this._expandSource(t)},_expandSource:function(t){t.parent("li").addClass("expanded");var e=this._getChildSources(t);this._initSources(e);var i=t.data("key");-1===this.instanceState.expandedSources.indexOf(i)&&(this.instanceState.expandedSources.push(i),this.storeInstanceState())},_collapseSource:function(t){t.parent("li").removeClass("expanded");var e=this._getChildSources(t);this._deinitSources(e);var i=this.instanceState.expandedSources.indexOf(t.data("key"));-1!==i&&(this.instanceState.expandedSources.splice(i,1),this.storeInstanceState())},_isViewPaginated:function(){return"index"===this.settings.context&&"structure"!==this.getSelectedSortAttribute()},_updateView:function(t,e){if(this.actions&&(this.hideActionTriggers(),this.actions=this.actionsHeadHtml=this.actionsFootHtml=this._$triggers=null),this.$selectAllContainer&&this.$selectAllContainer.detach(),this.$countContainer.html(""),!this._isViewPaginated()||e.count<=this.settings.batchSize)this.$countContainer.text(e.countLabel);else{var i=$('<div class="flex pagination"/>').appendTo(this.$countContainer),s=Math.max(Math.ceil(e.count/this.settings.batchSize),1),n=$("<div/>",{class:"page-link"+(1<this.page?"":" disabled"),"data-icon":"leftangle",title:Craft.t("app","Previous Page")}).appendTo(i),a=$("<div/>",{class:"page-link"+(this.page<s?"":" disabled"),"data-icon":"rightangle",title:Craft.t("app","Next Page")}).appendTo(i);$("<div/>",{class:"page-info",text:e.countLabel}).appendTo(i),1<this.page&&this.addListener(n,"click",function(){this.removeListener(n,"click"),this.removeListener(a,"click"),this.setPage(this.page-1),this.updateElements(!0)}),this.page<s&&this.addListener(a,"click",function(){this.removeListener(n,"click"),this.removeListener(a,"click"),this.setPage(this.page+1),this.updateElements(!0)})}e.actions&&e.actions.length&&(this.actions=e.actions,this.actionsHeadHtml=e.actionsHeadHtml,this.actionsFootHtml=e.actionsFootHtml,this.$selectAllContainer?(this.$selectAllCheckbox.removeClass("indeterminate checked"),this.$selectAllBtn.attr("aria-checked","false")):(this.$selectAllContainer=$('<div class="selectallcontainer"/>'),this.$selectAllBtn=$('<div class="btn"/>').appendTo(this.$selectAllContainer),this.$selectAllCheckbox=$('<div class="checkbox"/>').appendTo(this.$selectAllBtn),this.$selectAllBtn.attr({role:"checkbox",tabindex:"0","aria-checked":"false"}),this.addListener(this.$selectAllBtn,"click",function(){0===this.view.getSelectedElements().length?this.view.selectAllElements():this.view.deselectAllElements()}),this.addListener(this.$selectAllBtn,"keydown",function(t){t.keyCode===Garnish.SPACE_KEY&&(t.preventDefault(),$(t.currentTarget).trigger("click"))})),this.$selectAllContainer.prependTo(this.$toolbarFlexContainer)),this.$elements.html(e.html),Craft.appendHeadHtml(e.headHtml),Craft.appendFootHtml(e.footHtml);var r=this.actions||this.settings.selectable;if(this.view=this.createView(this.getSelectedViewMode(),{context:this.settings.context,batchSize:"index"!==this.settings.context||"structure"===this.getSelectedSortAttribute()?this.settings.batchSize:null,params:t,selectable:r,multiSelect:this.actions||this.settings.multiSelect,checkboxMode:!!this.actions,onSelectionChange:$.proxy(this,"_handleSelectionChange")}),this._autoSelectElements){if(r)for(var o=0;o<this._autoSelectElements.length;o++)this.view.selectElementById(this._autoSelectElements[o]);this._autoSelectElements=null}this.onUpdateElements()},_createTriggers:function(){var t,e,i=[],s=[],n=[];for(t=0;t<this.actions.length;t++){var a=this.actions[t];if(a.trigger){var r=$('<form id="'+Craft.formatInputId(a.type)+'-actiontrigger"/>').data("action",a.type).append(a.trigger);this.addListener(r,"submit","_handleActionTriggerSubmit"),i.push(r)}else a.destructive?n.push(a):s.push(a)}if(s.length||n.length){var o=$("<form/>");e=$('<div class="btn menubtn" data-icon="settings" title="'+Craft.t("app","Actions")+'"/>').appendTo(o);var l=$('<ul class="menu"/>').appendTo(o),h=this._createMenuTriggerList(s,!1),d=this._createMenuTriggerList(n,!0);h&&h.appendTo(l),h&&d&&$("<hr/>").appendTo(l),d&&d.appendTo(l),i.push(o)}for(this._$triggers=$(),t=0;t<i.length;t++){var c=$("<div/>").append(i[t]);this._$triggers=this._$triggers.add(c)}this._$triggers.insertAfter(this.$selectAllContainer),Craft.appendHeadHtml(this.actionsHeadHtml),Craft.appendFootHtml(this.actionsFootHtml),Craft.initUiElements(this._$triggers),e&&e.data("menubtn").on("optionSelect",$.proxy(this,"_handleMenuActionTriggerSubmit"))},_showExportHud:function(){this.$exportBtn.addClass("active");var t=$("<form/>",{class:"export-form"}),s=Craft.ui.createTextField({label:Craft.t("app","Limit"),placeholder:Craft.t("app","No limit"),type:"number",min:1}).appendTo(t);$("<input/>",{type:"submit",class:"btn submit fullwidth",value:Craft.t("app","Export")}).appendTo(t);var n=$("<div/>",{class:"spinner hidden"}).appendTo(t);new Garnish.HUD(this.$exportBtn,t).on("hide",$.proxy(function(){this.$exportBtn.removeClass("active")},this));var a=!1;this.addListener(t,"submit",function(t){if(t.preventDefault(),!a){a=!0,n.removeClass("hidden");var e=this.getViewParams();delete e.criteria.limit;var i=parseInt(s.find("input").val());i&&!isNaN(i)&&(e.criteria.limit=i),Craft.postActionRequest("element-indexes/create-export-token",e,$.proxy(function(t,e){if(a=!1,n.addClass("hidden"),"success"===e){var i={};i[Craft.tokenParam]=t.token;var s=Craft.getCpUrl("",i);document.location.href=s}else Craft.cp.displayError(Craft.t("app","An unknown error occurred."))},this))}})},_createMenuTriggerList:function(t,e){if(t&&t.length){for(var i=$("<ul/>"),s=0;s<t.length;s++){var n=t[s].type;$("<li/>").append($("<a/>",{id:Craft.formatInputId(n)+"-actiontrigger",class:e?"error":null,"data-action":n,text:t[s].name})).appendTo(i)}return i}}},{defaults:{context:"index",modal:null,storageKey:null,criteria:null,batchSize:50,disabledElementIds:[],selectable:!1,multiSelect:!1,buttonContainer:null,hideSidebar:!1,refreshSourcesAction:"element-indexes/get-source-tree-html",updateElementsAction:"element-indexes/get-elements",submitActionsAction:"element-indexes/perform-action",toolbarFixed:null,onAfterInit:$.noop,onSelectSource:$.noop,onSelectSite:$.noop,onUpdateElements:$.noop,onSelectionChange:$.noop,onEnableElements:$.noop,onDisableElements:$.noop,onAfterAction:$.noop}}),Craft.BaseElementIndexView=Garnish.Base.extend({$container:null,$loadingMoreSpinner:null,$elementContainer:null,$scroller:null,elementIndex:null,thumbLoader:null,elementSelect:null,loadingMore:!1,_totalVisible:null,_morePending:null,_handleEnableElements:null,_handleDisableElements:null,init:function(t,e,i){this.elementIndex=t,this.$container=$(e),this.setSettings(i,Craft.BaseElementIndexView.defaults),this.$loadingMoreSpinner=$('<div class="centeralign hidden"><div class="spinner loadingmore"></div></div>').insertAfter(this.$container),this.$elementContainer=this.getElementContainer();var s=this.$elementContainer.children();this.setTotalVisible(s.length),this.setMorePending(this.settings.batchSize&&s.length==this.settings.batchSize),this.thumbLoader=new Craft.ElementThumbLoader,this.thumbLoader.load(s),this.settings.selectable&&(this.elementSelect=new Garnish.Select(this.$elementContainer,s.filter(":not(.disabled)"),{multi:this.settings.multiSelect,vertical:this.isVerticalList(),handle:"index"===this.settings.context?".checkbox, .element:first":null,filter:":not(a):not(.toggle)",checkboxMode:this.settings.checkboxMode,onSelectionChange:$.proxy(this,"onSelectionChange")}),this._handleEnableElements=$.proxy(function(t){this.elementSelect.addItems(t.elements)},this),this._handleDisableElements=$.proxy(function(t){this.elementSelect.removeItems(t.elements)},this),this.elementIndex.on("enableElements",this._handleEnableElements),this.elementIndex.on("disableElements",this._handleDisableElements)),"index"===this.settings.context&&(this._handleElementEditing=$.proxy(function(t){var e=$(t.target);if("A"!==e.prop("nodeName")){var i;if(e.hasClass("element"))i=e;else if(!(i=e.closest(".element")).length)return;Garnish.hasAttr(i,"data-editable")&&this.createElementEditor(i)}},this),this.elementIndex.trashed||(this.addListener(this.$elementContainer,"dblclick",this._handleElementEditing),$.isTouchCapable()&&this.addListener(this.$elementContainer,"taphold",this._handleElementEditing))),this.afterInit(),this.settings.batchSize&&("index"===this.settings.context?this.$scroller=Garnish.$scrollContainer:this.$scroller=this.elementIndex.$main,this.$scroller.scrollTop(0),this.addListener(this.$scroller,"scroll","maybeLoadMore"),this.maybeLoadMore())},getElementContainer:function(){throw"Classes that extend Craft.BaseElementIndexView must supply a getElementContainer() method."},afterInit:function(){},getAllElements:function(){return this.$elementContainer.children()},getEnabledElements:function(){return this.$elementContainer.children(":not(.disabled)")},getElementById:function(t){var e=this.$elementContainer.children('[data-id="'+t+'"]:first');return e.length?e:null},getSelectedElements:function(){if(!this.elementSelect)throw"This view is not selectable.";return this.elementSelect.$selectedItems},getSelectedElementIds:function(){var t=this.getSelectedElements(),e=[];if(t)for(var i=0;i<t.length;i++)e.push(t.eq(i).data("id"));return e},selectElement:function(t){if(!this.elementSelect)throw"This view is not selectable.";return this.elementSelect.selectItem(t,!0),!0},selectElementById:function(t){if(!this.elementSelect)throw"This view is not selectable.";var e=this.getElementById(t);return!!e&&(this.elementSelect.selectItem(e,!0),!0)},selectAllElements:function(){this.elementSelect.selectAll()},deselectAllElements:function(){this.elementSelect.deselectAll()},isVerticalList:function(){return!1},getTotalVisible:function(){return this._totalVisible},setTotalVisible:function(t){this._totalVisible=t},getMorePending:function(){return this._morePending},setMorePending:function(t){this._morePending=t},maybeLoadMore:function(){this.canLoadMore()&&this.loadMore()},canLoadMore:function(){if(!this.getMorePending()||!this.settings.batchSize)return!1;if(this.$scroller[0]!==Garnish.$win[0])return this.$scroller.prop("scrollHeight")-this.$scroller.scrollTop()<=this.$scroller.outerHeight()+15;var t=Garnish.$win.innerHeight(),e=Garnish.$win.scrollTop();return this.$container.offset().top+this.$container.height()<=t+e},loadMore:function(){if(this.getMorePending()&&!this.loadingMore&&this.settings.batchSize){this.loadingMore=!0,this.$loadingMoreSpinner.removeClass("hidden"),this.removeListener(this.$scroller,"scroll");var t=this.getLoadMoreParams();Craft.postActionRequest(this.settings.loadMoreElementsAction,t,$.proxy(function(t,e){if(this.loadingMore=!1,this.$loadingMoreSpinner.addClass("hidden"),"success"===e){var i=$(t.html);this.appendElements(i),Craft.appendHeadHtml(t.headHtml),Craft.appendFootHtml(t.footHtml),this.elementSelect&&(this.elementSelect.addItems(i.filter(":not(.disabled)")),this.elementIndex.updateActionTriggers()),this.setTotalVisible(this.getTotalVisible()+i.length),this.setMorePending(i.length==this.settings.batchSize),this.addListener(this.$scroller,"scroll","maybeLoadMore"),this.maybeLoadMore()}},this))}},getLoadMoreParams:function(){var t=$.extend(!0,{},this.settings.params);return t.criteria.offset=this.getTotalVisible(),t},appendElements:function(t){t.appendTo(this.$elementContainer),this.thumbLoader.load(t),this.onAppendElements(t)},onAppendElements:function(t){this.settings.onAppendElements(t),this.trigger("appendElements",{newElements:t})},onSelectionChange:function(){this.settings.onSelectionChange(),this.trigger("selectionChange")},createElementEditor:function(t){Craft.createElementEditor(t.data("type"),t,{elementIndex:this.elementIndex})},disable:function(){this.elementSelect&&this.elementSelect.disable()},enable:function(){this.elementSelect&&this.elementSelect.enable()},destroy:function(){this.$loadingMoreSpinner.remove(),this.thumbLoader.destroy(),delete this.thumbLoader,this.elementSelect&&(this.elementIndex.off("enableElements",this._handleEnableElements),this.elementIndex.off("disableElements",this._handleDisableElements),this.elementSelect.destroy(),delete this.elementSelect),this.base()}},{defaults:{context:"index",batchSize:null,params:null,selectable:!1,multiSelect:!1,checkboxMode:!1,loadMoreElementsAction:"element-indexes/get-more-elements",onAppendElements:$.noop,onSelectionChange:$.noop}}),Craft.BaseElementSelectInput=Garnish.Base.extend({thumbLoader:null,elementSelect:null,elementSort:null,modal:null,elementEditor:null,$container:null,$elementsContainer:null,$elements:null,$addElementBtn:null,_initialized:!1,init:function(t){if(!$.isPlainObject(t)){for(var e={},i=["id","name","elementType","sources","criteria","sourceElementId","limit","modalStorageKey","fieldId"],s=0;s<i.length&&void 0!==arguments[s];s++)e[i[s]]=arguments[s];t=e}this.setSettings(t,Craft.BaseElementSelectInput.defaults),this.settings.modalStorageKey&&(this.modalStorageKey="BaseElementSelectInput."+this.settings.modalStorageKey),1==this.settings.limit&&(this.settings.sortable=!1),this.$container=this.getContainer(),this.$container.data("elementSelect",this),this.$elementsContainer=this.getElementsContainer(),this.$addElementBtn=this.getAddElementsBtn(),this.$addElementBtn&&1==this.settings.limit&&this.$addElementBtn.css("position","absolute").css("top",0).css(Craft.left,0),this.thumbLoader=new Craft.ElementThumbLoader,this.initElementSelect(),this.initElementSort(),this.resetElements(),this.$addElementBtn&&this.addListener(this.$addElementBtn,"activate","showModal"),this._initialized=!0},get totalSelected(){return this.$elements.length},getContainer:function(){return $("#"+this.settings.id)},getElementsContainer:function(){return this.$container.children(".elements")},getElements:function(){return this.$elementsContainer.children()},getAddElementsBtn:function(){return this.$container.children(".btn.add")},initElementSelect:function(){this.settings.selectable&&(this.elementSelect=new Garnish.Select({multi:this.settings.sortable,filter:":not(.delete)"}))},initElementSort:function(){this.settings.sortable&&(this.elementSort=new Garnish.DragSort({container:this.$elementsContainer,filter:this.settings.selectable?$.proxy(function(){return this.elementSort.$targetItem.hasClass("sel")?this.elementSelect.getSelectedItems():this.elementSort.$targetItem},this):null,ignoreHandleSelector:".delete",axis:this.getElementSortAxis(),collapseDraggees:!0,magnetStrength:4,helperLagBase:1.5,onSortChange:this.settings.selectable?$.proxy(function(){this.elementSelect.resetItemOrder()},this):null}))},getElementSortAxis:function(){return"list"===this.settings.viewMode?"y":null},canAddMoreElements:function(){return!this.settings.limit||this.$elements.length<this.settings.limit},updateAddElementsBtn:function(){this.canAddMoreElements()?this.enableAddElementsBtn():this.disableAddElementsBtn()},disableAddElementsBtn:function(){this.$addElementBtn&&!this.$addElementBtn.hasClass("disabled")&&(this.$addElementBtn.addClass("disabled"),1==this.settings.limit&&(this._initialized?this.$addElementBtn.velocity("fadeOut",Craft.BaseElementSelectInput.ADD_FX_DURATION):this.$addElementBtn.hide()))},enableAddElementsBtn:function(){this.$addElementBtn&&this.$addElementBtn.hasClass("disabled")&&(this.$addElementBtn.removeClass("disabled"),1==this.settings.limit&&(this._initialized?this.$addElementBtn.velocity("fadeIn",Craft.BaseElementSelectInput.REMOVE_FX_DURATION):this.$addElementBtn.show()))},resetElements:function(){null!==this.$elements?this.removeElements(this.$elements):this.$elements=$(),this.addElements(this.getElements())},addElements:function(t){this.thumbLoader.load(t),this.settings.selectable&&this.elementSelect.addItems(t),this.settings.sortable&&this.elementSort.addItems(t),this.settings.editable&&(this._handleShowElementEditor=$.proxy(function(t){var e=$(t.currentTarget);!Garnish.hasAttr(e,"data-editable")||e.hasClass("disabled")||e.hasClass("loading")||(this.elementEditor=this.createElementEditor(e))},this),this.addListener(t,"dblclick",this._handleShowElementEditor),$.isTouchCapable()&&this.addListener(t,"taphold",this._handleShowElementEditor)),t.find(".delete").on("click",$.proxy(function(t){this.removeElement($(t.currentTarget).closest(".element"))},this)),this.$elements=this.$elements.add(t),this.updateAddElementsBtn()},createElementEditor:function(t,e){return e||(e={}),e.prevalidate=this.settings.prevalidate,Craft.createElementEditor(this.settings.elementType,t,e)},removeElements:function(t){if(this.settings.selectable&&this.elementSelect.removeItems(t),this.modal){for(var e=[],i=0;i<t.length;i++){var s=t.eq(i).data("id");s&&e.push(s)}e.length&&this.modal.elementIndex.enableElementsById(e)}t.children("input").prop("disabled",!0),this.$elements=this.$elements.not(t),this.updateAddElementsBtn(),this.onRemoveElements()},removeElement:function(t){this.removeElements(t),this.animateElementAway(t,function(){t.remove()})},animateElementAway:function(t,e){t.css("z-index",0);var i={opacity:-1};i["margin-"+Craft.left]=-(t.outerWidth()+parseInt(t.css("margin-"+Craft.right))),"list"!==this.settings.viewMode&&0!==this.$elements.length||(i["margin-bottom"]=-(t.outerHeight()+parseInt(t.css("margin-bottom")))),t.velocity(i,Craft.BaseElementSelectInput.REMOVE_FX_DURATION,e)},showModal:function(){this.canAddMoreElements()&&(this.modal?this.modal.show():this.modal=this.createModal())},createModal:function(){return Craft.createElementSelectorModal(this.settings.elementType,this.getModalSettings())},getModalSettings:function(){return $.extend({closeOtherModals:!1,storageKey:this.modalStorageKey,sources:this.settings.sources,criteria:this.settings.criteria,multiSelect:1!=this.settings.limit,showSiteMenu:this.settings.showSiteMenu,disabledElementIds:this.getDisabledElementIds(),onSelect:$.proxy(this,"onModalSelect")},this.settings.modalSettings)},getSelectedElementIds:function(){for(var t=[],e=0;e<this.$elements.length;e++)t.push(this.$elements.eq(e).data("id"));return t},getDisabledElementIds:function(){var t=this.getSelectedElementIds();return this.settings.sourceElementId&&t.push(this.settings.sourceElementId),t},onModalSelect:function(t){if(this.settings.limit){var e=this.settings.limit-this.$elements.length;t.length>e&&(t=t.slice(0,e))}this.selectElements(t),this.updateDisabledElementsInModal()},selectElements:function(t){for(var e=0;e<t.length;e++){var i=t[e],s=this.createNewElement(i);this.appendElement(s),this.addElements(s),this.animateElementIntoPlace(i.$element,s)}this.onSelectElements(t)},createNewElement:function(t){var e=t.$element.clone();return Craft.setElementSize(e,"large"===this.settings.viewMode?"large":"small"),e.addClass("removable"),e.prepend('<input type="hidden" name="'+this.settings.name+'[]" value="'+t.id+'"><a class="delete icon" title="'+Craft.t("app","Remove")+'"></a>'),e},appendElement:function(t){t.appendTo(this.$elementsContainer)},animateElementIntoPlace:function(t,e){var i=t.offset(),s=e.offset(),n=e.clone().appendTo(Garnish.$bod);e.css("visibility","hidden"),n.css({position:"absolute",zIndex:1e4,top:i.top,left:i.left});var a={top:s.top,left:s.left};n.velocity(a,Craft.BaseElementSelectInput.ADD_FX_DURATION,function(){n.remove(),e.css("visibility","visible")})},updateDisabledElementsInModal:function(){this.modal.elementIndex&&this.modal.elementIndex.disableElementsById(this.getDisabledElementIds())},getElementById:function(t){for(var e=0;e<this.$elements.length;e++){var i=this.$elements.eq(e);if(i.data("id")==t)return i}},onSelectElements:function(t){this.trigger("selectElements",{elements:t}),this.settings.onSelectElements(t),window.draftEditor&&window.draftEditor.checkForm()},onRemoveElements:function(){this.trigger("removeElements"),this.settings.onRemoveElements()}},{ADD_FX_DURATION:200,REMOVE_FX_DURATION:200,defaults:{id:null,name:null,fieldId:null,elementType:null,sources:null,criteria:{},sourceElementId:null,viewMode:"list",limit:null,showSiteMenu:!1,modalStorageKey:null,modalSettings:{},onSelectElements:$.noop,onRemoveElements:$.noop,sortable:!0,selectable:!0,editable:!0,prevalidate:!1,editorSettings:{}}}),Craft.BaseElementSelectorModal=Garnish.Modal.extend({elementType:null,elementIndex:null,$body:null,$selectBtn:null,$sidebar:null,$sources:null,$sourceToggles:null,$main:null,$search:null,$elements:null,$tbody:null,$primaryButtons:null,$secondaryButtons:null,$cancelBtn:null,$footerSpinner:null,init:function(t,e){this.elementType=t,this.setSettings(e,Craft.BaseElementSelectorModal.defaults);var i=$('<div class="modal elementselectormodal"></div>').appendTo(Garnish.$bod),s=$('<div class="body"><div class="spinner big"></div></div>').appendTo(i),n=$('<div class="footer"/>').appendTo(i);this.base(i,this.settings),this.$footerSpinner=$('<div class="spinner hidden"/>').appendTo(n),this.$primaryButtons=$('<div class="buttons right"/>').appendTo(n),this.$secondaryButtons=$('<div class="buttons left secondary-buttons"/>').appendTo(n),this.$cancelBtn=$('<div class="btn">'+Craft.t("app","Cancel")+"</div>").appendTo(this.$primaryButtons),this.$selectBtn=$('<div class="btn disabled submit">'+Craft.t("app","Select")+"</div>").appendTo(this.$primaryButtons),this.$body=s,this.addListener(this.$cancelBtn,"activate","cancel"),this.addListener(this.$selectBtn,"activate","selectElements")},onFadeIn:function(){this.elementIndex?Garnish.isMobileBrowser(!0)||this.elementIndex.$search.trigger("focus"):this._createElementIndex(),this.base()},onSelectionChange:function(){this.updateSelectBtnState()},updateSelectBtnState:function(){this.$selectBtn&&(this.elementIndex.getSelectedElements().length?this.enableSelectBtn():this.disableSelectBtn())},enableSelectBtn:function(){this.$selectBtn.removeClass("disabled")},disableSelectBtn:function(){this.$selectBtn.addClass("disabled")},enableCancelBtn:function(){this.$cancelBtn.removeClass("disabled")},disableCancelBtn:function(){this.$cancelBtn.addClass("disabled")},showFooterSpinner:function(){this.$footerSpinner.removeClass("hidden")},hideFooterSpinner:function(){this.$footerSpinner.addClass("hidden")},cancel:function(){this.$cancelBtn.hasClass("disabled")||this.hide()},selectElements:function(){if(this.elementIndex&&this.elementIndex.getSelectedElements().length){this.elementIndex.view.elementSelect.clearMouseUpTimeout();var t=this.elementIndex.getSelectedElements(),e=this.getElementInfo(t);this.onSelect(e),this.settings.disableElementsOnSelect&&this.elementIndex.disableElements(this.elementIndex.getSelectedElements()),this.settings.hideOnSelect&&this.hide()}},getElementInfo:function(t){for(var e=[],i=0;i<t.length;i++){var s=$(t[i]),n=Craft.getElementInfo(s);e.push(n)}return e},show:function(){this.updateSelectBtnState(),this.base()},onSelect:function(t){this.settings.onSelect(t)},disable:function(){this.elementIndex&&this.elementIndex.disable(),this.base()},enable:function(){this.elementIndex&&this.elementIndex.enable(),this.base()},_createElementIndex:function(){var t={context:"modal",elementType:this.elementType,sources:this.settings.sources};null!==this.settings.showSiteMenu&&"auto"!==this.settings.showSiteMenu&&(t.showSiteMenu=this.settings.showSiteMenu?"1":"0"),Craft.postActionRequest("elements/get-modal-body",t,$.proxy(function(t,e){"success"===e&&(this.$body.html(t.html),this.$body.has(".sidebar:not(.hidden)").length&&this.$body.addClass("has-sidebar"),this.elementIndex=Craft.createElementIndex(this.elementType,this.$body,{context:"modal",modal:this,storageKey:this.settings.storageKey,criteria:this.settings.criteria,disabledElementIds:this.settings.disabledElementIds,selectable:!0,multiSelect:this.settings.multiSelect,buttonContainer:this.$secondaryButtons,onSelectionChange:$.proxy(this,"onSelectionChange"),hideSidebar:this.settings.hideSidebar}),this.addListener(this.elementIndex.$elements,"doubletap",function(t,e){e.firstTap.target===e.secondTap.target&&this.selectElements()}))},this))}},{defaults:{resizable:!0,storageKey:null,sources:null,criteria:null,multiSelect:!1,showSiteMenu:null,disabledElementIds:[],disableElementsOnSelect:!1,hideOnSelect:!0,onCancel:$.noop,onSelect:$.noop,hideIndexSidebar:!1}}),Craft.BaseInputGenerator=Garnish.Base.extend({$source:null,$target:null,$form:null,settings:null,listening:null,timeout:null,init:function(t,e,i){this.$source=$(t),this.$target=$(e),this.$form=this.$source.closest("form"),this.setSettings(i),this.startListening()},setNewSource:function(t){var e=this.listening;this.stopListening(),this.$source=$(t),e&&this.startListening()},startListening:function(){this.listening||(this.listening=!0,this.addListener(this.$source,"textchange","onSourceTextChange"),this.addListener(this.$target,"textchange","onTargetTextChange"),this.addListener(this.$form,"submit","onFormSubmit"))},stopListening:function(){this.listening&&(this.listening=!1,this.timeout&&clearTimeout(this.timeout),this.removeAllListeners(this.$source),this.removeAllListeners(this.$target),this.removeAllListeners(this.$form))},onSourceTextChange:function(){this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout($.proxy(this,"updateTarget"),250)},onTargetTextChange:function(){this.$target.get(0)===document.activeElement&&this.stopListening()},onFormSubmit:function(){this.timeout&&clearTimeout(this.timeout),this.updateTarget()},updateTarget:function(){var t=this.$source.val();if(void 0!==t){var e=this.generateTargetValue(t);this.$target.val(e),this.$target.trigger("change"),this.$target.is(":focus")&&Craft.selectFullValue(this.$target)}},generateTargetValue:function(t){return t}}),Craft.AdminTable=Garnish.Base.extend({settings:null,totalItems:null,sorter:null,$noItems:null,$table:null,$tbody:null,$deleteBtns:null,init:function(t){this.setSettings(t,Craft.AdminTable.defaults),this.settings.allowDeleteAll||(this.settings.minItems=1),this.$noItems=$(this.settings.noItemsSelector),this.$table=$(this.settings.tableSelector),this.$tbody=this.$table.children("tbody"),this.totalItems=this.$tbody.children().length,this.settings.sortable&&(this.sorter=new Craft.DataTableSorter(this.$table,{onSortChange:$.proxy(this,"reorderItems")})),this.$deleteBtns=this.$table.find(".delete:not(.disabled)"),this.addListener(this.$deleteBtns,"click","handleDeleteBtnClick"),this.updateUI()},addRow:function(t){if(!(this.settings.maxItems&&this.totalItems>=this.settings.maxItems)){var e=$(t).appendTo(this.$tbody),i=e.find(".delete");this.settings.sortable&&this.sorter.addItems(e),this.$deleteBtns=this.$deleteBtns.add(i),this.addListener(i,"click","handleDeleteBtnClick"),this.totalItems++,this.updateUI()}},reorderItems:function(){if(this.settings.sortable){for(var i=[],t=0;t<this.sorter.$items.length;t++){var e=$(this.sorter.$items[t]).attr(this.settings.idAttribute);i.push(e)}var s={ids:JSON.stringify(i)};Craft.postActionRequest(this.settings.reorderAction,s,$.proxy(function(t,e){"success"===e&&(t.success?(this.onReorderItems(i),Craft.cp.displayNotice(Craft.t("app",this.settings.reorderSuccessMessage))):Craft.cp.displayError(Craft.t("app",this.settings.reorderFailMessage)))},this))}},handleDeleteBtnClick:function(t){if(!(this.settings.minItems&&this.totalItems<=this.settings.minItems)){var e=$(t.target).closest("tr");this.confirmDeleteItem(e)&&this.deleteItem(e)}},confirmDeleteItem:function(t){var e=this.getItemName(t);return confirm(Craft.t("app",this.settings.confirmDeleteMessage,{name:e}))},deleteItem:function(i){var t={id:this.getItemId(i)};Craft.postActionRequest(this.settings.deleteAction,t,$.proxy(function(t,e){"success"===e&&this.handleDeleteItemResponse(t,i)},this))},handleDeleteItemResponse:function(t,e){var i=this.getItemId(e),s=this.getItemName(e);t.success?(this.sorter&&this.sorter.removeItems(e),e.remove(),this.totalItems--,this.updateUI(),this.onDeleteItem(i),Craft.cp.displayNotice(Craft.t("app",this.settings.deleteSuccessMessage,{name:Craft.escapeHtml(s)}))):Craft.cp.displayError(Craft.t("app",this.settings.deleteFailMessage,{name:Craft.escapeHtml(s)}))},onReorderItems:function(t){this.settings.onReorderItems(t)},onDeleteItem:function(t){this.settings.onDeleteItem(t)},getItemId:function(t){return t.attr(this.settings.idAttribute)},getItemName:function(t){return t.attr(this.settings.nameAttribute)},updateUI:function(){if(0===this.totalItems?(this.$table.hide(),this.$noItems.removeClass("hidden")):(this.$table.show(),this.$noItems.addClass("hidden")),this.settings.sortable){var t=this.$table.find(".move");1===this.totalItems?t.addClass("disabled"):t.removeClass("disabled")}this.settings.minItems&&this.totalItems<=this.settings.minItems?this.$deleteBtns.addClass("disabled"):this.$deleteBtns.removeClass("disabled"),this.settings.newItemBtnSelector&&(this.settings.maxItems&&this.totalItems>=this.settings.maxItems?$(this.settings.newItemBtnSelector).addClass("hidden"):$(this.settings.newItemBtnSelector).removeClass("hidden"))}},{defaults:{tableSelector:null,noItemsSelector:null,newItemBtnSelector:null,idAttribute:"data-id",nameAttribute:"data-name",sortable:!1,allowDeleteAll:!0,minItems:0,maxItems:null,reorderAction:null,deleteAction:null,reorderSuccessMessage:Craft.t("app","New order saved."),reorderFailMessage:Craft.t("app","Couldn’t save new order."),confirmDeleteMessage:Craft.t("app","Are you sure you want to delete “{name}”?"),deleteSuccessMessage:Craft.t("app","“{name}” deleted."),deleteFailMessage:Craft.t("app","Couldn’t delete “{name}”."),onReorderItems:$.noop,onDeleteItem:$.noop}}),Craft.AssetEditor=Craft.BaseElementEditor.extend({reloadIndex:!1,updateForm:function(t){if(this.base(t),this.$element.data("id")){var e=this.$fieldsContainer.find("> .meta > .image-preview-container.editable");e.length&&this.addListener(e,"click","showImageEditor")}},showImageEditor:function(){new Craft.AssetImageEditor(this.$element.data("id"),{onSave:function(){this.reloadIndex=!0,this.reloadForm()}.bind(this),allowDegreeFractions:Craft.isImagick})},onHideHud:function(){this.reloadIndex&&this.settings.elementIndex&&this.settings.elementIndex.updateElements(),this.base()}}),Craft.registerElementEditorClass("craft\\elements\\Asset",Craft.AssetEditor),Craft.AssetImageEditor=Garnish.Modal.extend({$body:null,$footer:null,$imageTools:null,$buttons:null,$cancelBtn:null,$replaceBtn:null,$saveBtn:null,$editorContainer:null,$straighten:null,$croppingCanvas:null,$spinnerCanvas:null,canvas:null,image:null,viewport:null,focalPoint:null,grid:null,croppingCanvas:null,clipper:null,croppingRectangle:null,cropperHandles:null,cropperGrid:null,croppingShade:null,imageStraightenAngle:0,viewportRotation:0,originalWidth:0,originalHeight:0,imageVerticeCoords:null,zoomRatio:1,animationInProgress:!1,currentView:"",assetId:null,cacheBust:null,draggingCropper:!1,scalingCropper:!1,draggingFocal:!1,previousMouseX:0,previousMouseY:0,shiftKeyHeld:!1,editorHeight:0,editorWidth:0,cropperState:!1,scaleFactor:1,flipData:{},focalPointState:!1,croppingConstraint:!1,spinnerInterval:null,maxImageSize:null,lastLoadedDimensions:null,imageIsLoading:!1,renderImage:null,renderCropper:null,init:function(t,e){this.cacheBust=Date.now(),this.setSettings(e,Craft.AssetImageEditor.defaults),this.assetId=t,this.flipData={x:0,y:0},this.$container=$('<form class="modal fitted imageeditor"></form>').appendTo(Garnish.$bod),this.$body=$('<div class="body"></div>').appendTo(this.$container),this.$footer=$('<div class="footer"/>').appendTo(this.$container),this.base(this.$container,this.settings),this.$buttons=$('<div class="buttons right"/>').appendTo(this.$footer),this.$cancelBtn=$('<div class="btn cancel">'+Craft.t("app","Cancel")+"</div>").appendTo(this.$buttons),this.$replaceBtn=$('<div class="btn submit save replace">'+Craft.t("app","Save")+"</div>").appendTo(this.$buttons),this.settings.allowSavingAsNew&&(this.$saveBtn=$('<div class="btn submit save copy">'+Craft.t("app","Save as a new asset")+"</div>").appendTo(this.$buttons),this.addListener(this.$saveBtn,"activate",this.saveImage.bind(this))),this.addListener(this.$replaceBtn,"activate",this.saveImage.bind(this)),this.addListener(this.$cancelBtn,"activate",$.proxy(this,"hide")),this.removeListener(this.$shade,"click"),this.maxImageSize=this.getMaxImageSize(),Craft.postActionRequest("assets/image-editor",{assetId:t},$.proxy(this,"loadEditor"))},getMaxImageSize:function(){var t=Garnish.$doc.get(0).documentElement.clientWidth,e=Garnish.$doc.get(0).documentElement.clientHeight;return Math.max(e,t)*(1<window.devicePixelRatio?2:1)},loadEditor:function(r){r.html||alert(Craft.t("app","Could not load the image editor.")),this.$body.html(r.html),this.$tabs=$(".tabs li",this.$body),this.$viewsContainer=$(".views",this.$body),this.$views=$("> div",this.$viewsContainer),this.$imageTools=$(".image-container .image-tools",this.$body),this.$editorContainer=$(".image-container .image",this.$body),this.editorHeight=this.$editorContainer.innerHeight(),this.editorWidth=this.$editorContainer.innerWidth(),this._showSpinner(),this.updateSizeAndPosition(),this.canvas=new fabric.StaticCanvas("image-canvas"),this.$croppingCanvas=$("#cropping-canvas",this.$editorContainer),this.$croppingCanvas.width(this.editorWidth),this.$croppingCanvas.height(this.editorHeight),this.canvas.enableRetinaScaling=!0,this.renderImage=function(){Garnish.requestAnimationFrame(this.canvas.renderAll.bind(this.canvas))}.bind(this);var t=Craft.getActionUrl("assets/edit-image",{assetId:this.assetId,size:this.maxImageSize,cacheBust:this.cacheBust});fabric.Image.fromURL(t,$.proxy(function(t){this.image=t,this.image.set({originX:"center",originY:"center",left:this.editorWidth/2,top:this.editorHeight/2}),this.canvas.add(this.image),this.originalHeight=this.image.getHeight(),this.originalWidth=this.image.getWidth(),this.zoomRatio=1,this.lastLoadedDimensions=this.getScaledImageDimensions(),this._setFittedImageVerticeCoordinates(),this._repositionEditorElements();var e={imageDimensions:this.getScaledImageDimensions(),offsetX:0,offsetY:0},i=!1;if(r.focalPoint){var s=r.focalPoint,n=e.imageDimensions.width*s.x,a=e.imageDimensions.height*s.y;e.offsetX=n-e.imageDimensions.width/2,e.offsetY=a-e.imageDimensions.height/2,i=!0}this.storeFocalPointState(e),i&&this._createFocalPoint(),this._createViewport(),this.storeCropperState(),this._addControlListeners(),this.addListener(this.$croppingCanvas,"mousemove",this._handleMouseMove.bind(this)),this.addListener(this.$croppingCanvas,"mousedown",this._handleMouseDown.bind(this)),this.addListener(this.$croppingCanvas,"mouseup",this._handleMouseUp.bind(this)),this.addListener(this.$croppingCanvas,"mouseout",function(t){this._handleMouseUp(t),this._handleMouseMove(t)}.bind(this)),this._hideSpinner(),this.renderImage(),this.$tabs.first().trigger("click")},this))},_reloadImage:function(){if(!this.imageIsLoading){this.imageIsLoading=!0,this.maxImageSize=this.getMaxImageSize();var t=Craft.getActionUrl("assets/edit-image",{assetId:this.assetId,size:this.maxImageSize,cacheBust:this.cacheBust});this.image.setSrc(t,function(t){this.originalHeight=t.getHeight(),this.originalWidth=t.getWidth(),this.lastLoadedDimensions={width:this.originalHeight,height:this.originalWidth},this.updateSizeAndPosition(),this.renderImage(),this.imageIsLoading=!1}.bind(this))}},updateSizeAndPosition:function(){if(this.$container){var t=window.innerWidth,e=window.innerHeight;this.$container.css({width:t,"min-width":t,left:0,height:e,"min-height":e,top:0}),this.$body.css({height:e-58}),t<e?this.$container.addClass("vertical"):this.$container.removeClass("vertical"),this.$spinnerCanvas&&this.$spinnerCanvas.css({left:this.$spinnerCanvas.parent().width()/2-this.$spinnerCanvas.width()/2+"px",top:this.$spinnerCanvas.parent().height()/2-this.$spinnerCanvas.height()/2+"px"}),this.$editorContainer&&this.image&&this._repositionEditorElements()}},_repositionEditorElements:function(){var t={width:this.editorWidth,height:this.editorHeight};this.editorHeight=this.$editorContainer.innerHeight(),this.editorWidth=this.$editorContainer.innerWidth(),this.canvas.setDimensions({width:this.editorWidth,height:this.editorHeight});var e=this.getScaledImageDimensions();if("crop"===this.currentView){this.zoomRatio=this.getZoomToFitRatio(this.getScaledImageDimensions());var i=this._getBoundingRectangle(this.imageVerticeCoords);this._setFittedImageVerticeCoordinates(),this._repositionCropper(i)}else this.zoomRatio=this.getZoomToCoverRatio(this.getScaledImageDimensions())*this.scaleFactor;this._repositionImage(t),this._repositionViewport(),this._repositionFocalPoint(t),this._zoomImage(),this.renderImage(),(1.5<e.width/this.lastLoadedDimensions.width||1.5<e.height/this.lastLoadedDimensions.height)&&this._reloadImage()},_repositionImage:function(t){this.image.set({left:this.image.left-(t.width-this.editorWidth)/2,top:this.image.top-(t.height-this.editorHeight)/2})},_createViewport:function(){this.viewport=new fabric.Rect({width:this.image.width,height:this.image.height,fill:"rgba(127,0,0,1)",originX:"center",originY:"center",globalCompositeOperation:"destination-in",left:this.image.left,top:this.image.top}),this.canvas.add(this.viewport),this.renderImage()},_createFocalPoint:function(){var t=this.focalPointState,e=this.getScaledImageDimensions().width/t.imageDimensions.width,i=t.offsetX*e*this.zoomRatio*this.scaleFactor,s=t.offsetY*e*this.zoomRatio*this.scaleFactor;i+=this.image.left,s+=this.image.top;var n=0,a=0;this.viewport&&0===t.offsetX&&0===t.offsetY&&(a="crop"!==this.currentView?(n=this.viewport.left-this.image.left,this.viewport.top-this.image.top):(n=this.clipper.left-this.image.left,this.clipper.top-this.image.top),i+=n,s+=a,t.offsetX+=n/(e*this.zoomRatio*this.scaleFactor),t.offsetY+=a/(e*this.zoomRatio*this.scaleFactor)),this.focalPoint=new fabric.Group([new fabric.Circle({radius:8,fill:"rgba(0,0,0,0.5)",strokeWidth:2,stroke:"rgba(255,255,255,0.8)",left:0,top:0,originX:"center",originY:"center"}),new fabric.Circle({radius:1,fill:"rgba(255,255,255,0)",strokeWidth:2,stroke:"rgba(255,255,255,0.8)",left:0,top:0,originX:"center",originY:"center"})],{originX:"center",originY:"center",left:i,top:s}),this.storeFocalPointState(t),this.canvas.add(this.focalPoint)},toggleFocalPoint:function(){this.focalPoint?(this.canvas.remove(this.focalPoint),this.focalPoint=null):this._createFocalPoint(),this.renderImage()},_repositionViewport:function(){if(this.viewport){var t={left:this.editorWidth/2,top:this.editorHeight/2};if("crop"===this.currentView)t.width=this.editorWidth,t.height=this.editorHeight;else if(this.cropperState){var e=this.cropperState,i=this.getScaledImageDimensions().width/e.imageDimensions.width;t.width=e.width*i*this.zoomRatio,t.height=e.height*i*this.zoomRatio,this.image.set({left:this.editorWidth/2-e.offsetX*i,top:this.editorHeight/2-e.offsetY*i})}else $.extend(t,this.getScaledImageDimensions());this.viewport.set(t)}},_repositionFocalPoint:function(t){if(this.focalPoint){var e=this.focalPoint.left-this.editorWidth/2,i=this.focalPoint.top-this.editorHeight/2,s=this.image.width,n=this.getScaledImageDimensions().width*this.zoomRatio/s/this.scaleFactor;e-=(t.width-this.editorWidth)/2,i-=(t.height-this.editorHeight)/2,e*=n,i*=n,this.focalPoint.set({left:this.editorWidth/2+e,top:this.editorHeight/2+i})}},hasOrientationChanged:function(){return this.viewportRotation%180!=0},getScaledImageDimensions:function(){var t=this.originalHeight/this.originalWidth,e={};return this.editorHeight/this.editorWidth<t?(e.height=Math.min(this.editorHeight,this.originalHeight),e.width=Math.round(this.originalWidth/(this.originalHeight/e.height))):(e.width=Math.min(this.editorWidth,this.originalWidth),e.height=Math.round(this.originalHeight*(e.width/this.originalWidth))),e},_zoomImage:function(){var t=this.getScaledImageDimensions();this.image.set({width:t.width*this.zoomRatio,height:t.height*this.zoomRatio})},_addControlListeners:function(){this.addListener(this.$tabs,"click","_handleTabClick"),this.addListener($(".focal-point"),"click",function(t){this.toggleFocalPoint(t)}.bind(this)),this.addListener($(".rotate-left"),"click",function(){this.rotateImage(-90)}.bind(this)),this.addListener($(".rotate-right"),"click",function(){this.rotateImage(90)}.bind(this)),this.addListener($(".flip-vertical"),"click",function(){this.flipImage("y")}.bind(this)),this.addListener($(".flip-horizontal"),"click",function(){this.flipImage("x")}.bind(this)),this.straighteningInput=new Craft.SlideRuleInput("slide-rule",{onStart:function(){this._showGrid()}.bind(this),onChange:function(t){this.straighten(t)}.bind(this),onEnd:function(){this._hideGrid(),this._cleanupFocalPointAfterStraighten()}.bind(this)}),this.addListener(Garnish.$doc,"keydown",function(t){t.keyCode===Garnish.SHIFT_KEY&&(this.shiftKeyHeld=!0)}.bind(this)),this.addListener(Garnish.$doc,"keyup",function(t){t.keyCode===Garnish.SHIFT_KEY&&(this.shiftKeyHeld=!1)}.bind(this)),new Garnish.MenuBtn($(".crop .menubtn",this.$container),{onOptionSelect:function(t){$(".constraint",this.$container).html($(t).html()),this.setCroppingConstraint($(t).data("constraint")),this.enforceCroppingConstraint()}.bind(this)}).menu.$container.addClass("dark")},_handleTabClick:function(t){if(!this.animationInProgress){var e=$(t.currentTarget),i=e.data("view");this.$tabs.removeClass("selected"),e.addClass("selected"),this.showView(i)}},showView:function(t){this.currentView!==t&&(this.$views.addClass("hidden"),this.$views.filter('[data-view="'+t+'"]').removeClass("hidden"),"rotate"===t?this.enableSlider():this.disableSlider(),this.updateSizeAndPosition(),"crop"===this.currentView&&"crop"!==t?this.disableCropMode():"crop"!==this.currentView&&"crop"===t&&this.enableCropMode(),this.currentView=t)},storeCropperState:function(t){if(t)this.cropperState=t;else if(this.clipper){var e=1/this.zoomRatio;this.cropperState={offsetX:(this.clipper.left-this.image.left)*e,offsetY:(this.clipper.top-this.image.top)*e,height:this.clipper.height*e,width:this.clipper.width*e,imageDimensions:this.getScaledImageDimensions()}}else{var i=this.getScaledImageDimensions();this.cropperState={offsetX:0,offsetY:0,height:i.height,width:i.width,imageDimensions:i}}},storeFocalPointState:function(t){if(t)this.focalPointState=t;else if(this.focalPoint){var e=1/this.zoomRatio;this.focalPointState={offsetX:(this.focalPoint.left-this.image.left)*e/this.scaleFactor,offsetY:(this.focalPoint.top-this.image.top)*e/this.scaleFactor,imageDimensions:this.getScaledImageDimensions()}}},rotateImage:function(e){if(!this.animationInProgress){if(90!==e&&-90!==e)return!1;this.animationInProgress=!0,this.viewportRotation+=e,this.viewportRotation=parseInt((this.viewportRotation+360)%360,10);var t,i=this.image.angle+e,s=this.getScaledImageDimensions();t=this.hasOrientationChanged()?this.getZoomToCoverRatio({height:s.width,width:s.height}):this.getZoomToCoverRatio(s),this.zoomRatio>t&&(t=this.zoomRatio);var n={angle:90===e?"+=90":"-=90"},a={angle:i,width:s.width*t,height:s.height*t},r=1;this.scaleFactor<1?(r=1/this.scaleFactor,this.scaleFactor=1):(this.viewport.width>this.editorHeight?r=this.editorHeight/this.viewport.width:this.viewport.height>this.editorWidth&&(r=this.editorWidth/this.viewport.height),this.scaleFactor=r),r<1&&(a.width*=r,a.height*=r);var o=this.cropperState,l=o.offsetX,h=o.offsetY,d=e*(Math.PI/180),c=l*Math.cos(d)-h*Math.sin(d),u=l*Math.sin(d)+h*Math.cos(d),p=s.width/o.imageDimensions.width,g=c*p*this.zoomRatio*this.scaleFactor,f=u*p*this.zoomRatio*this.scaleFactor;a.left=this.editorWidth/2-g,a.top=this.editorHeight/2-f,o.offsetX=c,o.offsetY=u;var m=o.width;o.width=o.height,o.height=m,this.storeCropperState(o),this.focalPoint&&this.canvas.remove(this.focalPoint),this.viewport.animate(n,{duration:this.settings.animationDuration,onComplete:function(){var t=this.viewport.height*r;this.viewport.height=this.viewport.width*r,this.viewport.width=t,this.viewport.set({angle:0})}.bind(this)}),this.image.animate(a,{onChange:this.canvas.renderAll.bind(this.canvas),duration:this.settings.animationDuration,onComplete:function(){var t=parseFloat((this.image.angle+360)%360);this.image.set({angle:t}),this.animationInProgress=!1,this.focalPoint?(this._adjustFocalPointByAngle(e),this.straighten(this.straighteningInput),this.canvas.add(this.focalPoint)):this._resetFocalPointPosition()}.bind(this)})}},flipImage:function(t){if(!this.animationInProgress){this.animationInProgress=!0,this.hasOrientationChanged()&&(t="y"===t?"x":"y"),this.focalPoint?this.canvas.remove(this.focalPoint):this._resetFocalPointPosition();var e=this.editorWidth/2,i=this.editorHeight/2;this.straighteningInput.setValue(-this.imageStraightenAngle),this.imageStraightenAngle=-this.imageStraightenAngle;var s,n,a={angle:this.viewportRotation+this.imageStraightenAngle},r=this.cropperState,o=this.focalPointState;"y"===t&&this.hasOrientationChanged()||"y"!==t&&!this.hasOrientationChanged()?(r.offsetX=-r.offsetX,o.offsetX=-o.offsetX,n=this.image.left-e,a.left=e-n):(r.offsetY=-r.offsetY,o.offsetY=-o.offsetY,s=this.image.top-i,a.top=i-s),"y"===t?(a.scaleY=-1*this.image.scaleY,this.flipData.y=1-this.flipData.y):(a.scaleX=-1*this.image.scaleX,this.flipData.x=1-this.flipData.x),this.storeCropperState(r),this.storeFocalPointState(o),this.image.animate(a,{onChange:this.canvas.renderAll.bind(this.canvas),duration:this.settings.animationDuration,onComplete:function(){this.animationInProgress=!1,this.focalPoint&&(this._adjustFocalPointByAngle(0),this.canvas.add(this.focalPoint))}.bind(this)})}},straighten:function(t){if(!this.animationInProgress){this.animationInProgress=!0;var e=this.image.angle;this.imageStraightenAngle=(this.settings.allowDegreeFractions?parseFloat(t.value):Math.round(parseFloat(t.value)))%360,this.image.set({angle:this.viewportRotation+this.imageStraightenAngle}),this.zoomRatio=this.getZoomToCoverRatio(this.getScaledImageDimensions())*this.scaleFactor,this._zoomImage(),this.cropperState&&this._adjustEditorElementsOnStraighten(e),this.renderImage(),this.animationInProgress=!1}},_adjustEditorElementsOnStraighten:function(t){var e,i,s,n,a,r=this.getScaledImageDimensions(),o=this.image.angle-t,l=this.cropperState,h=this.zoomRatio,d=1;do{var c=l.offsetX,u=l.offsetY,p=o*(Math.PI/180);s=c*Math.cos(p)-u*Math.sin(p),n=c*Math.sin(p)+u*Math.cos(p),e=s*h*(a=r.width/l.imageDimensions.width),i=n*h*a;var g=this.getImageVerticeCoords(h),f={width:this.viewport.width,height:this.viewport.height,left:this.editorWidth/2-this.viewport.width/2+e,top:this.editorHeight/2-this.viewport.height/2+i};h*=d=this._getZoomRatioToFitRectangle(f,g)}while(1!==d);this.image.set({left:this.editorWidth/2-e,top:this.editorHeight/2-i}),l.offsetX=s,l.offsetY=n,l.width=this.viewport.width/h/a,l.height=this.viewport.height/h/a,this.storeCropperState(l),this.zoomRatio=h,this.focalPoint?(this._adjustFocalPointByAngle(o),this._isCenterInside(this.focalPoint,this.viewport)?this.focalPoint.set({opacity:1}):this.focalPoint.set({opacity:0})):0!=o&&this._resetFocalPointPosition(),this._zoomImage()},_cleanupFocalPointAfterStraighten:function(){if(this.focalPoint&&!this._isCenterInside(this.focalPoint,this.viewport)){this.focalPoint.set({opacity:1});var t=this.focalPointState;t.offsetX=0,t.offsetY=0,this.storeFocalPointState(t),this.toggleFocalPoint()}},_resetFocalPointPosition:function(){var t=this.focalPointState;t.offsetX=0,t.offsetY=0,this.storeFocalPointState(t)},_isCenterInside:function(t,e){return t.left>e.left-e.width/2&&t.top>e.top-e.height/2&&t.left<e.left+e.width/2&&t.top<e.top+e.height/2},_adjustFocalPointByAngle:function(t){var e=t*(Math.PI/180),i=this.focalPointState,s=i.offsetX,n=i.offsetY,a=s*Math.cos(e)-n*Math.sin(e),r=s*Math.sin(e)+n*Math.cos(e),o=this.getScaledImageDimensions().width/i.imageDimensions.width,l=a*o*this.zoomRatio,h=r*o*this.zoomRatio;this.focalPoint.left=this.image.left+l,this.focalPoint.top=this.image.top+h,i.offsetX=a,i.offsetY=r,this.storeFocalPointState(i)},_getZoomRatioToFitRectangle:function(t,e){for(var i,s,n=this._getRectangleVertices(t),a=0;a<n.length&&(i=n[a],this.arePointsInsideRectangle([i],e));a++)i=!1;if(i){var r=this._getEdgeCrossed(e,i),o=t.left+t.width/2,l=t.top+t.height/2,h=Math.abs((r[1].y-r[0].y)*i.x-(r[1].x-r[0].x)*i.y+r[1].x*r[0].y-r[1].y*r[0].x)/Math.sqrt(Math.pow(r[1].y-r[0].y,2)+Math.pow(r[1].x-r[0].x,2)),d=Math.abs((r[1].y-r[0].y)*o-(r[1].x-r[0].x)*l+r[1].x*r[0].y-r[1].y*r[0].x)/Math.sqrt(Math.pow(r[1].y-r[0].y,2)+Math.pow(r[1].x-r[0].x,2));s=(h+d)/d}else s=1;return s},saveImage:function(t){var e=$(t.currentTarget);if(e.hasClass("disabled"))return!1;$(".btn",this.$buttons).addClass("disabled"),this.$buttons.append('<div class="spinner"></div>');var i={assetId:this.assetId,viewportRotation:this.viewportRotation,imageRotation:this.imageStraightenAngle,replace:e.hasClass("replace")?1:0};if(this.cropperState){var s={};s.height=this.cropperState.height,s.width=this.cropperState.width,s.offsetX=this.cropperState.offsetX,s.offsetY=this.cropperState.offsetY,i.imageDimensions=this.cropperState.imageDimensions,i.cropData=s}else i.imageDimensions=this.getScaledImageDimensions();this.focalPoint&&(i.focalPoint=this.focalPointState),i.flipData=this.flipData,i.zoom=this.zoomRatio,Craft.postActionRequest("assets/save-image",i,function(t){this.$buttons.find(".btn").removeClass("disabled").end().find(".spinner").remove(),t.error?alert(t.error):(this.onSave(),this.hide(),Craft.cp.runQueue())}.bind(this))},getZoomToCoverRatio:function(t){var e=Math.abs(this.imageStraightenAngle)*(Math.PI/180),i=Math.sin(e)*t.height+Math.cos(e)*t.width,s=Math.sin(e)*t.width+Math.cos(e)*t.height;return Math.max(i/t.width,s/t.height)},getZoomToFitRatio:function(t){var e=this._getImageBoundingBox(t),i=1;if(e.height>this.editorHeight||e.width>this.editorWidth){var s=this.editorHeight/e.height,n=this.editorWidth/e.width;i=Math.min(n,s)}return i},getCombinedZoomRatio:function(t){return this.getZoomToCoverRatio(t)/this.getZoomToFitRatio(t)},_showGrid:function(){if(!this.grid){var t,e={strokeWidth:1,stroke:"rgba(255,255,255,0.5)"},i=this.viewport.width,s=this.viewport.height,n=i/9,a=s/9,r=[new fabric.Rect({strokeWidth:2,stroke:"rgba(255,255,255,1)",originX:"center",originY:"center",width:i,height:s,left:i/2,top:s/2,fill:"rgba(255,255,255,0)"})];for(t=1;t<=8;t++)r.push(new fabric.Line([t*n,0,t*n,s],e));for(t=1;t<=8;t++)r.push(new fabric.Line([0,t*a,i,t*a],e));this.grid=new fabric.Group(r,{left:this.editorWidth/2,top:this.editorHeight/2,originX:"center",originY:"center",angle:this.viewport.angle}),this.canvas.add(this.grid),this.renderImage()}},_hideGrid:function(){this.canvas.remove(this.grid),this.grid=null,this.renderImage()},onFadeOut:function(){this.removeListener(this.$croppingCanvas,"mousemove",this._handleMouseMove.bind(this)),this.removeListener(this.$croppingCanvas,"mousedown",this._handleMouseDown.bind(this)),this.removeListener(this.$croppingCanvas,"mouseup",this._handleMouseUp.bind(this)),this.removeListener(this.$croppingCanvas,"mouseout",function(t){this._handleMouseUp(t),this._handleMouseMove(t)}.bind(this)),this.destroy()},show:function(){this.base(),$("html").addClass("noscroll")},hide:function(){this.removeAllListeners(),this.straighteningInput.removeAllListeners(),$("html").removeClass("noscroll"),this.base()},onSave:function(){this.settings.onSave(),this.trigger("save")},enableSlider:function(){this.$imageTools.removeClass("hidden")},disableSlider:function(){this.$imageTools.addClass("hidden")},enableCropMode:function(){var t=this.getScaledImageDimensions();this.zoomRatio=this.getZoomToFitRatio(t);var e={width:this.editorWidth,height:this.editorHeight},i={width:t.width*this.zoomRatio,height:t.height*this.zoomRatio,left:this.editorWidth/2,top:this.editorHeight/2},s=function(){this._setFittedImageVerticeCoordinates();var t=this.cropperState,e=this.getScaledImageDimensions(),i=e.width/t.imageDimensions.width,s={left:this.image.left+t.offsetX*i*this.zoomRatio,top:this.image.top+t.offsetY*i*this.zoomRatio,width:t.width*i*this.zoomRatio,height:t.height*i*this.zoomRatio};this._showCropper(s),this.focalPoint&&(i=e.width/this.focalPointState.imageDimensions.width,this.focalPoint.left=this.image.left+this.focalPointState.offsetX*i*this.zoomRatio,this.focalPoint.top=this.image.top+this.focalPointState.offsetY*i*this.zoomRatio,this.canvas.add(this.focalPoint))}.bind(this);this._editorModeTransition(s,i,e)},disableCropMode:function(){var t={},e={left:this.editorWidth/2,top:this.editorHeight/2};this._hideCropper();var i=this.getZoomToCoverRatio(this.getScaledImageDimensions())*this.scaleFactor,s=i/this.zoomRatio;this.zoomRatio=i;var n=(this.clipper.left-this.image.left)*s,a=(this.clipper.top-this.image.top)*s;e.left=this.editorWidth/2-n,e.top=this.editorHeight/2-a,t.height=this.clipper.height*s,t.width=this.clipper.width*s,this.focalPoint&&(!this.focalPoint||this._isCenterInside(this.focalPoint,this.clipper))||(this.focalPoint&&this.toggleFocalPoint(),this._resetFocalPointPosition());var r=function(){if(this.focalPoint){var t=this.getScaledImageDimensions().width/this.focalPointState.imageDimensions.width;this.focalPoint.left=this.image.left+this.focalPointState.offsetX*t*this.zoomRatio,this.focalPoint.top=this.image.top+this.focalPointState.offsetY*t*this.zoomRatio,this.canvas.add(this.focalPoint)}}.bind(this);this._editorModeTransition(r,e,t)},_editorModeTransition:function(t,e,i){this.animationInProgress||(this.animationInProgress=!0,this.focalPoint&&(this.canvas.remove(this.focalPoint),this.renderImage()),this.image.animate(e,{onChange:this.canvas.renderAll.bind(this.canvas),duration:this.settings.animationDuration,onComplete:function(){t(),this.animationInProgress=!1,this.renderImage()}.bind(this)}),this.viewport.animate(i,{duration:this.settings.animationDuration}))},_showSpinner:function(){this.$spinnerCanvas=$('<canvas id="spinner-canvas"></canvas>').appendTo($(".image",this.$container));var i=document.getElementById("spinner-canvas").getContext("2d"),s=new Date,n=i.canvas.width,a=i.canvas.height;this.spinnerInterval=window.setInterval(function(){var t=parseInt((new Date-s)/1e3*16)/16;i.save(),i.clearRect(0,0,n,a),i.translate(n/2,a/2),i.rotate(2*Math.PI*t);for(var e=0;e<16;e++)i.beginPath(),i.rotate(2*Math.PI/16),i.moveTo(n/10,0),i.lineTo(n/4,0),i.lineWidth=n/30,i.strokeStyle="rgba(255,255,255,"+e/16+")",i.stroke();i.restore()},1e3/30)},_hideSpinner:function(){window.clearInterval(this.spinnerInterval),this.$spinnerCanvas.remove(),this.$spinnerCanvas=null},_showCropper:function(t){this._setupCropperLayer(t),this._redrawCropperElements(),this.renderCropper()},_hideCropper:function(){this.clipper&&(this.croppingCanvas.remove(this.clipper),this.croppingCanvas.remove(this.croppingShade),this.croppingCanvas.remove(this.cropperHandles),this.croppingCanvas.remove(this.cropperGrid),this.croppingCanvas.remove(this.croppingRectangle),this.croppingCanvas=null,this.renderCropper=null)},_setupCropperLayer:function(t){this.croppingCanvas=new fabric.StaticCanvas("cropping-canvas",{backgroundColor:"rgba(0,0,0,0)",hoverCursor:"default",selection:!1}),this.croppingCanvas.setDimensions({width:this.editorWidth,height:this.editorHeight}),this.renderCropper=function(){Garnish.requestAnimationFrame(this.croppingCanvas.renderAll.bind(this.croppingCanvas))}.bind(this),$("#cropping-canvas",this.$editorContainer).css({position:"absolute",top:0,left:0}),this.croppingShade=new fabric.Rect({left:this.editorWidth/2,top:this.editorHeight/2,originX:"center",originY:"center",width:this.editorWidth,height:this.editorHeight,fill:"rgba(0,0,0,0.7)"});var e=this.getScaledImageDimensions(),i=0===this.imageStraightenAngle?1:1.2*this.getCombinedZoomRatio(e),s=e.width/i,n=e.height/i;if(this.hasOrientationChanged()){var a=n;n=s,s=a}this.clipper=new fabric.Rect({left:this.editorWidth/2,top:this.editorHeight/2,originX:"center",originY:"center",width:s,height:n,stroke:"black",fill:"rgba(128,0,0,1)",strokeWidth:0}),t&&this.clipper.set(t),this.clipper.globalCompositeOperation="destination-out",this.croppingCanvas.add(this.croppingShade),this.croppingCanvas.add(this.clipper)},_redrawCropperElements:function(){this.cropperHandles&&(this.croppingCanvas.remove(this.cropperHandles),this.croppingCanvas.remove(this.cropperGrid),this.croppingCanvas.remove(this.croppingRectangle));var t={strokeWidth:4,stroke:"rgb(255,255,255)",fill:!1},e={strokeWidth:2,stroke:"rgba(255,255,255,0.5)"},i=[new fabric.Path("M 0,10 L 0,0 L 10,0",t),new fabric.Path("M "+(this.clipper.width-8)+",0 L "+(this.clipper.width+4)+",0 L "+(this.clipper.width+4)+",10",t),new fabric.Path("M "+(this.clipper.width+4)+","+(this.clipper.height-8)+" L"+(this.clipper.width+4)+","+(this.clipper.height+4)+" L "+(this.clipper.width-8)+","+(this.clipper.height+4),t),new fabric.Path("M 10,"+(this.clipper.height+4)+" L 0,"+(this.clipper.height+4)+" L 0,"+(this.clipper.height-8),t)];this.cropperHandles=new fabric.Group(i,{left:this.clipper.left,top:this.clipper.top,originX:"center",originY:"center"}),this.croppingRectangle=new fabric.Rect({left:this.clipper.left,top:this.clipper.top,width:this.clipper.width,height:this.clipper.height,fill:"rgba(0,0,0,0)",stroke:"rgba(255,255,255,0.8)",strokeWidth:2,originX:"center",originY:"center"}),this.cropperGrid=new fabric.Group([new fabric.Line([.33*this.clipper.width,0,.33*this.clipper.width,this.clipper.height],e),new fabric.Line([.66*this.clipper.width,0,.66*this.clipper.width,this.clipper.height],e),new fabric.Line([0,.33*this.clipper.height,this.clipper.width,.33*this.clipper.height],e),new fabric.Line([0,.66*this.clipper.height,this.clipper.width,.66*this.clipper.height],e)],{left:this.clipper.left,top:this.clipper.top,originX:"center",originY:"center"}),this.croppingCanvas.add(this.cropperHandles),this.croppingCanvas.add(this.cropperGrid),this.croppingCanvas.add(this.croppingRectangle)},_repositionCropper:function(t){if(this.croppingCanvas){var e=this.clipper.left-this.croppingCanvas.width/2,i=this.clipper.top-this.croppingCanvas.height/2;this.croppingCanvas.setDimensions({width:this.editorWidth,height:this.editorHeight});var s=this._getBoundingRectangle(this.imageVerticeCoords).width/t.width;this.clipper.width=Math.round(this.clipper.width*s),this.clipper.height=Math.round(this.clipper.height*s),this.clipper.left=this.editorWidth/2+e*s,this.clipper.top=this.editorHeight/2+i*s,this.croppingShade.set({width:this.editorWidth,height:this.editorHeight,left:this.editorWidth/2,top:this.editorHeight/2}),this._redrawCropperElements(),this.renderCropper()}},_getBoundingRectangle:function(t){return{width:Math.max(t.a.x,t.b.x,t.c.x,t.d.x)-Math.min(t.a.x,t.b.x,t.c.x,t.d.x),height:Math.max(t.a.y,t.b.y,t.c.y,t.d.y)-Math.min(t.a.y,t.b.y,t.c.y,t.d.y)}},_handleMouseDown:function(t){var e=this.focalPoint&&this._isMouseOver(t,this.focalPoint),i=this.croppingCanvas&&this._isMouseOver(t,this.clipper),s=this.croppingCanvas&&this._cropperHandleHitTest(t);(s||i||e)&&(this.previousMouseX=t.pageX,this.previousMouseY=t.pageY,e?this.draggingFocal=!0:s?this.scalingCropper=s:i&&(this.draggingCropper=!0))},_handleMouseMove:function(t){this.focalPoint&&this.draggingFocal?(this._handleFocalDrag(t),this.storeFocalPointState(),this.renderImage()):this.draggingCropper||this.scalingCropper?(this.draggingCropper?this._handleCropperDrag(t):this._handleCropperResize(t),this._redrawCropperElements(),this.storeCropperState(),this.renderCropper()):this._setMouseCursor(t),this.previousMouseX=t.pageX,this.previousMouseY=t.pageY},_handleMouseUp:function(t){this.draggingCropper=!1,this.scalingCropper=!1,this.draggingFocal=!1},_handleCropperDrag:function(t){var e=t.pageX-this.previousMouseX,i=t.pageY-this.previousMouseY;if(0!=e||0!=i){var s={left:this.clipper.left-this.clipper.width/2,top:this.clipper.top-this.clipper.height/2,width:this.clipper.width,height:this.clipper.height},n=this._getRectangleVertices(s,e,i);this.arePointsInsideRectangle(n,this.imageVerticeCoords)&&this.clipper.set({left:this.clipper.left+e,top:this.clipper.top+i})}},_handleFocalDrag:function(t){if(this.focalPoint){var e=t.pageX-this.previousMouseX,i=t.pageY-this.previousMouseY;if(0==e&&0==i)return;var s=this.focalPoint.left+e,n=this.focalPoint.top+i;if("crop"===this.currentView){if(!this.arePointsInsideRectangle([{x:s,y:n}],this.imageVerticeCoords))return}else if(!(this.viewport.left-this.viewport.width/2-s<0&&0<this.viewport.left+this.viewport.width/2-s&&this.viewport.top-this.viewport.height/2-n<0&&0<this.viewport.top+this.viewport.height/2-n))return;this.focalPoint.set({left:this.focalPoint.left+e,top:this.focalPoint.top+i})}},setCroppingConstraint:function(t){switch(this.updateSizeAndPosition(),t){case"none":t=!1;break;case"original":t=this.originalWidth/this.originalHeight;break;case"current":t=this.clipper.width/this.clipper.height;break;default:t=parseFloat(t)}this.croppingConstraint=t},enforceCroppingConstraint:function(){if(!this.animationInProgress&&this.croppingConstraint){this.animationInProgress=!0;var t={left:this.clipper.left-this.clipper.width/2,top:this.clipper.top-this.clipper.height/2,width:this.clipper.width,height:this.clipper.height};if(this.clipper.width>this.clipper.height*this.croppingConstraint){var e=t.height;t.height=this.clipper.width/this.croppingConstraint,t.top-=(t.height-e)/2,this.arePointsInsideRectangle(this._getRectangleVertices(t),this.imageVerticeCoords)||(t.width=this.clipper.height*this.croppingConstraint,t.height=t.width/this.croppingConstraint)}else{var i=t.width;t.width=this.clipper.height*this.croppingConstraint,t.left-=(t.width-i)/2,this.arePointsInsideRectangle(this._getRectangleVertices(t),this.imageVerticeCoords)||(t.height=this.clipper.width/this.croppingConstraint,t.width=t.height*this.croppingConstraint)}var s={height:t.height,width:t.width};this.clipper.animate(s,{onChange:function(){this._redrawCropperElements(),this.croppingCanvas.renderAll()}.bind(this),duration:this.settings.animationDuration,onComplete:function(){this._redrawCropperElements(),this.animationInProgress=!1,this.renderCropper()}.bind(this)})}},_handleCropperResize:function(t){var e=t.pageX-this.previousMouseX,i=t.pageY-this.previousMouseY,s=0,n=0;if("b"!==this.scalingCropper&&"t"!==this.scalingCropper||(e=0),"l"!==this.scalingCropper&&"r"!==this.scalingCropper||(i=0),0!==e||0!==i){var a={left:this.clipper.left-this.clipper.width/2,top:this.clipper.top-this.clipper.height/2,width:this.clipper.width,height:this.clipper.height};if(this.croppingConstraint){var r=0;switch(this.scalingCropper){case"t":r=-i;break;case"b":r=i;break;case"r":r=e;break;case"l":r=-e;break;case"tr":r=-i+e;break;case"tl":r=-i-e;break;case"br":r=i+e;break;case"bl":r=i-e}1<this.croppingConstraint?i=(e=r)/this.croppingConstraint:e=(i=r)*this.croppingConstraint,a.height+=i,a.width+=e,this.scalingCropper.match(/t/)&&(a.top-=i,a.left-=e/2,s=-i/2),this.scalingCropper.match(/b/)&&(a.left+=-e/2,s=i/2),this.scalingCropper.match(/r/)&&(a.top+=-i/2,n=e/2),this.scalingCropper.match(/l/)&&(a.top-=i/2,a.left-=e,n=-e/2)}else{if(this.shiftKeyHeld&&("tl"===this.scalingCropper||"tr"===this.scalingCropper||"bl"===this.scalingCropper||"br"===this.scalingCropper))Math.abs(e)>Math.abs(i)?(i=e/(this.clipper.width/this.clipper.height),i*="tr"===this.scalingCropper||"bl"===this.scalingCropper?-1:1):(e=i*(this.clipper.width/this.clipper.height),e*="tr"===this.scalingCropper||"bl"===this.scalingCropper?-1:1);this.scalingCropper.match(/t/)&&(a.top+=i,a.height-=i),this.scalingCropper.match(/b/)&&(a.height+=i),this.scalingCropper.match(/r/)&&(a.width+=e),this.scalingCropper.match(/l/)&&(a.left+=e,a.width-=e),s=i/2,n=e/2}a.height<30||a.width<30||this.arePointsInsideRectangle(this._getRectangleVertices(a),this.imageVerticeCoords)&&(this.clipper.set({top:this.clipper.top+s,left:this.clipper.left+n,width:a.width,height:a.height}),this._redrawCropperElements())}},_setMouseCursor:function(t){var e="default",i=this.croppingCanvas&&this._cropperHandleHitTest(t);this.focalPoint&&this._isMouseOver(t,this.focalPoint)?e="pointer":i?"t"===i||"b"===i?e="ns-resize":"l"===i||"r"===i?e="ew-resize":"tl"===i||"br"===i?e="nwse-resize":"bl"!==i&&"tr"!==i||(e="nesw-resize"):this.croppingCanvas&&this._isMouseOver(t,this.clipper)&&(e="move"),$(".body").css("cursor",e)},_cropperHandleHitTest:function(t){var e=this.$croppingCanvas.offset(),i=t.pageX-e.left,s=t.pageY-e.top,n=this.clipper.left-this.clipper.width/2,a=n+this.clipper.width,r=this.clipper.top-this.clipper.height/2,o=r+this.clipper.height;if(i<10+n&&n-3<i){if(s<10+r&&r-3<s)return"tl";if(s<o+3&&o-10<s)return"bl"}if(a-13<i&&i<a+3){if(s<10+r&&r-3<s)return"tr";if(s<o+2&&o-10<s)return"br"}return i<3+n&&n-3<i&&s<o-10&&10+r<s?"l":i<a+1&&a-5<i&&s<o-10&&10+r<s?"r":s<4+r&&r-2<s&&10+n<i&&i<a-10?"t":s<o+2&&o-4<s&&10+n<i&&i<a-10&&"b"},_isMouseOver:function(t,e){var i=this.$croppingCanvas.offset(),s=t.pageX-i.left,n=t.pageY-i.top,a=e.left-e.width/2,r=a+e.width,o=e.top-e.height/2,l=o+e.height;return a<=s&&s<=r&&o<=n&&n<=l},_getRectangleVertices:function(t,e,i){void 0===e&&(e=0),void 0===i&&(i=0);var s={x:t.left+e,y:t.top+i},n={x:s.x+t.width,y:s.y},a={x:n.x,y:n.y+t.height};return[s,n,a,{x:s.x,y:a.y}]},_setFittedImageVerticeCoordinates:function(){this.imageVerticeCoords=this.getImageVerticeCoords("fit")},getImageVerticeCoords:function(t){var e,i=-1*((this.hasOrientationChanged()?90:0)+this.imageStraightenAngle)*(Math.PI/180),s=this.getScaledImageDimensions();e="number"==typeof t?t:"cover"===t?this.getZoomToCoverRatio(s):this.getZoomToFitRatio(s);var n=s.height*e,a=s.width*e,r=Math.cos(i)*n,o=Math.sin(i)*a,l=Math.cos(i)*a,h=Math.sin(i)*n,d=(this.editorHeight-(r+o))/2,c=(this.editorWidth-(h+l))/2;return{a:{x:c+l,y:d},b:{x:this.editorWidth-c,y:d+r},c:{x:c+h,y:this.editorHeight-d},d:{x:c,y:d+o}}},_debug:function(t){this.canvas.remove(this.debugger),this.debugger=t,this.canvas.add(this.debugger)},arePointsInsideRectangle:function(t,e){for(var i=this._getVector(e.a,e.b),s=this._getVector(e.b,e.c),n=this._getScalarProduct(i,i),a=this._getScalarProduct(s,s),r=0;r<t.length;r++){var o=t[r],l=this._getVector(e.a,o),h=this._getVector(e.b,o),d=this._getScalarProduct(i,l),c=this._getScalarProduct(s,h);if(!(0<=d&&d<=n)||!(0<=c&&c<=a))return!1}return!0},_getVector:function(t,e){return{x:e.x-t.x,y:e.y-t.y}},_getScalarProduct:function(t,e){return t.x*e.x+t.y*e.y},_getVectorMagnitude:function(t){return Math.sqrt(t.x*t.x+t.y*t.y)},_getAngleBetweenVectors:function(t,e){return Math.round(180*Math.acos(Math.min(1,this._getScalarProduct(t,e)/(this._getVectorMagnitude(t)*this._getVectorMagnitude(e))))/Math.PI*100)/100},_getEdgeCrossed:function(t,e){for(var i=[[t.a,t.b],[t.b,t.c],[t.c,t.d],[t.d,t.a]],s={x:this.editorWidth/2,y:this.editorHeight/2},n=180,a=null,r=0;r<i.length;r++){var o=i[r],l=this._getVector(o[0],s),h=this._getVector(o[0],o[1]),d=this._getVector(o[0],e),c=Math.abs(this._getAngleBetweenVectors(l,d)-(this._getAngleBetweenVectors(l,h)+this._getAngleBetweenVectors(h,d)));c<n&&(n=c,a=o)}return a},_getImageBoundingBox:function(t){var e={},i=Math.abs(this.imageStraightenAngle)*(Math.PI/180),s=t.height/t.width;if(e.height=t.width*(Math.sin(i)+Math.cos(i)*s),e.width=t.width*(Math.cos(i)+Math.sin(i)*s),this.hasOrientationChanged()){var n=e.width;e.width=e.height,e.height=n}return e}},{defaults:{animationDuration:100,allowSavingAsNew:!0,onSave:$.noop,allowDegreeFractions:!0}}),Craft.AssetIndex=Craft.BaseElementIndex.extend({$includeSubfoldersContainer:null,$includeSubfoldersCheckbox:null,showingIncludeSubfoldersCheckbox:!1,$uploadButton:null,$uploadInput:null,$progressBar:null,$folders:null,uploader:null,promptHandler:null,progressBar:null,_uploadTotalFiles:0,_uploadFileProgress:{},_uploadedAssetIds:[],_currentUploaderSettings:{},_assetDrag:null,_folderDrag:null,_expandDropTargetFolderTimeout:null,_tempExpandedFolders:[],_fileConflictTemplate:{choices:[{value:"keepBoth",title:Craft.t("app","Keep both")},{value:"replace",title:Craft.t("app","Replace it")}]},_folderConflictTemplate:{choices:[{value:"replace",title:Craft.t("app","Replace the folder (all existing files will be deleted)")},{value:"merge",title:Craft.t("app","Merge the folder (any conflicting files will be replaced)")}]},init:function(t,e,i){this.base(t,e,i),"index"===this.settings.context?(this._folderDrag||this._initIndexPageMode(),this.addListener(Garnish.$win,"resize,scroll","_positionProgressBar")):(this.addListener(this.$main,"scroll","_positionProgressBar"),this.settings.modal&&this.settings.modal.on("updateSizeAndPosition",$.proxy(this,"_positionProgressBar")))},initSources:function(){return"index"!==this.settings.context||this._folderDrag||this._initIndexPageMode(),this.base()},initSource:function(t){this.base(t),this._createFolderContextMenu(t),"index"===this.settings.context&&(this._folderDrag&&1<this._getSourceLevel(t)&&t.data("folder-id")&&this._folderDrag.addItems(t.parent()),this._assetDrag&&this._assetDrag.updateDropTargets())},deinitSource:function(t){this.base(t);var e=t.data("contextmenu");e&&e.destroy(),"index"===this.settings.context&&(this._folderDrag&&1<this._getSourceLevel(t)&&this._folderDrag.removeItems(t.parent()),this._assetDrag&&this._assetDrag.updateDropTargets())},_getSourceLevel:function(t){return t.parentsUntil("nav","ul").length},_initIndexPageMode:function(){if(!this._folderDrag){this.settings.selectable=!0,this.settings.multiSelect=!0;var t=$.proxy(this,"_onDragStart"),e=$.proxy(this,"_onDropTargetChange");this._assetDrag=new Garnish.DragDrop({activeDropTargetClass:"sel",helperOpacity:.75,filter:$.proxy(function(){return this.view.getSelectedElements()},this),helper:$.proxy(function(t){return this._getFileDragHelper(t)},this),dropTargets:$.proxy(function(){for(var t=[],e=0;e<this.$sources.length;e++){var i=this.$sources.eq(e);this._getFolderUidFromSourceKey(i.data("key"))&&t.push(i)}return t},this),onDragStart:t,onDropTargetChange:e,onDragStop:$.proxy(this,"_onFileDragStop")}),this._folderDrag=new Garnish.DragDrop({activeDropTargetClass:"sel",helperOpacity:.75,filter:$.proxy(function(){for(var t=this.sourceSelect.getSelectedItems(),e=[],i=0;i<t.length;i++){var s=t.eq(i);!this._getFolderUidFromSourceKey(s.data("key"))||s.hasClass("sel")&&1<this._getSourceLevel(s)&&e.push(s.parent()[0])}return $(e)},this),helper:$.proxy(function(t){var e=$('<div class="sidebar" style="padding-top: 0; padding-bottom: 0;"/>'),i=$("<nav/>").appendTo(e),s=$("<ul/>").appendTo(i);return t.appendTo(s).removeClass("expanded"),t.children("a").addClass("sel"),t.css({"padding-top":this._folderDrag.$draggee.css("padding-top"),"padding-right":this._folderDrag.$draggee.css("padding-right"),"padding-bottom":this._folderDrag.$draggee.css("padding-bottom"),"padding-left":this._folderDrag.$draggee.css("padding-left")}),e},this),dropTargets:$.proxy(function(){var t=[],e=[];this._folderDrag.$draggee.find("a[data-key]").each(function(){e.push($(this).data("key"))});for(var i=0;i<this.$sources.length;i++){var s=this.$sources.eq(i),n=s.data("key");this._getFolderUidFromSourceKey(n)&&(Craft.inArray(n,e)||t.push(s))}return t},this),onDragStart:t,onDropTargetChange:e,onDragStop:$.proxy(this,"_onFolderDragStop")})}},_onFileDragStop:function(){if(this._assetDrag.$activeDropTarget&&this._assetDrag.$activeDropTarget[0]!==this.$source[0]){for(var r=this.$source,o=this._assetDrag.$activeDropTarget.data("folder-id"),l=[],t=0;t<this._assetDrag.$draggee.length;t++){var e=Craft.getElementInfo(this._assetDrag.$draggee[t]).id;l.push(e)}if(l.length){this.setIndexBusy(),this._positionProgressBar(),this.progressBar.resetProgressBar(),this.progressBar.setItemCount(l.length),this.progressBar.showProgressBar();var i=[];for(t=0;t<l.length;t++)i.push({action:"assets/move-asset",params:{assetId:l[t],folderId:o}});var h=$.proxy(function(t){this.promptHandler.resetPrompts();for(var e=0;e<t.length;e++){var i=t[e];i.conflict&&this.promptHandler.addPrompt({assetId:i.assetId,suggestedFilename:i.suggestedFilename,prompt:{message:i.conflict,choices:this._fileConflictTemplate.choices}}),i.error&&alert(i.error)}this.setIndexAvailable(),this.progressBar.hideProgressBar();function s(){this.sourceSelect.selectItem(r),this._totalVisible-=this._assetDrag.$draggee.length;for(var t=0;t<l.length;t++)$("[data-id="+l[t]+"]").remove();this.view.deselectAllElements(),this._collapseExtraExpandedFolders(o),n&&this.updateElements()}var n=!1;if(this.promptHandler.getPromptCount()){var a=$.proxy(function(t){for(var e=[],i=0;i<t.length;i++)"cancel"!==t[i].choice?("keepBoth"===t[i].choice&&e.push({action:"assets/move-asset",params:{folderId:o,assetId:t[i].assetId,filename:t[i].suggestedFilename}}),"replace"===t[i].choice&&e.push({action:"assets/move-asset",params:{folderId:o,assetId:t[i].assetId,force:!0}})):n=!0;0===e.length?s.apply(this):(this.setIndexBusy(),this.progressBar.resetProgressBar(),this.progressBar.setItemCount(this.promptHandler.getPromptCount()),this.progressBar.showProgressBar(),this._performBatchRequests(e,h))},this);this._assetDrag.fadeOutHelpers(),this.promptHandler.showBatchPrompts(a)}else s.apply(this),this._assetDrag.fadeOutHelpers()},this);return void this._performBatchRequests(i,h)}}else this.$source.addClass("sel"),this._collapseExtraExpandedFolders();this._assetDrag.returnHelpersToDraggees()},_onFolderDragStop:function(){if(this._folderDrag.$activeDropTarget&&0===this._folderDrag.$activeDropTarget.siblings("ul").children("li").filter(this._folderDrag.$draggee).length){var t=this._folderDrag.$activeDropTarget.data("folder-id");this._collapseExtraExpandedFolders(t);for(var a=[],e=0;e<this._folderDrag.$draggee.length;e++){var i=this._folderDrag.$draggee.eq(e).children("a").data("folder-id");if(i!=t){a.push(i);break}}if(a.length){a.sort(),a.reverse(),this.setIndexBusy(),this._positionProgressBar(),this.progressBar.resetProgressBar(),this.progressBar.setItemCount(a.length),this.progressBar.showProgressBar();var s=[];for(e=0;e<a.length;e++)s.push({action:"assets/move-folder",params:{folderId:a[e],parentId:t}});this.requestId++;var r=[],o="",l=function(t){this.promptHandler.resetPrompts();for(var e=0;e<t.length;e++){var n=t[e];n.success&&(n.transferList&&(r=n.transferList),n.newFolderId&&(o=this._folderDrag.$activeDropTarget.data("key")+"/folder:"+n.newFolderUid)),n.conflict&&(n.prompt={message:n.conflict,choices:this._folderConflictTemplate.choices},this.promptHandler.addPrompt(n)),n.error&&alert(n.error)}if(this.promptHandler.getPromptCount()){var i=$.proxy(function(t){this.promptHandler.resetPrompts();for(var e=[],i={},s=0;s<t.length;s++)"cancel"!==t[s].choice&&("replace"===t[s].choice&&(i.force=!0),"merge"===t[s].choice&&(i.merge=!0),i.folderId=n.folderId,i.parentId=n.parentId,e.push({action:"assets/move-folder",params:i}));0===e.length?$.proxy(this,"_performActualFolderMove",r,a,o)():(this.setIndexBusy(),this.progressBar.resetProgressBar(),this.progressBar.setItemCount(this.promptHandler.getPromptCount()),this.progressBar.showProgressBar(),this._performBatchRequests(e,l))},this);this.promptHandler.showBatchPrompts(i),this.setIndexAvailable(),this.progressBar.hideProgressBar()}else $.proxy(this,"_performActualFolderMove",r,a,o)()}.bind(this);return void this._performBatchRequests(s,l)}}else this.$source.addClass("sel"),this._collapseExtraExpandedFolders();this._folderDrag.returnHelpersToDraggees()},_performActualFolderMove:function(t,e,n){this.setIndexBusy(),this.progressBar.resetProgressBar(),this.progressBar.setItemCount(1),this.progressBar.showProgressBar();var i=function(t){for(var e=0,i=t.length,s=0;s<t.length;s++)Craft.postActionRequest("assets/delete-folder",{folderId:t[s]},function(){++e===i&&(this.setIndexAvailable(),this.progressBar.hideProgressBar(),this._folderDrag.returnHelpersToDraggees(),this.setInstanceState("selectedSource",n),this.refreshSources())}.bind(this))}.bind(this);if(0<t.length){for(var s=[],a=0;a<t.length;a++)s.push({action:"assets/move-asset",params:t[a]});this._performBatchRequests(s,function(){i(e)})}else i(e)},_getParentSource:function(t){if(1<this._getSourceLevel(t))return t.parent().parent().siblings("a")},_selectSourceByFolderId:function(t){for(var e=this._getSourceByKey(t),i=e.parent().parents("li"),s=0;s<i.length;s++){var n=$(i[s]);n.hasClass("expanded")||n.children(".toggle").trigger("click")}this.selectSource(e),this.updateElements()},afterInit:function(){this.$uploadButton||(this.$uploadButton=$('<div class="btn submit" data-icon="upload" style="position: relative; overflow: hidden;" role="button">'+Craft.t("app","Upload files")+"</div>"),this.addButton(this.$uploadButton),this.$uploadInput=$('<input type="file" multiple="multiple" name="assets-upload" />').hide().insertBefore(this.$uploadButton)),this.promptHandler=new Craft.PromptHandler,this.progressBar=new Craft.ProgressBar(this.$main,!0);var t={url:Craft.getActionUrl("assets/save-asset"),fileInput:this.$uploadInput,dropZone:this.$container};t.events={fileuploadstart:$.proxy(this,"_onUploadStart"),fileuploadprogressall:$.proxy(this,"_onUploadProgress"),fileuploaddone:$.proxy(this,"_onUploadComplete")},this.settings.criteria&&void 0!==this.settings.criteria.kind&&(t.allowedKinds=this.settings.criteria.kind),this._currentUploaderSettings=t,this.uploader=new Craft.Uploader(this.$uploadButton,t),this.$uploadButton.on("click",$.proxy(function(){this.$uploadButton.hasClass("disabled")||this.isIndexBusy||this.$uploadButton.parent().find("input[name=assets-upload]").trigger("click")},this)),this.base()},onSelectSource:function(){this._getSourceByKey(this.sourceKey).data("folder-id")&&this.$source.attr("data-upload")?(this.uploader.setParams({folderId:this.$source.attr("data-folder-id")}),this.$uploadButton.removeClass("disabled")):this.$uploadButton.addClass("disabled"),this.base()},_getFolderUidFromSourceKey:function(t){var e=t.match(/\bfolder:([0-9a-f\-]+)$/);return e?e[1]:null},startSearching:function(){if(this.$source.siblings("ul").length){if(null===this.$includeSubfoldersContainer){var t="includeSubfolders-"+Math.floor(1e9*Math.random());this.$includeSubfoldersContainer=$('<div style="margin-bottom: -23px; opacity: 0;"/>').insertAfter(this.$search);var e=$('<div style="padding-top: 5px;"/>').appendTo(this.$includeSubfoldersContainer);this.$includeSubfoldersCheckbox=$('<input type="checkbox" id="'+t+'" class="checkbox"/>').appendTo(e),$('<label class="light smalltext" for="'+t+'"/>').text(" "+Craft.t("app","Search in subfolders")).appendTo(e),this.addListener(this.$includeSubfoldersCheckbox,"change",function(){this.setSelecetedSourceState("includeSubfolders",this.$includeSubfoldersCheckbox.prop("checked")),this.updateElements()})}else this.$includeSubfoldersContainer.velocity("stop");var i=this.getSelectedSourceState("includeSubfolders",!1);this.$includeSubfoldersCheckbox.prop("checked",i),this.$includeSubfoldersContainer.velocity({marginBottom:0,opacity:1},"fast"),this.showingIncludeSubfoldersCheckbox=!0}this.base()},stopSearching:function(){this.showingIncludeSubfoldersCheckbox&&(this.$includeSubfoldersContainer.velocity("stop"),this.$includeSubfoldersContainer.velocity({marginBottom:-23,opacity:0},"fast"),this.showingIncludeSubfoldersCheckbox=!1),this.base()},getViewParams:function(){var t=this.base();return this.showingIncludeSubfoldersCheckbox&&this.$includeSubfoldersCheckbox.prop("checked")&&(t.criteria.includeSubfolders=!0),t},_onUploadStart:function(){this.setIndexBusy(),this._positionProgressBar(),this.progressBar.resetProgressBar(),this.progressBar.showProgressBar(),this.promptHandler.resetPrompts()},_onUploadProgress:function(t,e){var i=parseInt(e.loaded/e.total*100,10);this.progressBar.setProgressPercentage(i)},_onUploadComplete:function(t,e){var i=e.result,s=e.files[0].name,n=!0;i.success||i.conflict?(this._uploadedAssetIds.push(i.assetId),i.conflict&&(i.prompt={message:Craft.t("app",i.conflict,{file:i.filename}),choices:this._fileConflictTemplate.choices},this.promptHandler.addPrompt(i)),Craft.cp.runQueue()):(i.error?alert(Craft.t("app","Upload failed. The error message was: “{error}”",{error:i.error})):alert(Craft.t("app","Upload failed for {filename}.",{filename:s})),n=!1),this.uploader.isLastUpload()&&(this.setIndexAvailable(),this.progressBar.hideProgressBar(),this.promptHandler.getPromptCount()?this.promptHandler.showBatchPrompts($.proxy(this,"_uploadFollowup")):n&&this._updateAfterUpload())},_updateAfterUpload:function(){"index"!==this.settings.context&&(this.setSortAttribute("dateModified"),this.setSortDirection("desc")),this.updateElements()},_uploadFollowup:function(t){this.setIndexBusy(),this.progressBar.resetProgressBar(),this.promptHandler.resetPrompts();var e=function(){this.setIndexAvailable(),this.progressBar.hideProgressBar(),this._updateAfterUpload()}.bind(this);this.progressBar.setItemCount(t.length);var r=function(i,s,n){var t={},e=null,a=function(t,e){"success"===e&&t.assetId?this._uploadedAssetIds.push(t.assetId):t.error&&alert(t.error),s++,this.progressBar.incrementProcessedItemCount(1),this.progressBar.updateProgressBar(),s===i.length?n():r(i,s,n)}.bind(this);"replace"===i[s].choice?(e="assets/replace-file",t.sourceAssetId=i[s].assetId,i[s].conflictingAssetId?t.assetId=i[s].conflictingAssetId:t.targetFilename=i[s].filename):"cancel"===i[s].choice&&(e="assets/delete-asset",t.assetId=i[s].assetId),e?Craft.postActionRequest(e,t,a):a({assetId:i[s].assetId},"success")}.bind(this);this.progressBar.showProgressBar(),r(t,0,e)},onUpdateElements:function(){this._onUpdateElements(!1,this.view.getAllElements()),this.view.on("appendElements",$.proxy(function(t){this._onUpdateElements(!0,t.newElements)},this)),this.base()},_onUpdateElements:function(t,e){if("index"===this.settings.context&&(t||this._assetDrag.removeAllItems(),this._assetDrag.addItems(e)),this._uploadedAssetIds.length){if(this.view.settings.selectable)for(var i=0;i<this._uploadedAssetIds.length;i++)this.view.selectElementById(this._uploadedAssetIds[i]);this._uploadedAssetIds=[]}this.base(t,e),this.removeListener(this.$elements,"keydown"),this.addListener(this.$elements,"keydown",this._onKeyDown.bind(this)),this.view.elementSelect.on("focusItem",this._onElementFocus.bind(this))},_onKeyDown:function(t){if(t.keyCode===Garnish.SPACE_KEY&&t.shiftKey){if(Craft.PreviewFileModal.openInstance)Craft.PreviewFileModal.openInstance.selfDestruct();else{var e=this.view.elementSelect.$focusedItem.find(".element");e.length&&this._loadPreview(e)}return t.stopPropagation(),!1}},_onElementFocus:function(t){var e=$(t.item).find(".element");Craft.PreviewFileModal.openInstance&&e.length&&this._loadPreview(e)},_loadPreview:function(t){var e={};t.data("image-width")&&(e.startingWidth=t.data("image-width"),e.startingHeight=t.data("image-height")),new Craft.PreviewFileModal(t.data("id"),this.view.elementSelect,e)},_onDragStart:function(){this._tempExpandedFolders=[]},_getFileDragHelper:function(t){var e,i;switch(this.getSelectedSourceState("mode")){case"table":e=$('<div class="elements datatablesorthelper"/>').appendTo(Garnish.$bod),i=$('<div class="tableview"/>').appendTo(e);var s=$('<table class="data"/>').appendTo(i),n=$("<tbody/>").appendTo(s);t.appendTo(n),this._$firstRowCells=this.view.$table.children("tbody").children("tr:first").children();for(var a=t.children(),r=0;r<a.length;r++){var o=$(a[r]);if(o.hasClass("checkbox-cell"))o.remove(),e.css("margin-"+Craft.left,19);else{var l=$(this._$firstRowCells[r]),h=l.width();l.width(h),o.width(h)}}return e;case"thumbs":return e=$('<div class="elements thumbviewhelper"/>').appendTo(Garnish.$bod),i=$('<ul class="thumbsview"/>').appendTo(e),t.appendTo(i),e}return $()},_onDropTargetChange:function(t){if(clearTimeout(this._expandDropTargetFolderTimeout),t){var e=t.data("folder-id");e?(this.dropTargetFolder=this._getSourceByKey(e),this._hasSubfolders(this.dropTargetFolder)&&!this._isExpanded(this.dropTargetFolder)&&(this._expandDropTargetFolderTimeout=setTimeout($.proxy(this,"_expandFolder"),500))):this.dropTargetFolder=null}t&&t[0]!==this.$source[0]?this.$source.removeClass("sel"):this.$source.addClass("sel")},_collapseExtraExpandedFolders:function(t){var e;clearTimeout(this._expandDropTargetFolderTimeout),t&&(e=this._getSourceByKey(t).parents("li").children("a"));for(var i=this._tempExpandedFolders.length-1;0<=i;i--){var s=this._tempExpandedFolders[i];void 0!==e&&0!==e.filter('[data-key="'+s.data("key")+'"]').length||(this._collapseFolder(s),this._tempExpandedFolders.splice(i,1))}},_getSourceByKey:function(t){return this.$sources.filter('[data-key$="'+t+'"]')},_hasSubfolders:function(t){return t.siblings("ul").find("li").length},_isExpanded:function(t){return t.parent("li").hasClass("expanded")},_expandFolder:function(){this._collapseExtraExpandedFolders(this.dropTargetFolder.data("folder-id")),this.dropTargetFolder.siblings(".toggle").trigger("click"),this._tempExpandedFolders.push(this.dropTargetFolder)},_collapseFolder:function(t){t.parent().hasClass("expanded")&&t.siblings(".toggle").trigger("click")},_createFolderContextMenu:function(t){if(this._getFolderUidFromSourceKey(t.data("key"))){var e=[{label:Craft.t("app","New subfolder"),onClick:$.proxy(this,"_createSubfolder",t)}];"index"===this.settings.context&&1<this._getSourceLevel(t)&&(e.push({label:Craft.t("app","Rename folder"),onClick:$.proxy(this,"_renameFolder",t)}),e.push({label:Craft.t("app","Delete folder"),onClick:$.proxy(this,"_deleteFolder",t)})),new Garnish.ContextMenu(t,e,{menuClass:"menu"})}},_createSubfolder:function(n){var t=prompt(Craft.t("app","Enter the name of the folder"));if(t){var e={parentId:n.data("folder-id"),folderName:t};this.setIndexBusy(),Craft.postActionRequest("assets/create-folder",e,$.proxy(function(t,e){if(this.setIndexAvailable(),"success"===e&&t.success){this._prepareParentForChildren(n);var i=$('<li><a data-key="'+n.data("key")+"/folder:"+t.folderUid+'"'+(Garnish.hasAttr(n,"data-has-thumbs")?" data-has-thumbs":"")+' data-upload="'+n.attr("data-upload")+'" data-folder-id="'+t.folderId+'">'+t.folderName+"</a></li>"),s=i.children("a:first");this._appendSubfolder(n,i),this.initSource(s)}"success"===e&&t.error&&alert(t.error)},this))}},_deleteFolder:function(s){if(confirm(Craft.t("app","Really delete folder “{folder}”?",{folder:$.trim(s.text())}))){var t={folderId:s.data("folder-id")};this.setIndexBusy(),Craft.postActionRequest("assets/delete-folder",t,$.proxy(function(t,e){if(this.setIndexAvailable(),"success"===e&&t.success){var i=this._getParentSource(s);this.deinitSource(s),s.parent().remove(),this._cleanUpTree(i)}"success"===e&&t.error&&alert(t.error)},this))}},_renameFolder:function(i){var t=$.trim(i.text()),e=prompt(Craft.t("app","Rename folder"),t);if(e&&e!==t){var s={folderId:i.data("folder-id"),newName:e};this.setIndexBusy(),Craft.postActionRequest("assets/rename-folder",s,$.proxy(function(t,e){this.setIndexAvailable(),"success"===e&&t.success&&(i.text(t.newName),this._getFolderUidFromSourceKey(this.sourceSelect.$selectedItems.data("key"))===this._getFolderUidFromSourceKey(i.data("key"))&&this.updateElements()),"success"===e&&t.error&&alert(t.error)},this),"json")}},_prepareParentForChildren:function(t){this._hasSubfolders(t)||(t.parent().addClass("expanded").append('<div class="toggle"></div><ul></ul>'),this.initSourceToggle(t))},_appendSubfolder:function(t,e){for(var i=t.siblings("ul").children("li"),s=$.trim(e.children("a:first").text()),n=!1,a=0;a<i.length;a++){var r=$(i[a]);if($.trim(r.children("a:first").text())>s){r.before(e),n=!0;break}}n||t.siblings("ul").append(e)},_cleanUpTree:function(t){null!==t&&0===t.siblings("ul").children("li").length&&(this.deinitSourceToggle(t),t.siblings("ul").remove(),t.siblings(".toggle").remove(),t.parent().removeClass("expanded"))},_positionProgressBar:function(){this.progressBar||(this.progressBar=new Craft.ProgressBar(this.$main,!0));var t=$(),e=0,i=0,s=(e="index"===this.settings.context?(t=this.progressBar.$progressBar.closest("#content"),Garnish.$win.scrollTop()):(t=this.progressBar.$progressBar.closest(".main"),this.$main.scrollTop()))-t.offset().top,n=Garnish.$win.height();i=t.height()>n?n/2-6+s:t.height()/2-6,"index"!==this.settings.context&&(i=e+(t.height()/2-6)),this.progressBar.$progressBar.css({top:i})},_performBatchRequests:function(i,s){for(var n=[],t=function(t){Craft.postActionRequest(t.action,t.params,function(t,e){this.progressBar.incrementProcessedItemCount(1),this.progressBar.updateProgressBar(),"success"===e&&(n.push(t),Craft.cp.runQueue()),n.length>=i.length&&s(n)}.bind(this))}.bind(this),e=0;e<i.length;e++)t(i[e])}}),Craft.registerElementIndexClass("craft\\elements\\Asset",Craft.AssetIndex),Craft.AssetSelectInput=Craft.BaseElementSelectInput.extend({requestId:0,hud:null,uploader:null,progressBar:null,originalFilename:"",originalExtension:"",init:function(){0<arguments.length&&"object"==typeof arguments[0]&&(arguments[0].editorSettings={onShowHud:$.proxy(this.resetOriginalFilename,this),onCreateForm:$.proxy(this._renameHelper,this),validators:[$.proxy(this.validateElementForm,this)]}),this.base.apply(this,arguments),this._attachUploader(),this.addListener(this.$elementsContainer,"keydown",this._onKeyDown.bind(this)),this.elementSelect.on("focusItem",this._onElementFocus.bind(this))},_onKeyDown:function(t){if(t.keyCode===Garnish.SPACE_KEY&&t.shiftKey){if(Craft.PreviewFileModal.openInstance)Craft.PreviewFileModal.openInstance.selfDestruct();else{var e=this.elementSelect.$focusedItem;e.length&&this._loadPreview(e)}return t.stopPropagation(),!1}},_onElementFocus:function(t){var e=$(t.item);Craft.PreviewFileModal.openInstance&&e.length&&this._loadPreview(e)},_loadPreview:function(t){var e={};t.data("image-width")&&(e.startingWidth=t.data("image-width"),e.startingHeight=t.data("image-height")),new Craft.PreviewFileModal(t.data("id"),this.elementSelect,e)},createElementEditor:function(t){return this.base(t,{params:{defaultFieldLayoutId:this.settings.defaultFieldLayoutId}})},_attachUploader:function(){this.progressBar=new Craft.ProgressBar($('<div class="progress-shade"></div>').appendTo(this.$container));var t={url:Craft.getActionUrl("assets/save-asset"),dropZone:this.$container,formData:{fieldId:this.settings.fieldId,elementId:this.settings.sourceElementId}};void 0!==Craft.csrfTokenName&&void 0!==Craft.csrfTokenValue&&(t.formData[Craft.csrfTokenName]=Craft.csrfTokenValue),void 0!==this.settings.criteria.kind&&(t.allowedKinds=this.settings.criteria.kind),t.canAddMoreFiles=$.proxy(this,"canAddMoreFiles"),t.events={},t.events.fileuploadstart=$.proxy(this,"_onUploadStart"),t.events.fileuploadprogressall=$.proxy(this,"_onUploadProgress"),t.events.fileuploaddone=$.proxy(this,"_onUploadComplete"),this.uploader=new Craft.Uploader(this.$container,t)},selectUploadedFile:function(t){if(this.canAddMoreElements()){var e=t.$element;e.addClass("removable"),e.prepend('<input type="hidden" name="'+this.settings.name+'[]" value="'+t.id+'"><a class="delete icon" title="'+Craft.t("app","Remove")+'"></a>'),e.appendTo(this.$elementsContainer);var i=-(e.outerWidth()+10);this.$addElementBtn.css("margin-"+Craft.left,i+"px");var s={};s["margin-"+Craft.left]=0,this.$addElementBtn.velocity(s,"fast"),this.addElements(e),delete this.modal}},_onUploadStart:function(){this.progressBar.$progressBar.css({top:Math.round(this.$container.outerHeight()/2)-6}),this.$container.addClass("uploading"),this.progressBar.resetProgressBar(),this.progressBar.showProgressBar()},_onUploadProgress:function(t,e){var i=parseInt(e.loaded/e.total*100,10);this.progressBar.setProgressPercentage(i)},_onUploadComplete:function(t,e){if(e.result.error)alert(e.result.error);else{var i={elementId:e.result.assetId,siteId:this.settings.criteria.siteId,size:this.settings.viewMode};Craft.postActionRequest("elements/get-element-html",i,function(t){if(t.error)alert(t.error);else{var e=$(t.html);Craft.appendHeadHtml(t.headHtml),this.selectUploadedFile(Craft.getElementInfo(e))}this.uploader.isLastUpload()&&(this.progressBar.hideProgressBar(),this.$container.removeClass("uploading"),window.draftEditor&&window.draftEditor.checkForm())}.bind(this)),Craft.cp.runQueue()}},canAddMoreFiles:function(t){return!this.settings.limit||this.$elements.length+t<this.settings.limit},_parseFilename:function(t){var e=t.split("."),i="";return 1<e.length&&(i=e.pop()),{extension:i,baseFileName:e.join(".")}},_renameHelper:function(t){$(".renameHelper",t).on("focus",$.proxy(function(t){var e=t.currentTarget,i=this._parseFilename(e.value);""===this.originalFilename&&""===this.originalExtension&&(this.originalFilename=i.baseFileName,this.originalExtension=i.extension);var s=i.baseFileName.length;if(void 0!==e.selectionStart)e.selectionStart=0,e.selectionEnd=s;else if(document.selection&&document.selection.createRange){e.select();var n=document.selection.createRange();n.collapse(!0),n.moveEnd("character",s),n.moveStart("character",0),n.select()}},this))},resetOriginalFilename:function(){this.originalFilename="",this.originalExtension=""},validateElementForm:function(){var t=$(".renameHelper",this.elementEditor.hud.$hud.data("elementEditor").$form),e=this._parseFilename(t.val());return e.extension===this.originalExtension||(""===e.extension?this.originalFilename!==e.baseFileName?(t.val(e.baseFileName+"."+this.originalExtension),!0):confirm(Craft.t("app","Are you sure you want to remove the extension “.{ext}”?",{ext:this.originalExtension})):confirm(Craft.t("app","Are you sure you want to change the extension from “.{oldExt}” to “.{newExt}”?",{oldExt:this.originalExtension,newExt:e.extension})))}}),Craft.AssetSelectorModal=Craft.BaseElementSelectorModal.extend({$selectTransformBtn:null,_selectedTransform:null,init:function(t,e){e=$.extend({},Craft.AssetSelectorModal.defaults,e),this.base(t,e),e.transforms.length&&this.createSelectTransformButton(e.transforms)},createSelectTransformButton:function(t){if(t&&t.length){var e=$('<div class="btngroup"/>').appendTo(this.$primaryButtons);this.$selectBtn.appendTo(e),this.$selectTransformBtn=$('<div class="btn menubtn disabled">'+Craft.t("app","Select transform")+"</div>").appendTo(e);for(var i=$('<div class="menu" data-align="right"></div>').insertAfter(this.$selectTransformBtn),s=$("<ul></ul>").appendTo(i),n=0;n<t.length;n++)$('<li><a data-transform="'+t[n].handle+'">'+t[n].name+"</a></li>").appendTo(s);var a=new Garnish.MenuBtn(this.$selectTransformBtn,{onOptionSelect:$.proxy(this,"onSelectTransform")});a.disable(),this.$selectTransformBtn.data("menuButton",a)}},onSelectionChange:function(t){var e=this.elementIndex.getSelectedElements(),i=!1;if(e.length&&this.settings.transforms.length){i=!0;for(var s=0;s<e.length&&$(".element.hasthumb:first",e[s]).length;s++);}var n=null;this.$selectTransformBtn&&(n=this.$selectTransformBtn.data("menuButton")),i?(n&&n.enable(),this.$selectTransformBtn.removeClass("disabled")):this.$selectTransformBtn&&(n&&n.disable(),this.$selectTransformBtn.addClass("disabled")),this.base()},onSelectTransform:function(t){var e=$(t).data("transform");this.selectImagesWithTransform(e)},selectImagesWithTransform:function(t){void 0===Craft.AssetSelectorModal.transformUrls[t]&&(Craft.AssetSelectorModal.transformUrls[t]={});for(var e=this.elementIndex.getSelectedElements(),i=[],s=0;s<e.length;s++){var n=$(e[s]),a=Craft.getElementInfo(n).id;void 0===Craft.AssetSelectorModal.transformUrls[t][a]&&i.push(a)}i.length?(this.showFooterSpinner(),this.fetchMissingTransformUrls(i,t,$.proxy(function(){this.hideFooterSpinner(),this.selectImagesWithTransform(t)},this))):(this._selectedTransform=t,this.selectElements(),this._selectedTransform=null)},fetchMissingTransformUrls:function(i,s,n){var a=i.pop(),t={assetId:a,handle:s};Craft.postActionRequest("assets/generate-transform",t,$.proxy(function(t,e){Craft.AssetSelectorModal.transformUrls[s][a]=!1,"success"!==e||t.url&&(Craft.AssetSelectorModal.transformUrls[s][a]=t.url),i.length?this.fetchMissingTransformUrls(i,s,n):n()},this))},getElementInfo:function(t){var e=this.base(t);if(this._selectedTransform)for(var i=0;i<e.length;i++){var s=e[i].id;void 0!==Craft.AssetSelectorModal.transformUrls[this._selectedTransform][s]&&!1!==Craft.AssetSelectorModal.transformUrls[this._selectedTransform][s]&&(e[i].url=Craft.AssetSelectorModal.transformUrls[this._selectedTransform][s])}return e},onSelect:function(t){this.settings.onSelect(t,this._selectedTransform)}},{defaults:{canSelectImageTransforms:!1,transforms:[]},transformUrls:{}}),Craft.registerElementSelectorModalClass("craft\\elements\\Asset",Craft.AssetSelectorModal),Craft.AuthManager=Garnish.Base.extend({remainingSessionTime:null,checkRemainingSessionTimer:null,showLoginModalTimer:null,decrementLogoutWarningInterval:null,showingLogoutWarningModal:!1,showingLoginModal:!1,logoutWarningModal:null,loginModal:null,$logoutWarningPara:null,$passwordInput:null,$passwordSpinner:null,$loginBtn:null,$loginErrorPara:null,submitLoginIfLoggedOut:!1,init:function(){this.updateRemainingSessionTime(Craft.remainingSessionTime)},setCheckRemainingSessionTimer:function(t){this.checkRemainingSessionTimer&&clearTimeout(this.checkRemainingSessionTimer),this.checkRemainingSessionTimer=setTimeout($.proxy(this,"checkRemainingSessionTime"),1e3*t)},checkRemainingSessionTime:function(t){$.ajax({url:Craft.getActionUrl("users/get-remaining-session-time",t?null:"dontExtendSession=1"),type:"GET",dataType:"json",complete:$.proxy(function(t,e){"success"===e?(void 0!==t.responseJSON.csrfTokenValue&&void 0!==Craft.csrfTokenValue&&(Craft.csrfTokenValue=t.responseJSON.csrfTokenValue),this.updateRemainingSessionTime(t.responseJSON.timeout),this.submitLoginIfLoggedOut=!1):this.updateRemainingSessionTime(-1)},this)})},updateRemainingSessionTime:function(t){this.remainingSessionTime=parseInt(t),-1!==this.remainingSessionTime&&this.remainingSessionTime<Craft.AuthManager.minSafeSessiotTime?(this.remainingSessionTime?(this.showingLogoutWarningModal||this.showLogoutWarningModal(),this.remainingSessionTime<Craft.AuthManager.checkInterval&&(this.showLoginModalTimer&&clearTimeout(this.showLoginModalTimer),this.showLoginModalTimer=setTimeout($.proxy(this,"showLoginModal"),1e3*this.remainingSessionTime))):this.showingLoginModal?this.submitLoginIfLoggedOut&&this.submitLogin():this.showLoginModal(),this.setCheckRemainingSessionTimer(Craft.AuthManager.checkInterval)):(this.hideLogoutWarningModal(),this.hideLoginModal(),-1!==this.remainingSessionTime&&this.remainingSessionTime<Craft.AuthManager.minSafeSessiotTime+Craft.AuthManager.checkInterval?this.setCheckRemainingSessionTimer(this.remainingSessionTime-Craft.AuthManager.minSafeSessiotTime+1):this.setCheckRemainingSessionTimer(Craft.AuthManager.checkInterval))},showLogoutWarningModal:function(){var t;if(t=!!this.showingLoginModal&&(this.hideLoginModal(!0),!0),this.showingLogoutWarningModal=!0,!this.logoutWarningModal){var e=$('<form id="logoutwarningmodal" class="modal alert fitted"/>'),i=$('<div class="body"/>').appendTo(e),s=$('<div class="buttons right"/>').appendTo(i),n=$('<div class="btn">'+Craft.t("app","Log out now")+"</div>").appendTo(s),a=$('<input type="submit" class="btn submit" value="'+Craft.t("app","Keep me logged in")+'" />').appendTo(s);this.$logoutWarningPara=$("<p/>").prependTo(i),this.logoutWarningModal=new Garnish.Modal(e,{autoShow:!1,closeOtherModals:!1,hideOnEsc:!1,hideOnShadeClick:!1,shadeClass:"modal-shade dark logoutwarningmodalshade",onFadeIn:function(){Garnish.isMobileBrowser(!0)||setTimeout(function(){a.trigger("focus")},100)}}),this.addListener(n,"activate","logout"),this.addListener(e,"submit","renewSession")}t?this.logoutWarningModal.quickShow():this.logoutWarningModal.show(),this.updateLogoutWarningMessage(),this.decrementLogoutWarningInterval=setInterval($.proxy(this,"decrementLogoutWarning"),1e3)},updateLogoutWarningMessage:function(){this.$logoutWarningPara.text(Craft.t("app","Your session will expire in {time}.",{time:Craft.secondsToHumanTimeDuration(this.remainingSessionTime)})),this.logoutWarningModal.updateSizeAndPosition()},decrementLogoutWarning:function(){0<this.remainingSessionTime&&(this.remainingSessionTime--,this.updateLogoutWarningMessage()),0===this.remainingSessionTime&&clearInterval(this.decrementLogoutWarningInterval)},hideLogoutWarningModal:function(t){this.showingLogoutWarningModal=!1,this.logoutWarningModal&&(t?this.logoutWarningModal.quickHide():this.logoutWarningModal.hide(),this.decrementLogoutWarningInterval&&clearInterval(this.decrementLogoutWarningInterval))},showLoginModal:function(){var t;if(t=!!this.showingLogoutWarningModal&&(this.hideLogoutWarningModal(!0),!0),this.showingLoginModal=!0,!this.loginModal){var e=$('<form id="loginmodal" class="modal alert fitted"/>'),i=$('<div class="body"><h2>'+Craft.t("app","Your session has ended.")+"</h2><p>"+Craft.t("app","Enter your password to log back in.")+"</p></div>").appendTo(e),s=$('<div class="inputcontainer">').appendTo(i),n=$('<div class="flex"/>').appendTo(s),a=$('<div class="flex-grow"/>').appendTo(n),r=$("<div/>").appendTo(n),o=$('<div class="passwordwrapper"/>').appendTo(a);this.$passwordInput=$('<input type="password" class="text password fullwidth" placeholder="'+Craft.t("app","Password")+'"/>').appendTo(o),this.$passwordSpinner=$('<div class="spinner hidden"/>').appendTo(s),this.$loginBtn=$('<input type="submit" class="btn submit disabled" value="'+Craft.t("app","Login")+'" />').appendTo(r),this.$loginErrorPara=$('<p class="error"/>').appendTo(i),this.loginModal=new Garnish.Modal(e,{autoShow:!1,closeOtherModals:!1,hideOnEsc:!1,hideOnShadeClick:!1,shadeClass:"modal-shade dark loginmodalshade",onFadeIn:$.proxy(function(){Garnish.isMobileBrowser(!0)||setTimeout($.proxy(function(){this.$passwordInput.trigger("focus")},this),100)},this),onFadeOut:$.proxy(function(){this.$passwordInput.val("")},this)}),new Craft.PasswordInput(this.$passwordInput,{onToggleInput:$.proxy(function(t){this.$passwordInput=t},this)}),this.addListener(this.$passwordInput,"textchange","validatePassword"),this.addListener(e,"submit","login")}t?this.loginModal.quickShow():this.loginModal.show()},hideLoginModal:function(t){this.showingLoginModal=!1,this.loginModal&&(t?this.loginModal.quickHide():this.loginModal.hide())},logout:function(){$.get({url:Craft.getActionUrl("users/logout"),dataType:"json",success:$.proxy(function(){Craft.redirectTo("")},this)})},renewSession:function(t){t&&t.preventDefault(),this.hideLogoutWarningModal(),this.checkRemainingSessionTime(!0)},validatePassword:function(){return 6<=this.$passwordInput.val().length?(this.$loginBtn.removeClass("disabled"),!0):(this.$loginBtn.addClass("disabled"),!1)},login:function(t){t&&t.preventDefault(),this.validatePassword()&&(this.$passwordSpinner.removeClass("hidden"),this.clearLoginError(),void 0!==Craft.csrfTokenValue?(this.submitLoginIfLoggedOut=!0,this.checkRemainingSessionTime()):this.submitLogin())},submitLogin:function(){var t={loginName:Craft.username,password:this.$passwordInput.val()};Craft.postActionRequest("users/login",t,$.proxy(function(t,e){this.$passwordSpinner.addClass("hidden"),"success"===e?t.success?(this.hideLoginModal(),this.checkRemainingSessionTime()):(this.showLoginError(t.error),Garnish.shake(this.loginModal.$container),Garnish.isMobileBrowser(!0)||this.$passwordInput.trigger("focus")):this.showLoginError()},this))},showLoginError:function(t){null==t&&(t=Craft.t("app","An unknown error occurred.")),this.$loginErrorPara.text(t),this.loginModal.updateSizeAndPosition()},clearLoginError:function(){this.showLoginError("")}},{checkInterval:60,minSafeSessiotTime:120}),Craft.CategoryIndex=Craft.BaseElementIndex.extend({editableGroups:null,$newCategoryBtnGroup:null,$newCategoryBtn:null,init:function(t,e,i){this.on("selectSource",$.proxy(this,"updateButton")),this.on("selectSite",$.proxy(this,"updateButton")),this.base(t,e,i)},afterInit:function(){this.editableGroups=[];for(var t=0;t<Craft.editableCategoryGroups.length;t++){var e=Craft.editableCategoryGroups[t];this.getSourceByKey("group:"+e.uid)&&this.editableGroups.push(e)}this.base()},getDefaultSourceKey:function(){if("index"===this.settings.context&&"undefined"!=typeof defaultGroupHandle)for(var t=0;t<this.$sources.length;t++){var e=$(this.$sources[t]);if(e.data("handle")===defaultGroupHandle)return e.data("key")}return this.base()},updateButton:function(){if(this.$source){var t,e,i,s=this.$source.data("handle");if(this.editableGroups.length){var n,a;if(this.$newCategoryBtnGroup&&this.$newCategoryBtnGroup.remove(),s)for(t=0;t<this.editableGroups.length;t++)if(this.editableGroups[t].handle===s){n=this.editableGroups[t];break}if(this.$newCategoryBtnGroup=$('<div class="btngroup submit"/>'),n?(e=this._getGroupTriggerHref(n),i="index"===this.settings.context?Craft.t("app","New category"):Craft.t("app","New {group} category",{group:n.name}),this.$newCategoryBtn=$('<a class="btn submit add icon" '+e+">"+Craft.escapeHtml(i)+"</a>").appendTo(this.$newCategoryBtnGroup),"index"!==this.settings.context&&this.addListener(this.$newCategoryBtn,"click",function(t){this._openCreateCategoryModal(t.currentTarget.getAttribute("data-id"))}),1<this.editableGroups.length&&(a=$('<div class="btn submit menubtn"></div>').appendTo(this.$newCategoryBtnGroup))):this.$newCategoryBtn=a=$('<div class="btn submit add icon menubtn">'+Craft.t("app","New category")+"</div>").appendTo(this.$newCategoryBtnGroup),a){var r='<div class="menu"><ul>';for(t=0;t<this.editableGroups.length;t++){var o=this.editableGroups[t];"index"!==this.settings.context&&o===n||(e=this._getGroupTriggerHref(o),i="index"===this.settings.context?o.name:Craft.t("app","New {group} category",{group:o.name}),r+="<li><a "+e+'">'+Craft.escapeHtml(i)+"</a></li>")}$(r+="</ul></div>").appendTo(this.$newCategoryBtnGroup);var l=new Garnish.MenuBtn(a);"index"!==this.settings.context&&l.on("optionSelect",$.proxy(function(t){this._openCreateCategoryModal(t.option.getAttribute("data-id"))},this))}this.addButton(this.$newCategoryBtnGroup)}if("index"===this.settings.context&&"undefined"!=typeof history){var h="categories";s&&(h+="/"+s),history.replaceState({},"",Craft.getUrl(h))}}},_getGroupTriggerHref:function(t){if("index"!==this.settings.context)return'data-id="'+t.id+'"';var e="categories/"+t.handle+"/new";if(this.siteId&&this.siteId!=Craft.primarySiteId)for(var i=0;i<Craft.sites.length;i++)Craft.sites[i].id==this.siteId&&(e+="/"+Craft.sites[i].handle);return'href="'+Craft.getUrl(e)+'"'},_openCreateCategoryModal:function(t){if(!this.$newCategoryBtn.hasClass("loading")){for(var i,e=0;e<this.editableGroups.length;e++)if(this.editableGroups[e].id==t){i=this.editableGroups[e];break}if(i){this.$newCategoryBtn.addClass("inactive");var s=this.$newCategoryBtn.text();this.$newCategoryBtn.text(Craft.t("app","New {group} category",{group:i.name})),Craft.createElementEditor(this.elementType,{hudTrigger:this.$newCategoryBtnGroup,elementType:"craft\\elements\\Category",siteId:this.siteId,attributes:{groupId:t},onBeginLoading:$.proxy(function(){this.$newCategoryBtn.addClass("loading")},this),onEndLoading:$.proxy(function(){this.$newCategoryBtn.removeClass("loading")},this),onHideHud:$.proxy(function(){this.$newCategoryBtn.removeClass("inactive").text(s)},this),onSaveElement:$.proxy(function(t){var e="group:"+i.uid;this.sourceKey!==e&&this.selectSourceByKey(e),this.selectElementAfterUpdate(t.id),this.updateElements()},this)})}}}}),Craft.registerElementIndexClass("craft\\elements\\Category",Craft.CategoryIndex),Craft.CategorySelectInput=Craft.BaseElementSelectInput.extend({setSettings:function(){this.base.apply(this,arguments),this.settings.sortable=!1},getModalSettings:function(){var t=this.base();return t.hideOnSelect=!1,t},getElements:function(){return this.$elementsContainer.find(".element")},onModalSelect:function(o){this.modal.disable(),this.modal.disableCancelBtn(),this.modal.disableSelectBtn(),this.modal.showFooterSpinner();for(var t=this.getSelectedElementIds(),e=0;e<o.length;e++)t.push(o[e].id);var i={categoryIds:t,siteId:o[0].siteId,id:this.settings.id,name:this.settings.name,branchLimit:this.settings.branchLimit,selectionLabel:this.settings.selectionLabel};Craft.postActionRequest("elements/get-categories-input-html",i,$.proxy(function(t,e){if(this.modal.enable(),this.modal.enableCancelBtn(),this.modal.enableSelectBtn(),this.modal.hideFooterSpinner(),"success"===e){var i=$(t.html).children(".elements");this.$elementsContainer.replaceWith(i),this.$elementsContainer=i,this.resetElements();for(var s=[],n=0;n<o.length;n++){var a=o[n],r=this.getElementById(a.id);r&&(this.animateElementIntoPlace(a.$element,r),s.push(a))}this.updateDisabledElementsInModal(),this.modal.hide(),this.onSelectElements(s)}},this))},removeElement:function(t){var e=t.add(t.parent().siblings("ul").find(".element"));this.removeElements(e);for(var i=0;i<e.length;i++)this._animateCategoryAway(e,i)},_animateCategoryAway:function(i,t){var e;t===i.length-1&&(e=$.proxy(function(){var t=i.first().parent().parent(),e=t.parent();e[0]===this.$elementsContainer[0]||t.siblings().length?t.remove():e.remove()},this));var s=$.proxy(function(){this.animateElementAway(i.eq(t),e)},this);0===t?s():setTimeout(s,100*t)}}),Craft.charts={},Craft.charts.DataTable=Garnish.Base.extend({columns:null,rows:null,init:function(t){columns=t.columns,rows=t.rows,rows.forEach($.proxy(function(i){$.each(i,function(t){var e;switch(columns[t].type){case"date":e=d3.timeParse("%Y-%m-%d"),i[t]=e(i[t]);break;case"datetime":e=d3.timeParse("%Y-%m-%d %H:00:00"),i[t]=e(i[t]);break;case"percent":i[t]=i[t]/100;break;case"number":i[t]=+i[t]}})},this)),this.columns=columns,this.rows=rows}}),Craft.charts.Tip=Garnish.Base.extend({$container:null,$tip:null,init:function(t){this.$container=t,this.$tip=$('<div class="tooltip"></div>').appendTo(this.$container),this.hide()},setContent:function(t){this.$tip.html(t)},setPosition:function(t){this.$tip.css("left",t.left+"px"),this.$tip.css("top",t.top+"px")},show:function(){this.$tip.css("display","block")},hide:function(){this.$tip.css("display","none")}}),Craft.charts.BaseChart=Garnish.Base.extend({$container:null,$chart:null,chartBaseClass:"cp-chart",dataTable:null,formatLocale:null,timeFormatLocale:null,orientation:null,svg:null,width:null,height:null,init:function(t,e){this.$container=t,this.setSettings(Craft.charts.BaseChart.defaults),this.setSettings(e);var i={formats:window.d3Formats,formatLocaleDefinition:window.d3FormatLocaleDefinition,timeFormatLocaleDefinition:window.d3TimeFormatLocaleDefinition};this.setSettings(i),d3.select(window).on("resize",$.proxy(function(){this.resize()},this))},setSettings:function(t,e){var i=void 0===this.settings?{}:this.settings;this.settings=$.extend(!0,{},i,e,t)},draw:function(t,e){this.setSettings(e),this.dataTable=t,this.formatLocale=d3.formatLocale(this.settings.formatLocaleDefinition),this.timeFormatLocale=d3.timeFormatLocale(this.settings.timeFormatLocaleDefinition),this.orientation=this.settings.orientation,this.$chart&&this.$chart.remove();var i=this.chartBaseClass;this.settings.chartClass&&(i+=" "+this.settings.chartClass),this.$chart=$('<div class="'+i+'" />').appendTo(this.$container)},resize:function(){this.draw(this.dataTable,this.settings)},onAfterDrawTicks:function(){$(".tick",this.$chart).each(function(t,e){var i=$("text",e);i.clone().appendTo(e),i.attr("stroke","#ffffff"),i.attr("stroke-width",3)})}},{defaults:{formatLocaleDefinition:null,timeFormatLocaleDefinition:null,formats:{numberFormat:",.2f",percentFormat:",.2%",currencyFormat:"$,.2f",shortDateFormats:{day:"%-m/%-d",month:"%-m/%y",year:"%Y"}},margin:{top:0,right:0,bottom:0,left:0},chartClass:null,colors:["#0594D1","#DE3800","#FF9A00","#009802","#9B009B"]}}),Craft.charts.Area=Craft.charts.BaseChart.extend({tip:null,drawingArea:null,init:function(t,e){this.base(t,Craft.charts.Area.defaults),this.setSettings(e)},draw:function(t,e){this.base(t,e),this.tip&&(this.tip=null);var i=this.getChartMargin();this.width=this.$chart.width()-i.left-i.right,this.height=this.$chart.height()-i.top-i.bottom;var s={width:this.width+(i.left+i.right),height:this.height+(i.top+i.bottom),translateX:"rtl"!==this.orientation?i.left:i.right,translateY:i.top};this.svg=d3.select(this.$chart.get(0)).append("svg").attr("width",s.width).attr("height",s.height),this.drawingArea=this.svg.append("g").attr("transform","translate("+s.translateX+","+s.translateY+")"),this.drawTicks(),this.drawAxes(),this.drawChart(),this.drawTipTriggers()},drawTicks:function(){var t=this.getX(!0),e=d3.axisBottom(t).tickFormat(this.getXFormatter()).ticks(3);this.drawingArea.append("g").attr("class","x ticks-axis").attr("transform","translate(0, "+this.height+")").call(e);var i,s=this.getY();"rtl"!==this.orientation?(i=d3.axisLeft(s).tickFormat(this.getYFormatter()).tickValues(this.getYTickValues()).ticks(2),this.drawingArea.append("g").attr("class","y ticks-axis").call(i)):(i=d3.axisRight(s).tickFormat(this.getYFormatter()).tickValues(this.getYTickValues()).ticks(2),this.drawingArea.append("g").attr("class","y ticks-axis").attr("transform","translate("+this.width+",0)").call(i)),this.onAfterDrawTicks()},drawAxes:function(){if(this.settings.xAxis.showAxis){var t=this.getX(),e=d3.axisBottom(t).ticks(0).tickSizeOuter(0);this.drawingArea.append("g").attr("class","x axis").attr("transform","translate(0, "+this.height+")").call(e)}if(this.settings.yAxis.showAxis){var i,s=this.getY();"rtl"===this.orientation?(i=d3.axisLeft(s).ticks(0),this.drawingArea.append("g").attr("class","y axis").attr("transform","translate("+(this.width-0)+", 0)").call(i)):(i=d3.axisRight(s).ticks(0),this.drawingArea.append("g").attr("class","y axis").attr("transform","translate(0, 0)").call(i))}},drawChart:function(){var e=this.getX(!0),i=this.getY();if(this.settings.xAxis.gridlines){var t=d3.axisBottom(e);this.drawingArea.append("g").attr("class","x grid-line").attr("transform","translate(0,"+this.height+")").call(t.tickSize(-this.height,0,0).tickFormat(""))}if(this.settings.yAxis.gridlines){var s=d3.axisLeft(i);this.drawingArea.append("g").attr("class","y grid-line").attr("transform","translate(0 , 0)").call(s.tickSize(-this.width,0).tickFormat("").tickValues(this.getYTickValues()).ticks(2))}var n=d3.line().x(function(t){return e(t[0])}).y(function(t){return i(t[1])});this.drawingArea.append("g").attr("class","chart-line").append("path").datum(this.dataTable.rows).style("fill","none").style("stroke",this.settings.colors[0]).style("stroke-width","3px").attr("d",n);var a=d3.area().x(function(t){return e(t[0])}).y0(this.height).y1(function(t){return i(t[1])});this.drawingArea.append("g").attr("class","chart-area").append("path").datum(this.dataTable.rows).style("fill",this.settings.colors[0]).style("fill-opacity","0.3").attr("d",a),this.settings.plots&&this.drawingArea.append("g").attr("class","plots").selectAll("circle").data(this.dataTable.rows).enter().append("circle").style("fill",this.settings.colors[0]).attr("class",$.proxy(function(t,e){return"plot plot-"+e},this)).attr("r",4).attr("cx",$.proxy(function(t){return e(t[0])},this)).attr("cy",$.proxy(function(t){return i(t[1])},this))},drawTipTriggers:function(){if(this.settings.tips){this.tip||(this.tip=new Craft.charts.Tip(this.$chart));var t=this.getChartMargin(),e=(this.drawingArea.select(".x path.domain").node().getTotalLength()-t.left-t.right-12)/(this.dataTable.rows.length-1),i=Math.max(0,e),c=this.getX(!0),u=this.getY();this.drawingArea.append("g").attr("class","tip-triggers").selectAll("rect").data(this.dataTable.rows).enter().append("rect").attr("class","tip-trigger").style("fill","transparent").style("fill-opacity","1").attr("width",i).attr("height",this.height).attr("x",$.proxy(function(t){return c(t[0])-i/2},this)).on("mouseover",$.proxy(function(t,e){this.drawingArea.select(".plot-"+e).attr("r",5);var i=$("<div />"),s=$('<div class="x-value" />').appendTo(i),n=$('<div class="y-value" />').appendTo(i);s.html(this.getXFormatter()(t[0])),n.html(this.getYFormatter()(t[1]));var a=i.get(0);this.tip.setContent(a);var r,o=this.getChartMargin(),l=u(t[1])+24;if("rtl"!==this.orientation){r=c(t[0])+o.left+24;var h=this.$chart.offset().left+r+this.tip.$tip.width();this.$chart.offset().left+this.$chart.width()-24<h&&(r=c(t[0])-(this.tip.$tip.width()+24))}else r=c(t[0])-(this.tip.$tip.width()+o.left+24);r<0&&(r=c(t[0])+o.left+24);var d={top:l,left:r};this.tip.setPosition(d),this.tip.show()},this)).on("mouseout",$.proxy(function(t,e){this.drawingArea.select(".plot-"+e).attr("r",4),this.tip.hide()},this))}},getChartMargin:function(){var t=this.settings.margin,e=this.getYTickValues(),s=0;return $.each(e,$.proxy(function(t,e){var i=8*this.getYFormatter()(e).length;s<i&&(s=i)},this)),s+=10,t.left=s,t},getX:function(t){var e=d3.min(this.dataTable.rows,function(t){return t[0]}),i=d3.max(this.dataTable.rows,function(t){return t[0]}),s=[e,i];"rtl"===this.orientation&&(s=[i,e]);var n=0,a=0;t&&(a=n=0);var r=d3.scaleTime().range([n,this.width-a]);return r.domain(s),r},getY:function(){var t=[0,this.getYMaxValue()],e=d3.scaleLinear().range([this.height,0]);return e.domain(t),e},getXFormatter:function(){return this.settings.xAxis.formatter!==$.noop?this.settings.xAxis.formatter(this):Craft.charts.utils.getTimeFormatter(this.timeFormatLocale,this.settings)},getYFormatter:function(){return this.settings.yAxis.formatter!==$.noop?this.settings.yAxis.formatter(this):Craft.charts.utils.getNumberFormatter(this.formatLocale,this.dataTable.columns[1].type,this.settings)},getYMaxValue:function(){return d3.max(this.dataTable.rows,function(t){return t[1]})},getYTickValues:function(){var t=this.getYMaxValue();return 1<t?[t/2,t]:[0,t]}},{defaults:{chartClass:"area",margin:{top:25,right:5,bottom:25,left:0},plots:!0,tips:!0,xAxis:{gridlines:!1,showAxis:!0,formatter:$.noop},yAxis:{gridlines:!0,showAxis:!1,formatter:$.noop}}}),Craft.charts.utils={getDuration:function(t){var e=parseInt(t,10),i={hours:Math.floor(e/3600),minutes:Math.floor((e-3600*i.hours)/60),seconds:e-3600*i.hours-60*i.minutes};return i.hours<10&&(i.hours="0"+i.hours),i.minutes<10&&(i.minutes="0"+i.minutes),i.seconds<10&&(i.seconds="0"+i.seconds),i.hours+":"+i.minutes+":"+i.seconds},getTimeFormatter:function(t,e){switch(e.dataScale){case"year":return t.format("%Y");case"month":return t.format(e.formats.shortDateFormats.month);case"hour":return t.format(e.formats.shortDateFormats.day+" %H:00:00");default:return t.format(e.formats.shortDateFormats.day)}},getNumberFormatter:function(t,e,i){switch(e){case"currency":return t.format(i.formats.currencyFormat);case"percent":return t.format(i.formats.percentFormat);case"time":return Craft.charts.utils.getDuration;case"number":return t.format(i.formats.numberFormat)}}},Craft.ColorInput=Garnish.Base.extend({$container:null,$input:null,$colorContainer:null,$colorPreview:null,$colorInput:null,init:function(t){this.$container=$(t),this.$input=this.$container.children(".color-input"),this.$colorContainer=this.$container.children(".color"),this.$colorPreview=this.$colorContainer.children(".color-preview"),this.createColorInput(),this.handleTextChange(),this.addListener(this.$input,"textchange","handleTextChange")},createColorInput:function(){var t=document.createElement("input");t.setAttribute("type","color"),"color"===t.type&&(this.$colorContainer.removeClass("static"),this.$colorInput=$(t).addClass("hidden").insertAfter(this.$input),this.addListener(this.$colorContainer,"click",function(){this.$colorInput.trigger("click")}),this.addListener(this.$colorInput,"change","updateColor"))},updateColor:function(){this.$input.val(this.$colorInput.val()),this.$input.data("garnish-textchange-value",this.$colorInput.val()),this.handleTextChange()},handleTextChange:function(){var t=this.$input.val();t.length&&"#"!==t?("#"!==t[0]&&(t="#"+t,this.$input.val(t),this.$input.data("garnish-textchange-value",t)),this.$colorPreview.css("background-color",t),this.$colorInput&&this.$colorInput.val(t)):this.$colorPreview.css("background-color","")}},{_browserSupportsColorInputs:null,doesBrowserSupportColorInputs:function(){return Craft.ColorInput._browserSupportsColorInputs,Craft.ColorInput._browserSupportsColorInputs}}),Craft.CP=Garnish.Base.extend({authManager:null,$nav:null,$mainContainer:null,$alerts:null,$crumbs:null,$notificationContainer:null,$main:null,$primaryForm:null,$header:null,$mainContent:null,$details:null,$selectedTab:null,$sidebar:null,$contentContainer:null,$edition:null,$collapsibleTables:null,fixedHeader:!1,enableQueue:!0,jobInfo:null,displayedJobInfo:null,displayedJobInfoUnchanged:1,trackJobProgressTimeout:null,jobProgressIcon:null,checkingForUpdates:!1,forcingRefreshOnUpdatesCheck:!1,checkForUpdatesCallbacks:null,init:function(){0!==Craft.remainingSessionTime&&(this.authManager=new Craft.AuthManager),this.$nav=$("#nav"),this.$mainContainer=$("#main-container"),this.$alerts=$("#alerts"),this.$crumbs=$("#crumbs"),this.$notificationContainer=$("#notifications"),this.$main=$("#main"),this.$primaryForm=$("#main-form"),this.$header=$("#header"),this.$mainContent=$("#main-content"),this.$details=$("#details"),this.$sidebar=$("#sidebar"),this.$contentContainer=$("#content-container"),this.$collapsibleTables=$("table.collapsible"),this.$edition=$("#edition"),this.updateSidebarMenuLabel(),this.addListener(Garnish.$win,"scroll","updateFixedHeader"),this.updateFixedHeader(),Garnish.$doc.ready($.proxy(function(){this.addListener(Garnish.$win,"resize","updateResponsiveTables"),this.updateResponsiveTables();var t=this.$notificationContainer.children(".error"),e=this.$notificationContainer.children(":not(.error)");t.delay(2*Craft.CP.notificationDuration).velocity("fadeOut"),e.delay(Craft.CP.notificationDuration).velocity("fadeOut"),Garnish.requestAnimationFrame($.proxy(this,"initConfirmUnloadForms"))},this)),this.$alerts.length&&this.initAlerts(),this.addListener($("#nav-toggle"),"click","toggleNav"),this.addListener($("#sidebar-toggle"),"click","toggleSidebar"),this.$primaryForm.length||(this.$primaryForm=$("form[data-saveshortcut]:first")),this.$primaryForm.length&&Garnish.hasAttr(this.$primaryForm,"data-saveshortcut")&&this.addListener(Garnish.$doc,"keydown",function(t){return Garnish.isCtrlKeyPressed(t)&&t.keyCode===Garnish.S_KEY&&(t.preventDefault(),this.submitPrimaryForm()),!0}),this.initTabs(),this.$edition.hasClass("hot")&&this.addListener(this.$edition,"click",function(){document.location.href=Craft.getUrl("plugin-store/upgrade-craft")}),$.isTouchCapable()&&(this.$mainContainer.on("focus","input, textarea, .focusable-input",$.proxy(this,"_handleInputFocus")),this.$mainContainer.on("blur","input, textarea, .focusable-input",$.proxy(this,"_handleInputBlur"))),$("a").each(function(){this.hostname.length&&this.hostname!==location.hostname&&void 0===$(this).attr("target")&&$(this).attr("rel","noopener").attr("target","_blank")})},initConfirmUnloadForms:function(){if(this.$confirmUnloadForms=$("form[data-confirm-unload]"),this.$confirmUnloadForms.length){for(var t,e,i=0;i<this.$confirmUnloadForms.length;i++)(t=this.$confirmUnloadForms.eq(i)).data("initialSerializedValue")||(e="function"==typeof t.data("serializer")?t.data("serializer")():t.serialize(),t.data("initialSerializedValue",e)),this.addListener(t,"submit",function(){this.removeListener(Garnish.$win,"beforeunload")});this.addListener(Garnish.$win,"beforeunload",function(t){var e,i,s=!1;if(void 0!==Craft.livePreview&&Craft.livePreview.inPreviewMode)s=!0;else for(var n=0;n<this.$confirmUnloadForms.length;n++)if(i="function"==typeof(e=this.$confirmUnloadForms.eq(n)).data("serializer")?e.data("serializer")():e.serialize(),e.data("initialSerializedValue")!==i){s=!0;break}if(s){var a=Craft.t("app","Any changes will be lost if you leave this page.");return t?t.originalEvent.returnValue=a:window.event.returnValue=a,a}})}},_handleInputFocus:function(){this.updateFixedHeader()},_handleInputBlur:function(){this.updateFixedHeader()},submitPrimaryForm:function(){this.trigger("beforeSaveShortcut"),this.$primaryForm.data("saveshortcut-redirect")&&$('<input type="hidden" name="redirect" value="'+this.$primaryForm.data("saveshortcut-redirect")+'"/>').appendTo(this.$primaryForm),this.$primaryForm.trigger({type:"submit",saveShortcut:!0})},updateSidebarMenuLabel:function(){var t=this.$sidebar.find("a.sel:first"),e=t.children(".label");$("#selected-sidebar-item-label").text(e.length?e.text():t.text()),Garnish.$bod.removeClass("showing-sidebar")},toggleNav:function(){Garnish.$bod.toggleClass("showing-nav")},toggleSidebar:function(){Garnish.$bod.toggleClass("showing-sidebar")},initTabs:function(){this.$selectedTab=null;var t,e,i,s=$("#tabs").find("> ul > li"),n=[],a=[],r=0;for(t=0;t<s.length;t++)n[t]=$(s[t]),a[t]=n[t].width(),r+=a[t],(i=(e=n[t].children("a")).attr("href"))&&"#"===i.charAt(0)&&(this.addListener(e,"click",function(t){t.preventDefault(),this.selectTab(t.currentTarget)}),encodeURIComponent(i.substr(1))===document.location.hash.substr(1)&&this.selectTab(e)),!this.$selectedTab&&e.hasClass("sel")&&(this.$selectedTab=e);for(t=0;t<s.length;t++)n[t].css("max-width",100*a[t]/r+"%")},selectTab:function(t){var e=$(t);if(this.$selectedTab){if(this.$selectedTab.get(0)===e.get(0))return;this.deselectTab()}e.addClass("sel");var i=e.attr("href");$(i).removeClass("hidden"),"undefined"!=typeof history&&history.replaceState(void 0,void 0,i),Garnish.$win.trigger("resize"),Garnish.$doc.trigger("scroll"),this.$selectedTab=e},deselectTab:function(){this.$selectedTab&&(this.$selectedTab.removeClass("sel"),"#"===this.$selectedTab.attr("href").charAt(0)&&$(this.$selectedTab.attr("href")).addClass("hidden"),this.$selectedTab=null)},updateResponsiveTables:function(){for(this.updateResponsiveTables._i=0;this.updateResponsiveTables._i<this.$collapsibleTables.length;this.updateResponsiveTables._i++)this.updateResponsiveTables._$table=this.$collapsibleTables.eq(this.updateResponsiveTables._i),this.updateResponsiveTables._containerWidth=this.updateResponsiveTables._$table.parent().width(),this.updateResponsiveTables._check=!1,0<this.updateResponsiveTables._containerWidth&&(void 0===this.updateResponsiveTables._$table.data("lastContainerWidth")?this.updateResponsiveTables._check=!0:(this.updateResponsiveTables._isCollapsed=this.updateResponsiveTables._$table.hasClass("collapsed"),this.updateResponsiveTables._containerWidth>this.updateResponsiveTables._$table.data("lastContainerWidth")?this.updateResponsiveTables._isCollapsed&&(this.updateResponsiveTables._$table.removeClass("collapsed"),this.updateResponsiveTables._check=!0):this.updateResponsiveTables._isCollapsed||(this.updateResponsiveTables._check=!0)),!this.updateResponsiveTables._check||this.updateResponsiveTables._$table.width()>this.updateResponsiveTables._containerWidth&&this.updateResponsiveTables._$table.addClass("collapsed"),this.updateResponsiveTables._$table.data("lastContainerWidth",this.updateResponsiveTables._containerWidth))},updateFixedHeader:function(){if(this.$main.length&&this.$main[0].getBoundingClientRect().top<0){if(!this.fixedHeader){var t=this.$header.outerHeight(),e={top:t+"px","max-height":"calc(100vh - "+t+"px)"};this.$sidebar.css(e),this.$details.css(e),this.$mainContent.css("margin-top",this.$header.outerHeight()),Garnish.$bod.addClass("fixed-header"),this.fixedheader=!0}}else this.fixedheader&&(Garnish.$bod.removeClass("fixed-header"),this.$details.css({top:null,"max-height":null}),this.$header.css("top",0),this.$mainContent.css("margin-top",0),this.fixedheader=!1)},displayNotification:function(t,e){var i=Craft.CP.notificationDuration;"error"===t&&(i*=2);var s=$('<div class="notification '+t+'">'+e+"</div>").appendTo(this.$notificationContainer),n=-s.outerWidth()/2+"px";s.hide().css({opacity:0,"margin-left":n,"margin-right":n}).velocity({opacity:1,"margin-left":"2px","margin-right":"2px"},{display:"inline-block",duration:"fast"}).delay(i).velocity({opacity:0,"margin-left":n,"margin-right":n},{complete:function(){s.remove()}}),this.trigger("displayNotification",{notificationType:t,message:e})},displayNotice:function(t){this.displayNotification("notice",t)},displayError:function(t){t||(t=Craft.t("app","An unknown error occurred.")),this.displayNotification("error",t)},fetchAlerts:function(){var t={path:Craft.path};Craft.queueActionRequest("app/get-cp-alerts",t,$.proxy(this,"displayAlerts"))},displayAlerts:function(t){if(this.$alerts.remove(),Garnish.isArray(t)&&t.length){this.$alerts=$('<ul id="alerts"/>').prependTo(this.$mainContainer);for(var e=0;e<t.length;e++)$("<li>"+t[e]+"</li>").appendTo(this.$alerts);var i=this.$alerts.outerHeight();this.$alerts.css("margin-top",-i).velocity({"margin-top":0},"fast"),this.initAlerts()}},initAlerts:function(){for(var t=this.$alerts.find('a[class^="shun:"]'),e=0;e<t.length;e++)this.addListener(t[e],"click",$.proxy(function(t){t.preventDefault();var i=$(t.currentTarget),e={message:i.prop("className").substr(5)};Craft.queueActionRequest("app/shun-cp-alert",e,$.proxy(function(t,e){"success"===e&&(t.success?i.parent().remove():this.displayError(t.error))},this))},this))},checkForUpdates:function(t,e){if(this.checkingForUpdates&&!0===t&&!this.forcingRefreshOnUpdatesCheck){var i=e;e=function(){Craft.cp.checkForUpdates(!0,i)}}if("function"==typeof e&&(Garnish.isArray(this.checkForUpdatesCallbacks)||(this.checkForUpdatesCallbacks=[]),this.checkForUpdatesCallbacks.push(e)),!this.checkingForUpdates){this.checkingForUpdates=!0,this.forcingRefreshOnUpdatesCheck=!0===t;var s={forceRefresh:!0===t};Craft.queueActionRequest("app/check-for-updates",s,$.proxy(function(t){if(this.updateUtilitiesBadge(),this.checkingForUpdates=!1,Garnish.isArray(this.checkForUpdatesCallbacks)){var e=this.checkForUpdatesCallbacks;this.checkForUpdatesCallbacks=null;for(var i=0;i<e.length;i++)e[i](t)}this.trigger("checkForUpdates",{updateInfo:t})},this))}},updateUtilitiesBadge:function(){var i=$("#nav-utilities").find("> a:not(.sel)");i.length&&Craft.queueActionRequest("app/get-utilities-badge-count",$.proxy(function(t){var e=i.children(".badge");t.badgeCount?(e.length||(e=$('<span class="badge"/>').appendTo(i)),e.text(t.badgeCount)):e.length&&e.remove()},this))},runQueue:function(){this.enableQueue&&(Craft.runQueueAutomatically?Craft.queueActionRequest("queue/run",$.proxy(function(t,e){"success"===e&&this.trackJobProgress(!1,!0)},this)):this.trackJobProgress(!1,!0))},trackJobProgress:function(t,e){if(e&&this.trackJobProgressTimeout&&(clearTimeout(this.trackJobProgressTimeout),this.trackJobProgressTimeout=null),!this.trackJobProgressTimeout&&this.enableQueue)if(!0===t){var i=Math.min(6e4,500*this.displayedJobInfoUnchanged);this.trackJobProgressTimeout=setTimeout($.proxy(this,"_trackJobProgressInternal"),i)}else this._trackJobProgressInternal()},_trackJobProgressInternal:function(){Craft.queueActionRequest("queue/get-job-info?dontExtendSession=1",$.proxy(function(t,e){"success"===e&&(this.trackJobProgressTimeout=null,this.setJobInfo(t,!0),this.jobInfo.length&&this.trackJobProgress(!0))},this))},setJobInfo:function(t,e){if(this.enableQueue){this.jobInfo=t;var i=this.displayedJobInfo;this.displayedJobInfo=this.getDisplayedJobInfo(),i&&this.displayedJobInfo&&i.id===this.displayedJobInfo.id&&i.progress===this.displayedJobInfo.progress&&i.progressLabel===this.displayedJobInfo.progressLabel&&i.status===this.displayedJobInfo.status?this.displayedJobInfoUnchanged++:this.displayedJobInfoUnchanged=1,this.updateJobIcon(e),this.trigger("setJobInfo")}},getDisplayedJobInfo:function(){if(!this.enableQueue)return null;for(var t=[Craft.CP.JOB_STATUS_RESERVED,Craft.CP.JOB_STATUS_FAILED,Craft.CP.JOB_STATUS_WAITING],e=0;e<t.length;e++)for(var i=0;i<this.jobInfo.length;i++)if(this.jobInfo[i].status===t[e])return this.jobInfo[i]},updateJobIcon:function(t){this.enableQueue&&this.$nav.length&&(this.displayedJobInfo?(this.jobProgressIcon||(this.jobProgressIcon=new e),this.displayedJobInfo.status===Craft.CP.JOB_STATUS_RESERVED||this.displayedJobInfo.status===Craft.CP.JOB_STATUS_WAITING?(this.jobProgressIcon.hideFailMode(),this.jobProgressIcon.setDescription(this.displayedJobInfo.description),this.jobProgressIcon.setProgress(this.displayedJobInfo.progress,t)):this.displayedJobInfo.status===Craft.CP.JOB_STATUS_FAILED&&this.jobProgressIcon.showFailMode(Craft.t("app","Failed"))):this.jobProgressIcon&&(this.jobProgressIcon.hideFailMode(),this.jobProgressIcon.complete(),delete this.jobProgressIcon))}},{notificationDuration:2e3,JOB_STATUS_WAITING:1,JOB_STATUS_RESERVED:2,JOB_STATUS_DONE:3,JOB_STATUS_FAILED:4}),Garnish.$scrollContainer=$("#content"),Craft.cp=new Craft.CP;var e=Garnish.Base.extend({$li:null,$a:null,$label:null,hud:null,failMode:!1,_canvasSupported:null,_$bgCanvas:null,_$staticCanvas:null,_$hoverCanvas:null,_$failCanvas:null,_staticCtx:null,_hoverCtx:null,_canvasSize:null,_arcPos:null,_arcRadius:null,_lineWidth:null,_arcStartPos:0,_arcEndPos:0,_arcStartStepSize:null,_arcEndStepSize:null,_arcStep:null,_arcStepTimeout:null,_arcAnimateCallback:null,_progressBar:null,init:function(){if(this.$li=$("<li/>").appendTo(Craft.cp.$nav.children("ul")),this.$a=$('<a id="job-icon"/>').appendTo(this.$li),this.$canvasContainer=$('<span class="icon"/>').appendTo(this.$a),this.$label=$('<span class="label"></span>').appendTo(this.$a),this._canvasSupported=!!document.createElement("canvas").getContext,this._canvasSupported){var t=1<window.devicePixelRatio?2:1;this._canvasSize=18*t,this._arcPos=this._canvasSize/2,this._arcRadius=7*t,this._lineWidth=3*t,this._$bgCanvas=this._createCanvas("bg","#61666b"),this._$staticCanvas=this._createCanvas("static","#d7d9db"),this._$hoverCanvas=this._createCanvas("hover","#fff"),this._$failCanvas=this._createCanvas("fail","#da5a47").hide(),this._staticCtx=this._$staticCanvas[0].getContext("2d"),this._hoverCtx=this._$hoverCanvas[0].getContext("2d"),this._drawArc(this._$bgCanvas[0].getContext("2d"),0,1),this._drawArc(this._$failCanvas[0].getContext("2d"),0,1)}else this._progressBar=new Craft.ProgressBar(this.$canvasContainer),this._progressBar.showProgressBar();this.addListener(this.$a,"click","toggleHud")},setDescription:function(t){this.$a.attr("title",t),this.$label.text(t)},setProgress:function(t,e){this._canvasSupported?e?this._animateArc(0,t/100):this._setArc(0,t/100):this._progressBar.setProgressPercentage(t)},complete:function(){this._canvasSupported?this._animateArc(0,1,$.proxy(function(){this._$bgCanvas.velocity("fadeOut"),this._animateArc(1,1,$.proxy(function(){this.$a.remove(),this.destroy()},this))},this)):(this._progressBar.setProgressPercentage(100),this.$a.velocity("fadeOut"))},showFailMode:function(t){this.failMode||(this.failMode=!0,this._canvasSupported?(this._$bgCanvas.hide(),this._$staticCanvas.hide(),this._$hoverCanvas.hide(),this._$failCanvas.show()):(this._progressBar.$progressBar.css("border-color","#da5a47"),this._progressBar.$innerProgressBar.css("background-color","#da5a47"),this._progressBar.setProgressPercentage(50)),this.setDescription(t))},hideFailMode:function(){this.failMode&&(this.failMode=!1,this._canvasSupported?(this._$bgCanvas.show(),this._$staticCanvas.show(),this._$hoverCanvas.show(),this._$failCanvas.hide()):(this._progressBar.$progressBar.css("border-color",""),this._progressBar.$innerProgressBar.css("background-color",""),this._progressBar.setProgressPercentage(50)))},toggleHud:function(){this.hud?this.hud.toggle():this.hud=new o},_createCanvas:function(t,e){var i=$('<canvas id="job-icon-'+t+'" width="'+this._canvasSize+'" height="'+this._canvasSize+'"/>').appendTo(this.$canvasContainer),s=i[0].getContext("2d");return s.strokeStyle=e,s.lineWidth=this._lineWidth,s.lineCap="round",i},_setArc:function(t,e){this._arcStartPos=t,this._arcEndPos=e,this._drawArc(this._staticCtx,t,e),this._drawArc(this._hoverCtx,t,e)},_drawArc:function(t,e,i){t.clearRect(0,0,this._canvasSize,this._canvasSize),t.beginPath(),t.arc(this._arcPos,this._arcPos,this._arcRadius,(1.5+2*e)*Math.PI,(1.5+2*i)*Math.PI),t.stroke(),t.closePath()},_animateArc:function(t,e,i){this._arcStepTimeout&&clearTimeout(this._arcStepTimeout),this._arcStep=0,this._arcStartStepSize=(t-this._arcStartPos)/10,this._arcEndStepSize=(e-this._arcEndPos)/10,this._arcAnimateCallback=i,this._takeNextArcStep()},_takeNextArcStep:function(){this._setArc(this._arcStartPos+this._arcStartStepSize,this._arcEndPos+this._arcEndStepSize),this._arcStep++,this._arcStep<10?this._arcStepTimeout=setTimeout($.proxy(this,"_takeNextArcStep"),50):this._arcAnimateCallback&&this._arcAnimateCallback()}}),o=Garnish.HUD.extend({jobsById:null,completedJobs:null,updateViewProxy:null,init:function(){this.jobsById={},this.completedJobs=[],this.updateViewProxy=$.proxy(this,"updateView"),this.base(Craft.cp.jobProgressIcon.$a),this.$main.attr("id","queue-hud")},onShow:function(){Craft.cp.on("setJobInfo",this.updateViewProxy),this.updateView(),this.base()},onHide:function(){if(Craft.cp.off("setJobInfo",this.updateViewProxy),this.completedJobs.length){for(var t=0;t<this.completedJobs.length;t++)this.completedJobs[t].destroy();this.completedJobs=[]}this.base()},updateView:function(){var t,e=[];if(Craft.cp.jobInfo)for(t=0;t<Craft.cp.jobInfo.length;t++)e.push(parseInt(Craft.cp.jobInfo[t].id));for(var i in this.jobsById)this.jobsById.hasOwnProperty(i)&&(Craft.inArray(parseInt(i),e)||(this.jobsById[i].complete(),this.completedJobs.push(this.jobsById[i]),delete this.jobsById[i]));if(Craft.cp.jobInfo&&Craft.cp.jobInfo.length)for(t=0;t<Craft.cp.jobInfo.length;t++){var s=Craft.cp.jobInfo[t];if(this.jobsById[s.id])this.jobsById[s.id].updateStatus(s);else{this.jobsById[s.id]=new o.Job(this,s);for(var n=!1,a=t+1;a<Craft.cp.jobInfo.length;a++)if(this.jobsById[Craft.cp.jobInfo[a].id]){this.jobsById[s.id].$container.insertBefore(this.jobsById[Craft.cp.jobInfo[a].id].$container),n=!0;break}if(!n){var r=this.$main.children("object");r.length?this.jobsById[s.id].$container.insertBefore(r):this.jobsById[s.id].$container.appendTo(this.$main)}}}else this.hide()}});o.Job=Garnish.Base.extend({hud:null,id:null,description:null,status:null,progress:null,$container:null,$statusContainer:null,$descriptionContainer:null,$progressLabel:null,_progressBar:null,init:function(t,e){this.hud=t,this.id=e.id,this.description=e.description,this.$container=$("<div/>",{class:"job"});var i=$("<div/>",{class:"flex"}).appendTo(this.$container);$("<div/>",{class:"flex-grow"}).text(e.description).appendTo(i),this.$statusContainer=$('<div class="job-status"/>').appendTo(i),this.$container.data("job",this),this.updateStatus(e)},updateStatus:function(t){if(this.status!==(this.status=t.status))switch(this.$statusContainer.empty(),this.status){case Craft.CP.JOB_STATUS_WAITING:this.$statusContainer.text(Craft.t("app","Pending"));break;case Craft.CP.JOB_STATUS_RESERVED:this._progressBar=new Craft.ProgressBar(this.$statusContainer),this._progressBar.showProgressBar();break;case Craft.CP.JOB_STATUS_FAILED:$("<span/>",{class:"error",text:Craft.t("app","Failed"),title:t.error}).appendTo(this.$statusContainer);var e=$('<a class="menubtn error" title="'+Craft.t("app","Options")+'"/>').appendTo(this.$statusContainer);$('<div class="menu"><ul><li><a data-action="retry">'+Craft.t("app","Try again")+'</a></li><li><a data-action="release">'+Craft.t("app","Cancel")+"</a></li></ul></div>").appendTo(this.$statusContainer),new Garnish.MenuBtn(e,{onOptionSelect:$.proxy(this,"performErrorAction")})}this.status===Craft.CP.JOB_STATUS_RESERVED?(this._progressBar.setProgressPercentage(t.progress),t.progressLabel&&(this.$progressLabel||(this.$progressLabel=$('<div class="light smalltext"/>').appendTo(this.$container)),this.$progressLabel.text(t.progressLabel))):this.$progressLabel&&(this.$progressLabel.remove(),this.$progressLabel=null)},performErrorAction:function(t){switch($(t).data("action")){case"retry":Craft.cp.displayedJobInfo.status=Craft.CP.JOB_STATUS_WAITING,Craft.cp.displayedJobInfo.progress=0,Craft.cp.updateJobIcon(!1),Craft.postActionRequest("queue/retry",{id:this.id},$.proxy(function(t,e){"success"===e&&Craft.cp.trackJobProgress(!1,!0)},this));break;case"release":Craft.postActionRequest("queue/release",{id:this.id},$.proxy(function(t,e){"success"===e&&Craft.cp.trackJobProgress(!1,!0)},this))}},complete:function(){this.$statusContainer.empty(),$('<div data-icon="check"/>').appendTo(this.$statusContainer)},destroy:function(){this.hud.jobsById[this.id]&&delete this.hud.jobsById[this.id],this.$container.remove(),this.base()}}),Craft.CustomizeSourcesModal=Garnish.Modal.extend({elementIndex:null,$elementIndexSourcesContainer:null,$sidebar:null,$sourcesContainer:null,$sourceSettingsContainer:null,$newHeadingBtn:null,$footer:null,$footerBtnContainer:null,$saveBtn:null,$cancelBtn:null,$saveSpinner:null,$loadingSpinner:null,sourceSort:null,sources:null,selectedSource:null,updateSourcesOnSave:!1,availableTableAttributes:null,init:function(t,e){this.base(),this.setSettings(e,{resizable:!0}),this.elementIndex=t,this.$elementIndexSourcesContainer=this.elementIndex.$sidebar.children("nav").children("ul");var i=$('<form class="modal customize-sources-modal"/>').appendTo(Garnish.$bod);this.$sidebar=$('<div class="cs-sidebar block-types"/>').appendTo(i),this.$sourcesContainer=$('<div class="sources">').appendTo(this.$sidebar),this.$sourceSettingsContainer=$('<div class="source-settings">').appendTo(i),this.$footer=$('<div class="footer"/>').appendTo(i),this.$footerBtnContainer=$('<div class="buttons right"/>').appendTo(this.$footer),this.$cancelBtn=$('<div class="btn" role="button"/>').text(Craft.t("app","Cancel")).appendTo(this.$footerBtnContainer),this.$saveBtn=$('<div class="btn submit disabled" role="button"/>').text(Craft.t("app","Save")).appendTo(this.$footerBtnContainer),this.$saveSpinner=$('<div class="spinner hidden"/>').appendTo(this.$footerBtnContainer),this.$newHeadingBtn=$('<div class="btn submit add icon"/>').text(Craft.t("app","New heading")).appendTo($('<div class="buttons left secondary-buttons"/>').appendTo(this.$footer)),this.$loadingSpinner=$('<div class="spinner"/>').appendTo(i),this.setContainer(i),this.show();var s={elementType:this.elementIndex.elementType};Craft.postActionRequest("element-index-settings/get-customize-sources-modal-data",s,$.proxy(function(t,e){this.$loadingSpinner.remove(),"success"===e&&(this.$saveBtn.removeClass("disabled"),this.buildModal(t))},this)),this.addListener(this.$newHeadingBtn,"click","handleNewHeadingBtnClick"),this.addListener(this.$cancelBtn,"click","hide"),this.addListener(this.$saveBtn,"click","save"),this.addListener(this.$container,"submit","save")},buildModal:function(t){this.availableTableAttributes=t.availableTableAttributes,this.sourceSort=new Garnish.DragSort({handle:".move",axis:"y",onSortChange:$.proxy(function(){this.updateSourcesOnSave=!0},this)}),this.sources=[];for(var e=0;e<t.sources.length;e++){var i=this.addSource(t.sources[e]);this.sources.push(i)}this.selectedSource||void 0===this.sources[0]||this.sources[0].select()},addSource:function(t){var e,i=$('<div class="customize-sources-item"/>').appendTo(this.$sourcesContainer),s=$('<div class="label"/>').appendTo(i),n=$('<input type="hidden"/>').appendTo(i);return $('<a class="move icon" title="'+Craft.t("app","Reorder")+'" role="button"></a>').appendTo(i),void 0!==t.heading?(i.addClass("heading"),n.attr("name","sourceOrder[][heading]"),(e=new Craft.CustomizeSourcesModal.Heading(this,i,s,n,t)).updateItemLabel(t.heading)):(n.attr("name","sourceOrder[][key]").val(t.key),(e=new Craft.CustomizeSourcesModal.Source(this,i,s,n,t)).updateItemLabel(t.label),(this.elementIndex.sourceKey+"/").substr(0,t.key.length+1)===t.key+"/"&&e.select()),this.sourceSort.addItems(i),e},handleNewHeadingBtnClick:function(){var t=this.addSource({heading:""});Garnish.scrollContainerToElement(this.$sidebar,t.$item),t.select(),this.updateSourcesOnSave=!0},save:function(t){if(t&&t.preventDefault(),!this.$saveBtn.hasClass("disabled")&&this.$saveSpinner.hasClass("hidden")){this.$saveSpinner.removeClass("hidden");var e=this.$container.serialize()+"&elementType="+this.elementIndex.elementType;Craft.postActionRequest("element-index-settings/save-customize-sources-modal-settings",e,$.proxy(function(t,e){if(this.$saveSpinner.addClass("hidden"),"success"===e&&t.success){if(this.updateSourcesOnSave&&this.$elementIndexSourcesContainer.length){for(var i,s=null,n=0;n<this.sourceSort.$items.length;n++){var a=this.sourceSort.$items.eq(n).data("source"),r=a.getIndexSource();r&&(a.isHeading()?i=r:(i&&(this.appendSource(i,s),s=i,i=null),this.appendSource(r,s),s=r))}if(s){var o=s.nextAll();this.elementIndex.sourceSelect.removeItems(o),o.remove()}}this.selectedSource&&this.selectedSource.sourceData.key&&(this.elementIndex.selectSourceByKey(this.selectedSource.sourceData.key),this.elementIndex.updateElements()),Craft.cp.displayNotice(Craft.t("app","Source settings saved")),this.hide()}else{var l="success"===e&&t.error?t.error:Craft.t("app","An unknown error occurred.");Craft.cp.displayError(l)}},this))}},appendSource:function(t,e){e?t.insertAfter(e):t.prependTo(this.$elementIndexSourcesContainer)},destroy:function(){for(var t=0;t<this.sources.length;t++)this.sources[t].destroy();delete this.sources,this.base()}}),Craft.CustomizeSourcesModal.BaseSource=Garnish.Base.extend({modal:null,$item:null,$itemLabel:null,$itemInput:null,$settingsContainer:null,sourceData:null,init:function(t,e,i,s,n){this.modal=t,this.$item=e,this.$itemLabel=i,this.$itemInput=s,this.sourceData=n,this.$item.data("source",this),this.addListener(this.$item,"click","select")},isHeading:function(){return!1},isSelected:function(){return this.modal.selectedSource===this},select:function(){this.isSelected()||(this.modal.selectedSource&&this.modal.selectedSource.deselect(),this.$item.addClass("sel"),(this.modal.selectedSource=this).$settingsContainer?this.$settingsContainer.removeClass("hidden"):this.$settingsContainer=$("<div/>").append(this.createSettings()).appendTo(this.modal.$sourceSettingsContainer),this.modal.$sourceSettingsContainer.scrollTop(0))},createSettings:function(){},getIndexSource:function(){},deselect:function(){this.$item.removeClass("sel"),this.modal.selectedSource=null,this.$settingsContainer.addClass("hidden")},updateItemLabel:function(t){this.$itemLabel.text(t)},destroy:function(){this.$item.data("source",null),this.base()}}),Craft.CustomizeSourcesModal.Source=Craft.CustomizeSourcesModal.BaseSource.extend({createSettings:function(){if(this.sourceData.tableAttributes.length){var t,e,i,s,n=this.sourceData.tableAttributes[0],a=n[0],r=n[1],o=this.createTableColumnOption(a,r,!0,!0),l=$("<div/>"),h=[a];for($('<input type="hidden" name="sources['+this.sourceData.key+'][tableAttributes][]" value=""/>').appendTo(l),t=1;t<this.sourceData.tableAttributes.length;t++)i=(e=this.sourceData.tableAttributes[t])[0],s=e[1],l.append(this.createTableColumnOption(i,s,!1,!0)),h.push(i);for(t=0;t<this.modal.availableTableAttributes.length;t++)i=(e=this.modal.availableTableAttributes[t])[0],s=e[1],Craft.inArray(i,h)||l.append(this.createTableColumnOption(i,s,!1,!1));return new Garnish.DragSort(l.children(),{handle:".move",axis:"y"}),Craft.ui.createField($([o[0],l[0]]),{label:Craft.t("app","Table Columns"),instructions:Craft.t("app","Choose which table columns should be visible for this source, and in which order.")})}},createTableColumnOption:function(t,e,i,s){var n=$('<div class="customize-sources-table-column"/>').append('<div class="icon move"/>').append(Craft.ui.createCheckbox({label:e,name:"sources["+this.sourceData.key+"][tableAttributes][]",value:t,checked:s,disabled:i}));return i&&n.children(".move").addClass("disabled"),n},getIndexSource:function(){var t=this.modal.elementIndex.getSourceByKey(this.sourceData.key);if(t)return t.closest("li")}}),Craft.CustomizeSourcesModal.Heading=Craft.CustomizeSourcesModal.BaseSource.extend({$labelField:null,$labelInput:null,$deleteBtn:null,isHeading:function(){return!0},select:function(){this.base(),this.$labelInput.trigger("focus")},createSettings:function(){return this.$labelField=Craft.ui.createTextField({label:Craft.t("app","Heading"),instructions:Craft.t("app","This can be left blank if you just want an unlabeled separator."),value:this.sourceData.heading}),this.$labelInput=this.$labelField.find(".text"),this.$deleteBtn=$('<a class="error delete"/>').text(Craft.t("app","Delete heading")),this.addListener(this.$labelInput,"textchange","handleLabelInputChange"),this.addListener(this.$deleteBtn,"click","deleteHeading"),$([this.$labelField[0],$("<hr/>")[0],this.$deleteBtn[0]])},handleLabelInputChange:function(){this.updateItemLabel(this.$labelInput.val()),this.modal.updateSourcesOnSave=!0},updateItemLabel:function(t){this.$itemLabel.html((t?Craft.escapeHtml(t):'<em class="light">'+Craft.t("app","(blank)")+"</em>")+"&nbsp;"),this.$itemInput.val(t)},deleteHeading:function(){this.modal.sourceSort.removeItems(this.$item),this.modal.sources.splice($.inArray(this,this.modal.sources),1),this.modal.updateSourcesOnSave=!0,this.isSelected()&&(this.deselect(),this.modal.sources.length&&this.modal.sources[0].select()),this.$item.remove(),this.$settingsContainer.remove(),this.destroy()},getIndexSource:function(){var t=this.$labelInput?this.$labelInput.val():this.sourceData.heading;return $('<li class="heading"/>').append($("<span/>").text(t))}}),Craft.DataTableSorter=Garnish.DragSort.extend({$table:null,init:function(t,e){this.$table=$(t);var i=this.$table.children("tbody").children(":not(.filler)");(e=$.extend({},Craft.DataTableSorter.defaults,e)).container=this.$table.children("tbody"),e.helper=$.proxy(this,"getHelper"),e.caboose="<tr/>",e.axis=Garnish.Y_AXIS,e.magnetStrength=4,e.helperLagBase=1.5,this.base(i,e)},getHelper:function(t){var e=$('<div class="'+this.settings.helperClass+'"/>').appendTo(Garnish.$bod),i=$("<table/>").appendTo(e),s=$("<tbody/>").appendTo(i);t.appendTo(s),i.width(this.$table.width()),i.prop("className",this.$table.prop("className"));for(var n=this.$table.find("tr:first").children(),a=t.children(),r=0;r<a.length;r++)$(a[r]).width($(n[r]).width());return e}},{defaults:{handle:".move",helperClass:"datatablesorthelper"}}),Craft.DeleteUserModal=Garnish.Modal.extend({id:null,userId:null,$deleteActionRadios:null,$deleteSpinner:null,userSelect:null,_deleting:!1,init:function(t,e){this.id=Math.floor(1e9*Math.random()),this.userId=t,e=$.extend(Craft.DeleteUserModal.defaults,e);var i,s=$('<form class="modal fitted deleteusermodal" method="post" accept-charset="UTF-8">'+Craft.getCsrfInput()+'<input type="hidden" name="action" value="users/delete-user"/>'+(Garnish.isArray(this.userId)?"":'<input type="hidden" name="userId" value="'+this.userId+'"/>')+(e.redirect?'<input type="hidden" name="redirect" value="'+e.redirect+'"/>':"")+"</form>").appendTo(Garnish.$bod),n=$('<div class="body"><div class="content-summary"><p>'+Craft.t("app","What do you want to do with their content?")+'</p><ul class="bullets"></ul></div><div class="options"><label><input type="radio" name="contentAction" value="transfer"/> '+Craft.t("app","Transfer it to:")+'</label><div id="transferselect'+this.id+'" class="elementselect"><div class="elements"></div><div class="btn add icon dashed">'+Craft.t("app","Choose a user")+'</div></div></div><div><label class="error"><input type="radio" name="contentAction" value="delete"/> '+Craft.t("app","Delete it")+"</label></div></div>").appendTo(s),a=$('<div class="buttons right"/>').appendTo(n),r=$('<div class="btn">'+Craft.t("app","Cancel")+"</div>").appendTo(a);if(e.contentSummary.length)for(var o=0;o<e.contentSummary.length;o++)n.find("ul").append($("<li/>",{text:e.contentSummary[o]}));else n.find("ul").remove();if(this.$deleteActionRadios=n.find("input[type=radio]"),this.$deleteSubmitBtn=$('<input type="submit" class="btn submit disabled" value="'+(Garnish.isArray(this.userId)?Craft.t("app","Delete users"):Craft.t("app","Delete user"))+'" />').appendTo(a),this.$deleteSpinner=$('<div class="spinner hidden"/>').appendTo(a),Garnish.isArray(this.userId)){i=["and"];for(o=0;o<this.userId.length;o++)i.push("not "+this.userId[o])}else i="not "+this.userId;this.userSelect=new Craft.BaseElementSelectInput({id:"transferselect"+this.id,name:"transferContentTo",elementType:"craft\\elements\\User",criteria:{id:i},limit:1,modalSettings:{closeOtherModals:!1},onSelectElements:$.proxy(function(){this.updateSizeAndPosition(),this.$deleteActionRadios.first().prop("checked")?this.validateDeleteInputs():this.$deleteActionRadios.first().trigger("click")},this),onRemoveElements:$.proxy(this,"validateDeleteInputs"),selectable:!1,editable:!1}),this.addListener(r,"click","hide"),this.addListener(this.$deleteActionRadios,"change","validateDeleteInputs"),this.addListener(s,"submit","handleSubmit"),this.base(s,e)},validateDeleteInputs:function(){var t=!1;return this.$deleteActionRadios.eq(0).prop("checked")?t=!!this.userSelect.totalSelected:this.$deleteActionRadios.eq(1).prop("checked")&&(t=!0),t?this.$deleteSubmitBtn.removeClass("disabled"):this.$deleteSubmitBtn.addClass("disabled"),t},handleSubmit:function(t){!this._deleting&&this.validateDeleteInputs()?(this.$deleteSubmitBtn.addClass("active"),this.$deleteSpinner.removeClass("hidden"),this.disable(),this.userSelect.disable(),!(this._deleting=!0)===this.settings.onSubmit()&&t.preventDefault()):t.preventDefault()},onFadeIn:function(){Garnish.isMobileBrowser(!0)||this.$deleteActionRadios.first().trigger("focus"),this.base()}},{defaults:{contentSummary:[],onSubmit:$.noop,redirect:null}}),Craft.DraftEditor=Garnish.Base.extend({$revisionBtn:null,$revisionLabel:null,$spinner:null,$statusIcon:null,$editMetaBtn:null,metaHud:null,$nameTextInput:null,$notesTextInput:null,$saveMetaBtn:null,lastSerializedValue:null,timeout:null,saving:!1,saveXhr:null,checkFormAfterUpdate:!1,submittingForm:!1,duplicatedElements:null,errors:null,preview:null,previewToken:null,init:function(t){if(this.setSettings(t,Craft.DraftEditor.defaults),this.duplicatedElements={},this.$revisionBtn=$("#revision-btn"),this.$revisionLabel=$("#revision-label"),this.$spinner=$("#revision-spinner"),this.$statusIcon=$("#revision-status"),this.settings.previewTargets.length){this.settings.enablePreview&&this.addListener($("#preview-btn"),"click","openPreview");var e=$("#share-btn");1===this.settings.previewTargets.length?this.addListener(e,"click",function(){this.openShareLink(this.settings.previewTargets[0].url)}):this.createShareMenu(e)}this.settings.revisionId||(this.lastSerializedValue=this.serializeForm(!0),Craft.cp.$primaryForm.data("initialSerializedValue",this.lastSerializedValue),Craft.cp.$primaryForm.data("serializer",function(){return this.serializeForm(!0)}.bind(this)),this.settings.draftId?this.initForDraft():(this.addListener($("#save-draft-btn"),"click",function(t){t.preventDefault(),this.createDraft(),this.removeListener(Craft.cp.$primaryForm,"submit.saveShortcut")}.bind(this)),this.settings.canUpdateSource||this.addListener(Craft.cp.$primaryForm,"submit.saveShortcut",function(t){t.saveShortcut&&(t.preventDefault(),this.createDraft(),this.removeListener(Craft.cp.$primaryForm,"submit.saveShortcut"))}.bind(this))))},initForDraft:function(){this.createEditMetaBtn(),this.addListener(Garnish.$bod,"keypress keyup change focus blur click mousedown mouseup",function(t){$(t.target).is(this.statusIcons())||(clearTimeout(this.timeout),Craft.inArray(t.type,["keypress","keyup","change"])?this.timeout=setTimeout(this.checkForm.bind(this),500):this.checkForm())}),this.addListener(Craft.cp.$primaryForm,"submit","handleFormSubmit"),this.addListener(this.$statusIcon,"click",function(){this.showStatusHud(this.$statusIcon)}.bind(this))},showStatusHud:function(t){if(null===this.errors)e="<p>"+Craft.t("app","The draft has been saved.")+"</p>";else{var e='<p class="error">'+Craft.t("app","The draft could not be saved.")+"</p>";if(this.errors.length){for(e+='<ul class="errors">',i=0;i<this.errors.length;i++)e+="<li>"+Craft.escapeHtml(this.errors[i])+"</li>";e+="</ul>"}}var s=new Garnish.HUD(t,e,{onHide:function(){s.destroy(),delete s}})},spinners:function(){return this.preview?this.$spinner.add(this.preview.$spinner):this.$spinner},statusIcons:function(){return this.preview?this.$statusIcon.add(this.preview.$statusIcon):this.$statusIcon},createEditMetaBtn:function(){this.$editMetaBtn=$("<a/>",{class:"btn edit icon",title:Craft.t("app","Edit draft settings")}).appendTo($("#revision-btngroup")),this.addListener(this.$editMetaBtn,"click","showMetaHud")},createShareMenu:function(t){t.addClass("menubtn");for(var e,i,s=$("<div/>",{class:"menu"}).insertAfter(t),n=$("<ul/>").appendTo(s),a=0;a<this.settings.previewTargets.length;a++)e=$("<li/>").appendTo(n),i=$("<a/>",{text:this.settings.previewTargets[a].label}).appendTo(e),this.addListener(i,"click",{target:a},function(t){this.openShareLink(this.settings.previewTargets[t.data.target].url)}.bind(this))},getPreviewToken:function(){return new Promise(function(i,s){this.previewToken?i(this.previewToken):Craft.postActionRequest("preview/create-token",{elementType:this.settings.elementType,sourceId:this.settings.sourceId,siteId:this.settings.siteId,draftId:this.settings.draftId,revisionId:this.settings.revisionId},function(t,e){"success"===e?(this.previewToken=t.token,i(this.previewToken)):s()}.bind(this))}.bind(this))},getTokenizedPreviewUrl:function(s,n){return new Promise(function(e,t){var i={};!n&&this.settings.isLive||(i[n||"x-craft-preview"]=Craft.randomString(10)),this.settings.isLive?e(Craft.getUrl(s,i)):this.getPreviewToken().then(function(t){i[Craft.tokenParam]=t,e(Craft.getUrl(s,i))}).catch(t)}.bind(this))},openShareLink:function(t){this.getTokenizedPreviewUrl(t).then(function(t){window.open(t)})},getPreview:function(){return this.preview||(this.preview=new Craft.Preview(this)),this.preview},openPreview:function(){return new Promise(function(t,e){this.ensureIsDraftOrRevision().then(function(){this.getPreview().open(),t()}.bind(this)).catch(e)}.bind(this))},ensureIsDraftOrRevision:function(){return new Promise(function(t,e){this.settings.draftId||this.settings.revisionid?t():this.createDraft().then(t).catch(e)}.bind(this))},serializeForm:function(t){var e=Craft.cp.$primaryForm.serialize();return this.isPreviewActive()&&(e=e.replace("__PREVIEW_FIELDS__=1",this.preview.$editor.serialize())),t&&!this.settings.isUnsavedDraft&&(e=(e=e.replace(/&action=[^&]*/,"")).replace(/&redirect=[^&]*/,"")),e},checkForm:function(t){if(this.settings.draftId){clearTimeout(this.timeout),this.timeout=null;var e=this.serializeForm(!0);!t&&e===this.lastSerializedValue||this.saveDraft(e)}},isPreviewActive:function(){return this.preview&&this.preview.isActive},createDraft:function(){return new Promise(function(t,e){this.saveDraft(this.serializeForm(!0)).then(t).catch(e)}.bind(this))},saveDraft:function(b){return new Promise(function(f,m){if(this.submittingForm)m();else if(this.lastSerializedValue=b,this.saving)this.checkFormAfterUpdate=!0;else{this.saving=!0;var v=this.spinners().removeClass("hidden"),C=this.statusIcons().removeClass("invisible checkmark-icon alert-icon").addClass("hidden");this.$saveMetaBtn&&this.$saveMetaBtn.addClass("active"),this.errors=null;var t=Craft.getActionUrl(this.settings.saveDraftAction);this.saveXhr=Craft.postActionRequest(t,this.prepareData(b),function(t,e){if(v.addClass("hidden"),this.$saveMetaBtn&&this.$saveMetaBtn.removeClass("active"),this.saving=!1,"abort"!==e){if("success"!==e||t.errors)return this.errors=(t?t.errors:null)||[],C.removeClass("hidden checkmark-icon").addClass("alert-icon").attr("title",Craft.t("app","The draft could not be saved.")),void m();t.title&&$("#header h1").text(t.title),t.docTitle&&(document.title=t.docTitle),this.$revisionLabel.text(t.draftName),this.settings.draftName=t.draftName,this.settings.draftNotes=t.draftNotes;var i=this.$revisionBtn.data("menubtn")?this.$revisionBtn.data("menubtn").menu:null,s=!this.settings.draftId;if(s){var n,a=document.location.href.search("#");n=-1!==a?document.location.href.substr(0,a):document.location.href,n+=(n.match(/\?/)?"&":"?")+"draftId="+t.draftId,-1!==a&&(n+=document.location.href.substr(a)),history.replaceState({},"",n);var r=$("#save-btn-container");r.length&&r.replaceWith($("<input/>",{type:"submit",class:"btn submit",value:Craft.t("app","Update {type}",{type:this.settings.elementTypeDisplayName})}));var o=$("#save-draft-btn-container");if(o.add(o.prev(".spacer")).remove(),this.settings.draftId=t.draftId,this.settings.isLive=!1,this.settings.canDeleteDraft=!0,this.previewToken=null,this.initForDraft(),i){i.$options.filter(":not(.site-option)").removeClass("sel");var l=i.$container.find(".revision-group-drafts");if(!l.length){var h=$("<h6/>",{text:Craft.t("app","Drafts")}).insertAfter(i.$container.find(".revision-group-current"));l=$("<ul/>",{class:"padded revision-group-drafts"}).insertAfter(h)}var d=$("<li/>").appendTo(l),c=$("<a/>",{class:"sel",html:'<span class="draft-name"></span> <span class="draft-creator light"></span>'}).appendTo(d);i.addOptions(c),i.selectOption(c);for(var u=i.$options.filter(".site-option[href]"),p=0;p<u.length;p++){var g=u.eq(p);g.attr("href",Craft.getUrl(g.attr("href"),{draftId:t.draftId}))}}}i&&(i.$options.filter(".sel").find(".draft-name").text(t.draftName),i.$options.filter(".sel").find(".draft-creator").text(Craft.t("app","by {creator}",{creator:t.creator}))),t.previewTargets&&JSON.stringify(t.previewTargets)!==JSON.stringify(this.settings.previewTargets)&&this.updatePreviewTargets(t.previewTargets),this.afterUpdate(b),s&&this.trigger("createDraft"),this.$nameTextInput&&this.checkMetaValues(),$.extend(this.duplicatedElements,t.duplicatedElements),f()}}.bind(this))}}.bind(this))},prepareData:function(t){for(var e in this.duplicatedElements)this.duplicatedElements.hasOwnProperty(e)&&(t=t.replace(new RegExp(Craft.escapeRegex(encodeURIComponent("]["+e+"]")),"g"),"]["+this.duplicatedElements[e]+"]"));return this.settings.draftId&&(t+="&draftId="+this.settings.draftId+"&draftName="+encodeURIComponent(this.settings.draftName)+"&draftNotes="+encodeURIComponent(this.settings.draftNotes||"")),t},updatePreviewTargets:function(t){for(var e={},i=0;i<this.settings.previewTargets.length;i++)e[this.settings.previewTargets[i].label]=this.settings.previewTargets[i];for(i=0;i<t.length;i++)e[t[i].label]&&(e[t[i].label].url=t[i].url)},afterUpdate:function(t){Craft.cp.$primaryForm.data("initialSerializedValue",t),this.statusIcons().removeClass("hidden").addClass("checkmark-icon").attr("title",Craft.t("app","The draft has been saved.")),this.trigger("update"),this.checkFormAfterUpdate&&(this.checkFormAfterUpdate=!1,this.timeout||this.checkForm())},showMetaHud:function(){this.metaHud?this.metaHud.show():(this.createMetaHud(),this.onMetaHudShow()),Garnish.isMobileBrowser(!0)||this.$nameTextInput.trigger("focus")},createMetaHud:function(){var t,e,i=$("<div/>");t=$('<div class="field"><div class="heading"><label for="draft-name">'+Craft.t("app","Draft Name")+"</label></div></div>").appendTo(i),e=$('<div class="input"/>').appendTo(t),this.$nameTextInput=$('<input type="text" class="text fullwidth" id="draft-name"/>').appendTo(e).val(this.settings.draftName),t=$('<div class="field"><div class="heading"><label for="draft-notes">'+Craft.t("app","Notes")+"</label></div></div>").appendTo(i),e=$('<div class="input"/>').appendTo(t),this.$notesTextInput=$('<textarea class="text fullwidth" id="draft-notes" rows="2"/>').appendTo(e).val(this.settings.draftNotes);var s=$('<div class="hud-footer flex flex-center"/>').appendTo(i);if(this.settings.canDeleteDraft)var n=$('<a class="error" role="button">'+Craft.t("app","Delete")+"</a>").appendTo(s);$('<div class="flex-grow"></div>').appendTo(s),this.$saveMetaBtn=$('<input type="submit" class="btn submit disabled" value="'+Craft.t("app","Save")+'"/>').appendTo(s),this.metaHud=new Garnish.HUD(this.$editMetaBtn,i,{onSubmit:this.saveMeta.bind(this)}),new Garnish.NiceText(this.$notesTextInput),this.addListener(this.$notesTextInput,"keydown","onNotesKeydown"),this.addListener(this.$nameTextInput,"textchange","checkMetaValues"),this.addListener(this.$notesTextInput,"textchange","checkMetaValues"),this.metaHud.on("show",this.onMetaHudShow.bind(this)),this.metaHud.on("hide",this.onMetaHudHide.bind(this)),this.metaHud.on("escape",this.onMetaHudEscape.bind(this)),n&&this.addListener(n,"click","deleteDraft")},onMetaHudShow:function(){this.$editMetaBtn.addClass("active")},onMetaHudHide:function(){this.$editMetaBtn.removeClass("active")},onMetaHudEscape:function(){this.$nameTextInput.val(this.settings.draftName),this.$notesTextInput.val(this.settings.draftNotes)},onNotesKeydown:function(t){t.keyCode===Garnish.RETURN_KEY&&(t.preventDefault(),this.metaHud.submit())},checkMetaValues:function(){return!this.$nameTextInput.val()||this.$nameTextInput.val()===this.settings.draftName&&this.$notesTextInput.val()===this.settings.draftNotes?(this.$saveMetaBtn.addClass("disabled"),!1):(this.$saveMetaBtn.removeClass("disabled"),!0)},shakeMetaHud:function(){Garnish.shake(this.metaHud.$hud)},saveMeta:function(){this.checkMetaValues()?(this.settings.draftName=this.$nameTextInput.val(),this.settings.draftNotes=this.$notesTextInput.val(),this.metaHud.hide(),this.checkForm(!0)):this.shakeMetaHud()},deleteDraft:function(){confirm(Craft.t("app","Are you sure you want to delete this draft?"))&&Craft.postActionRequest(this.settings.deleteDraftAction,{draftId:this.settings.draftId},function(t,e){"success"===e&&(window.location.href=this.settings.cpEditUrl)}.bind(this))},handleFormSubmit:function(t){if(t.preventDefault(),!this.submittingForm&&(t.customTrigger||this.settings.isUnsavedDraft||!this.settings.draftId||this.settings.canUpdateSource)){Craft.cp.$confirmUnloadForms=Craft.cp.$confirmUnloadForms.not(Craft.cp.$primaryForm),this.saving&&this.saveXhr.abort();for(var e,i=$("<form/>",{attr:{"accept-charset":Craft.cp.$primaryForm.attr("accept-charset"),action:Craft.cp.$primaryForm.attr("action"),enctype:Craft.cp.$primaryForm.attr("enctype"),method:Craft.cp.$primaryForm.attr("method"),target:Craft.cp.$primaryForm.attr("target")}}),s=this.prepareData(this.serializeForm(!1)).split("&"),n=0;n<s.length;n++)e=s[n].split("=",2),$("<input/>",{type:"hidden",name:decodeURIComponent(e[0]),value:decodeURIComponent(e[1]||"")}).appendTo(i);t.customTrigger&&t.customTrigger.data("action")||$("<input/>",{type:"hidden",name:"action",value:this.settings.applyDraftAction}).appendTo(i),t.saveShortcut&&Craft.cp.$primaryForm.data("saveshortcut-redirect")||t.customTrigger&&t.customTrigger.data("redirect")||$("<input/>",{type:"hidden",name:"redirect",value:this.settings.hashedRedirectUrl}).appendTo(i),i.appendTo(Garnish.$bod),i.submit(),this.submittingForm=!0}}},{defaults:{elementType:null,sourceId:null,siteId:null,isLive:!1,cpEditUrl:null,draftId:null,revisionId:null,draftName:null,draftNotes:null,canDeleteDraft:!1,canUpdateSource:!1,saveDraftAction:null,deleteDraftAction:null,applyDraftAction:null,enablePreview:!1,previewTargets:[]}}),Craft.DynamicGenerator=Craft.BaseInputGenerator.extend({callback:$.noop,init:function(t,e,i){this.callback=i,this.base(t,e)},generateTargetValue:function(t){return this.callback(t)}}),Craft.EditableTable=Garnish.Base.extend({initialized:!1,id:null,baseName:null,columns:null,sorter:null,biggestId:-1,$table:null,$tbody:null,$addRowBtn:null,rowCount:0,hasMaxRows:!1,hasMinRows:!1,radioCheckboxes:null,init:function(t,e,i,s){if(this.id=t,this.baseName=e,this.columns=i,this.setSettings(s,Craft.EditableTable.defaults),this.radioCheckboxes={},this.$table=$("#"+t),this.$tbody=this.$table.children("tbody"),this.rowCount=this.$tbody.find("tr").length,this.$table.data("editable-table")&&(Garnish.log("Double-instantiating an editable table on an element"),this.$table.data("editable-table").destroy()),this.$table.data("editable-table",this),this.sorter=new Craft.DataTableSorter(this.$table,{helperClass:"editabletablesorthelper",copyDraggeeInputValuesToHelper:!0}),this.isVisible()?this.initialize():setTimeout($.proxy(this,"initializeIfVisible"),500),this.settings.minRows&&this.rowCount<this.settings.minRows)for(var n=this.rowCount;n<this.settings.minRows;n++)this.addRow()},isVisible:function(){return 0<this.$table.height()},initialize:function(){if(this.initialized)return!1;this.initialized=!0,this.removeListener(Garnish.$win,"resize");for(var t=this.$tbody.children(),e=0;e<t.length;e++)this.createRowObj(t[e]);return this.$addRowBtn=this.$table.next(".add"),this.updateAddRowButton(),this.addListener(this.$addRowBtn,"activate","addRow"),!0},initializeIfVisible:function(){this.removeListener(Garnish.$win,"resize"),this.isVisible()?this.initialize():this.addListener(Garnish.$win,"resize","initializeIfVisible")},updateAddRowButton:function(){this.canAddRow()?(this.$addRowBtn.css("opacity","1"),this.$addRowBtn.css("pointer-events","auto")):(this.$addRowBtn.css("opacity","0.2"),this.$addRowBtn.css("pointer-events","none"))},canDeleteRow:function(){return this.rowCount>this.settings.minRows},deleteRow:function(t){this.canDeleteRow()&&(this.sorter.removeItems(t.$tr),t.$tr.remove(),this.rowCount--,this.updateAddRowButton(),this.settings.onDeleteRow(t.$tr),t.destroy())},canAddRow:function(){return!this.settings.staticRows&&(!this.settings.maxRows||this.rowCount<this.settings.maxRows)},addRow:function(t,e){if(this.canAddRow()){var i=this.settings.rowIdPrefix+(this.biggestId+1),s=this.createRow(i,this.columns,this.baseName,$.extend({},this.settings.defaultValues));e?s.prependTo(this.$tbody):s.appendTo(this.$tbody);var n=this.createRowObj(s);return this.sorter.addItems(s),!1!==t&&s.find("input:visible,textarea:visible,select:visible").first().trigger("focus"),this.rowCount++,this.updateAddRowButton(),this.settings.onAddRow(s),n}},createRow:function(t,e,i,s){return Craft.EditableTable.createRow(t,e,i,s)},createRowObj:function(t){return new Craft.EditableTable.Row(this,t)},focusOnPrevRow:function(t,e,i){var s,n=t.prev("tr");if((s=n.length?n.data("editable-table-row"):this.addRow(!1,!0))&&s.$tds[e])if($(s.$tds[e]).hasClass("disabled"))n&&this.focusOnPrevRow(n,e,i);else{var a=$("textarea,input.text",s.$tds[e]);a.length&&($(i).trigger("blur"),a.trigger("focus"))}},focusOnNextRow:function(t,e,i){var s,n=t.next("tr");if((s=n.length?n.data("editable-table-row"):this.addRow(!1))&&s.$tds[e])if($(s.$tds[e]).hasClass("disabled"))n&&this.focusOnNextRow(n,e,i);else{var a=$("textarea,input.text",s.$tds[e]);a.length&&($(i).trigger("blur"),a.trigger("focus"))}}},{textualColTypes:["color","date","email","multiline","number","singleline","template","time","url"],defaults:{rowIdPrefix:"",defaultValues:{},staticRows:!1,minRows:null,maxRows:null,onAddRow:$.noop,onDeleteRow:$.noop},createRow:function(t,e,i,s){var n=$("<tr/>",{"data-id":t});for(var a in e)if(e.hasOwnProperty(a)){var r,o=e[a],l=void 0!==s[a]?s[a]:"";if("heading"===o.type)r=$("<th/>",{scope:"row",class:o.class,html:l});else{var h=i+"["+t+"]["+a+"]",d=Craft.inArray(o.type,Craft.EditableTable.textualColTypes);switch(r=$("<td/>",{class:o.class,width:o.width}),d&&r.addClass("textual"),o.code&&r.addClass("code"),o.type){case"checkbox":Craft.ui.createCheckbox({name:h,value:o.value||"1",checked:!!l}).appendTo(r);break;case"color":Craft.ui.createColorInput({name:h,value:l,small:!0}).appendTo(r);break;case"date":Craft.ui.createDateInput({name:h,value:l}).appendTo(r);break;case"lightswitch":Craft.ui.createLightswitch({name:h,value:o.value||"1",on:!!l,small:!0}).appendTo(r);break;case"select":Craft.ui.createSelect({name:h,options:o.options,value:l||function(){for(var t in o.options)if(o.options.hasOwnProperty(t)&&o.options[t].default)return void 0!==o.options[t].value?o.options[t].value:t;return null}(),class:"small"}).appendTo(r);break;case"time":Craft.ui.createTimeInput({name:h,value:l}).appendTo(r);break;case"email":case"url":Craft.ui.createTextInput({name:h,value:l,type:o.type,placeholder:o.placeholder||null}).appendTo(r);break;default:$("<textarea/>",{name:h,rows:1,val:l,placeholder:o.placeholder}).appendTo(r)}}r.appendTo(n)}return $("<td/>",{class:"thin action"}).append($("<a/>",{class:"move icon",title:Craft.t("app","Reorder")})).appendTo(n),$("<td/>",{class:"thin action"}).append($("<a/>",{class:"delete icon",title:Craft.t("app","Delete")})).appendTo(n),n}}),Craft.EditableTable.Row=Garnish.Base.extend({table:null,id:null,niceTexts:null,$tr:null,$tds:null,tds:null,$textareas:null,$deleteBtn:null,init:function(t,e){this.table=t,this.$tr=$(e),this.$tds=this.$tr.children(),this.tds=[],this.id=this.$tr.attr("data-id"),this.$tr.data("editable-table-row",this);var i=parseInt(this.id.substr(this.table.settings.rowIdPrefix.length));i>this.table.biggestId&&(this.table.biggestId=i),this.$textareas=$(),this.niceTexts=[];var s,n,a,r,o,l={},h=0;for(s in this.table.columns)this.table.columns.hasOwnProperty(s)&&(n=this.table.columns[s],a=this.tds[s]=this.$tds[h],Craft.inArray(n.type,Craft.EditableTable.textualColTypes)?(r=$("textarea, input.text",a),this.$textareas=this.$textareas.add(r),this.addListener(r,"focus","onTextareaFocus"),this.addListener(r,"mousedown","ignoreNextTextareaFocus"),this.niceTexts.push(new Garnish.NiceText(r,{onHeightChange:$.proxy(this,"onTextareaHeightChange")})),this.addListener(r,"keypress",{tdIndex:h,type:n.type},"handleKeypress"),this.addListener(r,"textchange",{type:n.type},"validateValue"),r.trigger("textchange"),l[s]=r):"checkbox"===n.type&&(o=$('input[type="checkbox"]',a),n.radioMode&&(void 0===this.table.radioCheckboxes[s]&&(this.table.radioCheckboxes[s]=[]),this.table.radioCheckboxes[s].push(o[0]),this.addListener(o,"change",{colId:s},"onRadioCheckboxChange")),n.toggle&&this.addListener(o,"change",{colId:s},function(t){this.applyToggleCheckbox(t.data.colId)})),h++);for(s in this.onTextareaHeightChange(),this.table.columns)!this.table.columns.hasOwnProperty(s)||"checkbox"===(n=this.table.columns[s]).type&&n.toggle&&this.applyToggleCheckbox(s);for(s in this.table.columns)!this.table.columns.hasOwnProperty(s)||(n=this.table.columns[s]).autopopulate&&void 0!==l[n.autopopulate]&&!l[s].val()&&new Craft.HandleGenerator(l[s],l[n.autopopulate],{allowNonAlphaStart:!0});var d=this.$tr.children().last().find(".delete");this.addListener(d,"click","deleteRow")},onTextareaFocus:function(t){this.onTextareaHeightChange();var e=$(t.currentTarget);e.data("ignoreNextFocus")?e.data("ignoreNextFocus",!1):setTimeout(function(){Craft.selectFullValue(e)},0)},onRadioCheckboxChange:function(t){if(t.currentTarget.checked)for(var e=0;e<this.table.radioCheckboxes[t.data.colId].length;e++){var i=this.table.radioCheckboxes[t.data.colId][e];i.checked=i===t.currentTarget}},applyToggleCheckbox:function(t){for(var e,i,s=this.table.columns[t],n=$('input[type="checkbox"]',this.tds[t]).prop("checked"),a=0;a<s.toggle.length;a++)e=s.toggle[a],this.table.colum,(i="!"===e[0])&&(e=e.substr(1)),n&&!i||!n&&i?$(this.tds[e]).removeClass("disabled").find("textarea, input").prop("disabled",!1):$(this.tds[e]).addClass("disabled").find("textarea, input").prop("disabled",!0)},ignoreNextTextareaFocus:function(t){$.data(t.currentTarget,"ignoreNextFocus",!0)},handleKeypress:function(t){var e=t.keyCode?t.keyCode:t.charCode,i=Garnish.isCtrlKeyPressed(t);if(e===Garnish.RETURN_KEY&&("multiline"!==t.data.type||i))return t.preventDefault(),void(t.shiftKey?this.table.focusOnPrevRow(this.$tr,t.data.tdIndex,t.currentTarget):this.table.focusOnNextRow(this.$tr,t.data.tdIndex,t.currentTarget));"number"!==t.data.type||i||Craft.inArray(e,Craft.EditableTable.Row.numericKeyCodes)||t.preventDefault()},validateValue:function(t){if("multiline"!==t.data.type){var e;if("number"===t.data.type){var i=t.currentTarget.value.match(/^\s*(-?[\d\\.]*)/);e=null!==i?i[1]:""}else e=t.currentTarget.value.replace(/[\r\n]/g,"");e!==t.currentTarget.value&&(t.currentTarget.value=e)}},onTextareaHeightChange:function(){for(var t=-1,e=0;e<this.niceTexts.length;e++)this.niceTexts[e].height>t&&(t=this.niceTexts[e].height);this.$textareas.css("min-height",t);var i=this.$textareas.filter(":visible").first().parent().height();t<i&&this.$textareas.css("min-height",i)},deleteRow:function(){this.table.deleteRow(this)}},{numericKeyCodes:[9,8,37,38,39,40,45,91,46,190,48,49,50,51,52,53,54,55,56,57]}),Craft.ElementActionTrigger=Garnish.Base.extend({maxLevels:null,newChildUrl:null,$trigger:null,$selectedItems:null,triggerEnabled:!0,init:function(t){this.setSettings(t,Craft.ElementActionTrigger.defaults),this.$trigger=$("#"+t.type.replace(/[\[\]\\]+/g,"-")+"-actiontrigger"),this.settings.activate&&(this.$trigger.data("custom-handler",!0),"FORM"===this.$trigger.prop("nodeName")?this.addListener(this.$trigger,"submit","handleTriggerActivation"):this.addListener(this.$trigger,"click","handleTriggerActivation")),this.updateTrigger(),Craft.elementIndex.on("selectionChange",$.proxy(this,"updateTrigger"))},updateTrigger:function(){0!==Craft.elementIndex.getSelectedElements().length&&(this.validateSelection()?this.enableTrigger():this.disableTrigger())},validateSelection:function(){var t=!0;return this.$selectedItems=Craft.elementIndex.getSelectedElements(),!this.settings.batch&&1<this.$selectedItems.length?t=!1:"function"==typeof this.settings.validateSelection&&(t=this.settings.validateSelection(this.$selectedItems)),t},enableTrigger:function(){this.triggerEnabled||(this.$trigger.removeClass("disabled"),this.triggerEnabled=!0)},disableTrigger:function(){this.triggerEnabled&&(this.$trigger.addClass("disabled"),this.triggerEnabled=!1)},handleTriggerActivation:function(t){t.preventDefault(),t.stopPropagation(),this.triggerEnabled&&this.settings.activate(this.$selectedItems)}},{defaults:{type:null,batch:!0,validateSelection:null,activate:null}}),Craft.ElementThumbLoader=Garnish.Base.extend({queue:null,workers:[],init:function(){this.queue=[];for(var t=0;t<3;t++)this.workers.push(new Craft.ElementThumbLoader.Worker(this))},load:function(t){if(this.queue=this.queue.concat(t.find(".elementthumb").toArray()),this.queue.length)for(var e=0;e<this.workers.length;e++)this.workers[e].active||this.workers[e].loadNext()},destroy:function(){for(var t=0;t<this.workers.length;t++)this.workers[t].destroy();this.base()}}),Craft.ElementThumbLoader.Worker=Garnish.Base.extend({loader:null,active:!1,init:function(t){this.loader=t},loadNext:function(){var t=this.loader.queue.shift();if(void 0!==t){this.active=!0;var e=$(t);if(e.find("img").length)this.loadNext();else{var i=$("<img/>",{sizes:e.attr("data-sizes"),srcset:e.attr("data-srcset"),alt:""});this.addListener(i,"load","loadNext"),i.appendTo(e),picturefill({elements:[i[0]]})}}else this.active=!1}}),Craft.ElevatedSessionForm=Garnish.Base.extend({$form:null,inputs:null,init:function(t,e){if(this.$form=$(t),void 0!==e){this.inputs=[],e=$.makeArray(e);for(var i=0;i<e.length;i++)for(var s=$(e[i]),n=0;n<s.length;n++){var a=s.eq(n);this.inputs.push({input:a,val:Garnish.getInputPostVal(a)})}}this.addListener(this.$form,"submit","handleFormSubmit")},handleFormSubmit:function(t){if(Craft.elevatedSessionManager.fetchingTimeout)t.preventDefault();else{if(this.inputs){for(var e,i=!1,s=0;s<this.inputs.length;s++)if((e=this.inputs[s].input).data("passwordInput")&&(e=e.data("passwordInput").$currentInput),Garnish.getInputPostVal(e)!==this.inputs[s].val){i=!0;break}if(!i)return}t.preventDefault(),Craft.elevatedSessionManager.requireElevatedSession($.proxy(this,"submitForm"))}},submitForm:function(){this.disable(),this.$form.trigger("submit"),this.enable()}}),Craft.ElevatedSessionManager=Garnish.Base.extend({fetchingTimeout:!1,passwordModal:null,$passwordInput:null,$passwordSpinner:null,$submitBtn:null,$errorPara:null,callback:null,requireElevatedSession:function(t){this.callback=t,this.fetchingTimeout=!0,Craft.postActionRequest("users/get-elevated-session-timeout",$.proxy(function(t,e){this.fetchingTimeout=!1,"success"===e&&(!1===t.timeout||t.timeout>=Craft.ElevatedSessionManager.minSafeElevatedSessionTimeout?this.callback():this.showPasswordModal())},this))},showPasswordModal:function(){if(this.passwordModal)this.passwordModal.show();else{var t=$('<form id="elevatedsessionmodal" class="modal secure fitted"/>'),e=$('<div class="body"><p>'+Craft.t("app","Enter your password to continue.")+"</p></div>").appendTo(t),i=$('<div class="inputcontainer">').appendTo(e),s=$('<div class="flex"/>').appendTo(i),n=$('<div class="flex-grow"/>').appendTo(s),a=$("<td/>").appendTo(s),r=$('<div class="passwordwrapper"/>').appendTo(n);this.$passwordInput=$('<input type="password" class="text password fullwidth" placeholder="'+Craft.t("app","Password")+'" autocomplete="current-password"/>').appendTo(r),this.$passwordSpinner=$('<div class="spinner hidden"/>').appendTo(i),this.$submitBtn=$('<input type="submit" class="btn submit disabled" value="'+Craft.t("app","Submit")+'" />').appendTo(a),this.$errorPara=$('<p class="error"/>').appendTo(e),this.passwordModal=new Garnish.Modal(t,{closeOtherModals:!1,onFadeIn:$.proxy(function(){setTimeout($.proxy(this,"focusPasswordInput"),100)},this),onFadeOut:$.proxy(function(){this.$passwordInput.val("")},this)}),new Craft.PasswordInput(this.$passwordInput,{onToggleInput:$.proxy(function(t){this.$passwordInput=t},this)}),this.addListener(this.$passwordInput,"textchange","validatePassword"),this.addListener(t,"submit","submitPassword")}},focusPasswordInput:function(){Garnish.isMobileBrowser(!0)||this.$passwordInput.trigger("focus")},validatePassword:function(){return 6<=this.$passwordInput.val().length?(this.$submitBtn.removeClass("disabled"),!0):(this.$submitBtn.addClass("disabled"),!1)},submitPassword:function(t){if(t&&t.preventDefault(),this.validatePassword()){this.$passwordSpinner.removeClass("hidden"),this.clearLoginError();var e={currentPassword:this.$passwordInput.val()};Craft.postActionRequest("users/start-elevated-session",e,$.proxy(function(t,e){this.$passwordSpinner.addClass("hidden"),"success"===e?t.success?(this.passwordModal.hide(),this.callback()):(this.showPasswordError(t.message||Craft.t("app","Incorrect password.")),Garnish.shake(this.passwordModal.$container),this.focusPasswordInput()):this.showPasswordError()},this))}},showPasswordError:function(t){null==t&&(t=Craft.t("app","An unknown error occurred.")),this.$errorPara.text(t),this.passwordModal.updateSizeAndPosition()},clearLoginError:function(){this.showPasswordError("")}},{minSafeElevatedSessionTimeout:5}),Craft.elevatedSessionManager=new Craft.ElevatedSessionManager,Craft.EntryIndex=Craft.BaseElementIndex.extend({publishableSections:null,$newEntryBtnGroup:null,$newEntryBtn:null,init:function(t,e,i){this.on("selectSource",$.proxy(this,"updateButton")),this.on("selectSite",$.proxy(this,"updateButton")),this.base(t,e,i)},afterInit:function(){this.publishableSections=[];for(var t=0;t<Craft.publishableSections.length;t++){var e=Craft.publishableSections[t];this.getSourceByKey("section:"+e.uid)&&this.publishableSections.push(e)}this.base()},getDefaultSourceKey:function(){if("index"===this.settings.context&&"undefined"!=typeof defaultSectionHandle){if("singles"===defaultSectionHandle)return"singles";for(var t=0;t<this.$sources.length;t++){var e=$(this.$sources[t]);if(e.data("handle")===defaultSectionHandle)return e.data("key")}}return this.base()},updateButton:function(){if(this.$source){var t,e,i,s;if(t="singles"===this.$source.data("key")?"singles":this.$source.data("handle"),this.publishableSections.length){var n,a;if(this.$newEntryBtnGroup&&this.$newEntryBtnGroup.remove(),t)for(e=0;e<this.publishableSections.length;e++)if(this.publishableSections[e].handle===t){n=this.publishableSections[e];break}if(this.$newEntryBtnGroup=$('<div class="btngroup submit"/>'),n?(i=this._getSectionTriggerHref(n),s="index"===this.settings.context?Craft.t("app","New entry"):Craft.t("app","New {section} entry",{section:n.name}),this.$newEntryBtn=$('<a class="btn submit add icon" '+i+">"+Craft.escapeHtml(s)+"</a>").appendTo(this.$newEntryBtnGroup),"index"!==this.settings.context&&this.addListener(this.$newEntryBtn,"click",function(t){this._openCreateEntryModal(t.currentTarget.getAttribute("data-id"))}),1<this.publishableSections.length&&(a=$('<div class="btn submit menubtn"></div>').appendTo(this.$newEntryBtnGroup))):this.$newEntryBtn=a=$('<div class="btn submit add icon menubtn">'+Craft.t("app","New entry")+"</div>").appendTo(this.$newEntryBtnGroup),a){var r='<div class="menu"><ul>';for(e=0;e<this.publishableSections.length;e++){var o=this.publishableSections[e];("index"===this.settings.context&&-1!==$.inArray(this.siteId,o.sites)||"index"!==this.settings.context&&o!==n)&&(i=this._getSectionTriggerHref(o),s="index"===this.settings.context?o.name:Craft.t("app","New {section} entry",{section:o.name}),r+="<li><a "+i+'">'+Craft.escapeHtml(s)+"</a></li>")}$(r+="</ul></div>").appendTo(this.$newEntryBtnGroup);var l=new Garnish.MenuBtn(a);"index"!==this.settings.context&&l.on("optionSelect",$.proxy(function(t){this._openCreateEntryModal(t.option.getAttribute("data-id"))},this))}this.addButton(this.$newEntryBtnGroup)}if("index"===this.settings.context&&"undefined"!=typeof history){var h="entries";t&&(h+="/"+t),history.replaceState({},"",Craft.getUrl(h))}}},_getSectionTriggerHref:function(t){if("index"!==this.settings.context)return'data-id="'+t.id+'"';var e="entries/"+t.handle+"/new";if(params={},this.siteId)for(var i=0;i<Craft.sites.length;i++)Craft.sites[i].id==this.siteId&&(params.site=Craft.sites[i].handle);return'href="'+Craft.getUrl(e,params)+'"'},_openCreateEntryModal:function(t){if(!this.$newEntryBtn.hasClass("loading")){for(var i,e=0;e<this.publishableSections.length;e++)if(this.publishableSections[e].id==t){i=this.publishableSections[e];break}if(i){this.$newEntryBtn.addClass("inactive");var s=this.$newEntryBtn.text();this.$newEntryBtn.text(Craft.t("app","New {section} entry",{section:i.name})),Craft.createElementEditor(this.elementType,{hudTrigger:this.$newEntryBtnGroup,elementType:"craft\\elements\\Entry",siteId:this.siteId,attributes:{sectionId:t,typeId:i.entryTypes[0].id},onBeginLoading:$.proxy(function(){this.$newEntryBtn.addClass("loading")},this),onEndLoading:$.proxy(function(){this.$newEntryBtn.removeClass("loading")},this),onHideHud:$.proxy(function(){this.$newEntryBtn.removeClass("inactive").text(s)},this),onSaveElement:$.proxy(function(t){var e="section:"+i.uid;this.sourceKey!==e&&this.selectSourceByKey(e),this.selectElementAfterUpdate(t.id),this.updateElements()},this)})}}}}),Craft.registerElementIndexClass("craft\\elements\\Entry",Craft.EntryIndex),Craft.FieldLayoutDesigner=Garnish.Base.extend({$container:null,$tabContainer:null,$unusedFieldContainer:null,$newTabBtn:null,$allFields:null,tabGrid:null,unusedFieldGrid:null,tabDrag:null,fieldDrag:null,init:function(t,e){this.$container=$(t),this.setSettings(e,Craft.FieldLayoutDesigner.defaults),this.$tabContainer=this.$container.children(".fld-tabs"),this.$unusedFieldContainer=this.$container.children(".unusedfields"),this.$newTabBtn=this.$container.find("> .newtabbtn-container > .btn"),this.$allFields=this.$unusedFieldContainer.find(".fld-field"),this.tabGrid=new Craft.Grid(this.$tabContainer,Craft.FieldLayoutDesigner.gridSettings),this.unusedFieldGrid=new Craft.Grid(this.$unusedFieldContainer,Craft.FieldLayoutDesigner.gridSettings);for(var i=this.$tabContainer.children(),s=0;s<i.length;s++)this.initTab($(i[s]));this.fieldDrag=new Craft.FieldLayoutDesigner.FieldDrag(this),this.settings.customizableTabs&&(this.tabDrag=new Craft.FieldLayoutDesigner.TabDrag(this),this.addListener(this.$newTabBtn,"activate","addTab"))},initTab:function(t){if(this.settings.customizableTabs){var e=t.find(".tabs .settings"),i=$('<div class="menu" data-align="center"/>').insertAfter(e),s=$("<ul/>").appendTo(i);$('<li><a data-action="rename">'+Craft.t("app","Rename")+"</a></li>").appendTo(s),$('<li><a data-action="delete">'+Craft.t("app","Delete")+"</a></li>").appendTo(s),new Garnish.MenuBtn(e,{onOptionSelect:$.proxy(this,"onTabOptionSelect")})}for(var n=t.children(".fld-tabcontent").children(),a=0;a<n.length;a++)this.initField($(n[a]))},initField:function(t){var e=t.find(".settings"),i=$('<div class="menu" data-align="center"/>').insertAfter(e),s=$("<ul/>").appendTo(i);t.hasClass("fld-required")?$('<li><a data-action="toggle-required">'+Craft.t("app","Make not required")+"</a></li>").appendTo(s):$('<li><a data-action="toggle-required">'+Craft.t("app","Make required")+"</a></li>").appendTo(s),$('<li><a data-action="remove">'+Craft.t("app","Remove")+"</a></li>").appendTo(s),new Garnish.MenuBtn(e,{onOptionSelect:$.proxy(this,"onFieldOptionSelect")})},onTabOptionSelect:function(t){if(this.settings.customizableTabs){var e=$(t),i=e.data("menu").$anchor.parent().parent().parent();switch(e.data("action")){case"rename":this.renameTab(i);break;case"delete":this.deleteTab(i)}}},onFieldOptionSelect:function(t){var e=$(t),i=e.data("menu").$anchor.parent();switch(e.data("action")){case"toggle-required":this.toggleRequiredField(i,e);break;case"remove":this.removeField(i)}},renameTab:function(t){if(this.settings.customizableTabs){var e=t.find(".tabs .tab span"),i=e.text(),s=prompt(Craft.t("app","Give your tab a name."),i);s&&s!==i&&(e.text(s),t.find(".id-input").attr("name",this.getFieldInputName(s)))}},deleteTab:function(t){if(this.settings.customizableTabs){for(var e=t.find(".fld-field"),i=0;i<e.length;i++){var s=$(e[i]).attr("data-id");this.removeFieldById(s)}this.tabGrid.removeItems(t),this.tabDrag.removeItems(t),t.remove()}},toggleRequiredField:function(t,e){t.hasClass("fld-required")?(t.removeClass("fld-required"),t.find(".required-input").remove(),setTimeout(function(){e.text(Craft.t("app","Make required"))},500)):(t.addClass("fld-required"),$('<input class="required-input" type="hidden" name="'+this.settings.requiredFieldInputName+'" value="'+t.data("id")+'">').appendTo(t),setTimeout(function(){e.text(Craft.t("app","Make not required"))},500))},removeField:function(t){var e=t.attr("data-id");t.remove(),this.removeFieldById(e),this.tabGrid.refreshCols(!0)},removeFieldById:function(t){var e=this.$allFields.filter("[data-id="+t+"]:first"),i=e.closest(".fld-tab");e.removeClass("hidden"),i.hasClass("hidden")?(i.removeClass("hidden"),this.unusedFieldGrid.addItems(i),this.settings.customizableTabs&&this.tabDrag.addItems(i)):this.unusedFieldGrid.refreshCols(!0)},addTab:function(){if(this.settings.customizableTabs){var t=$('<div class="fld-tab"><div class="tabs"><div class="tab sel draggable"><span>Tab '+(this.tabGrid.$items.length+1)+'</span><a class="settings icon" title="'+Craft.t("app","Rename")+'"></a></div></div><div class="fld-tabcontent"></div></div>').appendTo(this.$tabContainer);this.tabGrid.addItems(t),this.tabDrag.addItems(t),this.initTab(t)}},getFieldInputName:function(t){return this.settings.fieldInputName.replace(/__TAB_NAME__/g,Craft.encodeUriComponent(t))}},{gridSettings:{itemSelector:".fld-tab:not(.hidden)",minColWidth:240,fillMode:"grid",snapToGrid:30},defaults:{customizableTabs:!0,fieldInputName:"fieldLayout[__TAB_NAME__][]",requiredFieldInputName:"requiredFields[]"}}),Craft.FieldLayoutDesigner.BaseDrag=Garnish.Drag.extend({designer:null,$insertion:null,showingInsertion:!1,$caboose:null,draggingUnusedItem:!1,addToTabGrid:!1,init:function(t,e){this.designer=t;var i=this.designer.$tabContainer.find(this.itemSelector).add(this.designer.$unusedFieldContainer.find(this.itemSelector));this.base(i,e)},onDragStart:function(){this.base(),this.draggingUnusedItem=this.$draggee.hasClass("unused"),this.$insertion=this.getInsertion(),this.addCaboose(),this.$items=$().add(this.$items.add(this.$caboose)),this.addToTabGrid&&this.designer.tabGrid.addItems(this.$caboose),this.draggingUnusedItem?this.showingInsertion=!1:(this.$insertion.insertBefore(this.$draggee),this.$draggee.detach(),this.$items=$().add(this.$items.not(this.$draggee).add(this.$insertion)),this.showingInsertion=!0,this.addToTabGrid&&(this.designer.tabGrid.removeItems(this.$draggee),this.designer.tabGrid.addItems(this.$insertion))),this.setMidpoints()},addCaboose:$.noop,getItemContainer:$.noop,isItemInTabContainer:function(t){return this.getItemContainer(t)[0]===this.designer.$tabContainer[0]},setMidpoints:function(){for(var t=0;t<this.$items.length;t++){var e=$(this.$items[t]);if(this.isItemInTabContainer(e)){var i=e.offset();e.data("midpoint",{left:i.left+e.outerWidth()/2,top:i.top+e.outerHeight()/2})}}},onDrag:function(){this.draggingUnusedItem&&!Garnish.hitTest(this.mouseX,this.mouseY,this.designer.$tabContainer)?this.showingInsertion&&(this.$insertion.remove(),this.$items=$().add(this.$items.not(this.$insertion)),this.showingInsertion=!1,this.addToTabGrid?this.designer.tabGrid.removeItems(this.$insertion):this.designer.tabGrid.refreshCols(!0),this.setMidpoints()):(this.onDrag._closestItem=this.getClosestItem(),this.onDrag._closestItem!==this.$insertion[0]&&(this.showingInsertion&&$.inArray(this.$insertion[0],this.$items)<$.inArray(this.onDrag._closestItem,this.$items)&&-1===$.inArray(this.onDrag._closestItem,this.$caboose)?this.$insertion.insertAfter(this.onDrag._closestItem):this.$insertion.insertBefore(this.onDrag._closestItem),this.$items=$().add(this.$items.add(this.$insertion)),this.showingInsertion=!0,this.addToTabGrid?this.designer.tabGrid.addItems(this.$insertion):this.designer.tabGrid.refreshCols(!0),this.setMidpoints())),this.base()},getClosestItem:function(){for(this.getClosestItem._closestItem=null,this.getClosestItem._closestItemMouseDiff=null,this.getClosestItem._i=0;this.getClosestItem._i<this.$items.length;this.getClosestItem._i++)this.getClosestItem._$item=$(this.$items[this.getClosestItem._i]),this.isItemInTabContainer(this.getClosestItem._$item)&&(this.getClosestItem._midpoint=this.getClosestItem._$item.data("midpoint"),this.getClosestItem._mouseDiff=Garnish.getDist(this.getClosestItem._midpoint.left,this.getClosestItem._midpoint.top,this.mouseX,this.mouseY),(null===this.getClosestItem._closestItem||this.getClosestItem._mouseDiff<this.getClosestItem._closestItemMouseDiff)&&(this.getClosestItem._closestItem=this.getClosestItem._$item[0],this.getClosestItem._closestItemMouseDiff=this.getClosestItem._mouseDiff));return this.getClosestItem._closestItem},onDragStop:function(){this.showingInsertion&&(this.$insertion.replaceWith(this.$draggee),this.$items=$().add(this.$items.not(this.$insertion).add(this.$draggee)),this.addToTabGrid&&(this.designer.tabGrid.removeItems(this.$insertion),this.designer.tabGrid.addItems(this.$draggee))),this.$items=this.$items.not(this.$caboose),this.$caboose.remove(),this.addToTabGrid&&this.designer.tabGrid.removeItems(this.$caboose),this.$draggee.css({display:this.draggeeDisplay,visibility:"hidden"}),this.designer.tabGrid.refreshCols(!0),this.designer.unusedFieldGrid.refreshCols(!0),this.returnHelpersToDraggees(),this.base()}}),Craft.FieldLayoutDesigner.TabDrag=Craft.FieldLayoutDesigner.BaseDrag.extend({itemSelector:"> div.fld-tab",addToTabGrid:!0,init:function(t){this.base(t,{handle:".tab"})},addCaboose:function(){this.$caboose=$('<div class="fld-tab fld-tab-caboose"/>').appendTo(this.designer.$tabContainer)},getInsertion:function(){var t=this.$draggee.find(".tab");return $('<div class="fld-tab fld-insertion" style="height: '+this.$draggee.height()+'px;"><div class="tabs"><div class="tab sel draggable" style="width: '+t.width()+"px; height: "+t.height()+'px;"></div></div><div class="fld-tabcontent" style="height: '+this.$draggee.find(".fld-tabcontent").height()+'px;"></div></div>')},getItemContainer:function(t){return t.parent()},onDragStop:function(){if(this.draggingUnusedItem&&this.showingInsertion){var t=this.$draggee.clone().removeClass("unused"),e=t.find(".tab span").text();t.find(".fld-field").removeClass("unused"),t.find(".tabs .tab").append('<a class="settings icon" title="'+Craft.t("app","Edit")+'"></a>');var i=t.find(".fld-field"),s=i.filter(".hidden").remove();(i=i.not(s)).prepend('<a class="settings icon" title="'+Craft.t("app","Edit")+'"></a>');for(var n=0;n<i.length;n++){var a=$(i[n]),r=this.designer.getFieldInputName(e);a.append('<input class="id-input" type="hidden" name="'+r+'" value="'+a.data("id")+'">')}this.designer.fieldDrag.addItems(i),this.designer.initTab(t),this.$draggee.css({visibility:"inherit",display:"field"}).addClass("hidden"),this.$draggee.find(".fld-field").addClass("hidden"),this.$draggee=t,this.addItems(t),this.designer.tabGrid.addItems(t),this.designer.unusedFieldGrid.removeItems(this.$draggee)}this.base()}}),Craft.FieldLayoutDesigner.FieldDrag=Craft.FieldLayoutDesigner.BaseDrag.extend({itemSelector:"> div.fld-tab .fld-field",addCaboose:function(){this.$caboose=$();for(var t=this.designer.$tabContainer.children().children(".fld-tabcontent"),e=0;e<t.length;e++){var i=$('<div class="fld-tab fld-tab-caboose"/>').appendTo(t[e]);this.$caboose=this.$caboose.add(i)}},getInsertion:function(){return $('<div class="fld-field fld-insertion" style="height: '+this.$draggee.height()+'px;"/>')},getItemContainer:function(t){return t.parent().parent().parent()},onDragStop:function(){if(this.draggingUnusedItem&&this.showingInsertion){var t=this.$draggee.clone().removeClass("unused");if(t.prepend('<a class="settings icon" title="'+Craft.t("app","Edit")+'"></a>'),this.designer.initField(t),this.$draggee.css({visibility:"inherit",display:"field"}).addClass("hidden"),0===this.$draggee.siblings(":not(.hidden)").length){var e=this.$draggee.parent().parent();e.addClass("hidden"),this.designer.unusedFieldGrid.removeItems(e)}this.$draggee=t,this.addItems(t)}if(this.showingInsertion){var i=this.$insertion.parent().parent().find(".tab span").text(),s=this.designer.getFieldInputName(i);this.draggingUnusedItem?this.$draggee.append('<input class="id-input" type="hidden" name="'+s+'" value="'+this.$draggee.data("id")+'">'):this.$draggee.find(".id-input").attr("name",s)}this.base()}}),Craft.FieldToggle=Garnish.Base.extend({$toggle:null,targetPrefix:null,targetSelector:null,reverseTargetSelector:null,_$target:null,_$reverseTarget:null,type:null,init:function(t){this.$toggle=$(t),this.$toggle.data("fieldtoggle")&&(Garnish.log("Double-instantiating a field toggle on an element"),this.$toggle.data("fieldtoggle").destroy()),this.$toggle.data("fieldtoggle",this),this.type=this.getType(),"select"===this.type?this.targetPrefix=this.$toggle.attr("data-target-prefix")||"":(this.targetSelector=this.normalizeTargetSelector(this.$toggle.data("target")),this.reverseTargetSelector=this.normalizeTargetSelector(this.$toggle.data("reverse-target"))),this.findTargets(),"link"===this.type?this.addListener(this.$toggle,"click","onToggleChange"):this.addListener(this.$toggle,"change","onToggleChange")},normalizeTargetSelector:function(t){return t&&!t.match(/^[#\.]/)&&(t="#"+t),t},getType:function(){return"INPUT"===this.$toggle.prop("nodeName")&&"checkbox"===this.$toggle.attr("type").toLowerCase()?"checkbox":"SELECT"===this.$toggle.prop("nodeName")?"select":"A"===this.$toggle.prop("nodeName")?"link":"DIV"===this.$toggle.prop("nodeName")&&this.$toggle.hasClass("lightswitch")?"lightswitch":void 0},findTargets:function(){"select"===this.type?this._$target=$(this.normalizeTargetSelector(this.targetPrefix+this.getToggleVal())):(this.targetSelector&&(this._$target=$(this.targetSelector)),this.reverseTargetSelector&&(this._$reverseTarget=$(this.reverseTargetSelector)))},getToggleVal:function(){if("lightswitch"===this.type)return this.$toggle.children("input").val();var t=Garnish.getInputPostVal(this.$toggle);return null===t?null:t.replace(/[\[\]\\]+/g,"-")},onToggleChange:function(){"select"===this.type?(this.hideTarget(this._$target),this.findTargets(),this.showTarget(this._$target)):("link"===this.type?this.onToggleChange._show=this.$toggle.hasClass("collapsed")||!this.$toggle.hasClass("expanded"):this.onToggleChange._show=!!this.getToggleVal(),this.onToggleChange._show?(this.showTarget(this._$target),this.hideTarget(this._$reverseTarget)):(this.hideTarget(this._$target),this.showTarget(this._$reverseTarget)),delete this.onToggleChange._show)},showTarget:function(t){t&&t.length&&(this.showTarget._currentHeight=t.height(),t.removeClass("hidden"),"select"!==this.type&&("link"===this.type&&(this.$toggle.removeClass("collapsed"),this.$toggle.addClass("expanded")),t.height("auto"),this.showTarget._targetHeight=t.height(),t.css({height:this.showTarget._currentHeight,overflow:"hidden"}),t.velocity("stop"),t.velocity({height:this.showTarget._targetHeight},"fast",function(){t.css({height:"",overflow:""})}),delete this.showTarget._targetHeight),delete this.showTarget._currentHeight,Garnish.$win.trigger("resize"))},hideTarget:function(t){t&&t.length&&("select"===this.type?t.addClass("hidden"):("link"===this.type&&(this.$toggle.removeClass("expanded"),this.$toggle.addClass("collapsed")),t.css("overflow","hidden"),t.velocity("stop"),t.velocity({height:0},"fast",function(){t.addClass("hidden")})))}}),Craft.Grid=Garnish.Base.extend({$container:null,$items:null,items:null,totalCols:null,colGutterDrop:null,colPctWidth:null,possibleItemColspans:null,possibleItemPositionsByColspan:null,itemPositions:null,itemColspansByPosition:null,layouts:null,layout:null,itemHeights:null,leftPadding:null,_refreshingCols:!1,_refreshColsAfterRefresh:!1,_forceRefreshColsAfterRefresh:!1,init:function(t,e){this.$container=$(t),this.$container.data("grid")&&(Garnish.log("Double-instantiating a grid on an element"),this.$container.data("grid").destroy()),this.$container.data("grid",this),this.setSettings(e,Craft.Grid.defaults),this.handleContainerHeightProxy=$.proxy(function(){this.refreshCols(!1,!0)},this),this.$items=this.$container.children(this.settings.itemSelector),this.setItems(),this.refreshCols(!0,!1),Garnish.$doc.ready($.proxy(function(){this.refreshCols(!1,!1)},this))},addItems:function(t){this.$items=$().add(this.$items.add(t)),this.setItems(),this.refreshCols(!0,!0)},removeItems:function(t){this.$items=$().add(this.$items.not(t)),this.setItems(),this.refreshCols(!0,!0)},resetItemOrder:function(){this.$items=$().add(this.$items),this.setItems(),this.refreshCols(!0,!0)},setItems:function(){for(this.setItems._={},this.items=[],this.setItems._.i=0;this.setItems._.i<this.$items.length;this.setItems._.i++)this.items.push($(this.$items[this.setItems._.i]));delete this.setItems._},refreshCols:function(t){if(this._refreshingCols)return this._refreshColsAfterRefresh=!0,void(t&&(this._forceRefreshColsAfterRefresh=!0));if(this._refreshingCols=!0,this.items.length)if(this.refreshCols._={},this.refreshCols._.oldHeight=this.$container[0].style.height,this.$container[0].style.height=1,this.refreshCols._.scrollHeight=this.$container[0].scrollHeight,this.$container[0].style.height=this.refreshCols._.oldHeight,0!==this.refreshCols._.scrollHeight)if(this.settings.cols?this.refreshCols._.totalCols=this.settings.cols:(this.refreshCols._.totalCols=Math.floor(this.$container.width()/this.settings.minColWidth),null!==this.totalCols&&this.refreshCols._.totalCols>this.totalCols&&(this.refreshCols._.totalCols=Math.floor((this.$container.width()-20)/this.settings.minColWidth)),this.settings.maxCols&&this.refreshCols._.totalCols>this.settings.maxCols&&(this.refreshCols._.totalCols=this.settings.maxCols)),0===this.refreshCols._.totalCols&&(this.refreshCols._.totalCols=1),!0===t||this.totalCols!==this.refreshCols._.totalCols){if(this.totalCols=this.refreshCols._.totalCols,this.colGutterDrop=this.settings.gutter*(this.totalCols-1)/this.totalCols,this.removeListener(this.$container,"resize"),"grid"===this.settings.fillMode)for(this.refreshCols._.itemIndex=0;this.refreshCols._.itemIndex<this.items.length;){for(this.refreshCols._.tallestItemHeight=-1,this.refreshCols._.colIndex=0,this.refreshCols._.i=this.refreshCols._.itemIndex;this.refreshCols._.i<this.refreshCols._.itemIndex+this.totalCols&&this.refreshCols._.i<this.items.length;this.refreshCols._.i++)this.refreshCols._.itemHeight=this.items[this.refreshCols._.i].height("auto").height(),this.refreshCols._.itemHeight>this.refreshCols._.tallestItemHeight&&(this.refreshCols._.tallestItemHeight=this.refreshCols._.itemHeight),this.refreshCols._.colIndex++;for(this.settings.snapToGrid&&(this.refreshCols._.remainder=this.refreshCols._.tallestItemHeight%this.settings.snapToGrid,this.refreshCols._.remainder&&(this.refreshCols._.tallestItemHeight+=this.settings.snapToGrid-this.refreshCols._.remainder)),this.refreshCols._.i=this.refreshCols._.itemIndex;this.refreshCols._.i<this.refreshCols._.itemIndex+this.totalCols&&this.refreshCols._.i<this.items.length;this.refreshCols._.i++)this.items[this.refreshCols._.i].height(this.refreshCols._.tallestItemHeight);this.refreshCols._.itemIndex+=this.totalCols}else if(this.removeListener(this.$items,"resize"),1===this.totalCols)this.$container.height("auto"),this.$items.show().css({position:"relative",width:"auto",top:0}).css(Craft.left,0);else{for(this.$items.css("position","absolute"),this.colPctWidth=100/this.totalCols,this.layouts=[],this.itemPositions=[],this.itemColspansByPosition=[],this.possibleItemColspans=[],this.possibleItemPositionsByColspan=[],this.itemHeightsByColspan=[],this.refreshCols._.item=0;this.refreshCols._.item<this.items.length;this.refreshCols._.item++)for(this.possibleItemColspans[this.refreshCols._.item]=[],this.possibleItemPositionsByColspan[this.refreshCols._.item]={},this.itemHeightsByColspan[this.refreshCols._.item]={},this.refreshCols._.$item=this.items[this.refreshCols._.item].show(),this.refreshCols._.positionRight="right"===this.refreshCols._.$item.data("position"),this.refreshCols._.positionLeft="left"===this.refreshCols._.$item.data("position"),this.refreshCols._.minColspan=this.refreshCols._.$item.data("colspan")?this.refreshCols._.$item.data("colspan"):this.refreshCols._.$item.data("min-colspan")?this.refreshCols._.$item.data("min-colspan"):1,this.refreshCols._.maxColspan=this.refreshCols._.$item.data("colspan")?this.refreshCols._.$item.data("colspan"):this.refreshCols._.$item.data("max-colspan")?this.refreshCols._.$item.data("max-colspan"):this.totalCols,this.refreshCols._.minColspan>this.totalCols&&(this.refreshCols._.minColspan=this.totalCols),this.refreshCols._.maxColspan>this.totalCols&&(this.refreshCols._.maxColspan=this.totalCols),this.refreshCols._.colspan=this.refreshCols._.minColspan;this.refreshCols._.colspan<=this.refreshCols._.maxColspan;this.refreshCols._.colspan++)for(this.refreshCols._.$item.css("width",this.getItemWidthCss(this.refreshCols._.colspan)),this.itemHeightsByColspan[this.refreshCols._.item][this.refreshCols._.colspan]=this.refreshCols._.$item.outerHeight(),this.possibleItemColspans[this.refreshCols._.item].push(this.refreshCols._.colspan),this.possibleItemPositionsByColspan[this.refreshCols._.item][this.refreshCols._.colspan]=[],this.refreshCols._.positionLeft?(this.refreshCols._.minPosition=0,this.refreshCols._.maxPosition=0):this.refreshCols._.positionRight?(this.refreshCols._.minPosition=this.totalCols-this.refreshCols._.colspan,this.refreshCols._.maxPosition=this.refreshCols._.minPosition):(this.refreshCols._.minPosition=0,this.refreshCols._.maxPosition=this.totalCols-this.refreshCols._.colspan),this.refreshCols._.position=this.refreshCols._.minPosition;this.refreshCols._.position<=this.refreshCols._.maxPosition;this.refreshCols._.position++)this.possibleItemPositionsByColspan[this.refreshCols._.item][this.refreshCols._.colspan].push(this.refreshCols._.position);for(this.refreshCols._.colHeights=[],this.refreshCols._.i=0;this.refreshCols._.i<this.totalCols;this.refreshCols._.i++)this.refreshCols._.colHeights.push(0);for(this.createLayouts(0,[],[],this.refreshCols._.colHeights,0),this.refreshCols._.layoutTotalCols=[],this.refreshCols._.i=0;this.refreshCols._.i<this.layouts.length;this.refreshCols._.i++)for(this.refreshCols._.layoutTotalCols[this.refreshCols._.i]=0,this.refreshCols._.j=0;this.refreshCols._.j<this.totalCols;this.refreshCols._.j++)this.layouts[this.refreshCols._.i].colHeights[this.refreshCols._.j]&&this.refreshCols._.layoutTotalCols[this.refreshCols._.i]++;for(this.refreshCols._.highestTotalCols=Math.max.apply(null,this.refreshCols._.layoutTotalCols),this.refreshCols._.i=this.layouts.length-1;0<=this.refreshCols._.i;this.refreshCols._.i--)this.refreshCols._.layoutTotalCols[this.refreshCols._.i]!==this.refreshCols._.highestTotalCols&&this.layouts.splice(this.refreshCols._.i,1);for(this.refreshCols._.layoutHeights=[],this.refreshCols._.i=0;this.refreshCols._.i<this.layouts.length;this.refreshCols._.i++)this.refreshCols._.layoutHeights.push(Math.max.apply(null,this.layouts[this.refreshCols._.i].colHeights));for(this.refreshCols._.shortestHeight=Math.min.apply(null,this.refreshCols._.layoutHeights),this.refreshCols._.shortestLayouts=[],this.refreshCols._.emptySpaces=[],this.refreshCols._.i=0;this.refreshCols._.i<this.refreshCols._.layoutHeights.length;this.refreshCols._.i++)if(this.refreshCols._.layoutHeights[this.refreshCols._.i]===this.refreshCols._.shortestHeight){for(this.refreshCols._.shortestLayouts.push(this.layouts[this.refreshCols._.i]),this.refreshCols._.emptySpace=this.layouts[this.refreshCols._.i].emptySpace,this.refreshCols._.j=0;this.refreshCols._.j<this.totalCols;this.refreshCols._.j++)this.refreshCols._.emptySpace+=this.refreshCols._.shortestHeight-this.layouts[this.refreshCols._.i].colHeights[this.refreshCols._.j];this.refreshCols._.emptySpaces.push(this.refreshCols._.emptySpace)}for(this.layout=this.refreshCols._.shortestLayouts[$.inArray(Math.min.apply(null,this.refreshCols._.emptySpaces),this.refreshCols._.emptySpaces)],this.refreshCols._.i=0;this.refreshCols._.i<this.items.length;this.refreshCols._.i++)this.refreshCols._.css={width:this.getItemWidthCss(this.layout.colspans[this.refreshCols._.i])},this.refreshCols._.css[Craft.left]=this.getItemLeftPosCss(this.layout.positions[this.refreshCols._.i]),this.items[this.refreshCols._.i].css(this.refreshCols._.css);this.isSimpleLayout()?(this.$container.height("auto"),this.$items.css({position:"relative",top:0,"margin-bottom":this.settings.gutter+"px"})):(this.$items.css("position","absolute"),this.positionItems(),this.addListener(this.$items,"resize","onItemResize"))}this.completeRefreshCols(),this.addListener(this.$container,"resize",this.handleContainerHeightProxy),this.onRefreshCols()}else this.completeRefreshCols();else this.completeRefreshCols();else this.completeRefreshCols()},completeRefreshCols:function(){if(void 0!==this.refreshCols._&&delete this.refreshCols._,this._refreshingCols=!1,this._refreshColsAfterRefresh){var t=this._forceRefreshColsAfterRefresh;this._refreshColsAfterRefresh=!1,this._forceRefreshColsAfterRefresh=!1,Garnish.requestAnimationFrame($.proxy(function(){this.refreshCols(t)},this))}},getItemWidth:function(t){return this.colPctWidth*t},getItemWidthCss:function(t){return"calc("+this.getItemWidth(t)+"% - "+this.colGutterDrop+"px)"},getItemWidthInPx:function(t){return this.getItemWidth(t)/100*this.$container.width()-this.colGutterDrop},getItemLeftPosCss:function(t){return"calc(("+this.getItemWidth(1)+"% + "+(this.settings.gutter-this.colGutterDrop)+"px) * "+t+")"},getItemLeftPosInPx:function(t){return(this.getItemWidth(1)/100*this.$container.width()+(this.settings.gutter-this.colGutterDrop))*t},createLayouts:function(t,e,i,s,n){new Craft.Grid.LayoutGenerator(this).createLayouts(t,e,i,s,n)},isSimpleLayout:function(){for(this.isSimpleLayout._={},this.isSimpleLayout._.i=0;this.isSimpleLayout._.i<this.layout.positions.length;this.isSimpleLayout._.i++)if(0!==this.layout.positions[this.isSimpleLayout._.i])return delete this.isSimpleLayout._,!1;return delete this.isSimpleLayout._,!0},positionItems:function(){for(this.positionItems._={},this.positionItems._.colHeights=[],this.positionItems._.i=0;this.positionItems._.i<this.totalCols;this.positionItems._.i++)this.positionItems._.colHeights.push(0);for(this.positionItems._.i=0;this.positionItems._.i<this.items.length;this.positionItems._.i++){for(this.positionItems._.endingCol=this.layout.positions[this.positionItems._.i]+this.layout.colspans[this.positionItems._.i]-1,this.positionItems._.affectedColHeights=[],this.positionItems._.col=this.layout.positions[this.positionItems._.i];this.positionItems._.col<=this.positionItems._.endingCol;this.positionItems._.col++)this.positionItems._.affectedColHeights.push(this.positionItems._.colHeights[this.positionItems._.col]);for(this.positionItems._.top=Math.max.apply(null,this.positionItems._.affectedColHeights),0<this.positionItems._.top&&(this.positionItems._.top+=this.settings.gutter),this.items[this.positionItems._.i].css("top",this.positionItems._.top),this.positionItems._.col=this.layout.positions[this.positionItems._.i];this.positionItems._.col<=this.positionItems._.endingCol;this.positionItems._.col++)this.positionItems._.colHeights[this.positionItems._.col]=this.positionItems._.top+this.itemHeightsByColspan[this.positionItems._.i][this.layout.colspans[this.positionItems._.i]]}this.$container.height(Math.max.apply(null,this.positionItems._.colHeights)),delete this.positionItems._},onItemResize:function(t){this.onItemResize._={},t.stopPropagation(),this.onItemResize._.item=$.inArray(t.currentTarget,this.$items),-1!==this.onItemResize._.item&&(this.onItemResize._.newHeight=this.items[this.onItemResize._.item].outerHeight(),this.onItemResize._.newHeight!==this.itemHeightsByColspan[this.onItemResize._.item][this.layout.colspans[this.onItemResize._.item]]&&(this.itemHeightsByColspan[this.onItemResize._.item][this.layout.colspans[this.onItemResize._.item]]=this.onItemResize._.newHeight,this.positionItems(!1))),delete this.onItemResize._},onRefreshCols:function(){this.trigger("refreshCols"),this.settings.onRefreshCols()}},{defaults:{itemSelector:".item",cols:null,maxCols:null,minColWidth:320,gutter:14,fillMode:"top",colClass:"col",snapToGrid:null,onRefreshCols:$.noop}}),Craft.Grid.LayoutGenerator=Garnish.Base.extend({grid:null,_:null,init:function(t){this.grid=t},createLayouts:function(t,e,i,s,n){for(this._={},this._.c=0;this._.c<this.grid.possibleItemColspans[t].length;this._.c++){for(this._.colspan=this.grid.possibleItemColspans[t][this._.c],this._.tallestColHeightsByPosition=[],this._.p=0;this._.p<this.grid.possibleItemPositionsByColspan[t][this._.colspan].length;this._.p++){for(this._.position=this.grid.possibleItemPositionsByColspan[t][this._.colspan][this._.p],this._.colHeightsForPosition=[],this._.endingCol=this._.position+this._.colspan-1,this._.col=this._.position;this._.col<=this._.endingCol;this._.col++)this._.colHeightsForPosition.push(s[this._.col]);this._.tallestColHeightsByPosition[this._.p]=Math.max.apply(null,this._.colHeightsForPosition)}for(this._.p=$.inArray(Math.min.apply(null,this._.tallestColHeightsByPosition),this._.tallestColHeightsByPosition),this._.position=this.grid.possibleItemPositionsByColspan[t][this._.colspan][this._.p],this._.positions=e.slice(0),this._.colspans=i.slice(0),this._.colHeights=s.slice(0),this._.emptySpace=n,this._.positions.push(this._.position),this._.colspans.push(this._.colspan),this._.tallestColHeight=this._.tallestColHeightsByPosition[this._.p],this._.endingCol=this._.position+this._.colspan-1,this._.col=this._.position;this._.col<=this._.endingCol;this._.col++)this._.emptySpace+=this._.tallestColHeight-this._.colHeights[this._.col],this._.colHeights[this._.col]=this._.tallestColHeight+this.grid.itemHeightsByColspan[t][this._.colspan];t===this.grid.items.length-1?this.grid.layouts.push({positions:this._.positions,colspans:this._.colspans,colHeights:this._.colHeights,emptySpace:this._.emptySpace}):this.grid.createLayouts(t+1,this._.positions,this._.colspans,this._.colHeights,this._.emptySpace)}delete this._}}),Craft.HandleGenerator=Craft.BaseInputGenerator.extend({generateTargetValue:function(t){var e=t.replace("/<(.*?)>/g","");e=(e=e.replace(/['"‘’“”\[\]\(\)\{\}:]/g,"")).toLowerCase(),e=Craft.asciiString(e),this.settings.allowNonAlphaStart||(e=e.replace(/^[^a-z]+/,""));var i=Craft.filterArray(e.split(/[^a-z0-9]+/));e="";for(var s=0;s<i.length;s++)e+=0===s?i[s]:i[s].charAt(0).toUpperCase()+i[s].substr(1);return e}}),Craft.ImageUpload=Garnish.Base.extend({$container:null,progressBar:null,uploader:null,init:function(t){this.setSettings(t,Craft.ImageUpload.defaults),this.initImageUpload()},initImageUpload:function(){this.$container=$(this.settings.containerSelector),this.progressBar=new Craft.ProgressBar($('<div class="progress-shade"></div>').appendTo(this.$container));var t={url:Craft.getActionUrl(this.settings.uploadAction),formData:this.settings.postParameters,fileInput:this.$container.find(this.settings.fileInputSelector),paramName:this.settings.uploadParamName};void 0!==Craft.csrfTokenName&&void 0!==Craft.csrfTokenValue&&(t.formData[Craft.csrfTokenName]=Craft.csrfTokenValue),t.events={},t.events.fileuploadstart=$.proxy(this,"_onUploadStart"),t.events.fileuploadprogressall=$.proxy(this,"_onUploadProgress"),t.events.fileuploaddone=$.proxy(this,"_onUploadComplete"),t.events.fileuploadfail=$.proxy(this,"_onUploadError"),this.uploader=new Craft.Uploader(this.$container,t),this.initButtons()},initButtons:function(){this.$container.find(this.settings.uploadButtonSelector).on("click",$.proxy(function(t){this.$container.find(this.settings.fileInputSelector).trigger("click")},this)),this.$container.find(this.settings.deleteButtonSelector).on("click",$.proxy(function(t){confirm(Craft.t("app","Are you sure you want to delete this image?"))&&($(t.currentTarget).parent().append('<div class="blocking-modal"></div>'),Craft.postActionRequest(this.settings.deleteAction,this.settings.postParameters,$.proxy(function(t,e){"success"===e&&this.refreshImage(t)},this)))},this))},refreshImage:function(t){$(this.settings.containerSelector).replaceWith(t.html),this.settings.onAfterRefreshImage(t),this.initImageUpload()},_onUploadStart:function(t){this.progressBar.$progressBar.css({top:Math.round(this.$container.outerHeight()/2)-6}),this.$container.addClass("uploading"),this.progressBar.resetProgressBar(),this.progressBar.showProgressBar()},_onUploadProgress:function(t,e){var i=parseInt(e.loaded/e.total*100,10);this.progressBar.setProgressPercentage(i)},_onUploadComplete:function(t,e){if(e.result.error)alert(e.result.error);else{$(e.result.html);this.refreshImage(e.result)}this.uploader.isLastUpload()&&(this.progressBar.hideProgressBar(),this.$container.removeClass("uploading"))},_onUploadError:function(t,e){e.jqXHR.responseJSON.error&&(alert(e.jqXHR.responseJSON.error),this.$container.removeClass("uploading"),this.progressBar.hideProgressBar(),this.progressBar.resetProgressBar())}},{defaults:{postParameters:{},uploadAction:"",deleteAction:"",fileInputSelector:"",onAfterRefreshImage:$.noop,containerSelector:null,uploadButtonSelector:null,deleteButtonSelector:null,uploadParamName:"files"}}),Craft.InfoIcon=Garnish.Base.extend({$icon:null,hud:null,init:function(t){this.$icon=$(t),this.addListener(this.$icon,"click","showHud")},showHud:function(){this.hud?this.hud.show():this.hud=new Garnish.HUD(this.$icon,this.$icon.html(),{hudClass:"hud info-hud",closeOtherHUDs:!1})}}),Craft.LightSwitch=Garnish.Base.extend({settings:null,$outerContainer:null,$innerContainer:null,$input:null,small:!1,on:null,dragger:null,dragStartMargin:null,init:function(t,e){this.$outerContainer=$(t),this.$outerContainer.data("lightswitch")&&(Garnish.log("Double-instantiating a lightswitch on an element"),this.$outerContainer.data("lightswitch").destroy()),this.$outerContainer.data("lightswitch",this),this.small=this.$outerContainer.hasClass("small"),this.setSettings(e,Craft.LightSwitch.defaults),this.$innerContainer=this.$outerContainer.find(".lightswitch-container:first"),this.$input=this.$outerContainer.find("input:first"),this.$input.prop("disabled")||(this.on=this.$outerContainer.hasClass("on"),this.$outerContainer.attr({role:"checkbox","aria-checked":this.on?"true":"false"}),this.addListener(this.$outerContainer,"mousedown","_onMouseDown"),this.addListener(this.$outerContainer,"keydown","_onKeyDown"),this.dragger=new Garnish.BaseDrag(this.$outerContainer,{axis:Garnish.X_AXIS,ignoreHandleSelector:null,onDragStart:$.proxy(this,"_onDragStart"),onDrag:$.proxy(this,"_onDrag"),onDragStop:$.proxy(this,"_onDragStop")}))},turnOn:function(){this.$outerContainer.addClass("dragging");var t={};t["margin-"+Craft.left]=0,this.$innerContainer.velocity("stop").velocity(t,Craft.LightSwitch.animationDuration,$.proxy(this,"_onSettle")),this.$input.val(this.settings.value),this.$outerContainer.addClass("on"),this.$outerContainer.attr("aria-checked","true"),this.on!==(this.on=!0)&&this.onChange()},turnOff:function(){this.$outerContainer.addClass("dragging");var t={};t["margin-"+Craft.left]=this._getOffMargin(),this.$innerContainer.velocity("stop").velocity(t,Craft.LightSwitch.animationDuration,$.proxy(this,"_onSettle")),this.$input.val(""),this.$outerContainer.removeClass("on"),this.$outerContainer.attr("aria-checked","false"),this.on!==(this.on=!1)&&this.onChange()},toggle:function(t){this.on?this.turnOff():this.turnOn()},onChange:function(){this.trigger("change"),this.settings.onChange(),this.$outerContainer.trigger("change")},_onMouseDown:function(){this.addListener(Garnish.$doc,"mouseup","_onMouseUp")},_onMouseUp:function(){this.removeListener(Garnish.$doc,"mouseup"),this.dragger.dragging||this.toggle()},_onKeyDown:function(t){switch(t.keyCode){case Garnish.SPACE_KEY:this.toggle(),t.preventDefault();break;case Garnish.RIGHT_KEY:"ltr"===Craft.orientation?this.turnOn():this.turnOff(),t.preventDefault();break;case Garnish.LEFT_KEY:"ltr"===Craft.orientation?this.turnOff():this.turnOn(),t.preventDefault()}},_getMargin:function(){return parseInt(this.$innerContainer.css("margin-"+Craft.left))},_onDragStart:function(){this.$outerContainer.addClass("dragging"),this.dragStartMargin=this._getMargin()},_onDrag:function(){var t;(t="ltr"===Craft.orientation?this.dragStartMargin+this.dragger.mouseDistX:this.dragStartMargin-this.dragger.mouseDistX)<this._getOffMargin()?t=this._getOffMargin():0<t&&(t=0),this.$innerContainer.css("margin-"+Craft.left,t)},_onDragStop:function(){this._getMargin()>this._getOffMargin()/2?this.turnOn():this.turnOff()},_onSettle:function(){this.$outerContainer.removeClass("dragging")},destroy:function(){this.base(),this.dragger.destroy()},_getOffMargin:function(){return this.small?-9:-11}},{animationDuration:100,defaults:{value:"1",onChange:$.noop}}),Craft.LivePreview=Garnish.Base.extend({$extraFields:null,$trigger:null,$shade:null,$editorContainer:null,$editor:null,$dragHandle:null,$iframeContainer:null,$iframe:null,$fieldPlaceholder:null,previewUrl:null,token:null,basePostData:null,inPreviewMode:!1,fields:null,lastPostData:null,updateIframeInterval:null,loading:!1,checkAgain:!1,dragger:null,dragStartEditorWidth:null,_slideInOnIframeLoad:!1,_handleSuccessProxy:null,_handleErrorProxy:null,_forceUpdateIframeProxy:null,_scrollX:null,_scrollY:null,_editorWidth:null,_editorWidthInPx:null,init:function(t){this.setSettings(t,Craft.LivePreview.defaults),this.settings.previewUrl?this.previewUrl=this.settings.previewUrl:this.previewUrl=Craft.baseSiteUrl.replace(/\/+$/,"")+"/","https:"===document.location.protocol&&(this.previewUrl=this.previewUrl.replace(/^http:/,"https:")),this.basePostData=$.extend({},this.settings.previewParams),this._handleSuccessProxy=$.proxy(this,"handleSuccess"),this._handleErrorProxy=$.proxy(this,"handleError"),this._forceUpdateIframeProxy=$.proxy(this,"forceUpdateIframe"),this.$extraFields=$(this.settings.extraFields),this.$trigger=$(this.settings.trigger),this.$fieldPlaceholder=$("<div/>"),this.editorWidth=Craft.getLocalStorage("LivePreview.editorWidth",Craft.LivePreview.defaultEditorWidth),this.addListener(this.$trigger,"activate","toggle"),Craft.cp.on("beforeSaveShortcut",$.proxy(function(){this.inPreviewMode&&this.moveFieldsBack()},this))},get editorWidth(){return this._editorWidth},get editorWidthInPx(){return this._editorWidthInPx},set editorWidth(t){var e;1<=t?(e=t,t/=Garnish.$win.width()):e=Math.round(t*Garnish.$win.width()),e<Craft.LivePreview.minEditorWidthInPx&&(t=(e=Craft.LivePreview.minEditorWidthInPx)/Garnish.$win.width()),this._editorWidth=t,this._editorWidthInPx=e},toggle:function(){this.inPreviewMode?this.exit():this.enter()},enter:function(){if(!this.inPreviewMode)if(this.token){if(this.trigger("beforeEnter"),$(document.activeElement).trigger("blur"),!this.$editor){this.$shade=$("<div/>",{class:"modal-shade dark"}).appendTo(Garnish.$bod),this.$editorContainer=$("<div/>",{class:"lp-editor-container"}).appendTo(Garnish.$bod),this.$iframeContainer=$("<div/>",{class:"lp-preview-container"}).appendTo(Garnish.$bod);var t=$("<header/>",{class:"flex"}).appendTo(this.$editorContainer);this.$editor=$("<form/>",{class:"lp-editor"}).appendTo(this.$editorContainer),this.$dragHandle=$("<div/>",{class:"lp-draghandle"}).appendTo(this.$editorContainer);var e=$("<div/>",{class:"btn",text:Craft.t("app","Close Preview")}).appendTo(t);$("<div/>",{class:"flex-grow"}).appendTo(t);var i=$('<div class="btn submit">'+Craft.t("app","Save")+"</div>").appendTo(t);this.dragger=new Garnish.BaseDrag(this.$dragHandle,{axis:Garnish.X_AXIS,onDragStart:$.proxy(this,"_onDragStart"),onDrag:$.proxy(this,"_onDrag"),onDragStop:$.proxy(this,"_onDragStop")}),this.addListener(e,"click","exit"),this.addListener(i,"click","save")}this.handleWindowResize(),this.addListener(Garnish.$win,"resize","handleWindowResize"),this.$editorContainer.css(Craft.left,-(this.editorWidthInPx+Craft.LivePreview.dragHandleWidth)+"px"),this.$iframeContainer.css(Craft.right,-this.getIframeWidth()),this.fields=[];for(var s=$(this.settings.fields),n=0;n<s.length;n++){var a=$(s[n]),r=this._getClone(a);this.$fieldPlaceholder.insertAfter(a),a.detach(),this.$fieldPlaceholder.replaceWith(r),a.appendTo(this.$editor),this.fields.push({$field:a,$clone:r})}this.updateIframe()?this._slideInOnIframeLoad=!0:this.slideIn(),Garnish.on(Craft.BaseElementEditor,"saveElement",this._forceUpdateIframeProxy),Garnish.on(Craft.AssetImageEditor,"save",this._forceUpdateIframeProxy),this.inPreviewMode=!0,this.trigger("enter")}else this.createToken()},createToken:function(){Craft.postActionRequest("live-preview/create-token",{previewAction:this.settings.previewAction},$.proxy(function(t,e){"success"===e&&(this.token=t.token,this.enter())},this))},save:function(){Craft.cp.submitPrimaryForm()},handleWindowResize:function(){this.editorWidth=this.editorWidth,this.updateWidths()},slideIn:function(){$("html").addClass("noscroll"),this.$shade.velocity("fadeIn"),this.$editorContainer.show().velocity("stop").animateLeft(0,"slow",$.proxy(function(){this.trigger("slideIn"),Garnish.$win.trigger("resize")},this)),this.$iframeContainer.show().velocity("stop").animateRight(0,"slow",$.proxy(function(){this.updateIframeInterval=setInterval($.proxy(this,"updateIframe"),1e3),this.addListener(Garnish.$bod,"keyup",function(t){t.keyCode===Garnish.ESC_KEY&&this.exit()})},this))},exit:function(){this.inPreviewMode&&(this.trigger("beforeExit"),$("html").removeClass("noscroll"),this.removeListener(Garnish.$win,"resize"),this.removeListener(Garnish.$bod,"keyup"),this.updateIframeInterval&&clearInterval(this.updateIframeInterval),this.moveFieldsBack(),this.$shade.delay(200).velocity("fadeOut"),this.$editorContainer.velocity("stop").animateLeft(-(this.editorWidthInPx+Craft.LivePreview.dragHandleWidth),"slow",$.proxy(function(){for(var t=0;t<this.fields.length;t++)this.fields[t].$newClone.remove();this.$editorContainer.hide(),this.trigger("slideOut")},this)),this.$iframeContainer.velocity("stop").animateRight(-this.getIframeWidth(),"slow",$.proxy(function(){this.$iframeContainer.hide()},this)),Garnish.off(Craft.BaseElementEditor,"saveElement",this._forceUpdateIframeProxy),this.inPreviewMode=!1,this.trigger("exit"))},moveFieldsBack:function(){for(var t=0;t<this.fields.length;t++){var e=this.fields[t];e.$newClone=this._getClone(e.$field),this.$fieldPlaceholder.insertAfter(e.$field),e.$field.detach(),this.$fieldPlaceholder.replaceWith(e.$newClone),e.$clone.replaceWith(e.$field)}Garnish.$win.trigger("resize")},getIframeWidth:function(){return Garnish.$win.width()-(this.editorWidthInPx+Craft.LivePreview.dragHandleWidth)},updateWidths:function(){this.$editorContainer.css("width",this.editorWidthInPx+"px"),this.$iframeContainer.width(this.getIframeWidth())},updateIframe:function(t){if(t&&(this.lastPostData=null),!this.inPreviewMode)return!1;if(this.loading)return!(this.checkAgain=!0);var e=$.extend(Garnish.getPostData(this.$editor),Garnish.getPostData(this.$extraFields));if(this.lastPostData&&Craft.compare(e,this.lastPostData,!1))return!1;this.lastPostData=e,this.loading=!0;var i=this.$iframe?$(this.$iframe[0].contentWindow.document):null;return this._scrollX=i?i.scrollLeft():0,this._scrollY=i?i.scrollTop():0,$.ajax({url:this.previewUrl+(-1!==this.previewUrl.indexOf("?")?"&":"?")+Craft.tokenParam+"="+this.token,method:"POST",data:$.extend({},e,this.basePostData),headers:{"X-Craft-Token":this.token},xhrFields:{withCredentials:!0},crossDomain:!0,success:this._handleSuccessProxy,error:this._handleErrorProxy}),!0},forceUpdateIframe:function(){return this.updateIframe(!0)},handleSuccess:function(t){var e=t+'<script type="text/javascript">window.scrollTo('+this._scrollX+", "+this._scrollY+");<\/script>",i=$('<iframe class="lp-preview" frameborder="0"/>');this.$iframe?i.insertBefore(this.$iframe):i.appendTo(this.$iframeContainer),this.addListener(i,"load",function(){this.$iframe&&this.$iframe.remove(),this.$iframe=i,this._slideInOnIframeLoad&&(this.slideIn(),this._slideInOnIframeLoad=!1),this.removeListener(i,"load")}),Garnish.requestAnimationFrame($.proxy(function(){i[0].contentWindow.document.open(),i[0].contentWindow.document.write(e),i[0].contentWindow.document.close(),this.onResponse()},this))},handleError:function(){this.onResponse()},onResponse:function(){this.loading=!1,this.checkAgain&&(this.checkAgain=!1,this.updateIframe())},_getClone:function(t){var e=t.clone();return Garnish.copyInputValues(t,e),e.attr("id",""),e.find("[id]").attr("id",""),e},_onDragStart:function(){this.dragStartEditorWidth=this.editorWidthInPx,this.$iframeContainer.addClass("dragging")},_onDrag:function(){"ltr"===Craft.orientation?this.editorWidth=this.dragStartEditorWidth+this.dragger.mouseDistX:this.editorWidth=this.dragStartEditorWidth-this.dragger.mouseDistX,this.updateWidths()},_onDragStop:function(){this.$iframeContainer.removeClass("dragging"),Craft.setLocalStorage("LivePreview.editorWidth",this.editorWidth)}},{defaultEditorWidth:.33,minEditorWidthInPx:320,dragHandleWidth:4,defaults:{trigger:".livepreviewbtn",fields:null,extraFields:null,previewUrl:null,previewAction:null,previewParams:{}}}),Craft.LivePreview.init=function(t){Craft.livePreview=new Craft.LivePreview(t)},Craft.PasswordInput=Garnish.Base.extend({$passwordInput:null,$textInput:null,$currentInput:null,$showPasswordToggle:null,showingPassword:null,init:function(t,e){this.$passwordInput=$(t),this.settings=$.extend({},Craft.PasswordInput.defaults,e),this.$passwordInput.data("passwordInput")&&(Garnish.log("Double-instantiating a password input on an element"),this.$passwordInput.data("passwordInput").destroy()),this.$passwordInput.data("passwordInput",this),this.$showPasswordToggle=$("<a/>").hide(),this.$showPasswordToggle.addClass("password-toggle"),this.$showPasswordToggle.insertAfter(this.$passwordInput),this.addListener(this.$showPasswordToggle,"mousedown","onToggleMouseDown"),this.hidePassword()},setCurrentInput:function(t){this.$currentInput&&(t.addClass("focus"),t.insertAfter(this.$currentInput),this.$currentInput.detach(),t.trigger("focus"),t.removeClass("focus"),t.val(this.$currentInput.val())),this.$currentInput=t,this.addListener(this.$currentInput,"keypress,keyup,change,blur","onInputChange")},updateToggleLabel:function(t){this.$showPasswordToggle.text(t)},showPassword:function(){this.showingPassword||(this.$textInput||(this.$textInput=this.$passwordInput.clone(!0),this.$textInput.attr("type","text")),this.setCurrentInput(this.$textInput),this.updateToggleLabel(Craft.t("app","Hide")),this.showingPassword=!0)},hidePassword:function(){!1!==this.showingPassword&&(this.setCurrentInput(this.$passwordInput),this.updateToggleLabel(Craft.t("app","Show")),this.showingPassword=!1,this.addListener(this.$passwordInput,"keydown","onKeyDown"))},togglePassword:function(){this.showingPassword?this.hidePassword():this.showPassword(),this.settings.onToggleInput(this.$currentInput)},onKeyDown:function(t){t.keyCode===Garnish.ALT_KEY&&this.$currentInput.val()&&(this.showPassword(),this.$showPasswordToggle.hide(),this.addListener(this.$textInput,"keyup","onKeyUp"))},onKeyUp:function(t){t.preventDefault(),t.keyCode===Garnish.ALT_KEY&&(this.hidePassword(),this.$showPasswordToggle.show())},onInputChange:function(){this.$currentInput.val()?this.$showPasswordToggle.show():this.$showPasswordToggle.hide()},onToggleMouseDown:function(t){if(t.preventDefault(),this.$currentInput[0].setSelectionRange){var e=this.$currentInput[0].selectionStart,i=this.$currentInput[0].selectionEnd;this.togglePassword(),this.$currentInput[0].setSelectionRange(e,i)}else this.togglePassword()}},{defaults:{onToggleInput:$.noop}}),Craft.Preview=Garnish.Base.extend({draftEditor:null,$shade:null,$editorContainer:null,$editor:null,$spinner:null,$statusIcon:null,$dragHandle:null,$previewContainer:null,$targetBtn:null,$targetMenu:null,$iframe:null,$tempInput:null,$fieldPlaceholder:null,isActive:!1,activeTarget:0,url:null,fields:null,scrollLeft:0,scrollTop:0,dragger:null,dragStartEditorWidth:null,_slideInOnIframeLoad:!1,_updateIframeProxy:null,_editorWidth:null,_editorWidthInPx:null,init:function(t){this.draftEditor=t,this._updateIframeProxy=$.proxy(this,"updateIframe"),this.$tempInput=$("<input/>",{type:"hidden",name:"__PREVIEW_FIELDS__",value:"1"}),this.$fieldPlaceholder=$("<div/>"),this.editorWidth=Craft.getLocalStorage("LivePreview.editorWidth",Craft.Preview.defaultEditorWidth)},get editorWidth(){return this._editorWidth},get editorWidthInPx(){return this._editorWidthInPx},set editorWidth(t){var e;1<=t?(e=t,t/=Garnish.$win.width()):e=Math.round(t*Garnish.$win.width()),e<Craft.Preview.minEditorWidthInPx&&(t=(e=Craft.Preview.minEditorWidthInPx)/Garnish.$win.width()),this._editorWidth=t,this._editorWidthInPx=e},open:function(){if(!this.isActive){if(this.isActive=!0,this.trigger("beforeOpen"),$(document.activeElement).trigger("blur"),!this.$editor){this.$shade=$("<div/>",{class:"modal-shade dark"}).appendTo(Garnish.$bod),this.$editorContainer=$("<div/>",{class:"lp-editor-container"}).appendTo(Garnish.$bod),this.$previewContainer=$("<div/>",{class:"lp-preview-container"}).appendTo(Garnish.$bod);var t=$("<header/>",{class:"flex"}).appendTo(this.$editorContainer);this.$editor=$("<form/>",{class:"lp-editor"}).appendTo(this.$editorContainer),this.$dragHandle=$("<div/>",{class:"lp-draghandle"}).appendTo(this.$editorContainer);var e=$("<div/>",{class:"btn",text:Craft.t("app","Close Preview")}).appendTo(t);if($("<div/>",{class:"flex-grow"}).appendTo(t),this.$spinner=$("<div/>",{class:"spinner hidden",title:Craft.t("app","Saving")}).appendTo(t),this.$statusIcon=$("<div/>",{class:"invisible"}).appendTo(t),1<this.draftEditor.settings.previewTargets.length){var i=$("<header/>",{class:"flex"}).appendTo(this.$previewContainer);this.$targetBtn=$("<div/>",{class:"btn menubtn",text:this.draftEditor.settings.previewTargets[0].label,role:"btn"}).appendTo(i),this.$targetMenu=$("<div/>",{class:"menu lp-target-menu"}).insertAfter(this.$targetBtn);for(var s,n=$("<ul/>",{class:"padded"}).appendTo(this.$targetMenu),a=0;a<this.draftEditor.settings.previewTargets.length;a++)s=$("<li/>").appendTo(n),$("<a/>",{data:{target:a},text:this.draftEditor.settings.previewTargets[a].label,class:0===a?"sel":null}).appendTo(s);new Garnish.MenuBtn(this.$targetBtn,{onOptionSelect:$.proxy(function(t){this.switchTarget($(t).data("target"))},this)})}this.dragger=new Garnish.BaseDrag(this.$dragHandle,{axis:Garnish.X_AXIS,onDragStart:$.proxy(this,"_onDragStart"),onDrag:$.proxy(this,"_onDrag"),onDragStop:$.proxy(this,"_onDragStop")}),this.addListener(e,"click","close"),this.addListener(this.$statusIcon,"click",function(){this.draftEditor.showStatusHud(this.$statusIcon)}.bind(this))}this.handleWindowResize(),this.addListener(Garnish.$win,"resize","handleWindowResize"),this.$editorContainer.css(Craft.left,-(this.editorWidthInPx+Craft.Preview.dragHandleWidth)+"px"),this.$previewContainer.css(Craft.right,-this.getIframeWidth()),this.fields=[];var r=$("#content .field").not($("#content .field .field"));if(r.length){this.$tempInput.insertBefore(r.get(0));for(a=0;a<r.length;a++){var o=$(r[a]),l=this._getClone(o);this.$fieldPlaceholder.insertAfter(o),o.detach(),this.$fieldPlaceholder.replaceWith(l),o.appendTo(this.$editor),this.fields.push({$field:o,$clone:l})}}this._slideInOnIframeLoad=!0,this.updateIframe(),this.draftEditor.on("update",this._updateIframeProxy),Garnish.on(Craft.BaseElementEditor,"saveElement",this._updateIframeProxy),Garnish.on(Craft.AssetImageEditor,"save",this._updateIframeProxy),this.trigger("open")}},switchTarget:function(t){this.activeTarget=t,this.$targetBtn.text(this.draftEditor.settings.previewTargets[t].label),this.$targetMenu.find("a.sel").removeClass("sel"),this.$targetMenu.find("a").eq(t).addClass("sel"),this.updateIframe(!0)},handleWindowResize:function(){this.editorWidth=this.editorWidth,this.updateWidths()},slideIn:function(){$("html").addClass("noscroll"),this.$shade.velocity("fadeIn"),this.$editorContainer.show().velocity("stop").animateLeft(0,"slow",$.proxy(function(){this.trigger("slideIn"),Garnish.$win.trigger("resize")},this)),this.$previewContainer.show().velocity("stop").animateRight(0,"slow",$.proxy(function(){this.addListener(Garnish.$bod,"keyup",function(t){t.keyCode===Garnish.ESC_KEY&&this.close()})},this))},close:function(){this.isActive&&(this.trigger("beforeClose"),$("html").removeClass("noscroll"),this.removeListener(Garnish.$win,"resize"),this.removeListener(Garnish.$bod,"keyup"),this.$tempInput.detach(),this.moveFieldsBack(),this.$shade.delay(200).velocity("fadeOut"),this.$editorContainer.velocity("stop").animateLeft(-(this.editorWidthInPx+Craft.Preview.dragHandleWidth),"slow",$.proxy(function(){for(var t=0;t<this.fields.length;t++)this.fields[t].$newClone.remove();this.$editorContainer.hide(),this.trigger("slideOut")},this)),this.$previewContainer.velocity("stop").animateRight(-this.getIframeWidth(),"slow",$.proxy(function(){this.$previewContainer.hide()},this)),this.draftEditor.off("update",this._updateIframeProxy),Garnish.off(Craft.BaseElementEditor,"saveElement",this._updateIframeProxy),Garnish.off(Craft.AssetImageEditor,"save",this._updateIframeProxy),this.isActive=!1,this.trigger("close"))},moveFieldsBack:function(){for(var t=0;t<this.fields.length;t++){var e=this.fields[t];e.$newClone=this._getClone(e.$field),this.$fieldPlaceholder.insertAfter(e.$field),e.$field.detach(),this.$fieldPlaceholder.replaceWith(e.$newClone),e.$clone.replaceWith(e.$field)}Garnish.$win.trigger("resize")},getIframeWidth:function(){return Garnish.$win.width()-(this.editorWidthInPx+Craft.Preview.dragHandleWidth)},updateWidths:function(){this.$editorContainer.css("width",this.editorWidthInPx+"px"),this.$previewContainer.width(this.getIframeWidth())},updateIframe:function(n){if(!this.isActive)return!1;n=!0===n;var t=this.draftEditor.settings.previewTargets[this.activeTarget].url;this.draftEditor.getTokenizedPreviewUrl(t,"x-craft-live-preview").then(function(t){var e;if(n)this.scrollLeft=0,this.scrolllTop=0;else if((e=Craft.isSameHost(t))&&this.$iframe&&this.$iframe[0].contentWindow){var i=$(this.$iframe[0].contentWindow.document);this.scrollLeft=i.scrollLeft(),this.scrollTop=i.scrollTop()}var s=$("<iframe/>",{class:"lp-preview",frameborder:0,src:t});!n&&e&&s.on("load",function(){var t=$(s[0].contentWindow.document);t.scrollLeft(this.scrollLeft),t.scrollTop(this.scrollTop)}.bind(this)),this.$iframe?this.$iframe.replaceWith(s):s.appendTo(this.$previewContainer),this.url=t,this.$iframe=s,this.afterUpdateIframe()}.bind(this))},afterUpdateIframe:function(){this.trigger("afterUpdateIframe"),this._slideInOnIframeLoad&&(this.slideIn(),this._slideInOnIframeLoad=!1)},_getClone:function(t){var e=t.clone();return Garnish.copyInputValues(t,e),e.attr("id",""),e.find("[id]").attr("id",""),e.find("[name]").prop("disabled",!0),e},_onDragStart:function(){this.dragStartEditorWidth=this.editorWidthInPx,this.$previewContainer.addClass("dragging")},_onDrag:function(){"ltr"===Craft.orientation?this.editorWidth=this.dragStartEditorWidth+this.dragger.mouseDistX:this.editorWidth=this.dragStartEditorWidth-this.dragger.mouseDistX,this.updateWidths()},_onDragStop:function(){this.$previewContainer.removeClass("dragging"),Craft.setLocalStorage("LivePreview.editorWidth",this.editorWidth)}},{defaultEditorWidth:.33,minEditorWidthInPx:320,dragHandleWidth:2}),Craft.PreviewFileModal=Garnish.Modal.extend({assetId:null,$spinner:null,elementSelect:null,type:null,loaded:null,requestId:0,init:function(t,e,i){if((i=$.extend(this.defaultSettings,i)).onHide=this._onHide.bind(this),Craft.PreviewFileModal.openInstance){var s=Craft.PreviewFileModal.openInstance;return s.assetId!==t&&(s.loadAsset(t,i.startingWidth,i.startingHeight),s.elementSelect=e),this.destroy()}(Craft.PreviewFileModal.openInstance=this).elementSelect=e,this.$container=$('<div id="previewmodal" class="modal loading"/>').appendTo(Garnish.$bod),this.base(this.$container,$.extend({resizable:!0},i)),this.$container&&(this.$container.velocity("stop"),this.$container.show().css("opacity",1),this.$shade.velocity("stop"),this.$shade.show().css("opacity",1)),this.loadAsset(t,i.startingWidth,i.startingHeight)},_onHide:function(){return Craft.PreviewFileModal.openInstance=null,this.elementSelect.focusItem(this.elementSelect.$focusedItem),this.$shade.remove(),this.destroy()},selfDestruct:function(){var t=Craft.PreviewFileModal.openInstance;return t.hide(),t.$shade.remove(),t.destroy(),!(Craft.PreviewFileModal.openInstance=null)},loadAsset:function(t,e,i){this.assetId=t,this.$container.empty(),this.loaded=!1,this.desiredHeight=null,this.desiredWidth=null;var n=.66*Garnish.$win.height(),a=Math.min(n/3*4,Garnish.$win.width()-2*this.settings.minGutter);if(n=a/4*3,e&&i){var s=e/i;a=Math.min(e,Garnish.$win.width()-2*this.settings.minGutter),n=Math.min(a/s,Garnish.$win.height()-2*this.settings.minGutter),(a=n*s)>Math.min(e,Garnish.$win.width()-2*this.settings.minGutter)&&(a=Math.min(e,Garnish.$win.width()-2*this.settings.minGutter),n=a/s)}this._resizeContainer(a,n),this.$spinner=$('<div class="spinner centeralign"></div>').appendTo(this.$container);var r=this.$container.height()/2-this.$spinner.height()/2+"px",o=this.$container.width()/2-this.$spinner.width()/2+"px";this.$spinner.css({left:o,top:r,position:"absolute"}),this.requestId++,Craft.postActionRequest("assets/preview-file",{assetId:t,requestId:this.requestId},function(t,e){if("success"===e)if(t.success){if(t.requestId!=this.requestId)return;this.$container.removeClass("loading"),this.$spinner.remove(),this.loaded=!0,this.$container.append(t.modalHtml);var i=this.$container.find(".highlight");if(i.length&&i.hasClass("json")){var s=i.find("code");s.html(JSON.stringify(JSON.parse(s.html()),void 0,4))}i.length?Prism.highlightElement(i.find("code").get(0)):this.$container.find("img").css({width:a,height:n}),this.updateSizeAndPosition()}else alert(t.error),this.hide()}.bind(this))},updateSizeAndPosition:function(){if(this.loaded){var t=this.$container.find("img");if(this.loaded&&t.length){var e=t.data("maxwidth"),i=t.data("maxheight"),s=e/i,n=this.desiredWidth?this.desiredWidth:this.$container.width(),a=(this.desiredHeight?this.desiredHeight:this.$container.height(),Math.min(n,e)),r=Math.round(Math.min(i,a/s));a=Math.round(r*s),t.css({width:a,height:r}),this._resizeContainer(a,r),this.desiredWidth=a,this.desiredHeight=r}if(this.base(),this.loaded&&t.length){var o=Math.round(Math.min(Math.max(t.height()*s),Garnish.$win.width()-2*this.settings.minGutter)),l=Math.round(Math.min(Math.max(o/s),Garnish.$win.height()-2*this.settings.minGutter));(o=Math.round(l*s))>Math.min(o,Garnish.$win.width()-2*this.settings.minGutter)&&(l=(o=Math.min(o,Garnish.$win.width()-2*this.settings.minGutter))/s),this._resizeContainer(o,l),t.css({width:o,height:l})}else this.loaded&&this.$container.find(".highlight").height(this.$container.height()).width(this.$container.width()).css({overflow:"auto"})}},_resizeContainer:function(t,e){this.$container.css({width:t,"min-width":t,"max-width":t,height:e,"min-height":e,"max-height":e,top:(Garnish.$win.height()-e)/2,left:(Garnish.$win.width()-t)/2})}},{defaultSettings:{startingWidth:null,startingHeight:null}}),Craft.ProgressBar=Garnish.Base.extend({$progressBar:null,$innerProgressBar:null,$progressBarStatus:null,_itemCount:0,_processedItemCount:0,_displaySteps:!1,init:function(t,e){e&&(this._displaySteps=!0),this.$progressBar=$('<div class="progressbar pending hidden"/>').appendTo(t),this.$innerProgressBar=$('<div class="progressbar-inner"/>').appendTo(this.$progressBar),this.$progressBarStatus=$('<div class="progressbar-status hidden" />').insertAfter(this.$progressBar),this.resetProgressBar()},resetProgressBar:function(){this.setProgressPercentage(100),this.$progressBar.addClass("pending"),this.setItemCount(1),this.setProcessedItemCount(0),this.$progressBarStatus.html(""),this._displaySteps&&this.$progressBar.addClass("has-status")},hideProgressBar:function(){this.$progressBar.fadeTo("fast",.01,$.proxy(function(){this.$progressBar.addClass("hidden").fadeTo(1,1,$.noop)},this))},showProgressBar:function(){this.$progressBar.removeClass("hidden"),this.$progressBarStatus.removeClass("hidden")},setItemCount:function(t){this._itemCount=t},incrementItemCount:function(t){this._itemCount+=t},setProcessedItemCount:function(t){this._processedItemCount=t},incrementProcessedItemCount:function(t){this._processedItemCount+=t},updateProgressBar:function(){this._itemCount=Math.max(this._itemCount,1);var t=Math.min(100,Math.round(100*this._processedItemCount/this._itemCount));this.setProgressPercentage(t),this._displaySteps&&this.$progressBarStatus.html(this._processedItemCount+" / "+this._itemCount)},setProgressPercentage:function(t,e){0===t?this.$progressBar.addClass("pending"):(this.$progressBar.removeClass("pending"),e?this.$innerProgressBar.velocity("stop").velocity({width:t+"%"},"fast"):this.$innerProgressBar.velocity("stop").width(t+"%"))}}),Craft.PromptHandler=Garnish.Base.extend({modal:null,$modalContainerDiv:null,$prompt:null,$promptApplyToRemainingContainer:null,$promptApplyToRemainingCheckbox:null,$promptApplyToRemainingLabel:null,$pomptChoices:null,_prompts:[],_promptBatchCallback:$.noop,_promptBatchReturnData:[],_promptBatchNum:0,resetPrompts:function(){this._prompts=[],this._promptBatchCallback=$.noop,this._promptBatchReturnData=[],this._promptBatchNum=0},addPrompt:function(t){this._prompts.push(t)},getPromptCount:function(){return this._prompts.length},showBatchPrompts:function(t){this._promptBatchCallback=t,this._promptBatchReturnData=[],this._promptBatchNum=0,this._showNextPromptInBatch()},_showNextPromptInBatch:function(){var t=this._prompts[this._promptBatchNum].prompt,e=this._prompts.length-(this._promptBatchNum+1);this._showPrompt(t.message,t.choices,$.proxy(this,"_handleBatchPromptSelection"),e)},_handleBatchPromptSelection:function(t,e){var i=this._prompts[this._promptBatchNum],s=this._prompts.length-(this._promptBatchNum+1),n=$.extend(i,{choice:t});this._promptBatchReturnData.push(n),s?(this._promptBatchNum++,e?this._handleBatchPromptSelection(t,!0):this._showNextPromptInBatch()):"function"==typeof this._promptBatchCallback&&this._promptBatchCallback(this._promptBatchReturnData)},_showPrompt:function(t,e,i,s){this._promptCallback=i,null===this.modal&&(this.modal=new Garnish.Modal({closeOtherModals:!1})),null===this.$modalContainerDiv&&(this.$modalContainerDiv=$('<div class="modal fitted prompt-modal"></div>').addClass().appendTo(Garnish.$bod)),this.$prompt=$('<div class="body"></div>').appendTo(this.$modalContainerDiv.empty()),this.$promptMessage=$('<p class="prompt-msg"/>').appendTo(this.$prompt),this.$promptChoices=$('<div class="options"></div>').appendTo(this.$prompt),this.$promptApplyToRemainingContainer=$('<label class="assets-applytoremaining"/>').appendTo(this.$prompt).hide(),this.$promptApplyToRemainingCheckbox=$('<input type="checkbox"/>').appendTo(this.$promptApplyToRemainingContainer),this.$promptApplyToRemainingLabel=$("<span/>").appendTo(this.$promptApplyToRemainingContainer),this.$promptButtons=$('<div class="buttons right"/>').appendTo(this.$prompt),this.modal.setContainer(this.$modalContainerDiv),this.$promptMessage.html(t);for(var n=$('<div class="btn">'+Craft.t("app","Cancel")+"</div>").appendTo(this.$promptButtons),a=$('<input type="submit" class="btn submit disabled" value="'+Craft.t("app","OK")+'" />').appendTo(this.$promptButtons),r=0;r<e.length;r++){var o=$('<div><label><input type="radio" name="promptAction" value="'+e[r].value+'"/> '+e[r].title+"</label></div>").appendTo(this.$promptChoices).find("input");this.addListener(o,"click",function(){a.removeClass("disabled")})}this.addListener(a,"activate",function(t){var e=$(t.currentTarget).parents(".modal").find("input[name=promptAction]:checked").val(),i=this.$promptApplyToRemainingCheckbox.prop("checked");this._selectPromptChoice(e,i)}),this.addListener(n,"activate",function(){var t=this.$promptApplyToRemainingCheckbox.prop("checked");this._selectPromptChoice("cancel",t)}),s&&(this.$promptApplyToRemainingContainer.show(),this.$promptApplyToRemainingLabel.html(" "+Craft.t("app","Apply this to the {number} remaining conflicts?",{number:s}))),this.modal.show(),this.modal.removeListener(Garnish.Modal.$shade,"click"),this.addListener(Garnish.Modal.$shade,"click","_cancelPrompt")},_selectPromptChoice:function(t,e){this.$prompt.fadeOut("fast",$.proxy(function(){this.modal.hide(),this._promptCallback(t,e)},this))},_cancelPrompt:function(){this._selectPromptChoice("cancel",!0)}}),Craft.SlideRuleInput=Garnish.Base.extend({$container:null,$options:null,$selectedOption:null,$input:null,value:null,startPositionX:null,init:function(t,e){this.setSettings(e,Craft.SlideRuleInput.defaultSettings),this.value=0,this.graduationsMin=-70,this.graduationsMax=70,this.slideMin=-45,this.slideMax=45,this.$container=$("#"+t),this.$overlay=$('<div class="overlay"></div>').appendTo(this.$container),this.$cursor=$('<div class="cursor"></div>').appendTo(this.$container),this.$graduations=$('<div class="graduations"></div>').appendTo(this.$container),this.$graduationsUl=$("<ul></ul>").appendTo(this.$graduations);for(var i=this.graduationsMin;i<=this.graduationsMax;i++){var s=$('<li class="graduation" data-graduation="'+i+'"><div class="label">'+i+"</div></li>").appendTo(this.$graduationsUl);i%5==0&&s.addClass("main-graduation"),0===i&&s.addClass("selected")}this.$options=this.$container.find(".graduation"),this.addListener(this.$container,"resize",$.proxy(this,"_handleResize")),this.addListener(this.$container,"tapstart",$.proxy(this,"_handleTapStart")),this.addListener(Garnish.$bod,"tapmove",$.proxy(this,"_handleTapMove")),this.addListener(Garnish.$bod,"tapend",$.proxy(this,"_handleTapEnd")),setTimeout($.proxy(function(){this.graduationsCalculatedWidth=10*(this.$options.length-1),this.$graduationsUl.css("left",-this.graduationsCalculatedWidth/2+this.$container.width()/2)},this),50)},_handleResize:function(){var t=this.valueToPosition(this.value);this.$graduationsUl.css("left",t)},_handleTapStart:function(t,e){t.preventDefault(),this.startPositionX=e.position.x,this.startLeft=this.$graduationsUl.position().left,this.dragging=!0,this.onStart()},_handleTapMove:function(t,e){if(this.dragging){t.preventDefault();var i=this.startPositionX-e.position.x,s=this.startLeft-i,n=this.positionToValue(s);this.setValue(n),this.onChange()}},setValue:function(i){var t=this.valueToPosition(i);i<this.slideMin?(i=this.slideMin,t=this.valueToPosition(i)):i>this.slideMax&&(i=this.slideMax,t=this.valueToPosition(i)),this.$graduationsUl.css("left",t),i>=this.slideMin&&i<=this.slideMax&&(this.$options.removeClass("selected"),$.each(this.$options,function(t,e){0<$(e).data("graduation")&&$(e).data("graduation")<=i&&$(e).addClass("selected"),$(e).data("graduation")<0&&$(e).data("graduation")>=i&&$(e).addClass("selected"),0==$(e).data("graduation")&&$(e).addClass("selected")})),this.value=i},_handleTapEnd:function(t){this.dragging&&(t.preventDefault(),this.dragging=!1,this.onEnd())},positionToValue:function(t){var e=-1*this.graduationsMin,i=-1*(this.graduationsMin-this.graduationsMax);return(this.$graduations.width()/2+-1*t)/this.graduationsCalculatedWidth*i-e},valueToPosition:function(t){var e=-1*this.graduationsMin,i=-1*(this.graduationsMin-this.graduationsMax);return-((t+e)*this.graduationsCalculatedWidth/i-this.$graduations.width()/2)},onStart:function(){"function"==typeof this.settings.onChange&&this.settings.onStart(this)},onChange:function(){"function"==typeof this.settings.onChange&&this.settings.onChange(this)},onEnd:function(){"function"==typeof this.settings.onChange&&this.settings.onEnd(this)},defaultSettings:{onStart:$.noop,onChange:$.noop,onEnd:$.noop}}),Craft.SlugGenerator=Craft.BaseInputGenerator.extend({generateTargetValue:function(t){t=(t=t.replace(/<(.*?)>/g,"")).replace(/['"‘’“”\[\]\(\)\{\}:]/g,""),Craft.allowUppercaseInSlug||(t=t.toLowerCase()),Craft.limitAutoSlugsToAscii&&(t=Craft.asciiString(t,this.settings.charMap));var e=Craft.filterArray(XRegExp.matchChain(t,[XRegExp("[\\p{L}\\p{N}\\p{M}]+")]));return e.length?e.join(Craft.slugWordSeparator):""}}),Craft.Structure=Garnish.Base.extend({id:null,$container:null,state:null,structureDrag:null,init:function(t,e,i){this.id=t,this.$container=$(e),this.setSettings(i,Craft.Structure.defaults),this.$container.data("structure")&&(Garnish.log("Double-instantiating a structure on an element"),this.$container.data("structure").destroy()),this.$container.data("structure",this),this.state={},this.settings.storageKey&&$.extend(this.state,Craft.getLocalStorage(this.settings.storageKey,{})),void 0===this.state.collapsedElementIds&&(this.state.collapsedElementIds=[]);for(var s=this.$container.find("ul").prev(".row"),n=0;n<s.length;n++){var a=$(s[n]),r=a.parent(),o=$('<div class="toggle" title="'+Craft.t("app","Show/hide children")+'"/>').prependTo(a);-1!==$.inArray(a.children(".element").data("id"),this.state.collapsedElementIds)&&r.addClass("collapsed"),this.initToggle(o)}this.settings.sortable&&(this.structureDrag=new Craft.StructureDrag(this,this.settings.maxLevels)),this.settings.newChildUrl&&this.initNewChildMenus(this.$container.find(".add"))},initToggle:function(t){t.on("click",$.proxy(function(t){var e=$(t.currentTarget).closest("li"),i=e.children(".row").find(".element:first").data("id"),s=$.inArray(i,this.state.collapsedElementIds);e.hasClass("collapsed")?(e.removeClass("collapsed"),-1!==s&&this.state.collapsedElementIds.splice(s,1)):(e.addClass("collapsed"),-1===s&&this.state.collapsedElementIds.push(i)),this.settings.storageKey&&Craft.setLocalStorage(this.settings.storageKey,this.state)},this))},initNewChildMenus:function(t){this.addListener(t,"click","onNewChildMenuClick")},onNewChildMenuClick:function(t){var e=$(t.currentTarget);if(!e.data("menubtn")){var i=e.parent().children(".element").data("id"),s=Craft.getUrl(this.settings.newChildUrl,"parentId="+i);$('<div class="menu"><ul><li><a href="'+s+'">'+Craft.t("app","New child")+"</a></li></ul></div>").insertAfter(e),new Garnish.MenuBtn(e).showMenu()}},getIndent:function(t){return Craft.Structure.baseIndent+(t-1)*Craft.Structure.nestedIndent},addElement:function(t){var e=$('<li data-level="1"/>').appendTo(this.$container),i=$('<div class="row" style="margin-'+Craft.left+": -"+Craft.Structure.baseIndent+"px; padding-"+Craft.left+": "+Craft.Structure.baseIndent+'px;">').appendTo(e);if(i.append(t),this.settings.sortable&&(i.append('<a class="move icon" title="'+Craft.t("app","Move")+'"></a>'),this.structureDrag.addItems(e)),this.settings.newChildUrl){var s=$('<a class="add icon" title="'+Craft.t("app","New child")+'"></a>').appendTo(i);this.initNewChildMenus(s)}i.css("margin-bottom",-30),i.velocity({"margin-bottom":0},"fast")},removeElement:function(t){var e,i=t.parent().parent();this.settings.sortable&&this.structureDrag.removeItems(i),i.siblings().length||(e=i.parent()),i.css("visibility","hidden").velocity({marginBottom:-i.height()},"fast",$.proxy(function(){i.remove(),void 0!==e&&this._removeUl(e)},this))},_removeUl:function(t){t.siblings(".row").children(".toggle").remove(),t.remove()}},{baseIndent:8,nestedIndent:35,defaults:{storageKey:null,sortable:!1,newChildUrl:null,maxLevels:null}}),Craft.StructureDrag=Garnish.Drag.extend({structure:null,maxLevels:null,draggeeLevel:null,$helperLi:null,$targets:null,draggeeHeight:null,init:function(t,e){this.structure=t,this.maxLevels=e,this.$insertion=$('<li class="draginsertion"/>');var i=this.structure.$container.find("li");this.base(i,{handle:".element:first, .move:first",helper:$.proxy(this,"getHelper")})},getHelper:function(t){this.$helperLi=t;var e=$('<ul class="structure draghelper"/>').append(t);return t.css("padding-"+Craft.left,this.$draggee.css("padding-"+Craft.left)),t.find(".move").removeAttr("title"),e},onDragStart:function(){this.$targets=$(),this.findTargets(this.structure.$container),this.draggeeLevel=0;for(var t=this.$draggee;this.draggeeLevel++,(t=t.find("> ul > li")).length;);this.draggeeHeight=this.$draggee.height(),this.$draggee.velocity({height:0},"fast",$.proxy(function(){this.$draggee.addClass("hidden")},this)),this.base(),this.addListener(Garnish.$doc,"keydown",function(t){t.keyCode===Garnish.ESC_KEY&&this.cancelDrag()})},findTargets:function(t){for(var e=t.children().not(this.$draggee),i=0;i<e.length;i++){var s=$(e[i]);this.$targets=this.$targets.add(s.children(".row")),s.hasClass("collapsed")||this.findTargets(s.children("ul"))}},onDrag:function(){for(this._.$closestTarget&&(this._.$closestTarget.removeClass("draghover"),this.$insertion.remove()),this._.$closestTarget=null,this._.closestTargetPos=null,this._.closestTargetYDiff=null,this._.closestTargetOffset=null,this._.closestTargetHeight=null,this._.i=0;this._.i<this.$targets.length&&(this._.$target=$(this.$targets[this._.i]),this._.targetOffset=this._.$target.offset(),this._.targetHeight=this._.$target.outerHeight(),this._.targetYMidpoint=this._.targetOffset.top+this._.targetHeight/2,this._.targetYDiff=Math.abs(this.mouseY-this._.targetYMidpoint),0===this._.i||this.mouseY>=this._.targetOffset.top+5&&this._.targetYDiff<this._.closestTargetYDiff);this._.i++)this._.$closestTarget=this._.$target,this._.closestTargetPos=this._.i,this._.closestTargetYDiff=this._.targetYDiff,this._.closestTargetOffset=this._.targetOffset,this._.closestTargetHeight=this._.targetHeight;if(this._.$closestTarget)if(0===this._.closestTargetPos&&this.mouseY<this._.closestTargetOffset.top+5)this.$insertion.prependTo(this.structure.$container);else if(this._.$closestTargetLi=this._.$closestTarget.parent(),this._.closestTargetLevel=this._.$closestTargetLi.data("level"),this._.closestTargetPos<this.$targets.length-1?(this._.$nextTargetLi=$(this.$targets[this._.closestTargetPos+1]).parent(),this._.nextTargetLevel=this._.$nextTargetLi.data("level")):(this._.$nextTargetLi=null,this._.nextTargetLevel=null),this._.hoveringBetweenRows=this.mouseY>=this._.closestTargetOffset.top+this._.closestTargetHeight-5,this._.$nextTargetLi&&this._.nextTargetLevel==this._.closestTargetLevel)this._.hoveringBetweenRows?(!this.maxLevels||this.maxLevels>=this._.closestTargetLevel+this.draggeeLevel-1)&&this.$insertion.insertAfter(this._.$closestTargetLi):(!this.maxLevels||this.maxLevels>=this._.closestTargetLevel+this.draggeeLevel)&&this._.$closestTarget.addClass("draghover");else if(this._.$nextTargetLi&&this._.nextTargetLevel>this._.closestTargetLevel)(!this.maxLevels||this.maxLevels>=this._.nextTargetLevel+this.draggeeLevel-1)&&(this._.hoveringBetweenRows?this.$insertion.insertBefore(this._.$nextTargetLi):(this._.$closestTarget.addClass("draghover"),this.$insertion.appendTo(this._.$closestTargetLi.children("ul"))));else if(this._.hoveringBetweenRows){for(this._.draggeeX=this.mouseX-this.targetItemMouseDiffX,"rtl"===Craft.orientation&&(this._.draggeeX+=this.$helperLi.width()),this._.$parentLis=this._.$closestTarget.parentsUntil(this.structure.$container,"li"),this._.$closestParentLi=null,this._.closestParentLiXDiff=null,this._.closestParentLevel=null,this._.i=0;this._.i<this._.$parentLis.length;this._.i++)this._.$parentLi=$(this._.$parentLis[this._.i]),this._.parentLiX=this._.$parentLi.offset().left,"rtl"===Craft.orientation&&(this._.parentLiX+=this._.$parentLi.width()),this._.parentLiXDiff=Math.abs(this._.parentLiX-this._.draggeeX),this._.parentLevel=this._.$parentLi.data("level"),(!this.maxLevels||this.maxLevels>=this._.parentLevel+this.draggeeLevel-1)&&(!this._.$closestParentLi||this._.parentLiXDiff<this._.closestParentLiXDiff&&(!this._.$nextTargetLi||this._.parentLevel>=this._.nextTargetLevel))&&(this._.$closestParentLi=this._.$parentLi,this._.closestParentLiXDiff=this._.parentLiXDiff,this._.closestParentLevel=this._.parentLevel);this._.$closestParentLi&&this.$insertion.insertAfter(this._.$closestParentLi)}else(!this.maxLevels||this.maxLevels>=this._.closestTargetLevel+this.draggeeLevel)&&this._.$closestTarget.addClass("draghover")},cancelDrag:function(){this.$insertion.remove(),this._.$closestTarget&&this._.$closestTarget.removeClass("draghover"),this.onMouseUp()},onDragStop:function(){if(this._.$closestTarget&&(this.$insertion.parent().length||this._.$closestTarget.hasClass("draghover"))){var t,e;if(this.$draggee.siblings().length||(t=this.$draggee.parent()),this.$insertion.parent().length){var i=this.$insertion.next().add(this.$insertion.prev());e=-1===$.inArray(this.$draggee[0],i)?(this.$insertion.replaceWith(this.$draggee),!0):(this.$insertion.remove(),!1)}else{var s=this._.$closestTargetLi.children("ul");if(t&&s.length&&s[0]===t[0])e=!1;else{if(s.length)this._.$closestTargetLi.hasClass("collapsed")&&this._.$closestTarget.children(".toggle").trigger("click");else{var n=$('<div class="toggle" title="'+Craft.t("app","Show/hide children")+'"/>').prependTo(this._.$closestTarget);this.structure.initToggle(n),s=$("<ul>").appendTo(this._.$closestTargetLi)}this.$draggee.appendTo(s),e=!0}}if(this._.$closestTarget.removeClass("draghover"),e){t&&this.structure._removeUl(t);var a,r=this.$draggee.parentsUntil(this.structure.$container,"li").length+1;r!=this.$draggee.data("level")&&(1==this.$draggee.data("level")?((a={})["padding-"+Craft.left]=38,this.$helperLi.velocity(a,"fast")):1==r&&((a={})["padding-"+Craft.left]=Craft.Structure.baseIndent,this.$helperLi.velocity(a,"fast")),this.setLevel(this.$draggee,r));var o=this.$draggee.children(".row").children(".element"),l={structureId:this.structure.id,elementId:o.data("id"),siteId:o.data("site-id"),prevId:this.$draggee.prev().children(".row").children(".element").data("id"),parentId:this.$draggee.parent("ul").parent("li").children(".row").children(".element").data("id")};Craft.postActionRequest("structures/move-element",l,function(t,e){"success"===e&&Craft.cp.displayNotice(Craft.t("app","New order saved."))})}}this.$draggee.velocity("stop").removeClass("hidden").velocity({height:this.draggeeHeight},"fast",$.proxy(function(){this.$draggee.css("height","auto")},this)),this.returnHelpersToDraggees(),this.base()},setLevel:function(t,e){t.data("level",e);var i=this.structure.getIndent(e),s={};s["margin-"+Craft.left]="-"+i+"px",s["padding-"+Craft.left]=i+"px",this.$draggee.children(".row").css(s);for(var n=t.children("ul").children(),a=0;a<n.length;a++)this.setLevel($(n[a]),e+1)}}),Craft.StructureTableSorter=Garnish.DragSort.extend({tableView:null,structureId:null,maxLevels:null,_helperMargin:null,_$firstRowCells:null,_$titleHelperCell:null,_titleHelperCellOuterWidth:null,_ancestors:null,_updateAncestorsFrame:null,_updateAncestorsProxy:null,_draggeeLevel:null,_draggeeLevelDelta:null,draggingLastElements:null,_loadingDraggeeLevelDelta:!1,_targetLevel:null,_targetLevelBounds:null,_positionChanged:null,init:function(t,e,i){this.tableView=t,this.structureId=this.tableView.$table.data("structure-id"),this.maxLevels=parseInt(this.tableView.$table.attr("data-max-levels")),i=$.extend({},Craft.StructureTableSorter.defaults,i,{handle:".move",collapseDraggees:!0,singleHelper:!0,helperSpacingY:2,magnetStrength:4,helper:$.proxy(this,"getHelper"),helperLagBase:1.5,axis:Garnish.Y_AXIS}),this.base(e,i)},startDragging:function(){this._helperMargin=Craft.StructureTableSorter.HELPER_MARGIN+(this.tableView.elementIndex.actions?24:0),this.base()},findDraggee:function(){this._draggeeLevel=this._targetLevel=this.$targetItem.data("level"),this._draggeeLevelDelta=0;for(var t=$(this.$targetItem),e=this.$targetItem.next();e.length;){var i=e.data("level");if(i<=this._draggeeLevel)break;var s=i-this._draggeeLevel;s>this._draggeeLevelDelta&&(this._draggeeLevelDelta=s),t=t.add(e),e=e.next()}if(this.draggingLastElements=!e.length,this.maxLevels&&this.draggingLastElements&&this.tableView.getMorePending()){this._loadingDraggeeLevelDelta=!0;var n=this._getAjaxBaseData(this.$targetItem);Craft.postActionRequest("structures/get-element-level-delta",n,$.proxy(function(t,e){"success"===e&&(this._loadingDraggeeLevelDelta=!1,this.dragging&&(this._draggeeLevelDelta=t.delta,this.drag(!1)))},this))}return t},getHelper:function(t){var e=$('<div class="elements datatablesorthelper"/>').appendTo(Garnish.$bod),i=$('<div class="tableview"/>').appendTo(e),s=$('<table class="data"/>').appendTo(i),n=$("<tbody/>").appendTo(s);t.appendTo(n),this._$firstRowCells=this.tableView.$elementContainer.children("tr:first").children();for(var a=t.children(),r=0;r<a.length;r++){var o=$(a[r]);if(o.hasClass("checkbox-cell"))o.remove();else{var l=$(this._$firstRowCells[r]),h=l.width();if(l.width(h),o.width(h),Garnish.hasAttr(l,"data-titlecell")){this._$titleHelperCell=o;var d=parseInt(l.css("padding-"+Craft.left));this._titleHelperCellOuterWidth=h+d-(this.tableView.elementIndex.actions?12:0),o.css("padding-"+Craft.left,Craft.StructureTableSorter.BASE_PADDING)}}}return e},canInsertBefore:function(t){return!this._loadingDraggeeLevelDelta&&!1!==this._getLevelBounds(t.prev(),t)},canInsertAfter:function(t){return!this._loadingDraggeeLevelDelta&&!1!==this._getLevelBounds(t,t.next())},onDragStart:function(){this._ancestors=this._getAncestors(this.$targetItem,this.$targetItem.data("level")),this._setTargetLevelBounds(),this.tableView.maybeLoadMore(),this.base()},onDrag:function(){this.base(),this._updateIndent()},onInsertionPointChange:function(){this._setTargetLevelBounds(),this._updateAncestorsBeforeRepaint(),this.base()},onDragStop:function(){if(this._positionChanged=!1,this.base(),this._targetLevel!=this._draggeeLevel){for(var t=this._targetLevel-this._draggeeLevel,e=0;e<this.$draggee.length;e++){var i=$(this.$draggee[e]),s=i.data("level")+t,n=Craft.StructureTableSorter.BASE_PADDING+(this.tableView.elementIndex.actions?7:0)+this._getLevelIndent(s);i.data("level",s),i.find(".element").data("level",s),i.children("[data-titlecell]:first").css("padding-"+Craft.left,n)}this._positionChanged=!0}if(this._positionChanged){for(var a=this._getAjaxBaseData(this.$draggee),r=this.$draggee.first().prev();r.length;){var o=r.data("level");if(o==this._targetLevel){a.prevId=r.data("id");break}if(o<this._targetLevel){a.parentId=r.data("id");var l=r.find("> td > .toggle");if(!l.hasClass("expanded")){l.addClass("expanded");var h=this.tableView._createSpinnerRowAfter(r);this.tableView.elementSelect&&this.tableView.elementSelect.removeItems(this.$targetItem),this.removeItems(this.$targetItem),this.$targetItem.remove(),this.tableView._totalVisible--}break}r=r.prev()}Craft.postActionRequest("structures/move-element",a,$.proxy(function(t,e){if("success"===e){if(!t.success)return Craft.cp.displayError(Craft.t("app","An unknown error occurred.")),void this.tableView.elementIndex.updateElements();Craft.cp.displayNotice(Craft.t("app","New position saved.")),this.onPositionChange(),h&&h.parent().length&&(h.remove(),this.tableView._expandElement(l,!0)),Craft.cp.runQueue()}},this))}},onSortChange:function(){this.tableView.elementSelect&&this.tableView.elementSelect.resetItemOrder(),this._positionChanged=!0,this.base()},onPositionChange:function(){Garnish.requestAnimationFrame($.proxy(function(){this.trigger("positionChange"),this.settings.onPositionChange()},this))},onReturnHelpersToDraggees:function(){if(this._$firstRowCells.css("width",""),this.draggingLastElements&&this.tableView.getMorePending()){this.tableView._totalVisible+=this.newDraggeeIndexes[0]-this.oldDraggeeIndexes[0];var t=this.$draggee.last().nextAll();t.length&&(this.removeItems(t),t.remove(),this.tableView.maybeLoadMore())}this.base()},_getLevelBounds:function(t,e){if(e&&e.length?this._getLevelBounds._minLevel=e.data("level"):this._getLevelBounds._minLevel=1,t&&t.length?this._getLevelBounds._maxLevel=t.data("level")+1:this._getLevelBounds._maxLevel=1,this.maxLevels){if(1!=this._getLevelBounds._minLevel&&this._getLevelBounds._minLevel+this._draggeeLevelDelta>this.maxLevels)return!1;this._getLevelBounds._maxLevel+this._draggeeLevelDelta>this.maxLevels&&(this._getLevelBounds._maxLevel=this.maxLevels-this._draggeeLevelDelta,this._getLevelBounds._maxLevel<this._getLevelBounds._minLevel&&(this._getLevelBounds._maxLevel=this._getLevelBounds._minLevel))}return{min:this._getLevelBounds._minLevel,max:this._getLevelBounds._maxLevel}},_setTargetLevelBounds:function(){this._targetLevelBounds=this._getLevelBounds(this.$draggee.first().prev(),this.$draggee.last().next())},_updateIndent:function(t){this._updateIndent._mouseDist=this.realMouseX-this.mousedownX,"rtl"===Craft.orientation&&(this._updateIndent._mouseDist*=-1),this._updateIndent._indentationDist=Math.round(this._updateIndent._mouseDist/Craft.StructureTableSorter.LEVEL_INDENT),this._updateIndent._targetLevel=this._draggeeLevel+this._updateIndent._indentationDist,this._updateIndent._targetLevel<this._targetLevelBounds.min?(this._updateIndent._indentationDist+=this._targetLevelBounds.min-this._updateIndent._targetLevel,this._updateIndent._targetLevel=this._targetLevelBounds.min):this._updateIndent._targetLevel>this._targetLevelBounds.max&&(this._updateIndent._indentationDist-=this._updateIndent._targetLevel-this._targetLevelBounds.max,this._updateIndent._targetLevel=this._targetLevelBounds.max),this._targetLevel!==(this._targetLevel=this._updateIndent._targetLevel)&&this._updateAncestorsBeforeRepaint(),this._updateIndent._targetLevelMouseDiff=this._updateIndent._mouseDist-this._updateIndent._indentationDist*Craft.StructureTableSorter.LEVEL_INDENT,this._updateIndent._magnetImpact=Math.round(this._updateIndent._targetLevelMouseDiff/15),Math.abs(this._updateIndent._magnetImpact)>Craft.StructureTableSorter.MAX_GIVE&&(this._updateIndent._magnetImpact=(0<this._updateIndent._magnetImpact?1:-1)*Craft.StructureTableSorter.MAX_GIVE),this._updateIndent._closestLevelMagnetIndent=this._getLevelIndent(this._targetLevel)+this._updateIndent._magnetImpact,this.helpers[0].css("margin-"+Craft.left,this._updateIndent._closestLevelMagnetIndent+this._helperMargin),this._$titleHelperCell.width(this._titleHelperCellOuterWidth-(this._updateIndent._closestLevelMagnetIndent+Craft.StructureTableSorter.BASE_PADDING))},_getLevelIndent:function(t){return(t-1)*Craft.StructureTableSorter.LEVEL_INDENT},_getAjaxBaseData:function(t){return{structureId:this.structureId,elementId:t.data("id"),siteId:t.find(".element:first").data("site-id")}},_getAncestors:function(t,e){if(this._getAncestors._ancestors=[],0!=e)for(this._getAncestors._level=e,this._getAncestors._$prevRow=t.prev();this._getAncestors._$prevRow.length&&!(this._getAncestors._$prevRow.data("level")<this._getAncestors._level&&(this._getAncestors._ancestors.unshift(this._getAncestors._$prevRow),this._getAncestors._level=this._getAncestors._$prevRow.data("level"),0==this._getAncestors._level));)this._getAncestors._$prevRow=this._getAncestors._$prevRow.prev();return this._getAncestors._ancestors},_updateAncestorsBeforeRepaint:function(){this._updateAncestorsFrame&&Garnish.cancelAnimationFrame(this._updateAncestorsFrame),this._updateAncestorsProxy||(this._updateAncestorsProxy=$.proxy(this,"_updateAncestors")),this._updateAncestorsFrame=Garnish.requestAnimationFrame(this._updateAncestorsProxy)},_updateAncestors:function(){for(this._updateAncestorsFrame=null,this._updateAncestors._i=0;this._updateAncestors._i<this._ancestors.length;this._updateAncestors._i++)this._updateAncestors._$ancestor=this._ancestors[this._updateAncestors._i],this._updateAncestors._$ancestor.data("descendants",this._updateAncestors._$ancestor.data("descendants")-1),0==this._updateAncestors._$ancestor.data("descendants")&&this._updateAncestors._$ancestor.find("> td > .toggle:first").remove();for(this._updateAncestors._newAncestors=this._getAncestors(this.$targetItem,this._targetLevel),this._updateAncestors._i=0;this._updateAncestors._i<this._updateAncestors._newAncestors.length;this._updateAncestors._i++)this._updateAncestors._$ancestor=this._updateAncestors._newAncestors[this._updateAncestors._i],this._updateAncestors._$ancestor.data("descendants",this._updateAncestors._$ancestor.data("descendants")+1),1==this._updateAncestors._$ancestor.data("descendants")&&$('<span class="toggle expanded" title="'+Craft.t("app","Show/hide children")+'"></span>').insertAfter(this._updateAncestors._$ancestor.find("> td .move:first"));this._ancestors=this._updateAncestors._newAncestors,delete this._updateAncestors._i,delete this._updateAncestors._$ancestor,delete this._updateAncestors._newAncestors}},{BASE_PADDING:36,HELPER_MARGIN:-7,LEVEL_INDENT:44,MAX_GIVE:22,defaults:{onPositionChange:$.noop}}),Craft.TableElementIndexView=Craft.BaseElementIndexView.extend({$table:null,$selectedSortHeader:null,structureTableSort:null,_totalVisiblePostStructureTableDraggee:null,_morePendingPostStructureTableDraggee:!1,getElementContainer:function(){return this.$table=this.$container.find("table:first"),this.$table.children("tbody:first")},afterInit:function(){Craft.cp.$collapsibleTables=Craft.cp.$collapsibleTables.add(this.$table),Craft.cp.updateResponsiveTables(),this.initTableHeaders(),"index"===this.elementIndex.settings.context&&"structure"===this.elementIndex.getSelectedSortAttribute()&&Garnish.hasAttr(this.$table,"data-structure-id")?this.structureTableSort=new Craft.StructureTableSorter(this,this.getAllElements(),{onSortChange:$.proxy(this,"_onStructureTableSortChange")}):this.structureTableSort=null,"structure"===this.elementIndex.getSelectedSortAttribute()&&this.addListener(this.$elementContainer,"click",function(t){var e=$(t.target);!e.hasClass("toggle")||!1===this._collapseElement(e)&&this._expandElement(e)})},initTableHeaders:function(){for(var t=this.elementIndex.getSelectedSortAttribute(),e=this.$table.children("thead").children().children("[data-attribute]"),i=0;i<e.length;i++){var s=e.eq(i),n=s.attr("data-attribute");if(n===t){this.$selectedSortHeader=s;var a=this.elementIndex.getSelectedSortDirection();s.addClass("ordered "+a).on("click",$.proxy(this,"_handleSelectedSortHeaderClick"))}else{this.elementIndex.getSortAttributeOption(n).length&&s.addClass("orderable").on("click",$.proxy(this,"_handleUnselectedSortHeaderClick"))}}},isVerticalList:function(){return!0},getTotalVisible:function(){return this._isStructureTableDraggingLastElements()?this._totalVisiblePostStructureTableDraggee:this._totalVisible},setTotalVisible:function(t){this._isStructureTableDraggingLastElements()?this._totalVisiblePostStructureTableDraggee=t:this._totalVisible=t},getMorePending:function(){return this._isStructureTableDraggingLastElements()?this._morePendingPostStructureTableDraggee:this._morePending},setMorePending:function(t){this._isStructureTableDraggingLastElements()?this._morePendingPostStructureTableDraggee=t:this._morePending=this._morePendingPostStructureTableDraggee=t},getLoadMoreParams:function(){var t=this.base();return this._isStructureTableDraggingLastElements()&&(t.criteria.positionedAfter=this.structureTableSort.$targetItem.data("id")),t},appendElements:function(t){this.base(t),this.structureTableSort&&this.structureTableSort.addItems(t),Craft.cp.updateResponsiveTables()},destroy:function(){this.$table&&(Craft.cp.$collapsibleTables=Craft.cp.$collapsibleTables.not(this.$table)),this.base()},createElementEditor:function(e){Craft.createElementEditor(e.data("type"),e,{params:{includeTableAttributesForSource:this.elementIndex.sourceKey},onSaveElement:$.proxy(function(t){t.tableAttributes&&this._updateTableAttributes(e,t.tableAttributes)},this),elementIndex:this.elementIndex})},_collapseElement:function(t,e){if(!e&&!t.hasClass("expanded"))return!1;t.removeClass("expanded");for(var i=t.parent().parent(),s=i.data("id"),n=i.data("level"),a=i.next();a.length;){if(!Garnish.hasAttr(a,"data-spinnerrow")){if(a.data("level")<=n)break;this.elementSelect&&this.elementSelect.removeItems(a),this.structureTableSort&&this.structureTableSort.removeItems(a),this._totalVisible--}var r=a.next();a.remove(),a=r}this.elementIndex.instanceState.collapsedElementIds||(this.elementIndex.instanceState.collapsedElementIds=[]),this.elementIndex.instanceState.collapsedElementIds.push(s),this.elementIndex.setInstanceState("collapsedElementIds",this.elementIndex.instanceState.collapsedElementIds),this.maybeLoadMore()},_expandElement:function(t,e){if(!e&&t.hasClass("expanded"))return!1;if(t.addClass("expanded"),this.elementIndex.instanceState.collapsedElementIds){var i=t.parent().parent(),s=i.data("id"),n=$.inArray(s,this.elementIndex.instanceState.collapsedElementIds);if(-1!==n){this.elementIndex.instanceState.collapsedElementIds.splice(n,1),this.elementIndex.setInstanceState("collapsedElementIds",this.elementIndex.instanceState.collapsedElementIds);var r=this._createSpinnerRowAfter(i),a=$.extend(!0,{},this.settings.params);a.criteria.descendantOf=s,Craft.postActionRequest("element-indexes/get-more-elements",a,$.proxy(function(t,e){if(r.parent().length&&"success"===e){var i=$(t.html),s=this._totalVisible+i.length,n=this.settings.batchSize&&i.length===this.settings.batchSize;if(n){var a=r.nextAll();this.elementSelect&&this.elementSelect.removeItems(a),this.structureTableSort&&this.structureTableSort.removeItems(a),a.remove(),s-=a.length}else n=this._morePending;r.replaceWith(i),this.thumbLoader.load(i),(this.elementIndex.actions||this.settings.selectable)&&(this.elementSelect.addItems(i.filter(":not(.disabled)")),this.elementIndex.updateActionTriggers()),this.structureTableSort&&this.structureTableSort.addItems(i),Craft.appendHeadHtml(t.headHtml),Craft.appendFootHtml(t.footHtml),Craft.cp.updateResponsiveTables(),this.setTotalVisible(s),this.setMorePending(n),this.maybeLoadMore()}},this))}}},_createSpinnerRowAfter:function(t){return $('<tr data-spinnerrow><td class="centeralign" colspan="'+t.children().length+'"><div class="spinner"/></td></tr>').insertAfter(t)},_isStructureTableDraggingLastElements:function(){return this.structureTableSort&&this.structureTableSort.dragging&&this.structureTableSort.draggingLastElements},_handleSelectedSortHeaderClick:function(t){var e=$(t.currentTarget);if(!e.hasClass("loading")){var i="asc"===this.elementIndex.getSelectedSortDirection()?"desc":"asc";this.elementIndex.setSortDirection(i),this._handleSortHeaderClick(t,e)}},_handleUnselectedSortHeaderClick:function(t){var e=$(t.currentTarget);if(!e.hasClass("loading")){var i=e.attr("data-attribute");this.elementIndex.setSortAttribute(i),this._handleSortHeaderClick(t,e)}},_handleSortHeaderClick:function(t,e){this.$selectedSortHeader&&this.$selectedSortHeader.removeClass("ordered asc desc"),e.removeClass("orderable").addClass("ordered loading"),this.elementIndex.storeSortAttributeAndDirection(),this.elementIndex.updateElements(),this.elementIndex.setIndexAvailable()},_updateTableAttributes:function(t,e){var i=t.closest("tr");for(var s in e)e.hasOwnProperty(s)&&i.children('td[data-attr="'+s+'"]:first').html(e[s])}}),Craft.TagSelectInput=Craft.BaseElementSelectInput.extend({searchTimeout:null,searchMenu:null,$container:null,$elementsContainer:null,$elements:null,$addTagInput:null,$spinner:null,_ignoreBlur:!1,init:function(t){if(!$.isPlainObject(t)){for(var e={},i=["id","name","tagGroupId","sourceElementId"],s=0;s<i.length&&void 0!==arguments[s];s++)e[i[s]]=arguments[s];t=e}this.base($.extend({},Craft.TagSelectInput.defaults,t)),this.$addTagInput=this.$container.children(".add").children(".text"),this.$spinner=this.$addTagInput.next(),this.addListener(this.$addTagInput,"textchange",$.proxy(function(){this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout($.proxy(this,"searchForTags"),500)},this)),this.addListener(this.$addTagInput,"keypress",function(t){t.keyCode===Garnish.RETURN_KEY&&(t.preventDefault(),this.searchMenu&&this.selectTag(this.searchMenu.$options[0]))}),this.addListener(this.$addTagInput,"focus",function(){this.searchMenu&&this.searchMenu.show()}),this.addListener(this.$addTagInput,"blur",function(){this._ignoreBlur?this._ignoreBlur=!1:setTimeout($.proxy(function(){this.searchMenu&&this.searchMenu.hide()},this),1)})},getAddElementsBtn:$.noop,getElementSortAxis:function(){return null},searchForTags:function(){if(this.searchMenu&&this.killSearchMenu(),this.$addTagInput.val()){this.$spinner.removeClass("hidden");for(var t=[],e=0;e<this.$elements.length;e++){var i=$(this.$elements[e]).data("id");i&&t.push(i)}this.settings.sourceElementId&&t.push(this.settings.sourceElementId);var r={search:this.$addTagInput.val(),tagGroupId:this.settings.tagGroupId,excludeIds:t};Craft.postActionRequest("tags/search-for-tags",r,$.proxy(function(t,e){if(this.searchMenu&&this.killSearchMenu(),this.$spinner.addClass("hidden"),"success"===e){for(var i,s=$('<div class="menu tagmenu"/>').appendTo(Garnish.$bod),n=$("<ul/>").appendTo(s),a=0;a<t.tags.length;a++)i=$("<li/>").appendTo(n),$('<a data-icon="tag"/>').appendTo(i).text(t.tags[a].title).data("id",t.tags[a].id).addClass(t.tags[a].exclude?"disabled":"");t.exactMatch||(i=$("<li/>").appendTo(n),$('<a data-icon="plus"/>').appendTo(i).text(r.search)),n.find("a:not(.disabled):first").addClass("hover"),this.searchMenu=new Garnish.Menu(s,{attachToElement:this.$addTagInput,onOptionSelect:$.proxy(this,"selectTag")}),this.addListener(s,"mousedown",$.proxy(function(){this._ignoreBlur=!0},this)),this.searchMenu.show()}},this))}else this.$spinner.addClass("hidden")},selectTag:function(t){var e=$(t);if(!e.hasClass("disabled")){var i=e.data("id"),s=e.text(),n=$("<div/>",{class:"element small removable","data-id":i,"data-site-id":this.settings.targetSiteId,"data-label":s,"data-editable":"1"}).appendTo(this.$elementsContainer),a=$("<input/>",{type:"hidden",name:this.settings.name+"[]",value:i}).appendTo(n);$("<a/>",{class:"delete icon",title:Craft.t("app","Remove")}).appendTo(n);var r=$("<div/>",{class:"label"}).appendTo(n);$("<span/>",{class:"title",text:s}).appendTo(r);var o=-(n.outerWidth()+10);this.$addTagInput.css("margin-"+Craft.left,o+"px");var l={};if(l["margin-"+Craft.left]=0,this.$addTagInput.velocity(l,"fast"),this.$elements=this.$elements.add(n),this.addElements(n),this.killSearchMenu(),this.$addTagInput.val(""),this.$addTagInput.trigger("focus"),!i){n.addClass("loading disabled");var h={groupId:this.settings.tagGroupId,title:s};Craft.postActionRequest("tags/create-tag",h,$.proxy(function(t,e){"success"===e&&t.success?(n.attr("data-id",t.id),a.val(t.id),n.removeClass("loading disabled")):(this.removeElement(n),"success"===e&&Craft.cp.displayError(Craft.t("app","An unknown error occurred.")))},this))}}},killSearchMenu:function(){this.searchMenu.hide(),this.searchMenu.destroy(),this.searchMenu=null}},{defaults:{tagGroupId:null}}),Craft.ThumbsElementIndexView=Craft.BaseElementIndexView.extend({getElementContainer:function(){return this.$container.children("ul")}}),Craft.ui={createTextInput:function(t){var e=$("<input/>",{attr:{class:"text",type:t.type||"text",id:t.id,size:t.size,name:t.name,value:t.value,maxlength:t.maxlength,autofocus:this.getAutofocusValue(t.autofocus),autocomplete:void 0!==t.autocomplete&&t.autocomplete?null:"off",disabled:this.getDisabledValue(t.disabled),readonly:t.readonly,title:t.title,placeholder:t.placeholder,step:t.step,min:t.min,max:t.max}});return t.class&&e.addClass(t.class),t.placeholder&&e.addClass("nicetext"),"password"===t.type&&e.addClass("password"),t.disabled&&e.addClass("disabled"),t.size||e.addClass("fullwidth"),t.showCharsLeft&&t.maxlength&&e.attr("data-show-chars-left").css("padding-"+("ltr"===Craft.orientation?"right":"left"),7.2*t.maxlength.toString().length+14+"px"),(t.placeholder||t.showCharsLeft)&&new Garnish.NiceText(e),"password"===t.type?$('<div class="passwordwrapper"/>').append(e):e},createTextField:function(t){return this.createField(this.createTextInput(t),t)},createTextarea:function(t){var e=$("<textarea/>",{class:"text",rows:t.rows||2,cols:t.cols||50,id:t.id,name:t.name,maxlength:t.maxlength,autofocus:t.autofocus&&!Garnish.isMobileBrowser(!0),disabled:!!t.disabled,placeholder:t.placeholder,html:t.value});return t.showCharsLeft&&e.attr("data-show-chars-left",""),t.class&&e.addClass(t.class),t.size||e.addClass("fullwidth"),e},createTextareaField:function(t){return this.createField(this.createTextarea(t),t)},createSelect:function(t){var e=$("<div/>",{class:"select"});t.class&&e.addClass(t.class);var i=$("<select/>",{id:t.id,name:t.name,autofocus:t.autofocus&&Garnish.isMobileBrowser(!0),disabled:t.disabled,"data-target-prefix":t.targetPrefix}).appendTo(e),s=null;for(var n in t.options)if(t.options.hasOwnProperty(n)){var a=t.options[n];if(void 0!==a.optgroup)s=$("<optgroup/>",{label:a.label}).appendTo(i);else{var r=void 0!==a.label?a.label:a,o=void 0!==a.value?a.value:n,l=void 0!==a.disabled&&a.disabled;$("<option/>",{value:o,selected:o==t.value,disabled:l,html:r}).appendTo(s||i)}}return t.toggle&&(i.addClass("fieldtoggle"),new Craft.FieldToggle(i)),e},createSelectField:function(t){return this.createField(this.createSelect(t),t)},createCheckbox:function(t){var e=t.id||"checkbox"+Math.floor(1e9*Math.random()),i=$("<input/>",{type:"checkbox",value:void 0!==t.value?t.value:"1",id:e,class:"checkbox",name:t.name,checked:t.checked?"checked":null,autofocus:this.getAutofocusValue(t.autofocus),disabled:this.getDisabledValue(t.disabled),"data-target":t.toggle,"data-reverse-target":t.reverseToggle});t.class&&i.addClass(t.class),(t.toggle||t.reverseToggle)&&(i.addClass("fieldtoggle"),new Craft.FieldToggle(i));var s=$("<label/>",{for:e,text:t.label});return t.name&&(t.name.length<3||"[]"!==t.name.substr(-2))?$([$("<input/>",{type:"hidden",name:t.name,value:""})[0],i[0],s[0]]):$([i[0],s[0]])},createCheckboxField:function(t){var e=$('<div class="field checkboxfield"/>',{id:t.id?t.id+"-field":null});return t.first&&e.addClass("first"),t.instructions&&e.addClass("has-instructions"),this.createCheckbox(t).appendTo(e),t.instructions&&$('<div class="instructions"/>').text(t.instructions).appendTo(e),e},createCheckboxSelect:function(t){var e,i,s=$('<div class="checkbox-select"/>');t.class&&s.addClass(t.class),t.showAllOption?(e=t.allValue||"*",i=t.values==e,$("<div/>").appendTo(s).append(this.createCheckbox({id:t.id,class:"all",label:"<b>"+(t.allLabel||Craft.t("app","All"))+"</b>",name:t.name,value:e,checked:i,autofocus:t.autofocus}))):i=!1;for(var n=0;n<t.options.length;n++){var a=t.options[n];a.value!=e&&$("<div/>").appendTo(s).append(this.createCheckbox({label:a.label,name:t.name?t.name+"[]":null,value:a.value,checked:i||Craft.inArray(a.value,t.values),disabled:i}))}return new Garnish.CheckboxSelect(s),s},createCheckboxSelectField:function(t){return this.createField(this.createCheckboxSelect(t),t)},createLightswitch:function(t){var e=t.value||"1",i=$("<div/>",{class:"lightswitch",tabindex:"0","data-value":e,id:t.id,"aria-labelledby":t.labelId,"data-target":t.toggle,"data-reverse-target":t.reverseToggle});return t.on&&i.addClass("on"),t.small&&i.addClass("small"),t.disabled&&i.addClass("disabled"),$('<div class="lightswitch-container"><div class="label on"></div><div class="handle"></div><div class="label off"></div></div>').appendTo(i),t.name&&$("<input/>",{type:"hidden",name:t.name,value:t.on?e:"",disabled:t.disabled}).appendTo(i),(t.toggle||t.reverseToggle)&&(i.addClass("fieldtoggle"),new Craft.FieldToggle(i)),i.lightswitch()},createLightswitchField:function(t){return this.createField(this.createLightswitch(t),t)},createColorInput:function(t){var e=t.id||"color"+Math.floor(1e9*Math.random()),i=t.containerId||e+"-container",s=t.name||null,n=t.value||null,a=t.small||!1,r=t.autofocus&&Garnish.isMobileBrowser(!0),o=t.disabled||!1,l=$("<div/>",{id:i,class:"flex color-container"}),h=$("<div/>",{class:"color static"+(a?" small":"")}).appendTo(l);$("<div/>",{class:"color-preview",style:t.value?{backgroundColor:t.value}:null}).appendTo(h),this.createTextInput({id:e,name:s,value:n,size:10,class:"color-input",autofocus:r,disabled:o}).appendTo(l);return new Craft.ColorInput(l),l},createColorField:function(t){return this.createField(this.createColorInput(t),t)},createDateInput:function(t){var e=(t.id||"date"+Math.floor(1e9*Math.random()))+"-date",i=t.name||null,s=i?i+"[date]":null,n=t.value&&"function"==typeof t.value.getMonth?t.value:null,a=n?Craft.formatDate(n):null,r=t.autofocus&&Garnish.isMobileBrowser(!0),o=t.disabled||!1,l=$("<div/>",{class:"datewrapper"}),h=this.createTextInput({id:e,name:s,value:a,placeholder:" ",autocomplete:!1,autofocus:r,disabled:o}).appendTo(l);return $('<div data-icon="date"></div>').appendTo(l),i&&$("<input/>",{type:"hidden",name:i+"[timezone]",val:Craft.timezone}).appendTo(l),h.datepicker($.extend({defaultDate:n||new Date},Craft.datepickerOptions)),l},createDateField:function(t){return this.createField(this.createDateInput(t),t)},createTimeInput:function(t){var e=(t.id||"time"+Math.floor(1e9*Math.random()))+"-time",i=t.name||null,s=i?i+"[time]":null,n=t.value&&"function"==typeof t.value.getMonth?t.value:null,a=t.autofocus&&Garnish.isMobileBrowser(!0),r=t.disabled||!1,o=$("<div/>",{class:"timewrapper"}),l=this.createTextInput({id:e,name:s,placeholder:" ",autocomplete:!1,autofocus:a,disabled:r}).appendTo(o);return $('<div data-icon="time"></div>').appendTo(o),i&&$("<input/>",{type:"hidden",name:i+"[timezone]",val:Craft.timezone}).appendTo(o),l.timepicker(Craft.timepickerOptions),n&&l.timepicker("setTime",3600*n.getHours()+60*n.getMinutes()+n.getSeconds()),o},createTimeField:function(t){return this.createField(this.createTimeInput(t),t)},createField:function(t,e){var i=e.label&&"__blank__"!==e.label?e.label:null,s=Craft.isMultiSite&&e.siteId?e.siteId:null,n=$("<div/>",{class:"field",id:e.fieldId||(e.id?e.id+"-field":null)});if(e.first&&n.addClass("first"),i||e.instructions){var a=$('<div class="heading"/>').appendTo(n);if(i){var r=$("<label/>",{id:e.labelId||(e.id?e.id+"-label":null),class:e.required?"required":null,for:e.id,text:i}).appendTo(a);if(s)for(var o=0;o<Craft.sites.length;o++)if(Craft.sites[o].id==s){$('<span class="site"/>').text(Craft.sites[o].name).appendTo(r);break}}e.instructions&&$('<div class="instructions"/>').text(e.instructions).appendTo(a)}return $('<div class="input"/>').append(t).appendTo(n),e.warning&&$('<p class="warning"/>').text(e.warning).appendTo(n),e.errors&&this.addErrorsToField(n,e.errors),n},createErrorList:function(t){var e=$('<ul class="errors"/>');return t&&this.addErrorsToList(e,t),e},addErrorsToList:function(t,e){for(var i=0;i<e.length;i++)$("<li/>").text(e[i]).appendTo(t)},addErrorsToField:function(t,e){if(e){t.addClass("has-errors"),t.children(".input").addClass("errors");var i=t.children("ul.errors");i.length||(i=this.createErrorList().appendTo(t)),this.addErrorsToList(i,e)}},clearErrorsFromField:function(t){t.removeClass("has-errors"),t.children(".input").removeClass("errors"),t.children("ul.errors").remove()},getAutofocusValue:function(t){return t&&!Garnish.isMobileBrowser(!0)?"autofocus":null},getDisabledValue:function(t){return t?"disabled":null}},Craft.Uploader=Garnish.Base.extend({uploader:null,allowedKinds:null,$element:null,settings:null,_rejectedFiles:{},_extensionList:null,_totalFileCounter:0,_validFileCounter:0,init:function(t,e){this._rejectedFiles={size:[],type:[],limit:[]},this.$element=t,this.allowedKinds=null,this._extensionList=null,this._totalFileCounter=0,this._validFileCounter=0;var i=(e=$.extend({},Craft.Uploader.defaults,e)).events;for(var s in delete e.events,e.allowedKinds&&e.allowedKinds.length&&("string"==typeof e.allowedKinds&&(e.allowedKinds=[e.allowedKinds]),this.allowedKinds=e.allowedKinds,delete e.allowedKinds),e.autoUpload=!1,this.uploader=this.$element.fileupload(e),i)i.hasOwnProperty(s)&&this.uploader.on(s,i[s]);this.settings=e,this.uploader.on("fileuploadadd",$.proxy(this,"onFileAdd"))},setParams:function(t){void 0!==Craft.csrfTokenName&&void 0!==Craft.csrfTokenValue&&(t[Craft.csrfTokenName]=Craft.csrfTokenValue),this.uploader.fileupload("option",{formData:t})},getInProgress:function(){return this.uploader.fileupload("active")},isLastUpload:function(){return this.getInProgress()<2},onFileAdd:function(t,s){t.stopPropagation();var n=!1;return this.allowedKinds&&(this._extensionList||this._createExtensionList(),n=!0),s.process().done($.proxy(function(){var t=s.files[0],e=!0;if(n){var i=t.name.match(/\.([a-z0-4_]+)$/i)[1];-1===$.inArray(i.toLowerCase(),this._extensionList)&&(e=!1,this._rejectedFiles.type.push("“"+t.name+"”"))}t.size>this.settings.maxFileSize&&(this._rejectedFiles.size.push("“"+t.name+"”"),e=!1),e&&"function"==typeof this.settings.canAddMoreFiles&&!this.settings.canAddMoreFiles(this._validFileCounter)&&(this._rejectedFiles.limit.push("“"+t.name+"”"),e=!1),e&&(this._validFileCounter++,s.submit()),++this._totalFileCounter===s.originalFiles.length&&(this._totalFileCounter=0,this._validFileCounter=0,this.processErrorMessages())},this)),!0},processErrorMessages:function(){var t;this._rejectedFiles.type.length&&(t=1===this._rejectedFiles.type.length?"The file {files} could not be uploaded. The allowed file kinds are: {kinds}.":"The files {files} could not be uploaded. The allowed file kinds are: {kinds}.",t=Craft.t("app",t,{files:this._rejectedFiles.type.join(", "),kinds:this.allowedKinds.join(", ")}),this._rejectedFiles.type=[],alert(t)),this._rejectedFiles.size.length&&(t=1===this._rejectedFiles.size.length?"The file {files} could not be uploaded, because it exceeds the maximum upload size of {size}.":"The files {files} could not be uploaded, because they exceeded the maximum upload size of {size}.",t=Craft.t("app",t,{files:this._rejectedFiles.size.join(", "),size:this.humanFileSize(Craft.maxUploadSize)}),this._rejectedFiles.size=[],alert(t)),this._rejectedFiles.limit.length&&(t=1===this._rejectedFiles.limit.length?"The file {files} could not be uploaded, because the field limit has been reached.":"The files {files} could not be uploaded, because the field limit has been reached.",t=Craft.t("app",t,{files:this._rejectedFiles.limit.join(", ")}),this._rejectedFiles.limit=[],alert(t))},humanFileSize:function(t){if(t<1024)return t+" B";for(var e=-1;++e,1024<=(t/=1024););return t.toFixed(1)+" "+["kB","MB","GB","TB","PB","EB","ZB","YB"][e]},_createExtensionList:function(){this._extensionList=[];for(var t=0;t<this.allowedKinds.length;t++){var e=this.allowedKinds[t];if(void 0!==Craft.fileKinds[e])for(var i=0;i<Craft.fileKinds[e].extensions.length;i++){var s=Craft.fileKinds[e].extensions[i];this._extensionList.push(s)}}},destroy:function(){this.$element.fileupload("destroy"),this.base()}},{defaults:{dropZone:null,pasteZone:null,fileInput:null,sequentialUploads:!0,maxFileSize:Craft.maxUploadSize,allowedKinds:null,events:{},canAddMoreFiles:null,headers:{Accept:"application/json;q=0.9,*/*;q=0.8"},paramName:"assets-upload"}}),Craft.UriFormatGenerator=Craft.BaseInputGenerator.extend({generateTargetValue:function(t){t=(t=t.replace("/<(.*?)>/g","")).toLowerCase(),t=(t=(t=Craft.asciiString(t)).replace(/^[^a-z]+/,"")).replace(/[^a-z0-9]+$/,"");var e=Craft.filterArray(t.split(/[^a-z0-9]+/)).join("-");return e&&this.settings.suffix&&(e+=this.settings.suffix),e}})}(jQuery);
{"version":3,"sources":["Craft.js"],"names":["$","extend","Craft","navHeight","t","category","message","params","translations","key","hasOwnProperty","replace","formatDate","date","Date","datepicker","datepickerOptions","dateFormat","formatNumber","number","format","d3","formatLocale","d3FormatLocaleDefinition","formatter","escapeHtml","str","text","html","escapeRegex","getText","encodeUriComponent","encodeURIComponent","differences","!","*","'","(",")","chr","re","RegExp","selectFullValue","input","$input","val","setSelectionRange","length","formatInputId","inputName","this","rtrim","getUrl","path","baseUrl","anchor","isPlainObject","aParams","name","value","push","Garnish","isArray","join","trim","url","qpos","indexOf","substr","search","pathMatch","match","pathParam","omitScriptNameInUrls","usePathInfo","scriptName","basePath","endPath","substring","getCpUrl","baseCpUrl","getSiteUrl","baseSiteUrl","getActionUrl","actionUrl","redirectTo","document","location","href","getCsrfInput","csrfTokenName","csrfTokenValue","postActionRequest","action","data","callback","options","headers","X-Registered-Asset-Bundles","Object","keys","registeredAssetBundles","X-Registered-Js-Files","registeredJsFiles","jqXHR","ajax","type","dataType","success","error","textStatus","errorThrown","readyState","cp","displayError","alert","send","_waitingOnAjax","_ajaxQueue","queueActionRequest","undefined","_postNextActionRequestInQueue","args","shift","stringToArray","arr","split","i","expandPostArray","expanded","m","unshift","parentElem","parseInt","compare","obj1","obj2","sortObjectKeys","Array","getObjectKeys","sort","obj","escapeChars","chars","escaped","ltrim","startsWith","filterArray","filtered","inArray","elem","removeFromArray","index","splice","getLast","uppercaseFirst","charAt","toUpperCase","slice","lowercaseFirst","toLowerCase","parseUrl","scheme","host","hostname","port","query","hash","isSameHost","requestUrlInfo","urlInfo","secondsToHumanTimeDuration","seconds","showSeconds","weeks","Math","floor","days","minutes","hours","round","timeComponents","asciiString","charMap","char","asciiStr","asciiCharMap","randomString","result","random","preventOutlineOnMouseFocus","$elem","namespace","on","addClass","trigger","event","keyCode","SHIFT_KEY","CTRL_KEY","CMD_KEY","removeClass","createErrorList","errors","$ul","createElement","$li","appendTo","appendHeadHtml","$existingCss","existingCss","eq","attr","regexp","append","appendFootHtml","$existingJs","src","existingJs","$bod","initUiElements","$container","grid","infoicon","checkboxselect","fieldtoggle","lightswitch","nicetext","pill","formsubmit","menubtn","_elementIndexClasses","_elementSelectorModalClasses","_elementEditorClasses","registerElementIndexClass","elementType","func","registerElementSelectorModalClass","registerElementEditorClass","createElementIndex","settings","BaseElementIndex","createElementSelectorModal","BaseElementSelectorModal","createElementEditor","element","BaseElementEditor","getLocalStorage","defaultValue","systemUid","localStorage","JSON","parse","setLocalStorage","stringify","e","getElementInfo","$element","hasClass","find","id","siteId","label","status","hasThumb","setElementSize","size","otherSize","$oldImg","$newImg","sizes","srcset","replaceWith","picturefill","elements","fn","animateLeft","pos","duration","easing","complete","orientation","velocity","left","right","animateRight","disable","each","removeAttr","enable","itemSelector","cols","maxCols","minColWidth","mode","fillMode","colClass","snapToGrid","Grid","InfoIcon","CheckboxSelect","FieldToggle","settingName","settingValue","setSettings","thisSettings","hasAttr","LightSwitch","NiceText","Pill","ev","$btn","currentTarget","confirm","$anchor","$form","closest","customTrigger","next","menuAnchor","MenuBtn","$doc","ready","Base","elementId","$fieldsContainer","$cancelBtn","$saveBtn","$spinner","$siteSelect","$siteSpinner","hud","init","defaults","loadHud","setElementAttribute","attributes","getBaseData","prevalidate","onBeginLoading","includeSites","isMultiSite","showSiteSwitcher","proxy","showHud","response","onEndLoading","$hudContents","sites","$header","$siteSelectContainer","siteInfo","addListener","add","updateForm","onCreateForm","$footer","$buttonsContainer","updateBody","updateSizeAndPosition","hudTrigger","HUD","bodyClass","closeOtherHUDs","onShow","onHide","onSubmit","$hud","hide","switchSite","newSiteId","reloadForm","$instructions","class","children","requestAnimationFrame","headHtml","footHtml","saveElement","validators","isFunction","call","param","$body","serialize","$title","$a","cpEditUrl","newTitle","closeHud","onSaveElement","shake","onShowHud","onHideHud","runQueue","elementIndex","noop","initialized","instanceState","sourceStates","sourceStatesStorageKey","searchTimeout","sourceSelect","$main","$mainSpinner","isIndexBusy","$sidebar","showingSidebar","sourceKey","sourceViewModes","$source","sourcesByKey","$visibleSources","$customizeSourcesBtn","customizeSourcesModal","$toolbar","$toolbarFlexContainer","toolbarOffset","$search","searching","searchText","trashed","drafts","$clearSearchBtn","$statusMenuBtn","$statusMenuContainer","statusMenu","$siteMenuBtn","siteMenu","$sortMenuBtn","sortMenu","$sortAttributesList","$sortDirectionsList","$scoreSortAttribute","$structureSortAttribute","$elements","$viewModeBtnContainer","viewModeBtns","viewMode","view","_autoSelectElements","$countContainer","page","$exportBtn","actions","actionsHeadHtml","actionsFootHtml","$selectAllContainer","$selectAllCheckbox","showingActionTriggers","_$detachedToolbarItems","_$triggers","getDefaultInstanceState","storageKey","context","parent","hideSidebar","toolbarFixed","isMobileBrowser","$win","$scrollContainer","initSources","menu","$option","$options","filter","first","_setSite","criteria","storedSiteId","$storedSiteOption","startSearching","stopSearching","clearTimeout","setTimeout","RETURN_KEY","preventDefault","updateElementsIfSearchTextChanged","afterInit","selectDefaultSource","setPage","pageNum","updateElements","onAfterInit","getSourceContainer","$sources","$items","_getSourcesInList","Select","multi","allowEmpty","vertical","onSelectionChange","_initSources","getDefaultSourceKey","getSourceByKey","selectSource","refreshSources","removeAllItems","setIndexBusy","refreshSourcesAction","setIndexAvailable","updateFixedToolbar","_scrollTop","scrollTop","width","_makingFixed","css","outerHeight","top","offset","initSource","addItems","initSourceToggle","expandedSources","_expandSource","deinitSourceToggle","$toggle","_getSourceToggle","deinitSource","removeItems","removeListener","removeData","selectedSource","getDefaultExpandedSources","addOptions","prependTo","_updateStructureSortOption","setSortAttribute","detach","setInstanceState","storeInstanceState","getSourceState","source","getSelectedSourceState","setSelecetedSourceState","viewState","storeSortAttributeAndDirection","getSelectedSortAttribute","order","getSelectedSortDirection","max","pageTrigger","history","replaceState","getViewParams","batchSize","limit","disabledElementIds","paginated","_isViewPaginated","collapsedElementIds","preservePagination","destroy","updateElementsAction","totalPages","ceil","count","_updateView","showActionTriggers","height","not","insertAfter","_createTriggers","submitAction","actionClass","actionParams","selectedElementIds","getSelectedElementIds","viewParams","elementAction","elementIds","submitActionsAction","displayNotice","afterAction","onAfterAction","hideActionTriggers","insertBefore","updateActionTriggers","totalSelected","getSelectedElements","getEnabledElements","$selectAllBtn","getSortAttributeOption","attribute","setSortDirection","getSortDirectionOption","dir","getSelectedViewMode","selectItem","updateSidebarMenuLabel","setStoredSortOptionsForSource","remove","getViewModesForSource","sourceViewMode","$viewModeBtn","className","title","icon","selectViewMode","doesSourceHaveViewMode","onSelectSource","selectSourceByKey","sortAttr","sortDir","getDefaultSort","viewModes","force","createView","getViewClass","TableElementIndexView","ThumbsElementIndexView","rememberDisabledElementId","forgetDisabledElementId","enableElements","parents","onEnableElements","disableElements","onDisableElements","getElementById","enableElementsById","ids","makeArray","disableElementsById","selectElementAfterUpdate","addButton","$button","getButtonContainer","isShowingSidebar","buttonContainer","createCustomizeSourcesModal","modal","CustomizeSourcesModal","base","onSelectSite","onUpdateElements","_handleSourceSelectionChange","$selectedItems","_handleActionTriggerSubmit","getPostData","_handleMenuActionTriggerSubmit","option","_handleStatusChange","selectedOption","_handleSiteChange","$firstVisibleSource","selectNewSource","toString","get","$heading","$headings","nextUntil","_handleSortChange","is","_handleSelectionChange","_handleSourceDblClick","_toggleSource","stopPropagation","_handleSourceToggleClick","prev","$firstOption","$list","_getChildSources","siblings","_deinitSources","_collapseSource","$childSources","countLabel","$paginationContainer","$prevBtn","data-icon","$nextBtn","role","tabindex","aria-checked","selectAllElements","deselectAllElements","SPACE_KEY","selectable","multiSelect","checkboxMode","selectElementById","triggers","safeMenuActions","destructiveMenuActions","destructive","$menuTrigger","$menu","$safeList","_createMenuTriggerList","$destructiveList","$div","_showExportHud","$limitField","ui","createTextField","placeholder","min","submitting","isNaN","tokenParam","token","data-action","BaseElementIndexView","$loadingMoreSpinner","$elementContainer","$scroller","thumbLoader","elementSelect","loadingMore","_totalVisible","_morePending","_handleEnableElements","_handleDisableElements","container","getElementContainer","setTotalVisible","setMorePending","ElementThumbLoader","load","isVerticalList","handle","_handleElementEditing","$target","target","prop","isTouchCapable","maybeLoadMore","getAllElements","$selectedElements","selectElement","selectAll","deselectAll","getTotalVisible","totalVisible","getMorePending","morePending","canLoadMore","loadMore","winHeight","innerHeight","winScrollTop","getLoadMoreParams","loadMoreElementsAction","$newElements","appendElements","onAppendElements","newElements","off","BaseElementSelectInput","elementSort","elementEditor","$elementsContainer","$addElementBtn","_initialized","normalizedSettings","arguments","modalStorageKey","sortable","getContainer","getElementsContainer","getAddElementsBtn","initElementSelect","initElementSort","resetElements","getElements","DragSort","$targetItem","getSelectedItems","ignoreHandleSelector","axis","getElementSortAxis","collapseDraggees","magnetStrength","helperLagBase","onSortChange","resetItemOrder","canAddMoreElements","updateAddElementsBtn","enableAddElementsBtn","disableAddElementsBtn","ADD_FX_DURATION","REMOVE_FX_DURATION","show","removeElements","addElements","editable","_handleShowElementEditor","removeElement","onRemoveElements","animateElementAway","animateCss","opacity","outerWidth","showModal","createModal","getModalSettings","closeOtherModals","sources","showSiteMenu","getDisabledElementIds","onSelect","modalSettings","sourceElementId","onModalSelect","slotsLeft","selectElements","updateDisabledElementsInModal","elementInfo","createNewElement","appendElement","animateElementIntoPlace","onSelectElements","clone","prepend","$modalElement","$inputElement","origOffset","destOffset","$helper","position","zIndex","window","draftEditor","checkForm","fieldId","editorSettings","Modal","$selectBtn","$sourceToggles","$tbody","$primaryButtons","$secondaryButtons","$footerSpinner","onFadeIn","_createElementIndex","updateSelectBtnState","enableSelectBtn","disableSelectBtn","enableCancelBtn","disableCancelBtn","showFooterSpinner","hideFooterSpinner","cancel","clearMouseUpTimeout","disableElementsOnSelect","hideOnSelect","info","has","touchData","firstTap","secondTap","resizable","onCancel","hideIndexSidebar","BaseInputGenerator","listening","timeout","startListening","setNewSource","stopListening","removeAllListeners","onSourceTextChange","onTargetTextChange","activeElement","onFormSubmit","updateTarget","sourceVal","targetVal","generateTargetValue","AdminTable","totalItems","sorter","$noItems","$table","$deleteBtns","allowDeleteAll","minItems","noItemsSelector","tableSelector","DataTableSorter","updateUI","addRow","row","maxItems","$row","$deleteBtn","reorderItems","idAttribute","reorderAction","onReorderItems","reorderSuccessMessage","reorderFailMessage","handleDeleteBtnClick","confirmDeleteItem","deleteItem","getItemName","confirmDeleteMessage","getItemId","deleteAction","handleDeleteItemResponse","onDeleteItem","deleteSuccessMessage","deleteFailMessage","nameAttribute","$moveButtons","newItemBtnSelector","AssetEditor","reloadIndex","$imageEditorTrigger","showImageEditor","AssetImageEditor","onSave","bind","allowDegreeFractions","isImagick","$imageTools","$buttons","$replaceBtn","$editorContainer","$straighten","$croppingCanvas","$spinnerCanvas","canvas","image","viewport","focalPoint","croppingCanvas","clipper","croppingRectangle","cropperHandles","cropperGrid","croppingShade","imageStraightenAngle","viewportRotation","originalWidth","originalHeight","imageVerticeCoords","zoomRatio","animationInProgress","currentView","assetId","cacheBust","draggingCropper","scalingCropper","draggingFocal","previousMouseX","previousMouseY","shiftKeyHeld","editorHeight","editorWidth","cropperState","scaleFactor","flipData","focalPointState","croppingConstraint","spinnerInterval","maxImageSize","lastLoadedDimensions","imageIsLoading","renderImage","renderCropper","now","x","y","allowSavingAsNew","saveImage","$shade","getMaxImageSize","browserViewportWidth","documentElement","clientWidth","browserViewportHeight","clientHeight","devicePixelRatio","loadEditor","$tabs","$viewsContainer","$views","innerWidth","_showSpinner","fabric","StaticCanvas","enableRetinaScaling","renderAll","imageUrl","Image","fromURL","imageObject","set","originX","originY","getHeight","getWidth","getScaledImageDimensions","_setFittedImageVerticeCoordinates","_repositionEditorElements","focalState","imageDimensions","offsetX","offsetY","focal","focalData","adjustedX","adjustedY","storeFocalPointState","_createFocalPoint","_createViewport","storeCropperState","_addControlListeners","_handleMouseMove","_handleMouseDown","_handleMouseUp","_hideSpinner","_reloadImage","setSrc","min-width","min-height","previousEditorDimensions","setDimensions","currentScaledDimensions","getZoomToFitRatio","previouslyOccupiedArea","_getBoundingRectangle","_repositionCropper","getZoomToCoverRatio","_repositionImage","_repositionViewport","_repositionFocalPoint","_zoomImage","Rect","fill","globalCompositeOperation","sizeFactor","focalX","focalY","deltaX","deltaY","Group","Circle","radius","strokeWidth","stroke","toggleFocalPoint","dimensions","state","currentWidth","ratio","hasOrientationChanged","imageRatio","rotateImage","flipImage","straighteningInput","SlideRuleInput","onStart","_showGrid","onChange","slider","straighten","onEnd","_hideGrid","_cleanupFocalPointAfterStraighten","onOptionSelect","setCroppingConstraint","enforceCroppingConstraint","_handleTabClick","$tab","showView","enableSlider","disableSlider","disableCropMode","enableCropMode","zoomFactor","degrees","imageZoomRatio","newAngle","angle","scaledImageDimensions","viewportProperties","imageProperties","angleInRadians","PI","newDeltaX","cos","sin","newDeltaY","modifiedDeltaX","modifiedDeltaY","temp","animate","animationDuration","onComplete","cleanAngle","parseFloat","_adjustFocalPointByAngle","_resetFocalPointPosition","editorCenter","setValue","properties","scaleY","scaleX","previousAngle","_adjustEditorElementsOnStraighten","newCenterX","newCenterY","angleDelta","currentZoomRatio","adjustmentRatio","cropperCenterX","cropperCenterY","imageVertices","getImageVerticeCoords","rectangle","_getZoomRatioToFitRectangle","_isCenterInside","object","containingObject","newFocalX","newFocalY","adjustedFocalX","adjustedFocalY","containingVertices","vertex","rectangleVertices","_getRectangleVertices","verticeIndex","arePointsInsideRectangle","edge","_getEdgeCrossed","rectangleCenter","distanceFromVertexToEdge","abs","sqrt","pow","distanceFromCenterToEdge","postData","imageRotation","cropData","zoom","end","scaledWidth","scaledHeight","boundingBox","_getImageBoundingBox","scale","vertScale","horiScale","getCombinedZoomRatio","strokeOptions","gridWidth","gridHeight","xStep","yStep","Line","onFadeOut","cropperData","_showCropper","_editorModeTransition","_hideCropper","targetZoom","inverseZoomFactor","imageOffsetX","imageOffsetY","getContext","start","cW","cH","setInterval","rotation","save","clearRect","translate","rotate","beginPath","moveTo","lineTo","lineWidth","strokeStyle","restore","clearInterval","clipperData","_setupCropperLayer","_redrawCropperElements","backgroundColor","hoverCursor","selection","rectangleRatio","rectWidth","rectHeight","lineOptions","gridOptions","pathGroup","Path","previousImageArea","currentOffset","areaFactor","coordinateSet","a","b","c","d","_isMouseOver","move","_cropperHandleHitTest","pageX","pageY","_handleFocalDrag","_handleCropperDrag","_handleCropperResize","_setMouseCursor","vertices","newX","newY","constraint","previousHeight","previousWidth","topDelta","leftDelta","change","cursor","parentOffset","mouseX","mouseY","lb","rb","tb","bb","topLeft","topRight","bottomRight","zoomMode","topVerticalSegment","bottomVerticalSegment","rightHorizontalSegment","leftHorizontalSegment","verticalOffset","horizontalOffset","_debug","fabricObj","debugger","points","ab","_getVector","bc","scalarAbAb","_getScalarProduct","scalarBcBc","point","ap","bp","scalarAbAp","scalarBcBp","_getVectorMagnitude","vector","_getAngleBetweenVectors","acos","edgePoints","centerPoint","smallestDiff","edgeCrossed","edgeIndex","toCenter","edgeVector","toVertex","diff","box","proportion","AssetIndex","$includeSubfoldersContainer","$includeSubfoldersCheckbox","showingIncludeSubfoldersCheckbox","$uploadButton","$uploadInput","$progressBar","$folders","uploader","promptHandler","progressBar","_uploadTotalFiles","_uploadFileProgress","_uploadedAssetIds","_currentUploaderSettings","_assetDrag","_folderDrag","_expandDropTargetFolderTimeout","_tempExpandedFolders","_fileConflictTemplate","choices","_folderConflictTemplate","_initIndexPageMode","_createFolderContextMenu","_getSourceLevel","updateDropTargets","contextMenu","parentsUntil","onDragStartProxy","onDropTargetChangeProxy","DragDrop","activeDropTargetClass","helperOpacity","helper","$file","_getFileDragHelper","dropTargets","targets","_getFolderUidFromSourceKey","onDragStart","onDropTargetChange","onDragStop","$selected","draggees","$draggeeHelper","$helperSidebar","$helperNav","$helperUl","padding-top","$draggee","padding-right","padding-bottom","padding-left","draggedSourceIds","_onFileDragStop","$activeDropTarget","originatingSource","targetFolderId","originalAssetIds","originalAssetId","_positionProgressBar","resetProgressBar","setItemCount","showProgressBar","parameterArray","folderId","onMoveFinish","responseArray","resetPrompts","conflict","addPrompt","suggestedFilename","prompt","hideProgressBar","performAfterMoveActions","_collapseExtraExpandedFolders","getPromptCount","promptCallback","returnData","newParameterArray","choice","filename","apply","_performBatchRequests","fadeOutHelpers","showBatchPrompts","returnHelpersToDraggees","_onFolderDragStop","folderIds","reverse","parentId","requestId","fileMoveList","newSourceKey","transferList","newFolderId","newFolderUid","merge","_performActualFolderMove","folderDeleteList","moveCallback","counter","_getParentSource","_selectSourceByFolderId","$targetSource","_getSourceByKey","$parentSources","$parentSource","PromptHandler","ProgressBar","fileInput","dropZone","events","fileuploadstart","fileuploadprogressall","fileuploaddone","kind","allowedKinds","Uploader","setParams","$subContainer","checked","marginBottom","includeSubfolders","_onUploadStart","_onUploadProgress","progress","loaded","total","setProgressPercentage","_onUploadComplete","files","doReload","file","isLastUpload","_updateAfterUpload","_uploadFollowup","finalCallback","doFollowup","parameterIndex","followupCallback","incrementProcessedItemCount","updateProgressBar","sourceAssetId","conflictingAssetId","targetFilename","_onUpdateElements","_onKeyDown","_onElementFocus","shiftKey","PreviewFileModal","openInstance","selfDestruct","$focusedItem","_loadPreview","item","startingWidth","startingHeight","_onDragStart","$outerContainer","$innerContainer","_$firstRowCells","$helperCells","$helperCell","$firstRowCell","_onDropTargetChange","$dropTarget","dropTargetFolder","_hasSubfolders","_isExpanded","dropTargetFolderId","$excludedSources","_collapseFolder","_expandFolder","menuOptions","onClick","ContextMenu","menuClass","_createSubfolder","$parentFolder","subfolderName","folderName","_prepareParentForChildren","$subfolder","folderUid","_appendSubfolder","_deleteFolder","$targetFolder","folder","_cleanUpTree","_renameFolder","oldName","newName","$existingChildren","subfolderLabel","folderInserted","$existingChild","before","windowHeight","doRequest","parameters","AssetSelectInput","originalFilename","originalExtension","resetOriginalFilename","_renameHelper","validateElementForm","_attachUploader","defaultFieldLayoutId","formData","canAddMoreFiles","selectUploadedFile","$newElement","margin","slotsTaken","_parseFilename","parts","extension","pop","baseFileName","endPos","selectionStart","selectionEnd","createRange","select","range","collapse","moveEnd","moveStart","$filenameField","ext","oldExt","newExt","AssetSelectorModal","$selectTransformBtn","_selectedTransform","transforms","createSelectTransformButton","$btnGroup","$menuList","MenuButton","allowTransforms","onSelectTransform","transform","selectImagesWithTransform","transformUrls","imageIdsWithMissingUrls","$item","fetchMissingTransformUrls","canSelectImageTransforms","AuthManager","remainingSessionTime","checkRemainingSessionTimer","showLoginModalTimer","decrementLogoutWarningInterval","showingLogoutWarningModal","showingLoginModal","logoutWarningModal","loginModal","$logoutWarningPara","$passwordInput","$passwordSpinner","$loginBtn","$loginErrorPara","submitLoginIfLoggedOut","updateRemainingSessionTime","setCheckRemainingSessionTimer","checkRemainingSessionTime","extendSession","responseJSON","minSafeSessiotTime","showLogoutWarningModal","checkInterval","submitLogin","showLoginModal","hideLogoutWarningModal","hideLoginModal","quickShow","$logoutBtn","$renewSessionBtn","autoShow","hideOnEsc","hideOnShadeClick","shadeClass","updateLogoutWarningMessage","time","decrementLogoutWarning","quick","quickHide","$inputContainer","$inputsFlexContainer","$passwordContainer","$buttonContainer","$passwordWrapper","PasswordInput","onToggleInput","$newPasswordInput","logout","renewSession","validatePassword","login","clearLoginError","loginName","username","password","showLoginError","CategoryIndex","editableGroups","$newCategoryBtnGroup","$newCategoryBtn","editableCategoryGroups","group","uid","defaultGroupHandle","updateButton","selectedSourceHandle","selectedGroup","$menuBtn","_getGroupTriggerHref","_openCreateCategoryModal","getAttribute","menuHtml","menuBtn","uri","primarySiteId","groupId","newCategoryBtnText","groupSourceKey","CategorySelectInput","selectedCategoryIds","categoryIds","branchLimit","selectionLabel","$newElementsContainer","filteredElements","$allCategories","_animateCategoryAway","charts","DataTable","columns","rows","forEach","cellIndex","parseTime","timeParse","Tip","$tip","setContent","setPosition","BaseChart","$chart","chartBaseClass","dataTable","timeFormatLocale","svg","globalSettings","formats","d3Formats","formatLocaleDefinition","timeFormatLocaleDefinition","d3TimeFormatLocaleDefinition","resize","baseSettings","draw","chartClass","onAfterDrawTicks","tickKey","tick","$tickText","numberFormat","percentFormat","currencyFormat","shortDateFormats","day","month","year","bottom","colors","Area","tip","drawingArea","getChartMargin","translateX","translateY","drawTicks","drawAxes","drawChart","drawTipTriggers","getX","xAxis","axisBottom","tickFormat","getXFormatter","ticks","yAxis","getY","axisLeft","getYFormatter","tickValues","getYTickValues","axisRight","showAxis","tickSizeOuter","gridlines","xLineAxis","tickSize","yLineAxis","line","datum","style","area","y0","y1","plots","enter","tips","chartMargin","xAxisTickInterval","node","getTotalLength","tipTriggerWidth","$content","$xValue","$yValue","content","calcLeft","values","yTicksMaxWidth","computedTickWidth","padded","xDomainMin","xDomainMax","xDomain","scaleTime","domain","yDomain","getYMaxValue","scaleLinear","utils","getTimeFormatter","getNumberFormatter","maxValue","getDuration","secondsNum","chartSettings","dataScale","ColorInput","$colorContainer","$colorPreview","$colorInput","createColorInput","handleTextChange","setAttribute","updateColor","_browserSupportsColorInputs","doesBrowserSupportColorInputs","CP","authManager","$nav","$mainContainer","$alerts","$crumbs","$notificationContainer","$primaryForm","$mainContent","$details","$selectedTab","$contentContainer","$edition","$collapsibleTables","fixedHeader","enableQueue","jobInfo","displayedJobInfo","displayedJobInfoUnchanged","trackJobProgressTimeout","jobProgressIcon","checkingForUpdates","forcingRefreshOnUpdatesCheck","checkForUpdatesCallbacks","updateFixedHeader","updateResponsiveTables","$errorNotifications","$otherNotifications","delay","notificationDuration","initAlerts","isCtrlKeyPressed","S_KEY","submitPrimaryForm","initTabs","initConfirmUnloadForms","$confirmUnloadForms","serialized","confirmUnload","livePreview","inPreviewMode","originalEvent","returnValue","_handleInputFocus","_handleInputBlur","saveShortcut","$label","toggleNav","toggleClass","toggleSidebar","tabs","tabWidths","totalWidth","selectTab","tab","deselectTab","_i","_$table","_containerWidth","_check","_isCollapsed","getBoundingClientRect","headerHeight","max-height","fixedheader","displayNotification","$notification","fadedMargin","margin-left","margin-right","display","notificationType","fetchAlerts","displayAlerts","alerts","margin-top","$shunnableAlerts","$link","checkForUpdates","forceRefresh","realCallback","updateUtilitiesBadge","callbacks","updateInfo","$utilitiesLink","$badge","badgeCount","runQueueAutomatically","trackJobProgress","_trackJobProgressInternal","setJobInfo","animateIcon","oldInfo","getDisplayedJobInfo","progressLabel","updateJobIcon","statuses","JOB_STATUS_RESERVED","JOB_STATUS_FAILED","JOB_STATUS_WAITING","j","JobProgressIcon","hideFailMode","setDescription","description","setProgress","showFailMode","JOB_STATUS_DONE","failMode","_canvasSupported","_$bgCanvas","_$staticCanvas","_$hoverCanvas","_$failCanvas","_staticCtx","_hoverCtx","_canvasSize","_arcPos","_arcRadius","_lineWidth","_arcStartPos","_arcEndPos","_arcStartStepSize","_arcEndStepSize","_arcStep","_arcStepTimeout","_arcAnimateCallback","_progressBar","$canvasContainer","_createCanvas","_drawArc","_animateArc","_setArc","$innerProgressBar","toggleHud","toggle","QueueHUD","color","$canvas","ctx","lineCap","startPos","arc","closePath","targetStartPos","targetEndPos","_takeNextArcStep","jobsById","completedJobs","updateViewProxy","updateView","newJobIds","updateStatus","Job","placed","$object","$statusContainer","$descriptionContainer","$progressLabel","$flex","empty","$actionBtn","performErrorAction","$elementIndexSourcesContainer","$sourcesContainer","$sourceSettingsContainer","$newHeadingBtn","$footerBtnContainer","$saveSpinner","$loadingSpinner","sourceSort","updateSourcesOnSave","availableTableAttributes","setContainer","buildModal","addSource","sourceData","$itemLabel","$itemInput","heading","Heading","updateItemLabel","Source","handleNewHeadingBtnClick","scrollContainerToElement","$pendingHeading","$lastSource","$indexSource","getIndexSource","isHeading","appendSource","$extraSources","nextAll","BaseSource","$settingsContainer","isSelected","deselect","createSettings","tableAttributes","firstAttribute","firstKey","firstLabel","$titleColumnCheckbox","createTableColumnOption","$columnCheckboxes","selectedAttributes","createField","instructions","createCheckbox","disabled","$labelField","$labelInput","handleLabelInputChange","deleteHeading","table","$rows","caboose","Y_AXIS","getHelper","$helperRow","helperClass","$cells","DeleteUserModal","userId","$deleteActionRadios","$deleteSpinner","userSelect","_deleting","idParam","redirect","contentSummary","$deleteSubmitBtn","validateDeleteInputs","validates","handleSubmit","DraftEditor","$revisionBtn","$revisionLabel","$statusIcon","$editMetaBtn","metaHud","$nameTextInput","$notesTextInput","$saveMetaBtn","lastSerializedValue","saving","saveXhr","checkFormAfterUpdate","submittingForm","duplicatedElements","preview","previewToken","previewTargets","enablePreview","$shareBtn","openShareLink","createShareMenu","revisionId","serializeForm","draftId","initForDraft","createDraft","canUpdateSource","createEditMetaBtn","statusIcons","showStatusHud","bodyHtml","spinners","getPreviewToken","Promise","resolve","reject","sourceId","getTokenizedPreviewUrl","randoParam","isLive","then","catch","open","getPreview","Preview","openPreview","ensureIsDraftOrRevision","revisionid","removeActionParams","isPreviewActive","$editor","isUnsavedDraft","saveDraft","isActive","$spinners","$statusIcons","saveDraftAction","prepareData","docTitle","draftName","draftNotes","revisionMenu","draftCreated","newHref","anchorPos","$saveBtnContainer","elementTypeDisplayName","$saveDraftBtn","canDeleteDraft","$draftsUl","$draftHeading","$draftLi","$draftA","selectOption","$siteOptions","$siteOption","creator","updatePreviewTargets","afterUpdate","checkMetaValues","oldId","currentTargets","showMetaHud","createMetaHud","onMetaHudShow","$field","$hudBody","$deleteLink","saveMeta","onMetaHudHide","onMetaHudEscape","onNotesKeydown","submit","shakeMetaHud","deleteDraft","deleteDraftAction","handleFormSubmit","abort","chunks","accept-charset","enctype","method","decodeURIComponent","applyDraftAction","hashedRedirectUrl","DynamicGenerator","EditableTable","baseName","biggestId","$addRowBtn","rowCount","hasMaxRows","hasMinRows","radioCheckboxes","log","copyDraggeeInputValuesToHelper","isVisible","initialize","minRows","createRowObj","updateAddRowButton","initializeIfVisible","canAddRow","canDeleteRow","deleteRow","$tr","onDeleteRow","staticRows","maxRows","focus","rowId","rowIdPrefix","createRow","defaultValues","onAddRow","Row","focusOnPrevRow","tdIndex","blurTd","prevRow","$prevTr","$tds","focusOnNextRow","nextRow","$nextTr","textualColTypes","data-id","colId","$cell","col","scope","textual","code","small","createDateInput","createLightswitch","createSelect","default","createTimeInput","createTextInput","niceTexts","tds","$textareas","tr","td","$textarea","$checkbox","textareasByColId","onHeightChange","radioMode","applyToggleCheckbox","onTextareaHeightChange","autopopulate","HandleGenerator","allowNonAlphaStart","last","onTextareaFocus","onRadioCheckboxChange","checkbox","checkboxColId","neg","checkboxCol","colum","ignoreNextTextareaFocus","handleKeypress","charCode","ctrl","numericKeyCodes","validateValue","safeValue","tallestTextareaHeight","tdHeight","ElementActionTrigger","maxLevels","newChildUrl","$trigger","triggerEnabled","activate","updateTrigger","validateSelection","enableTrigger","disableTrigger","valid","batch","handleTriggerActivation","queue","workers","Worker","concat","toArray","active","loadNext","loader","$img","alt","ElevatedSessionForm","inputs","form","$inputs","getInputPostVal","elevatedSessionManager","fetchingTimeout","inputsChanged","$currentInput","requireElevatedSession","submitForm","ElevatedSessionManager","passwordModal","$submitBtn","$errorPara","minSafeElevatedSessionTimeout","showPasswordModal","$passwordModal","focusPasswordInput","submitPassword","currentPassword","showPasswordError","EntryIndex","publishableSections","$newEntryBtnGroup","$newEntryBtn","section","defaultSectionHandle","selectedSection","_getSectionTriggerHref","_openCreateEntryModal","site","sectionId","newEntryBtnText","typeId","entryTypes","sectionSourceKey","FieldLayoutDesigner","$tabContainer","$unusedFieldContainer","$newTabBtn","$allFields","tabGrid","unusedFieldGrid","tabDrag","fieldDrag","gridSettings","initTab","FieldDrag","customizableTabs","TabDrag","$editBtn","$fields","initField","onTabOptionSelect","renameTab","deleteTab","onFieldOptionSelect","toggleRequiredField","removeField","$labelSpan","getFieldInputName","removeFieldById","requiredFieldInputName","refreshCols","$group","addTab","tabName","fieldInputName","BaseDrag","Drag","designer","$insertion","showingInsertion","$caboose","draggingUnusedItem","addToTabGrid","getInsertion","addCaboose","setMidpoints","getItemContainer","isItemInTabContainer","onDrag","hitTest","_closestItem","getClosestItem","_closestItemMouseDiff","_$item","_midpoint","_mouseDiff","getDist","draggeeDisplay","visibility","$hiddenFields","$fieldContainers","targetPrefix","targetSelector","reverseTargetSelector","_$target","_$reverseTarget","getType","normalizeTargetSelector","findTargets","selector","getToggleVal","postVal","onToggleChange","hideTarget","showTarget","_show","_currentHeight","_targetHeight","overflow","items","totalCols","colGutterDrop","colPctWidth","possibleItemColspans","possibleItemPositionsByColspan","itemPositions","itemColspansByPosition","layouts","layout","itemHeights","leftPadding","_refreshingCols","_refreshColsAfterRefresh","_forceRefreshColsAfterRefresh","handleContainerHeightProxy","setItems","_","oldHeight","scrollHeight","gutter","itemIndex","tallestItemHeight","colIndex","itemHeight","remainder","itemHeightsByColspan","positionRight","positionLeft","minColspan","maxColspan","colspan","getItemWidthCss","minPosition","maxPosition","colHeights","createLayouts","layoutTotalCols","highestTotalCols","layoutHeights","shortestHeight","shortestLayouts","emptySpaces","emptySpace","colspans","getItemLeftPosCss","positions","isSimpleLayout","margin-bottom","positionItems","completeRefreshCols","onRefreshCols","getItemWidth","getItemWidthInPx","getItemLeftPosInPx","prevPositions","prevColspans","prevColHeights","prevEmptySpace","LayoutGenerator","endingCol","affectedColHeights","onItemResize","newHeight","tallestColHeightsByPosition","p","colHeightsForPosition","tallestColHeight","words","ImageUpload","initImageUpload","containerSelector","uploadAction","postParameters","fileInputSelector","paramName","uploadParamName","fileuploadfail","initButtons","uploadButtonSelector","deleteButtonSelector","refreshImage","onAfterRefreshImage","_onUploadError","$icon","hudClass","dragger","dragStartMargin","outerContainer","X_AXIS","turnOn","turnOff","_getOffMargin","_onMouseDown","_onMouseUp","dragging","RIGHT_KEY","LEFT_KEY","_getMargin","_onDrag","mouseDistX","_onDragStop","_onSettle","LivePreview","$extraFields","$dragHandle","$iframeContainer","$iframe","$fieldPlaceholder","previewUrl","basePostData","fields","lastPostData","updateIframeInterval","loading","checkAgain","dragStartEditorWidth","_slideInOnIframeLoad","_handleSuccessProxy","_handleErrorProxy","_forceUpdateIframeProxy","_scrollX","_scrollY","_editorWidth","_editorWidthInPx","protocol","previewParams","extraFields","defaultEditorWidth","moveFieldsBack","editorWidthInPx","inPx","minEditorWidthInPx","exit","$editorHeader","$closeBtn","handleWindowResize","dragHandleWidth","getIframeWidth","$clone","_getClone","updateIframe","slideIn","createToken","previewAction","updateWidths","ESC_KEY","$newClone","field","contentWindow","scrollLeft","X-Craft-Token","xhrFields","withCredentials","crossDomain","forceUpdateIframe","handleSuccess","write","close","onResponse","handleError","copyInputValues","$textInput","$showPasswordToggle","showingPassword","passwordInput","hidePassword","setCurrentInput","updateToggleLabel","showPassword","togglePassword","onKeyDown","ALT_KEY","onKeyUp","onInputChange","onToggleMouseDown","$previewContainer","$targetBtn","$targetMenu","$tempInput","activeTarget","_updateIframeProxy","$previewHeader","switchTarget","resetScroll","sameHost","scrolllTop","frameborder","afterUpdateIframe","defaultSettings","_onHide","instance","loadAsset","focusItem","desiredHeight","desiredWidth","containerHeight","containerWidth","minGutter","_resizeContainer","modalHtml","$highlight","Prism","highlightElement","maxWidth","maxHeight","max-width","$progressBarStatus","_itemCount","_processedItemCount","_displaySteps","displaySteps","setProcessedItemCount","fadeTo","incrementItemCount","percentage","$modalContainerDiv","$prompt","$promptApplyToRemainingContainer","$promptApplyToRemainingCheckbox","$promptApplyToRemainingLabel","$pomptChoices","_prompts","_promptBatchCallback","_promptBatchReturnData","_promptBatchNum","_showNextPromptInBatch","remainingInBatch","_showPrompt","_handleBatchPromptSelection","applyToRemaining","choiceData","itemsToGo","_promptCallback","$promptMessage","$promptChoices","$promptButtons","$cancelButton","$radioButton","_selectPromptChoice","fadeOut","_cancelPrompt","$selectedOption","startPositionX","graduationsMin","graduationsMax","slideMin","slideMax","$overlay","$cursor","$graduations","$graduationsUl","graduationsCalculatedWidth","_handleResize","valueToPosition","_handleTapStart","touch","startLeft","_handleTapMove","curX","positionToValue","_handleTapEnd","scaleMin","scaleMax","SlugGenerator","allowUppercaseInSlug","limitAutoSlugsToAscii","XRegExp","matchChain","slugWordSeparator","Structure","structureDrag","$parents","initToggle","StructureDrag","initNewChildMenus","viewStateKey","$addBtns","onNewChildMenuClick","showMenu","getIndent","level","baseIndent","nestedIndent","addElement","$addBtn","$parentUl","_removeUl","structure","draggeeLevel","$helperLi","$targets","draggeeHeight","$level","cancelDrag","$lis","$closestTarget","closestTargetPos","closestTargetYDiff","closestTargetOffset","closestTargetHeight","targetOffset","targetHeight","targetYMidpoint","targetYDiff","$closestTargetLi","closestTargetLevel","$nextTargetLi","nextTargetLevel","hoveringBetweenRows","draggeeX","targetItemMouseDiffX","$parentLis","$closestParentLi","closestParentLiXDiff","closestParentLevel","$parentLi","parentLiX","parentLiXDiff","parentLevel","onMouseUp","$draggeeParent","moved","$closestSiblings","newLevel","setLevel","structureId","prevId","indent","$childLis","StructureTableSorter","tableView","_helperMargin","_$titleHelperCell","_titleHelperCellOuterWidth","_ancestors","_updateAncestorsFrame","_updateAncestorsProxy","_draggeeLevel","_draggeeLevelDelta","draggingLastElements","_loadingDraggeeLevelDelta","_targetLevel","_targetLevelBounds","_positionChanged","singleHelper","helperSpacingY","startDragging","HELPER_MARGIN","findDraggee","$nextRow","nextRowLevel","nextRowLevelDelta","_getAjaxBaseData","delta","drag","padding","BASE_PADDING","canInsertBefore","_getLevelBounds","canInsertAfter","_getAncestors","_setTargetLevelBounds","_updateIndent","onInsertionPointChange","_updateAncestorsBeforeRepaint","levelDiff","_getLevelIndent","$prevRow","prevRowLevel","$spinnerRow","_createSpinnerRowAfter","onPositionChange","_expandElement","onReturnHelpersToDraggees","newDraggeeIndexes","oldDraggeeIndexes","$postDraggeeItems","_minLevel","_maxLevel","forcePositionChange","_mouseDist","realMouseX","mousedownX","_indentationDist","LEVEL_INDENT","_targetLevelMouseDiff","_magnetImpact","MAX_GIVE","_closestLevelMagnetIndent","helpers","targetLevel","_level","_$prevRow","cancelAnimationFrame","_updateAncestors","_$ancestor","_newAncestors","$selectedSortHeader","structureTableSort","_totalVisiblePostStructureTableDraggee","_morePendingPostStructureTableDraggee","initTableHeaders","_collapseElement","selectedSortAttr","$tableHeaders","selectedSortDir","_isStructureTableDraggingLastElements","positionedAfter","includeTableAttributesForSource","_updateTableAttributes","$nextNextRow","descendantOf","$nextRows","_handleSelectedSortHeaderClick","newSortDir","_handleSortHeaderClick","_handleUnselectedSortHeaderClick","TagSelectInput","searchMenu","$addTagInput","_ignoreBlur","selectTag","searchForTags","killSearchMenu","excludeIds","tagGroupId","tags","exclude","exactMatch","Menu","attachToElement","data-site-id","targetSiteId","data-label","data-editable","$titleContainer","config","maxlength","autofocus","getAutofocusValue","autocomplete","getDisabledValue","readonly","step","showCharsLeft","createTextarea","createTextareaField","$select","data-target-prefix","$optgroup","optgroup","optionLabel","optionValue","optionDisabled","selected","createSelectField","data-target","data-reverse-target","reverseToggle","for","createCheckboxField","createCheckboxSelect","allValue","allChecked","showAllOption","allLabel","createCheckboxSelectField","data-value","aria-labelledby","labelId","createLightswitchField","containerId","$colorPreviewContainer","createColorField","getMonth","formattedValue","timezone","defaultDate","createDateField","timepicker","timepickerOptions","getHours","getMinutes","getSeconds","createTimeField","required","warning","addErrorsToField","addErrorsToList","$errors","clearErrorsFromField","_rejectedFiles","_extensionList","_totalFileCounter","_validFileCounter","autoUpload","fileupload","paramObject","getInProgress","onFileAdd","validateExtension","_createExtensionList","process","done","pass","fileExtension","maxFileSize","originalFiles","processErrorMessages","kinds","humanFileSize","maxUploadSize","bytes","u","toFixed","allowedKind","fileKinds","extensions","pasteZone","sequentialUploads","Accept","UriFormatGenerator","uriFormat","suffix","jQuery"],"mappings":"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","file":"Craft.min.js"}
                Craft.cp.displayNotice(Craft.t('app', this.settings.deleteSuccessMessage, {name: Craft.escapeHtml(name)}));
                Craft.cp.displayError(Craft.t('app', this.settings.deleteFailMessage, {name: Craft.escapeHtml(name)}));
            return $row.attr(this.settings.nameAttribute);

Fixed code:
### Security
- Fixed an XSS vulnerability.

/*!   - 2019-10-08 */
                Craft.cp.displayNotice(Craft.t('app', this.settings.deleteSuccessMessage, {name: name}));
                Craft.cp.displayError(Craft.t('app', this.settings.deleteFailMessage, {name: name}));
            return Craft.escapeHtml($row.attr(this.settings.nameAttribute));
!function($){$.extend(Craft,{navHeight:48,t:function(t,e,i){if(void 0!==Craft.translations[t]&&void 0!==Craft.translations[t][e]&&(e=Craft.translations[t][e]),i)for(var s in i)i.hasOwnProperty(s)&&(e=e.replace("{"+s+"}",i[s]));return e},formatDate:function(t){return"object"!=typeof t&&(t=new Date(t)),$.datepicker.formatDate(Craft.datepickerOptions.dateFormat,t)},formatNumber:function(t,e){return void 0===e&&(e=",.0f"),d3.formatLocale(d3FormatLocaleDefinition).format(e)(t)},escapeHtml:function(t){return $("<div/>").text(t).html()},escapeRegex:function(t){return t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},getText:function(t){return $("<div/>").html(t).text()},encodeUriComponent:function(t){t=encodeURIComponent(t);var e={"!":"%21","*":"%2A","'":"%27","(":"%28",")":"%29"};for(var i in e){var s=new RegExp("\\"+i,"g");t=t.replace(s,e[i])}return t},selectFullValue:function(t){var e=$(t),i=e.val();if(void 0!==e[0].setSelectionRange){var s=2*i.length;e[0].setSelectionRange(0,s)}else e.val(i)},formatInputId:function(t){return this.rtrim(t.replace(/[\[\]\\]+/g,"-"),"-")},getUrl:function(t,e,i){"string"!=typeof t&&(t="");var s="";if($.isPlainObject(e)){var n=[];for(var a in e)if(e.hasOwnProperty(a)){var r=e[a];"#"===a?s=r:null!==r&&""!==r&&n.push(a+"="+r)}e=n}e=Garnish.isArray(e)?e.join("&"):Craft.trim(e,"&?");var o,l=t.indexOf("?");if(-1!==l&&(e=t.substr(l+1)+(e?"&"+e:""),t=t.substr(0,l)),-1!==t.search("://")||"/"===t[0])return t+(e?"?"+e:"");if(t=Craft.trim(t,"/"),i){if(o=i,t){var h=o.match(new RegExp("[&?]"+Craft.escapeRegex(Craft.pathParam)+"=[^&]+"));h&&(o=o.replace(h[0],Craft.rtrim(h[0],"/")+"/"+t),t="")}}else o=Craft.baseUrl;if(-1!==(l=o.indexOf("?"))&&(e=o.substr(l+1)+(e?"&"+e:""),o=o.substr(0,l)),!Craft.omitScriptNameInUrls&&t)if(Craft.usePathInfo)-1===o.search(Craft.scriptName)&&(o=Craft.rtrim(o,"/")+"/"+Craft.scriptName);else{if(e&&e.substr(0,Craft.pathParam.length+1)===Craft.pathParam+"="){var d,c=e.indexOf("&");e=-1!==c?(d=e.substring(2,c),e.substr(c+1)):(d=e.substr(2),null),t=(d=Craft.rtrim(d))+(t?"/"+t:"")}e=Craft.pathParam+"="+t+(e?"&"+e:""),t=null}return t&&(o=Craft.rtrim(o,"/")+"/"+t),e&&(o+="?"+e),s&&(o+="#"+s),o},getCpUrl:function(t,e){return this.getUrl(t,e,Craft.baseCpUrl)},getSiteUrl:function(t,e){return this.getUrl(t,e,Craft.baseSiteUrl)},getActionUrl:function(t,e){return Craft.getUrl(t,e,Craft.actionUrl)},redirectTo:function(t){document.location.href=this.getUrl(t)},getCsrfInput:function(){return Craft.csrfTokenName?'<input type="hidden" name="'+Craft.csrfTokenName+'" value="'+Craft.csrfTokenValue+'"/>':""},postActionRequest:function(t,e,s,i){"function"==typeof e&&(i=s,s=e,e={});var n={"X-Registered-Asset-Bundles":Object.keys(Craft.registeredAssetBundles).join(","),"X-Registered-Js-Files":Object.keys(Craft.registeredJsFiles).join(",")};Craft.csrfTokenValue&&Craft.csrfTokenName&&(n["X-CSRF-Token"]=Craft.csrfTokenValue);var a=$.ajax($.extend({url:Craft.getActionUrl(t),type:"POST",dataType:"json",headers:n,data:e,success:s,error:function(t,e,i){4===t.readyState&&(void 0!==Craft.cp?Craft.cp.displayError():alert(Craft.t("app","An unknown error occurred.")),s&&s(null,e,t))}},i));return i&&"function"==typeof i.send&&i.send(a),a},_waitingOnAjax:!1,_ajaxQueue:[],queueActionRequest:function(t,e,i,s){"function"==typeof e&&(s=i,i=e,e=void 0),Craft._ajaxQueue.push([t,e,i,s]),Craft._waitingOnAjax||Craft._postNextActionRequestInQueue()},_postNextActionRequestInQueue:function(){Craft._waitingOnAjax=!0;var s=Craft._ajaxQueue.shift();Craft.postActionRequest(s[0],s[1],function(t,e,i){s[2]&&"function"==typeof s[2]&&s[2](t,e,i),Craft._ajaxQueue.length?Craft._postNextActionRequestInQueue():Craft._waitingOnAjax=!1},s[3])},stringToArray:function(t){if("string"!=typeof t)return t;for(var e=t.split(","),i=0;i<e.length;i++)e[i]=$.trim(e[i]);return e},expandPostArray:function(t){var e,i={};for(var s in t)if(t.hasOwnProperty(s)){var n,a=t[s],r=s.match(/^(\w+)(\[.*)?/);if(r[2])for(n=r[2].match(/\[[^\[\]]*\]/g),e=0;e<n.length;e++)n[e]=n[e].substring(1,n[e].length-1);else n=[];n.unshift(r[1]);var o=i;for(e=0;e<n.length;e++)e<n.length-1?("object"!=typeof o[n[e]]&&(n[e+1]&&parseInt(n[e+1])!=n[e+1]?o[n[e]]={}:o[n[e]]=[]),o=o[n[e]]):(n[e]||(n[e]=o.length),o[n[e]]=a)}return i},compare:function(t,e,i){if(typeof t!=typeof e)return!1;if("object"!=typeof t)return t===e;if(t.length!==e.length)return!1;if(t instanceof Array!=e instanceof Array)return!1;if(!(t instanceof Array))if(void 0===i||!0===i){if(!Craft.compare(Craft.getObjectKeys(t).sort(),Craft.getObjectKeys(e).sort()))return!1}else if(!Craft.compare(Craft.getObjectKeys(t),Craft.getObjectKeys(e)))return!1;for(var s in t)if(t.hasOwnProperty(s)&&!Craft.compare(t[s],e[s]))return!1;return!0},getObjectKeys:function(t){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(i);return e},escapeChars:function(t){Garnish.isArray(t)||(t=t.split());for(var e="",i=0;i<t.length;i++)e+="\\"+t[i];return e},ltrim:function(t,e){if(!t)return t;void 0===e&&(e=" \t\n\r\0\v");var i=new RegExp("^["+Craft.escapeChars(e)+"]+");return t.replace(i,"")},rtrim:function(t,e){if(!t)return t;void 0===e&&(e=" \t\n\r\0\v");var i=new RegExp("["+Craft.escapeChars(e)+"]+$");return t.replace(i,"")},trim:function(t,e){return t=Craft.ltrim(t,e),t=Craft.rtrim(t,e)},startsWith:function(t,e){return t.substr(0,e.length)===e},filterArray:function(t,e){for(var i=[],s=0;s<t.length;s++){("function"==typeof e?e(t[s],s):t[s])&&i.push(t[s])}return i},inArray:function(t,e){return-1!==$.inArray(t,e)},removeFromArray:function(t,e){var i=$.inArray(t,e);return-1!==i&&(e.splice(i,1),!0)},getLast:function(t){return t.length?t[t.length-1]:null},uppercaseFirst:function(t){return t.charAt(0).toUpperCase()+t.slice(1)},lowercaseFirst:function(t){return t.charAt(0).toLowerCase()+t.slice(1)},parseUrl:function(t){var e=t.match(/^(?:(https?):\/\/|\/\/)([^\/\:]*)(?:\:(\d+))?(\/[^\?]*)?(?:\?([^#]*))?(#.*)?/);return e?{scheme:e[1],host:e[2]+(e[3]?":"+e[3]:""),hostname:e[2],port:e[3]||null,path:e[4]||"/",query:e[5]||null,hash:e[6]||null}:{}},isSameHost:function(t){var e=this.parseUrl(document.location.href);if(!e)return!1;var i=this.parseUrl(t);return!!i&&e.host===i.host},secondsToHumanTimeDuration:function(t,e){void 0===e&&(e=!0);var i=Math.floor(t/604800);t%=604800;var s=Math.floor(t/86400);t%=86400;var n,a=Math.floor(t/3600);t%=3600,e?(n=Math.floor(t/60),t%=60):(n=Math.round(t/60),t=0);var r=[];return i&&r.push(i+" "+(1===i?Craft.t("app","week"):Craft.t("app","weeks"))),s&&r.push(s+" "+(1===s?Craft.t("app","day"):Craft.t("app","days"))),a&&r.push(a+" "+(1===a?Craft.t("app","hour"):Craft.t("app","hours"))),!n&&(e||i||s||a)||r.push(n+" "+(1===n?Craft.t("app","minute"):Craft.t("app","minutes"))),!t&&(!e||i||s||a||n)||r.push(t+" "+(1===t?Craft.t("app","second"):Craft.t("app","seconds"))),r.join(", ")},asciiString:function(t,e){for(var i,s="",n=0;n<t.length;n++)i=t.charAt(n),s+=(e||Craft.asciiCharMap)[i]||i;return s},randomString:function(t){for(var e="",i=0;i<t;i++)e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(Math.floor(62*Math.random()));return e},preventOutlineOnMouseFocus:function(t){var e=$(t),i=".preventOutlineOnMouseFocus";e.on("mousedown"+i,function(){e.addClass("no-outline"),e.trigger("focus")}).on("keydown"+i+" blur"+i,function(t){t.keyCode!==Garnish.SHIFT_KEY&&t.keyCode!==Garnish.CTRL_KEY&&t.keyCode!==Garnish.CMD_KEY&&e.removeClass("no-outline")})},createErrorList:function(t){for(var e=$(document.createElement("ul")).addClass("errors"),i=0;i<t.length;i++){var s=$(document.createElement("li"));s.appendTo(e),s.html(t[i])}return e},appendHeadHtml:function(t){if(t){var e=$("link[href]");if(e.length){for(var i,s=[],n=0;n<e.length;n++)i=e.eq(n).attr("href").replace(/&/g,"&amp;"),s.push(Craft.escapeRegex(i));var a=new RegExp('<link\\s[^>]*href="(?:'+s.join("|")+')".*?><\/script>',"g");t=t.replace(a,"")}$("head").append(t)}},appendFootHtml:function(t){if(t){var e=$("script[src]");if(e.length){for(var i,s=[],n=0;n<e.length;n++)i=e.eq(n).attr("src").replace(/&/g,"&amp;"),s.push(Craft.escapeRegex(i));var a=new RegExp('<script\\s[^>]*src="(?:'+s.join("|")+')".*?><\/script>',"g");t=t.replace(a,"")}Garnish.$bod.append(t)}},initUiElements:function(t){$(".grid",t).grid(),$(".info",t).infoicon(),$(".checkbox-select",t).checkboxselect(),$(".fieldtoggle",t).fieldtoggle(),$(".lightswitch",t).lightswitch(),$(".nicetext",t).nicetext(),$(".pill",t).pill(),$(".formsubmit",t).formsubmit(),$(".menubtn",t).menubtn()},_elementIndexClasses:{},_elementSelectorModalClasses:{},_elementEditorClasses:{},registerElementIndexClass:function(t,e){if(void 0!==this._elementIndexClasses[t])throw"An element index class has already been registered for the element type “"+t+"”.";this._elementIndexClasses[t]=e},registerElementSelectorModalClass:function(t,e){if(void 0!==this._elementSelectorModalClasses[t])throw"An element selector modal class has already been registered for the element type “"+t+"”.";this._elementSelectorModalClasses[t]=e},registerElementEditorClass:function(t,e){if(void 0!==this._elementEditorClasses[t])throw"An element editor class has already been registered for the element type “"+t+"”.";this._elementEditorClasses[t]=e},createElementIndex:function(t,e,i){return new(void 0!==this._elementIndexClasses[t]?this._elementIndexClasses[t]:Craft.BaseElementIndex)(t,e,i)},createElementSelectorModal:function(t,e){return new(void 0!==this._elementSelectorModalClasses[t]?this._elementSelectorModalClasses[t]:Craft.BaseElementSelectorModal)(t,e)},createElementEditor:function(t,e,i){return new(void 0!==this._elementEditorClasses[t]?this._elementEditorClasses[t]:Craft.BaseElementEditor)(e,i)},getLocalStorage:function(t,e){return t="Craft-"+Craft.systemUid+"."+t,"undefined"!=typeof localStorage&&void 0!==localStorage[t]?JSON.parse(localStorage[t]):e},setLocalStorage:function(t,e){if("undefined"!=typeof localStorage){t="Craft-"+Craft.systemUid+"."+t;try{localStorage[t]=JSON.stringify(e)}catch(t){}}},getElementInfo:function(t){var e=$(t);return e.hasClass("element")||(e=e.find(".element:first")),{id:e.data("id"),siteId:e.data("site-id"),label:e.data("label"),status:e.data("status"),url:e.data("url"),hasThumb:e.hasClass("hasthumb"),$element:e}},setElementSize:function(t,e){var i=$(t);if("small"!==e&&"large"!==e&&(e="small"),!i.hasClass(e)){var s="small"===e?"large":"small";if(i.addClass(e).removeClass(s),i.hasClass("hasthumb")){var n=i.find("> .elementthumb > img"),a=$("<img/>",{sizes:("small"===e?"30":"100")+"px",srcset:n.attr("srcset")||n.attr("data-pfsrcset")});n.replaceWith(a),picturefill({elements:[a[0]]})}}}}),$.extend($.fn,{animateLeft:function(t,e,i,s){return"ltr"===Craft.orientation?this.velocity({left:t},e,i,s):this.velocity({right:t},e,i,s)},animateRight:function(t,e,i,s){return"ltr"===Craft.orientation?this.velocity({right:t},e,i,s):this.velocity({left:t},e,i,s)},disable:function(){return this.each(function(){var t=$(this);t.addClass("disabled"),t.data("activatable")&&t.removeAttr("tabindex")})},enable:function(){return this.each(function(){var t=$(this);t.removeClass("disabled"),t.data("activatable")&&t.attr("tabindex","0")})},grid:function(){return this.each(function(){var t=$(this),e={};t.data("item-selector")&&(e.itemSelector=t.data("item-selector")),t.data("cols")&&(e.cols=parseInt(t.data("cols"))),t.data("max-cols")&&(e.maxCols=parseInt(t.data("max-cols"))),t.data("min-col-width")&&(e.minColWidth=parseInt(t.data("min-col-width"))),t.data("mode")&&(e.mode=t.data("mode")),t.data("fill-mode")&&(e.fillMode=t.data("fill-mode")),t.data("col-class")&&(e.colClass=t.data("col-class")),t.data("snap-to-grid")&&(e.snapToGrid=!!t.data("snap-to-grid")),new Craft.Grid(this,e)})},infoicon:function(){return this.each(function(){new Craft.InfoIcon(this)})},checkboxselect:function(){return this.each(function(){$.data(this,"checkboxselect")||new Garnish.CheckboxSelect(this)})},fieldtoggle:function(){return this.each(function(){$.data(this,"fieldtoggle")||new Craft.FieldToggle(this)})},lightswitch:function(e,t,i){return"settings"===e?("string"==typeof t?(e={})[t]=i:e=t,this.each(function(){var t=$.data(this,"lightswitch");t&&t.setSettings(e)})):($.isPlainObject(e)||(e={}),this.each(function(){var t=$.extend({},e);Garnish.hasAttr(this,"data-value")&&(t.value=$(this).attr("data-value")),$.data(this,"lightswitch")||new Craft.LightSwitch(this,t)}))},nicetext:function(){return this.each(function(){$.data(this,"nicetext")||new Garnish.NiceText(this)})},pill:function(){return this.each(function(){$.data(this,"pill")||new Garnish.Pill(this)})},formsubmit:function(){this.on("click",function(t){var e=$(t.currentTarget);if(!e.attr("data-confirm")||confirm(e.attr("data-confirm"))){var i=e.data("menu")?e.data("menu").$anchor:e,s=i.attr("data-form")?$("#"+i.attr("data-form")):i.closest("form");e.data("action")&&$('<input type="hidden" name="action"/>').val(e.data("action")).appendTo(s),e.data("redirect")&&$('<input type="hidden" name="redirect"/>').val(e.data("redirect")).appendTo(s),e.data("param")&&$('<input type="hidden"/>').attr({name:e.data("param"),value:e.data("value")}).appendTo(s),s.trigger({type:"submit",customTrigger:e})}})},menubtn:function(){return this.each(function(){var t=$(this);if(!t.data("menubtn")&&t.next().hasClass("menu")){var e={};t.data("menu-anchor")&&(e.menuAnchor=t.data("menu-anchor")),new Garnish.MenuBtn(t,e)}})}}),Garnish.$doc.ready(function(){Craft.initUiElements()}),Craft.BaseElementEditor=Garnish.Base.extend({$element:null,elementId:null,siteId:null,$form:null,$fieldsContainer:null,$cancelBtn:null,$saveBtn:null,$spinner:null,$siteSelect:null,$siteSpinner:null,hud:null,init:function(t,e){void 0===e&&$.isPlainObject(t)&&(e=t,t=null),this.$element=$(t),this.setSettings(e,Craft.BaseElementEditor.defaults),this.loadHud()},setElementAttribute:function(t,e){this.settings.attributes||(this.settings.attributes={}),null===e?delete this.settings.attributes[t]:this.settings.attributes[t]=e},getBaseData:function(){var t=$.extend({},this.settings.params);return this.settings.siteId?t.siteId=this.settings.siteId:this.$element&&this.$element.data("site-id")&&(t.siteId=this.$element.data("site-id")),this.settings.elementId?t.elementId=this.settings.elementId:this.$element&&this.$element.data("id")&&(t.elementId=this.$element.data("id")),this.settings.elementType&&(t.elementType=this.settings.elementType),this.settings.attributes&&(t.attributes=this.settings.attributes),this.settings.prevalidate&&(t.prevalidate=1),t},loadHud:function(){this.onBeginLoading();var t=this.getBaseData();t.includeSites=Craft.isMultiSite&&this.settings.showSiteSwitcher,Craft.postActionRequest("elements/get-editor-html",t,$.proxy(this,"showHud"))},showHud:function(t,e){if(this.onEndLoading(),"success"===e){var i=$();if(t.sites){var s=$('<div class="hud-header"/>');if(1===t.sites.length)$("<h5/>",{text:t.sites[0].name}).appendTo(s);else{var n=$('<div class="select"/>').appendTo(s);this.$siteSelect=$("<select/>").appendTo(n),this.$siteSpinner=$('<div class="spinner hidden"/>').appendTo(s);for(var a=0;a<t.sites.length;a++){var r=t.sites[a];$('<option value="'+r.id+'"'+(r.id==t.siteId?' selected="selected"':"")+">"+r.name+"</option>").appendTo(this.$siteSelect)}this.addListener(this.$siteSelect,"change","switchSite")}i=i.add(s)}this.$form=$("<div/>"),this.$fieldsContainer=$('<div class="fields"/>').appendTo(this.$form),this.updateForm(t),this.onCreateForm(this.$form);var o=$('<div class="hud-footer"/>').appendTo(this.$form),l=$('<div class="buttons right"/>').appendTo(o);if(this.$cancelBtn=$('<div class="btn">'+Craft.t("app","Cancel")+"</div>").appendTo(l),this.$saveBtn=$('<input class="btn submit" type="submit" value="'+Craft.t("app","Save")+'"/>').appendTo(l),this.$spinner=$('<div class="spinner hidden"/>').appendTo(l),i=i.add(this.$form),this.hud)this.hud.updateBody(i),this.hud.updateSizeAndPosition();else{var h=this.settings.hudTrigger||this.$element;this.hud=new Garnish.HUD(h,i,{bodyClass:"body elementeditor",closeOtherHUDs:!1,onShow:$.proxy(this,"onShowHud"),onHide:$.proxy(this,"onHideHud"),onSubmit:$.proxy(this,"saveElement")}),this.hud.$hud.data("elementEditor",this),this.hud.on("hide",$.proxy(function(){delete this.hud},this))}i.find(".text:first").trigger("focus"),this.addListener(this.$cancelBtn,"click",function(){this.hud.hide()})}},switchSite:function(){var t=this.$siteSelect.val();t!=this.siteId&&(this.$siteSpinner.removeClass("hidden"),this.reloadForm({siteId:t},$.proxy(function(t){this.$siteSpinner.addClass("hidden"),"success"!==t&&this.$siteSelect.val(this.siteId)},this)))},reloadForm:function(t,i){t=$.extend(this.getBaseData(),t),Craft.postActionRequest("elements/get-editor-html",t,$.proxy(function(t,e){"success"===e&&this.updateForm(t),i&&i(e)},this))},updateForm:function(t){this.siteId=t.siteId,this.$fieldsContainer.html(t.html);for(var e=this.$fieldsContainer.find("> .meta > .field > .heading > .instructions"),i=0;i<e.length;i++)e.eq(i).replaceWith($("<span/>",{class:"info",html:e.eq(i).children().html()})).infoicon();Garnish.requestAnimationFrame($.proxy(function(){Craft.appendHeadHtml(t.headHtml),Craft.appendFootHtml(t.footHtml),Craft.initUiElements(this.$fieldsContainer)},this))},saveElement:function(){var t=this.settings.validators;if($.isArray(t))for(var e=0;e<t.length;e++)if($.isFunction(t[e])&&!t[e].call())return!1;this.$spinner.removeClass("hidden");var i=$.param(this.getBaseData())+"&"+this.hud.$body.serialize();Craft.postActionRequest("elements/save-element",i,$.proxy(function(t,e){if(this.$spinner.addClass("hidden"),"success"===e)if(t.success){if(this.$element&&this.siteId==this.$element.data("site-id")){var i=this.$element.find(".title"),s=i.find("a");s.length&&t.cpEditUrl?(s.attr("href",t.cpEditUrl),s.text(t.newTitle)):i.text(t.newTitle)}this.closeHud(),this.onSaveElement(t)}else this.updateForm(t),Garnish.shake(this.hud.$hud)},this))},closeHud:function(){this.hud.hide(),delete this.hud},onShowHud:function(){this.settings.onShowHud(),this.trigger("showHud")},onHideHud:function(){this.settings.onHideHud(),this.trigger("hideHud")},onBeginLoading:function(){this.$element&&this.$element.addClass("loading"),this.settings.onBeginLoading(),this.trigger("beginLoading")},onEndLoading:function(){this.$element&&this.$element.removeClass("loading"),this.settings.onEndLoading(),this.trigger("endLoading")},onSaveElement:function(t){this.settings.onSaveElement(t),this.trigger("saveElement",{response:t}),Craft.cp.runQueue()},onCreateForm:function(t){this.settings.onCreateForm(t)}},{defaults:{hudTrigger:null,showSiteSwitcher:!0,elementId:null,elementType:null,siteId:null,attributes:null,params:null,prevalidate:!1,elementIndex:null,onShowHud:$.noop,onHideHud:$.noop,onBeginLoading:$.noop,onEndLoading:$.noop,onCreateForm:$.noop,onSaveElement:$.noop,validators:[]}}),Craft.BaseElementIndex=Garnish.Base.extend({initialized:!1,elementType:null,instanceState:null,sourceStates:null,sourceStatesStorageKey:null,searchTimeout:null,sourceSelect:null,$container:null,$main:null,$mainSpinner:null,isIndexBusy:!1,$sidebar:null,showingSidebar:null,sourceKey:null,sourceViewModes:null,$source:null,sourcesByKey:null,$visibleSources:null,$customizeSourcesBtn:null,customizeSourcesModal:null,$toolbar:null,$toolbarFlexContainer:null,toolbarOffset:null,$search:null,searching:!1,searchText:null,trashed:!1,drafts:!1,$clearSearchBtn:null,$statusMenuBtn:null,$statusMenuContainer:null,statusMenu:null,status:null,$siteMenuBtn:null,siteMenu:null,siteId:null,$sortMenuBtn:null,sortMenu:null,$sortAttributesList:null,$sortDirectionsList:null,$scoreSortAttribute:null,$structureSortAttribute:null,$elements:null,$viewModeBtnContainer:null,viewModeBtns:null,viewMode:null,view:null,_autoSelectElements:null,$countContainer:null,page:1,$exportBtn:null,actions:null,actionsHeadHtml:null,actionsFootHtml:null,$selectAllContainer:null,$selectAllCheckbox:null,showingActionTriggers:!1,_$detachedToolbarItems:null,_$triggers:null,init:function(t,e,i){if(this.elementType=t,this.$container=e,this.setSettings(i,Craft.BaseElementIndex.defaults),this.instanceState=this.getDefaultInstanceState(),this.sourceStates={},this.settings.storageKey&&$.extend(this.instanceState,Craft.getLocalStorage(this.settings.storageKey),{}),this.sourceStatesStorageKey="BaseElementIndex."+this.elementType+"."+this.settings.context,$.extend(this.sourceStates,Craft.getLocalStorage(this.sourceStatesStorageKey,{})),this.$main=this.$container.find(".main"),this.$toolbar=this.$container.find(".toolbar:first"),this.$toolbarFlexContainer=this.$toolbar.children(".flex"),this.$statusMenuBtn=this.$toolbarFlexContainer.find(".statusmenubtn:first"),this.$statusMenuContainer=this.$statusMenuBtn.parent(),this.$siteMenuBtn=this.$container.find(".sitemenubtn:first"),this.$sortMenuBtn=this.$toolbarFlexContainer.find(".sortmenubtn:first"),this.$search=this.$toolbarFlexContainer.find(".search:first input:first"),this.$clearSearchBtn=this.$toolbarFlexContainer.find(".search:first > .clear"),this.$mainSpinner=this.$toolbarFlexContainer.find(".spinner:first"),this.$sidebar=this.$container.find(".sidebar:first"),this.$customizeSourcesBtn=this.$sidebar.find(".customize-sources"),this.$elements=this.$container.find(".elements:first"),this.$countContainer=this.$container.find("#count-container"),this.$exportBtn=this.$container.find("#export-btn"),this.settings.hideSidebar&&(this.$sidebar.hide(),$(".body, .content",this.$container).removeClass("has-sidebar")),(this.settings.toolbarFixed||null===this.settings.toolbarFixed&&"index"===this.settings.context)&&!Garnish.isMobileBrowser(!0)&&(this.addListener(Garnish.$win,"resize","updateFixedToolbar"),this.addListener(Garnish.$scrollContainer,"scroll","updateFixedToolbar")),this.initSources()){if(this.$customizeSourcesBtn.length&&this.addListener(this.$customizeSourcesBtn,"click","createCustomizeSourcesModal"),this.$statusMenuBtn.length&&(this.statusMenu=this.$statusMenuBtn.menubtn().data("menubtn").menu,this.statusMenu.on("optionselect",$.proxy(this,"_handleStatusChange"))),this.$siteMenuBtn.length){this.siteMenu=this.$siteMenuBtn.menubtn().data("menubtn").menu;var s=this.siteMenu.$options.filter(".sel:first");if(s.length||(s=this.siteMenu.$options.first()),s.length?this._setSite(s.data("site-id")):this.settings.criteria={id:"0"},this.siteMenu.on("optionselect",$.proxy(this,"_handleSiteChange")),this.siteId){var n=Craft.getLocalStorage("BaseElementIndex.siteId");if(n&&n!=this.siteId){var a=this.siteMenu.$options.filter('[data-site-id="'+n+'"]:first');a.length&&a.trigger("click")}}}else this.settings.criteria&&this.settings.criteria.siteId?this._setSite(this.settings.criteria.siteId):this._setSite(Craft.siteId);this.addListener(this.$search,"textchange",$.proxy(function(){!this.searching&&this.$search.val()?this.startSearching():this.searching&&!this.$search.val()&&this.stopSearching(),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout($.proxy(this,"updateElementsIfSearchTextChanged"),500)},this)),this.addListener(this.$search,"keypress",$.proxy(function(t){t.keyCode===Garnish.RETURN_KEY&&(t.preventDefault(),this.searchTimeout&&clearTimeout(this.searchTimeout),this.updateElementsIfSearchTextChanged())},this)),this.addListener(this.$clearSearchBtn,"click",$.proxy(function(){this.$search.val(""),this.searchTimeout&&clearTimeout(this.searchTimeout),Garnish.isMobileBrowser(!0)||this.$search.trigger("focus"),this.stopSearching(),this.updateElementsIfSearchTextChanged()},this)),Garnish.isMobileBrowser(!0)||this.$search.trigger("focus"),this.$sortMenuBtn.length&&(this.sortMenu=this.$sortMenuBtn.menubtn().data("menubtn").menu,this.$sortAttributesList=this.sortMenu.$container.children(".sort-attributes"),this.$sortDirectionsList=this.sortMenu.$container.children(".sort-directions"),this.sortMenu.on("optionselect",$.proxy(this,"_handleSortChange"))),this.addListener(this.$exportBtn,"click","_showExportHud"),this.initialized=!0,this.afterInit(),this.selectDefaultSource(),"index"===this.settings.context&&this.setPage(Craft.pageNum),this.updateElements(!0)}},afterInit:function(){this.onAfterInit()},getSourceContainer:function(){return this.$sidebar.find("nav>ul")},get $sources(){if(this.sourceSelect)return this.sourceSelect.$items},initSources:function(){var t=this._getSourcesInList(this.getSourceContainer());return 0!==t.length&&(this.sourceSelect||(this.sourceSelect=new Garnish.Select(this.$sidebar.find("nav"),{multi:!1,allowEmpty:!1,vertical:!0,onSelectionChange:$.proxy(this,"_handleSourceSelectionChange")})),this.sourcesByKey={},this._initSources(t),!0)},selectDefaultSource:function(){var t,e=this.getDefaultSourceKey();e&&(t=this.getSourceByKey(e),-1===this.$visibleSources.index(t)&&(t=null)),e&&t||(t=this.$visibleSources.first()),t.length&&this.selectSource(t)},refreshSources:function(){this.sourceSelect.removeAllItems();var t={context:this.settings.context,elementType:this.elementType};this.setIndexBusy(),Craft.postActionRequest(this.settings.refreshSourcesAction,t,$.proxy(function(t,e){this.setIndexAvailable(),"success"===e?(this.getSourceContainer().replaceWith(t.html),this.initSources(),this.selectDefaultSource()):Craft.cp.displayError(Craft.t("app","An unknown error occurred."))},this))},updateFixedToolbar:function(t){this.updateFixedToolbar._scrollTop=Garnish.$scrollContainer.scrollTop(),992<Garnish.$win.width()&&17<=this.updateFixedToolbar._scrollTop?((this.updateFixedToolbar._makingFixed=!this.$toolbar.hasClass("fixed"))&&(this.$elements.css("padding-top",this.$toolbar.outerHeight()+21),this.$toolbar.addClass("fixed")),!this.updateFixedToolbar._makingFixed&&"resize"!==t.type||this.$toolbar.css({top:Garnish.$scrollContainer.offset().top,width:this.$main.width()})):this.$toolbar.hasClass("fixed")&&(this.$toolbar.removeClass("fixed"),this.$toolbar.css("width",""),this.$elements.css("padding-top",""),this.$toolbar.css("top","0"))},initSource:function(t){this.sourceSelect.addItems(t),this.initSourceToggle(t),(this.sourcesByKey[t.data("key")]=t).data("hasNestedSources")&&-1!==this.instanceState.expandedSources.indexOf(t.data("key"))&&this._expandSource(t)},initSourceToggle:function(t){this.deinitSourceToggle(t);var e=this._getSourceToggle(t);e.length?(this.addListener(t,"dblclick","_handleSourceDblClick"),this.addListener(e,"click","_handleSourceToggleClick"),t.data("hasNestedSources",!0)):t.data("hasNestedSources",!1)},deinitSource:function(t){this.sourceSelect.removeItems(t),this.deinitSourceToggle(t),delete this.sourcesByKey[t.data("key")]},deinitSourceToggle:function(t){t.data("hasNestedSources")&&(this.removeListener(t,"dblclick"),this.removeListener(this._getSourceToggle(t),"click")),t.removeData("hasNestedSources")},getDefaultInstanceState:function(){return{selectedSource:null,expandedSources:[]}},getDefaultSourceKey:function(){return this.instanceState.selectedSource},getDefaultExpandedSources:function(){return this.instanceState.expandedSources},startSearching:function(){this.$clearSearchBtn.removeClass("hidden"),this.$scoreSortAttribute||(this.$scoreSortAttribute=$('<li><a data-attr="score">'+Craft.t("app","Score")+"</a></li>"),this.sortMenu.addOptions(this.$scoreSortAttribute.children())),this.$scoreSortAttribute.prependTo(this.$sortAttributesList),this.searching=!0,this._updateStructureSortOption(),this.setSortAttribute("score")},stopSearching:function(){this.$clearSearchBtn.addClass("hidden"),this.$scoreSortAttribute.detach(),this.searching=!1,this._updateStructureSortOption()},setInstanceState:function(t,e){"object"==typeof t?$.extend(this.instanceState,t):this.instanceState[t]=e,this.storeInstanceState()},storeInstanceState:function(){this.settings.storageKey&&Craft.setLocalStorage(this.settings.storageKey,this.instanceState)},getSourceState:function(t,e,i){return void 0===this.sourceStates[t]&&(this.sourceStates[t]={}),void 0===e?this.sourceStates[t]:void 0!==this.sourceStates[t][e]?this.sourceStates[t][e]:void 0!==i?i:null},getSelectedSourceState:function(t,e){return this.getSourceState(this.instanceState.selectedSource,t,e)},setSelecetedSourceState:function(t,e){var i=this.getSelectedSourceState();"object"==typeof t?$.extend(i,t):i[t]=e,this.sourceStates[this.instanceState.selectedSource]=i,Craft.setLocalStorage(this.sourceStatesStorageKey,this.sourceStates)},storeSortAttributeAndDirection:function(){var t=this.getSelectedSortAttribute();"score"!==t&&this.setSelecetedSourceState({order:t,sort:this.getSelectedSortDirection()})},setPage:function(t){t=Math.max(t,1),this.page=t;var e=document.location.href.replace(/\?.*$/,"").replace(new RegExp("/"+Craft.pageTrigger.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"\\d+$"),"").replace(/\/+$/,"");1!==this.page&&("?"!==Craft.pageTrigger[0]&&(e+="/"),e+=Craft.pageTrigger+this.page),history.replaceState({},"",e)},getViewParams:function(){var t={siteId:this.siteId,search:this.searchText,offset:this.settings.batchSize*(this.page-1),limit:this.settings.batchSize,trashed:this.trashed?1:0,drafts:this.drafts?1:0};Garnish.hasAttr(this.$source,"data-override-status")||(t.status=this.status),$.extend(t,this.settings.criteria);var e={context:this.settings.context,elementType:this.elementType,source:this.instanceState.selectedSource,criteria:t,disabledElementIds:this.settings.disabledElementIds,viewState:$.extend({},this.getSelectedSourceState()),paginated:this._isViewPaginated()?1:0};return e.viewState.order=this.getSelectedSortAttribute(),e.viewState.sort=this.getSelectedSortDirection(),"structure"===this.getSelectedSortAttribute()&&(void 0===this.instanceState.collapsedElementIds&&(this.instanceState.collapsedElementIds=[]),e.collapsedElementIds=this.instanceState.collapsedElementIds),e},updateElements:function(t){if(this.initialized){this.setIndexBusy(),this.view&&(this.view.destroy(),delete this.view),this.$elements.html(""),!0!==t&&(this.$countContainer.html("&nbsp;"),this.setPage(1));var s=this.getViewParams();Craft.postActionRequest(this.settings.updateElementsAction,s,$.proxy(function(t,e){if(this.setIndexAvailable(),"success"===e){var i=Math.max(Math.ceil(t.count/this.settings.batchSize),1);if(this.page>i)return this.setPage(i),void this.updateElements(!0);this._updateView(s,t)}else Craft.cp.displayError(Craft.t("app","An unknown error occurred."))},this))}},updateElementsIfSearchTextChanged:function(){this.searchText!==(this.searchText=this.searching?this.$search.val():null)&&this.updateElements()},showActionTriggers:function(){this.showingActionTriggers||(this.$toolbar.css("min-height",this.$toolbar.height()),this._$detachedToolbarItems=this.$toolbarFlexContainer.children().not(this.$selectAllContainer).not(this.$mainSpinner),this._$detachedToolbarItems.detach(),this._$triggers?this._$triggers.insertAfter(this.$selectAllContainer):this._createTriggers(),this.showingActionTriggers=!0)},submitAction:function(t,e){var i=this.view.getSelectedElementIds();if(0!==i.length){for(var s,n=0;n<this.actions.length;n++)if(this.actions[n].type===t){s=this.actions[n];break}if(s&&(!s.confirm||confirm(s.confirm))){var a=this.getViewParams(),r=$.extend(a,e,{elementAction:t,elementIds:i});this.setIndexBusy(),this._autoSelectElements=i,Craft.postActionRequest(this.settings.submitActionsAction,r,$.proxy(function(t,e){this.setIndexAvailable(),"success"===e&&(t.success?(this._updateView(a,t),t.message&&Craft.cp.displayNotice(t.message),this.afterAction(s,r)):Craft.cp.displayError(t.message))},this))}}},afterAction:function(t,e){Craft.cp.runQueue(),this.onAfterAction(t,e)},hideActionTriggers:function(){this.showingActionTriggers&&(this._$detachedToolbarItems.insertBefore(this.$mainSpinner),this._$triggers.detach(),this.$toolbarFlexContainer.children().not(this.$selectAllContainer).removeClass("hidden"),this.$toolbar.css("min-height",""),this.showingActionTriggers=!1)},updateActionTriggers:function(){if(this.actions){var t=this.view.getSelectedElements().length;0!==t?(t===this.view.getEnabledElements().length?(this.$selectAllCheckbox.removeClass("indeterminate"),this.$selectAllCheckbox.addClass("checked"),this.$selectAllBtn.attr("aria-checked","true")):(this.$selectAllCheckbox.addClass("indeterminate"),this.$selectAllCheckbox.removeClass("checked"),this.$selectAllBtn.attr("aria-checked","mixed")),this.showActionTriggers()):(this.$selectAllCheckbox.removeClass("indeterminate checked"),this.$selectAllBtn.attr("aria-checked","false"),this.hideActionTriggers())}},getSelectedElements:function(){return this.view?this.view.getSelectedElements():$()},getSelectedElementIds:function(){return this.view?this.view.getSelectedElementIds():[]},getSortAttributeOption:function(t){return this.$sortAttributesList.find('a[data-attr="'+t+'"]:first')},getSelectedSortAttribute:function(){return this.$sortAttributesList.find("a.sel:first").data("attr")},setSortAttribute:function(t){var e=this.getSortAttributeOption(t);if(e.length){this.$sortAttributesList.find("a.sel").removeClass("sel"),e.addClass("sel");var i=e.text();this.$sortMenuBtn.attr("title",Craft.t("app","Sort by {attribute}",{attribute:i})),this.$sortMenuBtn.text(i),this.setSortDirection("score"===t?"desc":"asc"),"structure"===t?this.$sortDirectionsList.find("a").addClass("disabled"):this.$sortDirectionsList.find("a").removeClass("disabled")}},getSortDirectionOption:function(t){return this.$sortDirectionsList.find("a[data-dir="+t+"]:first")},getSelectedSortDirection:function(){return this.$sortDirectionsList.find("a.sel:first").data("dir")},getSelectedViewMode:function(){return this.getSelectedSourceState("mode")},setSortDirection:function(t){"desc"!==t&&(t="asc"),this.$sortMenuBtn.attr("data-icon",t),this.$sortDirectionsList.find("a.sel").removeClass("sel"),this.getSortDirectionOption(t).addClass("sel")},getSourceByKey:function(t){return void 0===this.sourcesByKey[t]?null:this.sourcesByKey[t]},selectSource:function(t){if(!t||!t.length)return!1;if(this.$source&&this.$source[0]&&this.$source[0]===t[0]&&t.data("key")===this.sourceKey)return!1;if(this.hideActionTriggers(),this.$source=t,this.sourceKey=t.data("key"),this.setInstanceState("selectedSource",this.sourceKey),this.sourceSelect.selectItem(t),Craft.cp.updateSidebarMenuLabel(),this.searching&&(this.searchText=null,this.$search.val(""),this.stopSearching()),Garnish.hasAttr(this.$source,"data-has-structure")?(this.$structureSortAttribute||(this.$structureSortAttribute=$('<li><a data-attr="structure">'+Craft.t("app","Structure")+"</a></li>"),this.sortMenu.addOptions(this.$structureSortAttribute.children())),this.$structureSortAttribute.prependTo(this.$sortAttributesList)):this.$structureSortAttribute&&this.$structureSortAttribute.removeClass("sel").detach(),this.setStoredSortOptionsForSource(),this.$statusMenuBtn.length&&(Garnish.hasAttr(this.$source,"data-override-status")?this.$statusMenuContainer.addClass("hidden"):this.$statusMenuContainer.removeClass("hidden")),this.$viewModeBtnContainer&&this.$viewModeBtnContainer.remove(),this.viewModeBtns={},this.viewMode=null,this.sourceViewModes=this.getViewModesForSource(),1<this.sourceViewModes.length){this.$viewModeBtnContainer=$('<div class="btngroup"/>').insertBefore(this.$mainSpinner);for(var e=0;e<this.sourceViewModes.length;e++){var i=this.sourceViewModes[e],s=$('<div data-view="'+i.mode+'" role="button" class="btn'+(void 0!==i.className?" "+i.className:"")+'" title="'+i.title+'"'+(void 0!==i.icon?' data-icon="'+i.icon+'"':"")+"/>").appendTo(this.$viewModeBtnContainer);this.viewModeBtns[i.mode]=s,this.addListener(s,"click",{mode:i.mode},function(t){this.selectViewMode(t.data.mode),this.updateElements()})}}var n=this.getSelectedViewMode();return n&&this.doesSourceHaveViewMode(n)||(n=this.viewMode&&this.doesSourceHaveViewMode(this.viewMode)?this.viewMode:this.sourceViewModes[0].mode),this.selectViewMode(n),this.onSelectSource(),!0},selectSourceByKey:function(t){var e=this.getSourceByKey(t);return!!e&&this.selectSource(e)},setStoredSortOptionsForSource:function(){var t=this.getSelectedSourceState("order"),e=this.getSelectedSourceState("sort");t&&e||(t=this.getDefaultSort(),Garnish.isArray(t)&&(e=t[1],t=t[0])),"asc"!==e&&"desc"!==e&&(e="asc"),this.setSortAttribute(t),this.setSortDirection(e)},getDefaultSort:function(){return this.$source&&Garnish.hasAttr(this.$source,"data-default-sort")?this.$source.attr("data-default-sort").split(":"):[this.$sortAttributesList.find("a:first").data("attr"),"asc"]},getViewModesForSource:function(){var t=[{mode:"table",title:Craft.t("app","Display in a table"),icon:"list"}];return this.$source&&Garnish.hasAttr(this.$source,"data-has-thumbs")&&t.push({mode:"thumbs",title:Craft.t("app","Display as thumbnails"),icon:"grid"}),t},doesSourceHaveViewMode:function(t){for(var e=0;e<this.sourceViewModes.length;e++)if(this.sourceViewModes[e].mode===t)return!0;return!1},selectViewMode:function(t,e){e||this.doesSourceHaveViewMode(t)||(t=this.sourceViewModes[0].mode),t!==this.viewMode&&(this.viewMode&&void 0!==this.viewModeBtns[this.viewMode]&&this.viewModeBtns[this.viewMode].removeClass("active"),this.viewMode=t,this.setSelecetedSourceState("mode",this.viewMode),void 0!==this.viewModeBtns[this.viewMode]&&this.viewModeBtns[this.viewMode].addClass("active"))},createView:function(t,e){return new(this.getViewClass(t))(this,this.$elements,e)},getViewClass:function(t){switch(t){case"table":return Craft.TableElementIndexView;case"thumbs":return Craft.ThumbsElementIndexView;default:throw'View mode "'+t+'" not supported.'}},rememberDisabledElementId:function(t){-1===$.inArray(t,this.settings.disabledElementIds)&&this.settings.disabledElementIds.push(t)},forgetDisabledElementId:function(t){var e=$.inArray(t,this.settings.disabledElementIds);-1!==e&&this.settings.disabledElementIds.splice(e,1)},enableElements:function(t){t.removeClass("disabled").parents(".disabled").removeClass("disabled");for(var e=0;e<t.length;e++){var i=$(t[e]).data("id");this.forgetDisabledElementId(i)}this.onEnableElements(t)},disableElements:function(t){t.removeClass("sel").addClass("disabled");for(var e=0;e<t.length;e++){var i=$(t[e]).data("id");this.rememberDisabledElementId(i)}this.onDisableElements(t)},getElementById:function(t){return this.view.getElementById(t)},enableElementsById:function(t){t=$.makeArray(t);for(var e=0;e<t.length;e++){var i=t[e],s=this.getElementById(i);s&&s.length?this.enableElements(s):this.forgetDisabledElementId(i)}},disableElementsById:function(t){t=$.makeArray(t);for(var e=0;e<t.length;e++){var i=t[e],s=this.getElementById(i);s&&s.length?this.disableElements(s):this.rememberDisabledElementId(i)}},selectElementAfterUpdate:function(t){null===this._autoSelectElements&&(this._autoSelectElements=[]),this._autoSelectElements.push(t)},addButton:function(t){this.getButtonContainer().append(t)},isShowingSidebar:function(){return null===this.showingSidebar&&(this.showingSidebar=this.$sidebar.length&&!this.$sidebar.hasClass("hidden")),this.showingSidebar},getButtonContainer:function(){if(this.settings.buttonContainer)return $(this.settings.buttonContainer);var t=$("#button-container");return t.length||(t=$('<div id="button-container"/>').appendTo(Craft.cp.$header)),t},setIndexBusy:function(){this.$mainSpinner.removeClass("invisible"),this.isIndexBusy=!0},setIndexAvailable:function(){this.$mainSpinner.addClass("invisible"),this.isIndexBusy=!1},createCustomizeSourcesModal:function(){var t=new Craft.CustomizeSourcesModal(this,{onHide:function(){t.destroy()}});return t},disable:function(){this.sourceSelect&&this.sourceSelect.disable(),this.view&&this.view.disable(),this.base()},enable:function(){this.sourceSelect&&this.sourceSelect.enable(),this.view&&this.view.enable(),this.base()},onAfterInit:function(){this.settings.onAfterInit(),this.trigger("afterInit")},onSelectSource:function(){this.settings.onSelectSource(this.sourceKey),this.trigger("selectSource",{sourceKey:this.sourceKey})},onSelectSite:function(){this.settings.onSelectSite(this.siteId),this.trigger("selectSite",{siteId:this.siteId})},onUpdateElements:function(){this.settings.onUpdateElements(),this.trigger("updateElements")},onSelectionChange:function(){this.settings.onSelectionChange(),this.trigger("selectionChange")},onEnableElements:function(t){this.settings.onEnableElements(t),this.trigger("enableElements",{elements:t})},onDisableElements:function(t){this.settings.onDisableElements(t),this.trigger("disableElements",{elements:t})},onAfterAction:function(t,e){this.settings.onAfterAction(t,e),this.trigger("afterAction",{action:t,params:e})},_handleSourceSelectionChange:function(){this.sourceSelect.totalSelected?this.selectSource(this.sourceSelect.$selectedItems)&&this.updateElements():this.sourceSelect.selectItem(this.$visibleSources.first())},_handleActionTriggerSubmit:function(t){t.preventDefault();var e=$(t.currentTarget);if(!e.hasClass("disabled")&&!e.data("custom-handler")){var i=e.data("action"),s=Garnish.getPostData(e);this.submitAction(i,s)}},_handleMenuActionTriggerSubmit:function(t){var e=$(t.option);if(!e.hasClass("disabled")&&!e.data("custom-handler")){var i=e.data("action");this.submitAction(i)}},_handleStatusChange:function(t){this.statusMenu.$options.removeClass("sel");var e=$(t.selectedOption).addClass("sel");this.$statusMenuBtn.html(e.html()),this.trashed=!1,this.drafts=!1,this.status=null,Garnish.hasAttr(e,"data-trashed")?this.trashed=!0:Garnish.hasAttr(e,"data-drafts")?this.drafts=!0:this.status=e.data("status"),this._updateStructureSortOption(),this.updateElements()},_handleSiteChange:function(t){this.siteMenu.$options.removeClass("sel");var e=$(t.selectedOption).addClass("sel");this.$siteMenuBtn.html(e.html()),this._setSite(e.data("site-id")),this.onSelectSite()},_setSite:function(t){var e,i;this.siteId=t,this.$visibleSources=$();for(var s=!1,n=0;n<this.$sources.length;n++)void 0===(i=this.$sources.eq(n)).data("sites")||-1!==i.data("sites").toString().split(",").indexOf(t.toString())?(i.parent().removeClass("hidden"),this.$visibleSources=this.$visibleSources.add(i),e||(e=i)):(i.parent().addClass("hidden"),this.$source&&this.$source.get(0)==i.get(0)&&(s=!0));s&&this.selectSource(e);var a,r=this.getSourceContainer().children(".heading");for(n=0;n<r.length;n++)0!==(a=r.eq(n)).nextUntil(".heading",":not(.hidden)").length?a.removeClass("hidden"):a.addClass("hidden");this.initialized&&(Craft.setLocalStorage("BaseElementIndex.siteId",t),this.updateElements())},_handleSortChange:function(t){var e=$(t.selectedOption);e.hasClass("disabled")||e.hasClass("sel")||(e.parent().parent().is(this.$sortAttributesList)?this.setSortAttribute(e.data("attr")):this.setSortDirection(e.data("dir")),this.storeSortAttributeAndDirection(),this.updateElements())},_handleSelectionChange:function(){this.updateActionTriggers(),this.onSelectionChange()},_handleSourceDblClick:function(t){this._toggleSource($(t.currentTarget)),t.stopPropagation()},_handleSourceToggleClick:function(t){this._toggleSource($(t.currentTarget).prev("a")),t.stopPropagation()},_updateStructureSortOption:function(){var t=this.getSortAttributeOption("structure");if(t.length)if(this.trashed||this.drafts||this.searching){if(t.addClass("disabled"),"structure"===this.getSelectedSortAttribute()){var e=this.$sortAttributesList.find("a:not(.disabled):first");this.setSortAttribute(e.data("attr")),this.setSortDirection("asc")}}else t.removeClass("disabled"),this.setStoredSortOptionsForSource()},_getSourcesInList:function(t){return t.children("li").children("a")},_getChildSources:function(t){var e=t.siblings("ul");return this._getSourcesInList(e)},_getSourceToggle:function(t){return t.siblings(".toggle")},_initSources:function(t){for(var e=0;e<t.length;e++)this.initSource($(t[e]))},_deinitSources:function(t){for(var e=0;e<t.length;e++)this.deinitSource($(t[e]))},_toggleSource:function(t){t.parent("li").hasClass("expanded")?this._collapseSource(t):this._expandSource(t)},_expandSource:function(t){t.parent("li").addClass("expanded");var e=this._getChildSources(t);this._initSources(e);var i=t.data("key");-1===this.instanceState.expandedSources.indexOf(i)&&(this.instanceState.expandedSources.push(i),this.storeInstanceState())},_collapseSource:function(t){t.parent("li").removeClass("expanded");var e=this._getChildSources(t);this._deinitSources(e);var i=this.instanceState.expandedSources.indexOf(t.data("key"));-1!==i&&(this.instanceState.expandedSources.splice(i,1),this.storeInstanceState())},_isViewPaginated:function(){return"index"===this.settings.context&&"structure"!==this.getSelectedSortAttribute()},_updateView:function(t,e){if(this.actions&&(this.hideActionTriggers(),this.actions=this.actionsHeadHtml=this.actionsFootHtml=this._$triggers=null),this.$selectAllContainer&&this.$selectAllContainer.detach(),this.$countContainer.html(""),!this._isViewPaginated()||e.count<=this.settings.batchSize)this.$countContainer.text(e.countLabel);else{var i=$('<div class="flex pagination"/>').appendTo(this.$countContainer),s=Math.max(Math.ceil(e.count/this.settings.batchSize),1),n=$("<div/>",{class:"page-link"+(1<this.page?"":" disabled"),"data-icon":"leftangle",title:Craft.t("app","Previous Page")}).appendTo(i),a=$("<div/>",{class:"page-link"+(this.page<s?"":" disabled"),"data-icon":"rightangle",title:Craft.t("app","Next Page")}).appendTo(i);$("<div/>",{class:"page-info",text:e.countLabel}).appendTo(i),1<this.page&&this.addListener(n,"click",function(){this.removeListener(n,"click"),this.removeListener(a,"click"),this.setPage(this.page-1),this.updateElements(!0)}),this.page<s&&this.addListener(a,"click",function(){this.removeListener(n,"click"),this.removeListener(a,"click"),this.setPage(this.page+1),this.updateElements(!0)})}e.actions&&e.actions.length&&(this.actions=e.actions,this.actionsHeadHtml=e.actionsHeadHtml,this.actionsFootHtml=e.actionsFootHtml,this.$selectAllContainer?(this.$selectAllCheckbox.removeClass("indeterminate checked"),this.$selectAllBtn.attr("aria-checked","false")):(this.$selectAllContainer=$('<div class="selectallcontainer"/>'),this.$selectAllBtn=$('<div class="btn"/>').appendTo(this.$selectAllContainer),this.$selectAllCheckbox=$('<div class="checkbox"/>').appendTo(this.$selectAllBtn),this.$selectAllBtn.attr({role:"checkbox",tabindex:"0","aria-checked":"false"}),this.addListener(this.$selectAllBtn,"click",function(){0===this.view.getSelectedElements().length?this.view.selectAllElements():this.view.deselectAllElements()}),this.addListener(this.$selectAllBtn,"keydown",function(t){t.keyCode===Garnish.SPACE_KEY&&(t.preventDefault(),$(t.currentTarget).trigger("click"))})),this.$selectAllContainer.prependTo(this.$toolbarFlexContainer)),this.$elements.html(e.html),Craft.appendHeadHtml(e.headHtml),Craft.appendFootHtml(e.footHtml);var r=this.actions||this.settings.selectable;if(this.view=this.createView(this.getSelectedViewMode(),{context:this.settings.context,batchSize:"index"!==this.settings.context||"structure"===this.getSelectedSortAttribute()?this.settings.batchSize:null,params:t,selectable:r,multiSelect:this.actions||this.settings.multiSelect,checkboxMode:!!this.actions,onSelectionChange:$.proxy(this,"_handleSelectionChange")}),this._autoSelectElements){if(r)for(var o=0;o<this._autoSelectElements.length;o++)this.view.selectElementById(this._autoSelectElements[o]);this._autoSelectElements=null}this.onUpdateElements()},_createTriggers:function(){var t,e,i=[],s=[],n=[];for(t=0;t<this.actions.length;t++){var a=this.actions[t];if(a.trigger){var r=$('<form id="'+Craft.formatInputId(a.type)+'-actiontrigger"/>').data("action",a.type).append(a.trigger);this.addListener(r,"submit","_handleActionTriggerSubmit"),i.push(r)}else a.destructive?n.push(a):s.push(a)}if(s.length||n.length){var o=$("<form/>");e=$('<div class="btn menubtn" data-icon="settings" title="'+Craft.t("app","Actions")+'"/>').appendTo(o);var l=$('<ul class="menu"/>').appendTo(o),h=this._createMenuTriggerList(s,!1),d=this._createMenuTriggerList(n,!0);h&&h.appendTo(l),h&&d&&$("<hr/>").appendTo(l),d&&d.appendTo(l),i.push(o)}for(this._$triggers=$(),t=0;t<i.length;t++){var c=$("<div/>").append(i[t]);this._$triggers=this._$triggers.add(c)}this._$triggers.insertAfter(this.$selectAllContainer),Craft.appendHeadHtml(this.actionsHeadHtml),Craft.appendFootHtml(this.actionsFootHtml),Craft.initUiElements(this._$triggers),e&&e.data("menubtn").on("optionSelect",$.proxy(this,"_handleMenuActionTriggerSubmit"))},_showExportHud:function(){this.$exportBtn.addClass("active");var t=$("<form/>",{class:"export-form"}),s=Craft.ui.createTextField({label:Craft.t("app","Limit"),placeholder:Craft.t("app","No limit"),type:"number",min:1}).appendTo(t);$("<input/>",{type:"submit",class:"btn submit fullwidth",value:Craft.t("app","Export")}).appendTo(t);var n=$("<div/>",{class:"spinner hidden"}).appendTo(t);new Garnish.HUD(this.$exportBtn,t).on("hide",$.proxy(function(){this.$exportBtn.removeClass("active")},this));var a=!1;this.addListener(t,"submit",function(t){if(t.preventDefault(),!a){a=!0,n.removeClass("hidden");var e=this.getViewParams();delete e.criteria.limit;var i=parseInt(s.find("input").val());i&&!isNaN(i)&&(e.criteria.limit=i),Craft.postActionRequest("element-indexes/create-export-token",e,$.proxy(function(t,e){if(a=!1,n.addClass("hidden"),"success"===e){var i={};i[Craft.tokenParam]=t.token;var s=Craft.getCpUrl("",i);document.location.href=s}else Craft.cp.displayError(Craft.t("app","An unknown error occurred."))},this))}})},_createMenuTriggerList:function(t,e){if(t&&t.length){for(var i=$("<ul/>"),s=0;s<t.length;s++){var n=t[s].type;$("<li/>").append($("<a/>",{id:Craft.formatInputId(n)+"-actiontrigger",class:e?"error":null,"data-action":n,text:t[s].name})).appendTo(i)}return i}}},{defaults:{context:"index",modal:null,storageKey:null,criteria:null,batchSize:50,disabledElementIds:[],selectable:!1,multiSelect:!1,buttonContainer:null,hideSidebar:!1,refreshSourcesAction:"element-indexes/get-source-tree-html",updateElementsAction:"element-indexes/get-elements",submitActionsAction:"element-indexes/perform-action",toolbarFixed:null,onAfterInit:$.noop,onSelectSource:$.noop,onSelectSite:$.noop,onUpdateElements:$.noop,onSelectionChange:$.noop,onEnableElements:$.noop,onDisableElements:$.noop,onAfterAction:$.noop}}),Craft.BaseElementIndexView=Garnish.Base.extend({$container:null,$loadingMoreSpinner:null,$elementContainer:null,$scroller:null,elementIndex:null,thumbLoader:null,elementSelect:null,loadingMore:!1,_totalVisible:null,_morePending:null,_handleEnableElements:null,_handleDisableElements:null,init:function(t,e,i){this.elementIndex=t,this.$container=$(e),this.setSettings(i,Craft.BaseElementIndexView.defaults),this.$loadingMoreSpinner=$('<div class="centeralign hidden"><div class="spinner loadingmore"></div></div>').insertAfter(this.$container),this.$elementContainer=this.getElementContainer();var s=this.$elementContainer.children();this.setTotalVisible(s.length),this.setMorePending(this.settings.batchSize&&s.length==this.settings.batchSize),this.thumbLoader=new Craft.ElementThumbLoader,this.thumbLoader.load(s),this.settings.selectable&&(this.elementSelect=new Garnish.Select(this.$elementContainer,s.filter(":not(.disabled)"),{multi:this.settings.multiSelect,vertical:this.isVerticalList(),handle:"index"===this.settings.context?".checkbox, .element:first":null,filter:":not(a):not(.toggle)",checkboxMode:this.settings.checkboxMode,onSelectionChange:$.proxy(this,"onSelectionChange")}),this._handleEnableElements=$.proxy(function(t){this.elementSelect.addItems(t.elements)},this),this._handleDisableElements=$.proxy(function(t){this.elementSelect.removeItems(t.elements)},this),this.elementIndex.on("enableElements",this._handleEnableElements),this.elementIndex.on("disableElements",this._handleDisableElements)),"index"===this.settings.context&&(this._handleElementEditing=$.proxy(function(t){var e=$(t.target);if("A"!==e.prop("nodeName")){var i;if(e.hasClass("element"))i=e;else if(!(i=e.closest(".element")).length)return;Garnish.hasAttr(i,"data-editable")&&this.createElementEditor(i)}},this),this.elementIndex.trashed||(this.addListener(this.$elementContainer,"dblclick",this._handleElementEditing),$.isTouchCapable()&&this.addListener(this.$elementContainer,"taphold",this._handleElementEditing))),this.afterInit(),this.settings.batchSize&&("index"===this.settings.context?this.$scroller=Garnish.$scrollContainer:this.$scroller=this.elementIndex.$main,this.$scroller.scrollTop(0),this.addListener(this.$scroller,"scroll","maybeLoadMore"),this.maybeLoadMore())},getElementContainer:function(){throw"Classes that extend Craft.BaseElementIndexView must supply a getElementContainer() method."},afterInit:function(){},getAllElements:function(){return this.$elementContainer.children()},getEnabledElements:function(){return this.$elementContainer.children(":not(.disabled)")},getElementById:function(t){var e=this.$elementContainer.children('[data-id="'+t+'"]:first');return e.length?e:null},getSelectedElements:function(){if(!this.elementSelect)throw"This view is not selectable.";return this.elementSelect.$selectedItems},getSelectedElementIds:function(){var t=this.getSelectedElements(),e=[];if(t)for(var i=0;i<t.length;i++)e.push(t.eq(i).data("id"));return e},selectElement:function(t){if(!this.elementSelect)throw"This view is not selectable.";return this.elementSelect.selectItem(t,!0),!0},selectElementById:function(t){if(!this.elementSelect)throw"This view is not selectable.";var e=this.getElementById(t);return!!e&&(this.elementSelect.selectItem(e,!0),!0)},selectAllElements:function(){this.elementSelect.selectAll()},deselectAllElements:function(){this.elementSelect.deselectAll()},isVerticalList:function(){return!1},getTotalVisible:function(){return this._totalVisible},setTotalVisible:function(t){this._totalVisible=t},getMorePending:function(){return this._morePending},setMorePending:function(t){this._morePending=t},maybeLoadMore:function(){this.canLoadMore()&&this.loadMore()},canLoadMore:function(){if(!this.getMorePending()||!this.settings.batchSize)return!1;if(this.$scroller[0]!==Garnish.$win[0])return this.$scroller.prop("scrollHeight")-this.$scroller.scrollTop()<=this.$scroller.outerHeight()+15;var t=Garnish.$win.innerHeight(),e=Garnish.$win.scrollTop();return this.$container.offset().top+this.$container.height()<=t+e},loadMore:function(){if(this.getMorePending()&&!this.loadingMore&&this.settings.batchSize){this.loadingMore=!0,this.$loadingMoreSpinner.removeClass("hidden"),this.removeListener(this.$scroller,"scroll");var t=this.getLoadMoreParams();Craft.postActionRequest(this.settings.loadMoreElementsAction,t,$.proxy(function(t,e){if(this.loadingMore=!1,this.$loadingMoreSpinner.addClass("hidden"),"success"===e){var i=$(t.html);this.appendElements(i),Craft.appendHeadHtml(t.headHtml),Craft.appendFootHtml(t.footHtml),this.elementSelect&&(this.elementSelect.addItems(i.filter(":not(.disabled)")),this.elementIndex.updateActionTriggers()),this.setTotalVisible(this.getTotalVisible()+i.length),this.setMorePending(i.length==this.settings.batchSize),this.addListener(this.$scroller,"scroll","maybeLoadMore"),this.maybeLoadMore()}},this))}},getLoadMoreParams:function(){var t=$.extend(!0,{},this.settings.params);return t.criteria.offset=this.getTotalVisible(),t},appendElements:function(t){t.appendTo(this.$elementContainer),this.thumbLoader.load(t),this.onAppendElements(t)},onAppendElements:function(t){this.settings.onAppendElements(t),this.trigger("appendElements",{newElements:t})},onSelectionChange:function(){this.settings.onSelectionChange(),this.trigger("selectionChange")},createElementEditor:function(t){Craft.createElementEditor(t.data("type"),t,{elementIndex:this.elementIndex})},disable:function(){this.elementSelect&&this.elementSelect.disable()},enable:function(){this.elementSelect&&this.elementSelect.enable()},destroy:function(){this.$loadingMoreSpinner.remove(),this.thumbLoader.destroy(),delete this.thumbLoader,this.elementSelect&&(this.elementIndex.off("enableElements",this._handleEnableElements),this.elementIndex.off("disableElements",this._handleDisableElements),this.elementSelect.destroy(),delete this.elementSelect),this.base()}},{defaults:{context:"index",batchSize:null,params:null,selectable:!1,multiSelect:!1,checkboxMode:!1,loadMoreElementsAction:"element-indexes/get-more-elements",onAppendElements:$.noop,onSelectionChange:$.noop}}),Craft.BaseElementSelectInput=Garnish.Base.extend({thumbLoader:null,elementSelect:null,elementSort:null,modal:null,elementEditor:null,$container:null,$elementsContainer:null,$elements:null,$addElementBtn:null,_initialized:!1,init:function(t){if(!$.isPlainObject(t)){for(var e={},i=["id","name","elementType","sources","criteria","sourceElementId","limit","modalStorageKey","fieldId"],s=0;s<i.length&&void 0!==arguments[s];s++)e[i[s]]=arguments[s];t=e}this.setSettings(t,Craft.BaseElementSelectInput.defaults),this.settings.modalStorageKey&&(this.modalStorageKey="BaseElementSelectInput."+this.settings.modalStorageKey),1==this.settings.limit&&(this.settings.sortable=!1),this.$container=this.getContainer(),this.$container.data("elementSelect",this),this.$elementsContainer=this.getElementsContainer(),this.$addElementBtn=this.getAddElementsBtn(),this.$addElementBtn&&1==this.settings.limit&&this.$addElementBtn.css("position","absolute").css("top",0).css(Craft.left,0),this.thumbLoader=new Craft.ElementThumbLoader,this.initElementSelect(),this.initElementSort(),this.resetElements(),this.$addElementBtn&&this.addListener(this.$addElementBtn,"activate","showModal"),this._initialized=!0},get totalSelected(){return this.$elements.length},getContainer:function(){return $("#"+this.settings.id)},getElementsContainer:function(){return this.$container.children(".elements")},getElements:function(){return this.$elementsContainer.children()},getAddElementsBtn:function(){return this.$container.children(".btn.add")},initElementSelect:function(){this.settings.selectable&&(this.elementSelect=new Garnish.Select({multi:this.settings.sortable,filter:":not(.delete)"}))},initElementSort:function(){this.settings.sortable&&(this.elementSort=new Garnish.DragSort({container:this.$elementsContainer,filter:this.settings.selectable?$.proxy(function(){return this.elementSort.$targetItem.hasClass("sel")?this.elementSelect.getSelectedItems():this.elementSort.$targetItem},this):null,ignoreHandleSelector:".delete",axis:this.getElementSortAxis(),collapseDraggees:!0,magnetStrength:4,helperLagBase:1.5,onSortChange:this.settings.selectable?$.proxy(function(){this.elementSelect.resetItemOrder()},this):null}))},getElementSortAxis:function(){return"list"===this.settings.viewMode?"y":null},canAddMoreElements:function(){return!this.settings.limit||this.$elements.length<this.settings.limit},updateAddElementsBtn:function(){this.canAddMoreElements()?this.enableAddElementsBtn():this.disableAddElementsBtn()},disableAddElementsBtn:function(){this.$addElementBtn&&!this.$addElementBtn.hasClass("disabled")&&(this.$addElementBtn.addClass("disabled"),1==this.settings.limit&&(this._initialized?this.$addElementBtn.velocity("fadeOut",Craft.BaseElementSelectInput.ADD_FX_DURATION):this.$addElementBtn.hide()))},enableAddElementsBtn:function(){this.$addElementBtn&&this.$addElementBtn.hasClass("disabled")&&(this.$addElementBtn.removeClass("disabled"),1==this.settings.limit&&(this._initialized?this.$addElementBtn.velocity("fadeIn",Craft.BaseElementSelectInput.REMOVE_FX_DURATION):this.$addElementBtn.show()))},resetElements:function(){null!==this.$elements?this.removeElements(this.$elements):this.$elements=$(),this.addElements(this.getElements())},addElements:function(t){this.thumbLoader.load(t),this.settings.selectable&&this.elementSelect.addItems(t),this.settings.sortable&&this.elementSort.addItems(t),this.settings.editable&&(this._handleShowElementEditor=$.proxy(function(t){var e=$(t.currentTarget);!Garnish.hasAttr(e,"data-editable")||e.hasClass("disabled")||e.hasClass("loading")||(this.elementEditor=this.createElementEditor(e))},this),this.addListener(t,"dblclick",this._handleShowElementEditor),$.isTouchCapable()&&this.addListener(t,"taphold",this._handleShowElementEditor)),t.find(".delete").on("click",$.proxy(function(t){this.removeElement($(t.currentTarget).closest(".element"))},this)),this.$elements=this.$elements.add(t),this.updateAddElementsBtn()},createElementEditor:function(t,e){return e||(e={}),e.prevalidate=this.settings.prevalidate,Craft.createElementEditor(this.settings.elementType,t,e)},removeElements:function(t){if(this.settings.selectable&&this.elementSelect.removeItems(t),this.modal){for(var e=[],i=0;i<t.length;i++){var s=t.eq(i).data("id");s&&e.push(s)}e.length&&this.modal.elementIndex.enableElementsById(e)}t.children("input").prop("disabled",!0),this.$elements=this.$elements.not(t),this.updateAddElementsBtn(),this.onRemoveElements()},removeElement:function(t){this.removeElements(t),this.animateElementAway(t,function(){t.remove()})},animateElementAway:function(t,e){t.css("z-index",0);var i={opacity:-1};i["margin-"+Craft.left]=-(t.outerWidth()+parseInt(t.css("margin-"+Craft.right))),"list"!==this.settings.viewMode&&0!==this.$elements.length||(i["margin-bottom"]=-(t.outerHeight()+parseInt(t.css("margin-bottom")))),t.velocity(i,Craft.BaseElementSelectInput.REMOVE_FX_DURATION,e)},showModal:function(){this.canAddMoreElements()&&(this.modal?this.modal.show():this.modal=this.createModal())},createModal:function(){return Craft.createElementSelectorModal(this.settings.elementType,this.getModalSettings())},getModalSettings:function(){return $.extend({closeOtherModals:!1,storageKey:this.modalStorageKey,sources:this.settings.sources,criteria:this.settings.criteria,multiSelect:1!=this.settings.limit,showSiteMenu:this.settings.showSiteMenu,disabledElementIds:this.getDisabledElementIds(),onSelect:$.proxy(this,"onModalSelect")},this.settings.modalSettings)},getSelectedElementIds:function(){for(var t=[],e=0;e<this.$elements.length;e++)t.push(this.$elements.eq(e).data("id"));return t},getDisabledElementIds:function(){var t=this.getSelectedElementIds();return this.settings.sourceElementId&&t.push(this.settings.sourceElementId),t},onModalSelect:function(t){if(this.settings.limit){var e=this.settings.limit-this.$elements.length;t.length>e&&(t=t.slice(0,e))}this.selectElements(t),this.updateDisabledElementsInModal()},selectElements:function(t){for(var e=0;e<t.length;e++){var i=t[e],s=this.createNewElement(i);this.appendElement(s),this.addElements(s),this.animateElementIntoPlace(i.$element,s)}this.onSelectElements(t)},createNewElement:function(t){var e=t.$element.clone();return Craft.setElementSize(e,"large"===this.settings.viewMode?"large":"small"),e.addClass("removable"),e.prepend('<input type="hidden" name="'+this.settings.name+'[]" value="'+t.id+'"><a class="delete icon" title="'+Craft.t("app","Remove")+'"></a>'),e},appendElement:function(t){t.appendTo(this.$elementsContainer)},animateElementIntoPlace:function(t,e){var i=t.offset(),s=e.offset(),n=e.clone().appendTo(Garnish.$bod);e.css("visibility","hidden"),n.css({position:"absolute",zIndex:1e4,top:i.top,left:i.left});var a={top:s.top,left:s.left};n.velocity(a,Craft.BaseElementSelectInput.ADD_FX_DURATION,function(){n.remove(),e.css("visibility","visible")})},updateDisabledElementsInModal:function(){this.modal.elementIndex&&this.modal.elementIndex.disableElementsById(this.getDisabledElementIds())},getElementById:function(t){for(var e=0;e<this.$elements.length;e++){var i=this.$elements.eq(e);if(i.data("id")==t)return i}},onSelectElements:function(t){this.trigger("selectElements",{elements:t}),this.settings.onSelectElements(t),window.draftEditor&&window.draftEditor.checkForm()},onRemoveElements:function(){this.trigger("removeElements"),this.settings.onRemoveElements()}},{ADD_FX_DURATION:200,REMOVE_FX_DURATION:200,defaults:{id:null,name:null,fieldId:null,elementType:null,sources:null,criteria:{},sourceElementId:null,viewMode:"list",limit:null,showSiteMenu:!1,modalStorageKey:null,modalSettings:{},onSelectElements:$.noop,onRemoveElements:$.noop,sortable:!0,selectable:!0,editable:!0,prevalidate:!1,editorSettings:{}}}),Craft.BaseElementSelectorModal=Garnish.Modal.extend({elementType:null,elementIndex:null,$body:null,$selectBtn:null,$sidebar:null,$sources:null,$sourceToggles:null,$main:null,$search:null,$elements:null,$tbody:null,$primaryButtons:null,$secondaryButtons:null,$cancelBtn:null,$footerSpinner:null,init:function(t,e){this.elementType=t,this.setSettings(e,Craft.BaseElementSelectorModal.defaults);var i=$('<div class="modal elementselectormodal"></div>').appendTo(Garnish.$bod),s=$('<div class="body"><div class="spinner big"></div></div>').appendTo(i),n=$('<div class="footer"/>').appendTo(i);this.base(i,this.settings),this.$footerSpinner=$('<div class="spinner hidden"/>').appendTo(n),this.$primaryButtons=$('<div class="buttons right"/>').appendTo(n),this.$secondaryButtons=$('<div class="buttons left secondary-buttons"/>').appendTo(n),this.$cancelBtn=$('<div class="btn">'+Craft.t("app","Cancel")+"</div>").appendTo(this.$primaryButtons),this.$selectBtn=$('<div class="btn disabled submit">'+Craft.t("app","Select")+"</div>").appendTo(this.$primaryButtons),this.$body=s,this.addListener(this.$cancelBtn,"activate","cancel"),this.addListener(this.$selectBtn,"activate","selectElements")},onFadeIn:function(){this.elementIndex?Garnish.isMobileBrowser(!0)||this.elementIndex.$search.trigger("focus"):this._createElementIndex(),this.base()},onSelectionChange:function(){this.updateSelectBtnState()},updateSelectBtnState:function(){this.$selectBtn&&(this.elementIndex.getSelectedElements().length?this.enableSelectBtn():this.disableSelectBtn())},enableSelectBtn:function(){this.$selectBtn.removeClass("disabled")},disableSelectBtn:function(){this.$selectBtn.addClass("disabled")},enableCancelBtn:function(){this.$cancelBtn.removeClass("disabled")},disableCancelBtn:function(){this.$cancelBtn.addClass("disabled")},showFooterSpinner:function(){this.$footerSpinner.removeClass("hidden")},hideFooterSpinner:function(){this.$footerSpinner.addClass("hidden")},cancel:function(){this.$cancelBtn.hasClass("disabled")||this.hide()},selectElements:function(){if(this.elementIndex&&this.elementIndex.getSelectedElements().length){this.elementIndex.view.elementSelect.clearMouseUpTimeout();var t=this.elementIndex.getSelectedElements(),e=this.getElementInfo(t);this.onSelect(e),this.settings.disableElementsOnSelect&&this.elementIndex.disableElements(this.elementIndex.getSelectedElements()),this.settings.hideOnSelect&&this.hide()}},getElementInfo:function(t){for(var e=[],i=0;i<t.length;i++){var s=$(t[i]),n=Craft.getElementInfo(s);e.push(n)}return e},show:function(){this.updateSelectBtnState(),this.base()},onSelect:function(t){this.settings.onSelect(t)},disable:function(){this.elementIndex&&this.elementIndex.disable(),this.base()},enable:function(){this.elementIndex&&this.elementIndex.enable(),this.base()},_createElementIndex:function(){var t={context:"modal",elementType:this.elementType,sources:this.settings.sources};null!==this.settings.showSiteMenu&&"auto"!==this.settings.showSiteMenu&&(t.showSiteMenu=this.settings.showSiteMenu?"1":"0"),Craft.postActionRequest("elements/get-modal-body",t,$.proxy(function(t,e){"success"===e&&(this.$body.html(t.html),this.$body.has(".sidebar:not(.hidden)").length&&this.$body.addClass("has-sidebar"),this.elementIndex=Craft.createElementIndex(this.elementType,this.$body,{context:"modal",modal:this,storageKey:this.settings.storageKey,criteria:this.settings.criteria,disabledElementIds:this.settings.disabledElementIds,selectable:!0,multiSelect:this.settings.multiSelect,buttonContainer:this.$secondaryButtons,onSelectionChange:$.proxy(this,"onSelectionChange"),hideSidebar:this.settings.hideSidebar}),this.addListener(this.elementIndex.$elements,"doubletap",function(t,e){e.firstTap.target===e.secondTap.target&&this.selectElements()}))},this))}},{defaults:{resizable:!0,storageKey:null,sources:null,criteria:null,multiSelect:!1,showSiteMenu:null,disabledElementIds:[],disableElementsOnSelect:!1,hideOnSelect:!0,onCancel:$.noop,onSelect:$.noop,hideIndexSidebar:!1}}),Craft.BaseInputGenerator=Garnish.Base.extend({$source:null,$target:null,$form:null,settings:null,listening:null,timeout:null,init:function(t,e,i){this.$source=$(t),this.$target=$(e),this.$form=this.$source.closest("form"),this.setSettings(i),this.startListening()},setNewSource:function(t){var e=this.listening;this.stopListening(),this.$source=$(t),e&&this.startListening()},startListening:function(){this.listening||(this.listening=!0,this.addListener(this.$source,"textchange","onSourceTextChange"),this.addListener(this.$target,"textchange","onTargetTextChange"),this.addListener(this.$form,"submit","onFormSubmit"))},stopListening:function(){this.listening&&(this.listening=!1,this.timeout&&clearTimeout(this.timeout),this.removeAllListeners(this.$source),this.removeAllListeners(this.$target),this.removeAllListeners(this.$form))},onSourceTextChange:function(){this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout($.proxy(this,"updateTarget"),250)},onTargetTextChange:function(){this.$target.get(0)===document.activeElement&&this.stopListening()},onFormSubmit:function(){this.timeout&&clearTimeout(this.timeout),this.updateTarget()},updateTarget:function(){var t=this.$source.val();if(void 0!==t){var e=this.generateTargetValue(t);this.$target.val(e),this.$target.trigger("change"),this.$target.is(":focus")&&Craft.selectFullValue(this.$target)}},generateTargetValue:function(t){return t}}),Craft.AdminTable=Garnish.Base.extend({settings:null,totalItems:null,sorter:null,$noItems:null,$table:null,$tbody:null,$deleteBtns:null,init:function(t){this.setSettings(t,Craft.AdminTable.defaults),this.settings.allowDeleteAll||(this.settings.minItems=1),this.$noItems=$(this.settings.noItemsSelector),this.$table=$(this.settings.tableSelector),this.$tbody=this.$table.children("tbody"),this.totalItems=this.$tbody.children().length,this.settings.sortable&&(this.sorter=new Craft.DataTableSorter(this.$table,{onSortChange:$.proxy(this,"reorderItems")})),this.$deleteBtns=this.$table.find(".delete:not(.disabled)"),this.addListener(this.$deleteBtns,"click","handleDeleteBtnClick"),this.updateUI()},addRow:function(t){if(!(this.settings.maxItems&&this.totalItems>=this.settings.maxItems)){var e=$(t).appendTo(this.$tbody),i=e.find(".delete");this.settings.sortable&&this.sorter.addItems(e),this.$deleteBtns=this.$deleteBtns.add(i),this.addListener(i,"click","handleDeleteBtnClick"),this.totalItems++,this.updateUI()}},reorderItems:function(){if(this.settings.sortable){for(var i=[],t=0;t<this.sorter.$items.length;t++){var e=$(this.sorter.$items[t]).attr(this.settings.idAttribute);i.push(e)}var s={ids:JSON.stringify(i)};Craft.postActionRequest(this.settings.reorderAction,s,$.proxy(function(t,e){"success"===e&&(t.success?(this.onReorderItems(i),Craft.cp.displayNotice(Craft.t("app",this.settings.reorderSuccessMessage))):Craft.cp.displayError(Craft.t("app",this.settings.reorderFailMessage)))},this))}},handleDeleteBtnClick:function(t){if(!(this.settings.minItems&&this.totalItems<=this.settings.minItems)){var e=$(t.target).closest("tr");this.confirmDeleteItem(e)&&this.deleteItem(e)}},confirmDeleteItem:function(t){var e=this.getItemName(t);return confirm(Craft.t("app",this.settings.confirmDeleteMessage,{name:e}))},deleteItem:function(i){var t={id:this.getItemId(i)};Craft.postActionRequest(this.settings.deleteAction,t,$.proxy(function(t,e){"success"===e&&this.handleDeleteItemResponse(t,i)},this))},handleDeleteItemResponse:function(t,e){var i=this.getItemId(e),s=this.getItemName(e);t.success?(this.sorter&&this.sorter.removeItems(e),e.remove(),this.totalItems--,this.updateUI(),this.onDeleteItem(i),Craft.cp.displayNotice(Craft.t("app",this.settings.deleteSuccessMessage,{name:s}))):Craft.cp.displayError(Craft.t("app",this.settings.deleteFailMessage,{name:s}))},onReorderItems:function(t){this.settings.onReorderItems(t)},onDeleteItem:function(t){this.settings.onDeleteItem(t)},getItemId:function(t){return t.attr(this.settings.idAttribute)},getItemName:function(t){return Craft.escapeHtml(t.attr(this.settings.nameAttribute))},updateUI:function(){if(0===this.totalItems?(this.$table.hide(),this.$noItems.removeClass("hidden")):(this.$table.show(),this.$noItems.addClass("hidden")),this.settings.sortable){var t=this.$table.find(".move");1===this.totalItems?t.addClass("disabled"):t.removeClass("disabled")}this.settings.minItems&&this.totalItems<=this.settings.minItems?this.$deleteBtns.addClass("disabled"):this.$deleteBtns.removeClass("disabled"),this.settings.newItemBtnSelector&&(this.settings.maxItems&&this.totalItems>=this.settings.maxItems?$(this.settings.newItemBtnSelector).addClass("hidden"):$(this.settings.newItemBtnSelector).removeClass("hidden"))}},{defaults:{tableSelector:null,noItemsSelector:null,newItemBtnSelector:null,idAttribute:"data-id",nameAttribute:"data-name",sortable:!1,allowDeleteAll:!0,minItems:0,maxItems:null,reorderAction:null,deleteAction:null,reorderSuccessMessage:Craft.t("app","New order saved."),reorderFailMessage:Craft.t("app","Couldn’t save new order."),confirmDeleteMessage:Craft.t("app","Are you sure you want to delete “{name}”?"),deleteSuccessMessage:Craft.t("app","“{name}” deleted."),deleteFailMessage:Craft.t("app","Couldn’t delete “{name}”."),onReorderItems:$.noop,onDeleteItem:$.noop}}),Craft.AssetEditor=Craft.BaseElementEditor.extend({reloadIndex:!1,updateForm:function(t){if(this.base(t),this.$element.data("id")){var e=this.$fieldsContainer.find("> .meta > .image-preview-container.editable");e.length&&this.addListener(e,"click","showImageEditor")}},showImageEditor:function(){new Craft.AssetImageEditor(this.$element.data("id"),{onSave:function(){this.reloadIndex=!0,this.reloadForm()}.bind(this),allowDegreeFractions:Craft.isImagick})},onHideHud:function(){this.reloadIndex&&this.settings.elementIndex&&this.settings.elementIndex.updateElements(),this.base()}}),Craft.registerElementEditorClass("craft\\elements\\Asset",Craft.AssetEditor),Craft.AssetImageEditor=Garnish.Modal.extend({$body:null,$footer:null,$imageTools:null,$buttons:null,$cancelBtn:null,$replaceBtn:null,$saveBtn:null,$editorContainer:null,$straighten:null,$croppingCanvas:null,$spinnerCanvas:null,canvas:null,image:null,viewport:null,focalPoint:null,grid:null,croppingCanvas:null,clipper:null,croppingRectangle:null,cropperHandles:null,cropperGrid:null,croppingShade:null,imageStraightenAngle:0,viewportRotation:0,originalWidth:0,originalHeight:0,imageVerticeCoords:null,zoomRatio:1,animationInProgress:!1,currentView:"",assetId:null,cacheBust:null,draggingCropper:!1,scalingCropper:!1,draggingFocal:!1,previousMouseX:0,previousMouseY:0,shiftKeyHeld:!1,editorHeight:0,editorWidth:0,cropperState:!1,scaleFactor:1,flipData:{},focalPointState:!1,croppingConstraint:!1,spinnerInterval:null,maxImageSize:null,lastLoadedDimensions:null,imageIsLoading:!1,renderImage:null,renderCropper:null,init:function(t,e){this.cacheBust=Date.now(),this.setSettings(e,Craft.AssetImageEditor.defaults),this.assetId=t,this.flipData={x:0,y:0},this.$container=$('<form class="modal fitted imageeditor"></form>').appendTo(Garnish.$bod),this.$body=$('<div class="body"></div>').appendTo(this.$container),this.$footer=$('<div class="footer"/>').appendTo(this.$container),this.base(this.$container,this.settings),this.$buttons=$('<div class="buttons right"/>').appendTo(this.$footer),this.$cancelBtn=$('<div class="btn cancel">'+Craft.t("app","Cancel")+"</div>").appendTo(this.$buttons),this.$replaceBtn=$('<div class="btn submit save replace">'+Craft.t("app","Save")+"</div>").appendTo(this.$buttons),this.settings.allowSavingAsNew&&(this.$saveBtn=$('<div class="btn submit save copy">'+Craft.t("app","Save as a new asset")+"</div>").appendTo(this.$buttons),this.addListener(this.$saveBtn,"activate",this.saveImage.bind(this))),this.addListener(this.$replaceBtn,"activate",this.saveImage.bind(this)),this.addListener(this.$cancelBtn,"activate",$.proxy(this,"hide")),this.removeListener(this.$shade,"click"),this.maxImageSize=this.getMaxImageSize(),Craft.postActionRequest("assets/image-editor",{assetId:t},$.proxy(this,"loadEditor"))},getMaxImageSize:function(){var t=Garnish.$doc.get(0).documentElement.clientWidth,e=Garnish.$doc.get(0).documentElement.clientHeight;return Math.max(e,t)*(1<window.devicePixelRatio?2:1)},loadEditor:function(r){r.html||alert(Craft.t("app","Could not load the image editor.")),this.$body.html(r.html),this.$tabs=$(".tabs li",this.$body),this.$viewsContainer=$(".views",this.$body),this.$views=$("> div",this.$viewsContainer),this.$imageTools=$(".image-container .image-tools",this.$body),this.$editorContainer=$(".image-container .image",this.$body),this.editorHeight=this.$editorContainer.innerHeight(),this.editorWidth=this.$editorContainer.innerWidth(),this._showSpinner(),this.updateSizeAndPosition(),this.canvas=new fabric.StaticCanvas("image-canvas"),this.$croppingCanvas=$("#cropping-canvas",this.$editorContainer),this.$croppingCanvas.width(this.editorWidth),this.$croppingCanvas.height(this.editorHeight),this.canvas.enableRetinaScaling=!0,this.renderImage=function(){Garnish.requestAnimationFrame(this.canvas.renderAll.bind(this.canvas))}.bind(this);var t=Craft.getActionUrl("assets/edit-image",{assetId:this.assetId,size:this.maxImageSize,cacheBust:this.cacheBust});fabric.Image.fromURL(t,$.proxy(function(t){this.image=t,this.image.set({originX:"center",originY:"center",left:this.editorWidth/2,top:this.editorHeight/2}),this.canvas.add(this.image),this.originalHeight=this.image.getHeight(),this.originalWidth=this.image.getWidth(),this.zoomRatio=1,this.lastLoadedDimensions=this.getScaledImageDimensions(),this._setFittedImageVerticeCoordinates(),this._repositionEditorElements();var e={imageDimensions:this.getScaledImageDimensions(),offsetX:0,offsetY:0},i=!1;if(r.focalPoint){var s=r.focalPoint,n=e.imageDimensions.width*s.x,a=e.imageDimensions.height*s.y;e.offsetX=n-e.imageDimensions.width/2,e.offsetY=a-e.imageDimensions.height/2,i=!0}this.storeFocalPointState(e),i&&this._createFocalPoint(),this._createViewport(),this.storeCropperState(),this._addControlListeners(),this.addListener(this.$croppingCanvas,"mousemove",this._handleMouseMove.bind(this)),this.addListener(this.$croppingCanvas,"mousedown",this._handleMouseDown.bind(this)),this.addListener(this.$croppingCanvas,"mouseup",this._handleMouseUp.bind(this)),this.addListener(this.$croppingCanvas,"mouseout",function(t){this._handleMouseUp(t),this._handleMouseMove(t)}.bind(this)),this._hideSpinner(),this.renderImage(),this.$tabs.first().trigger("click")},this))},_reloadImage:function(){if(!this.imageIsLoading){this.imageIsLoading=!0,this.maxImageSize=this.getMaxImageSize();var t=Craft.getActionUrl("assets/edit-image",{assetId:this.assetId,size:this.maxImageSize,cacheBust:this.cacheBust});this.image.setSrc(t,function(t){this.originalHeight=t.getHeight(),this.originalWidth=t.getWidth(),this.lastLoadedDimensions={width:this.originalHeight,height:this.originalWidth},this.updateSizeAndPosition(),this.renderImage(),this.imageIsLoading=!1}.bind(this))}},updateSizeAndPosition:function(){if(this.$container){var t=window.innerWidth,e=window.innerHeight;this.$container.css({width:t,"min-width":t,left:0,height:e,"min-height":e,top:0}),this.$body.css({height:e-58}),t<e?this.$container.addClass("vertical"):this.$container.removeClass("vertical"),this.$spinnerCanvas&&this.$spinnerCanvas.css({left:this.$spinnerCanvas.parent().width()/2-this.$spinnerCanvas.width()/2+"px",top:this.$spinnerCanvas.parent().height()/2-this.$spinnerCanvas.height()/2+"px"}),this.$editorContainer&&this.image&&this._repositionEditorElements()}},_repositionEditorElements:function(){var t={width:this.editorWidth,height:this.editorHeight};this.editorHeight=this.$editorContainer.innerHeight(),this.editorWidth=this.$editorContainer.innerWidth(),this.canvas.setDimensions({width:this.editorWidth,height:this.editorHeight});var e=this.getScaledImageDimensions();if("crop"===this.currentView){this.zoomRatio=this.getZoomToFitRatio(this.getScaledImageDimensions());var i=this._getBoundingRectangle(this.imageVerticeCoords);this._setFittedImageVerticeCoordinates(),this._repositionCropper(i)}else this.zoomRatio=this.getZoomToCoverRatio(this.getScaledImageDimensions())*this.scaleFactor;this._repositionImage(t),this._repositionViewport(),this._repositionFocalPoint(t),this._zoomImage(),this.renderImage(),(1.5<e.width/this.lastLoadedDimensions.width||1.5<e.height/this.lastLoadedDimensions.height)&&this._reloadImage()},_repositionImage:function(t){this.image.set({left:this.image.left-(t.width-this.editorWidth)/2,top:this.image.top-(t.height-this.editorHeight)/2})},_createViewport:function(){this.viewport=new fabric.Rect({width:this.image.width,height:this.image.height,fill:"rgba(127,0,0,1)",originX:"center",originY:"center",globalCompositeOperation:"destination-in",left:this.image.left,top:this.image.top}),this.canvas.add(this.viewport),this.renderImage()},_createFocalPoint:function(){var t=this.focalPointState,e=this.getScaledImageDimensions().width/t.imageDimensions.width,i=t.offsetX*e*this.zoomRatio*this.scaleFactor,s=t.offsetY*e*this.zoomRatio*this.scaleFactor;i+=this.image.left,s+=this.image.top;var n=0,a=0;this.viewport&&0===t.offsetX&&0===t.offsetY&&(a="crop"!==this.currentView?(n=this.viewport.left-this.image.left,this.viewport.top-this.image.top):(n=this.clipper.left-this.image.left,this.clipper.top-this.image.top),i+=n,s+=a,t.offsetX+=n/(e*this.zoomRatio*this.scaleFactor),t.offsetY+=a/(e*this.zoomRatio*this.scaleFactor)),this.focalPoint=new fabric.Group([new fabric.Circle({radius:8,fill:"rgba(0,0,0,0.5)",strokeWidth:2,stroke:"rgba(255,255,255,0.8)",left:0,top:0,originX:"center",originY:"center"}),new fabric.Circle({radius:1,fill:"rgba(255,255,255,0)",strokeWidth:2,stroke:"rgba(255,255,255,0.8)",left:0,top:0,originX:"center",originY:"center"})],{originX:"center",originY:"center",left:i,top:s}),this.storeFocalPointState(t),this.canvas.add(this.focalPoint)},toggleFocalPoint:function(){this.focalPoint?(this.canvas.remove(this.focalPoint),this.focalPoint=null):this._createFocalPoint(),this.renderImage()},_repositionViewport:function(){if(this.viewport){var t={left:this.editorWidth/2,top:this.editorHeight/2};if("crop"===this.currentView)t.width=this.editorWidth,t.height=this.editorHeight;else if(this.cropperState){var e=this.cropperState,i=this.getScaledImageDimensions().width/e.imageDimensions.width;t.width=e.width*i*this.zoomRatio,t.height=e.height*i*this.zoomRatio,this.image.set({left:this.editorWidth/2-e.offsetX*i,top:this.editorHeight/2-e.offsetY*i})}else $.extend(t,this.getScaledImageDimensions());this.viewport.set(t)}},_repositionFocalPoint:function(t){if(this.focalPoint){var e=this.focalPoint.left-this.editorWidth/2,i=this.focalPoint.top-this.editorHeight/2,s=this.image.width,n=this.getScaledImageDimensions().width*this.zoomRatio/s/this.scaleFactor;e-=(t.width-this.editorWidth)/2,i-=(t.height-this.editorHeight)/2,e*=n,i*=n,this.focalPoint.set({left:this.editorWidth/2+e,top:this.editorHeight/2+i})}},hasOrientationChanged:function(){return this.viewportRotation%180!=0},getScaledImageDimensions:function(){var t=this.originalHeight/this.originalWidth,e={};return this.editorHeight/this.editorWidth<t?(e.height=Math.min(this.editorHeight,this.originalHeight),e.width=Math.round(this.originalWidth/(this.originalHeight/e.height))):(e.width=Math.min(this.editorWidth,this.originalWidth),e.height=Math.round(this.originalHeight*(e.width/this.originalWidth))),e},_zoomImage:function(){var t=this.getScaledImageDimensions();this.image.set({width:t.width*this.zoomRatio,height:t.height*this.zoomRatio})},_addControlListeners:function(){this.addListener(this.$tabs,"click","_handleTabClick"),this.addListener($(".focal-point"),"click",function(t){this.toggleFocalPoint(t)}.bind(this)),this.addListener($(".rotate-left"),"click",function(){this.rotateImage(-90)}.bind(this)),this.addListener($(".rotate-right"),"click",function(){this.rotateImage(90)}.bind(this)),this.addListener($(".flip-vertical"),"click",function(){this.flipImage("y")}.bind(this)),this.addListener($(".flip-horizontal"),"click",function(){this.flipImage("x")}.bind(this)),this.straighteningInput=new Craft.SlideRuleInput("slide-rule",{onStart:function(){this._showGrid()}.bind(this),onChange:function(t){this.straighten(t)}.bind(this),onEnd:function(){this._hideGrid(),this._cleanupFocalPointAfterStraighten()}.bind(this)}),this.addListener(Garnish.$doc,"keydown",function(t){t.keyCode===Garnish.SHIFT_KEY&&(this.shiftKeyHeld=!0)}.bind(this)),this.addListener(Garnish.$doc,"keyup",function(t){t.keyCode===Garnish.SHIFT_KEY&&(this.shiftKeyHeld=!1)}.bind(this)),new Garnish.MenuBtn($(".crop .menubtn",this.$container),{onOptionSelect:function(t){$(".constraint",this.$container).html($(t).html()),this.setCroppingConstraint($(t).data("constraint")),this.enforceCroppingConstraint()}.bind(this)}).menu.$container.addClass("dark")},_handleTabClick:function(t){if(!this.animationInProgress){var e=$(t.currentTarget),i=e.data("view");this.$tabs.removeClass("selected"),e.addClass("selected"),this.showView(i)}},showView:function(t){this.currentView!==t&&(this.$views.addClass("hidden"),this.$views.filter('[data-view="'+t+'"]').removeClass("hidden"),"rotate"===t?this.enableSlider():this.disableSlider(),this.updateSizeAndPosition(),"crop"===this.currentView&&"crop"!==t?this.disableCropMode():"crop"!==this.currentView&&"crop"===t&&this.enableCropMode(),this.currentView=t)},storeCropperState:function(t){if(t)this.cropperState=t;else if(this.clipper){var e=1/this.zoomRatio;this.cropperState={offsetX:(this.clipper.left-this.image.left)*e,offsetY:(this.clipper.top-this.image.top)*e,height:this.clipper.height*e,width:this.clipper.width*e,imageDimensions:this.getScaledImageDimensions()}}else{var i=this.getScaledImageDimensions();this.cropperState={offsetX:0,offsetY:0,height:i.height,width:i.width,imageDimensions:i}}},storeFocalPointState:function(t){if(t)this.focalPointState=t;else if(this.focalPoint){var e=1/this.zoomRatio;this.focalPointState={offsetX:(this.focalPoint.left-this.image.left)*e/this.scaleFactor,offsetY:(this.focalPoint.top-this.image.top)*e/this.scaleFactor,imageDimensions:this.getScaledImageDimensions()}}},rotateImage:function(e){if(!this.animationInProgress){if(90!==e&&-90!==e)return!1;this.animationInProgress=!0,this.viewportRotation+=e,this.viewportRotation=parseInt((this.viewportRotation+360)%360,10);var t,i=this.image.angle+e,s=this.getScaledImageDimensions();t=this.hasOrientationChanged()?this.getZoomToCoverRatio({height:s.width,width:s.height}):this.getZoomToCoverRatio(s),this.zoomRatio>t&&(t=this.zoomRatio);var n={angle:90===e?"+=90":"-=90"},a={angle:i,width:s.width*t,height:s.height*t},r=1;this.scaleFactor<1?(r=1/this.scaleFactor,this.scaleFactor=1):(this.viewport.width>this.editorHeight?r=this.editorHeight/this.viewport.width:this.viewport.height>this.editorWidth&&(r=this.editorWidth/this.viewport.height),this.scaleFactor=r),r<1&&(a.width*=r,a.height*=r);var o=this.cropperState,l=o.offsetX,h=o.offsetY,d=e*(Math.PI/180),c=l*Math.cos(d)-h*Math.sin(d),u=l*Math.sin(d)+h*Math.cos(d),p=s.width/o.imageDimensions.width,g=c*p*this.zoomRatio*this.scaleFactor,f=u*p*this.zoomRatio*this.scaleFactor;a.left=this.editorWidth/2-g,a.top=this.editorHeight/2-f,o.offsetX=c,o.offsetY=u;var m=o.width;o.width=o.height,o.height=m,this.storeCropperState(o),this.focalPoint&&this.canvas.remove(this.focalPoint),this.viewport.animate(n,{duration:this.settings.animationDuration,onComplete:function(){var t=this.viewport.height*r;this.viewport.height=this.viewport.width*r,this.viewport.width=t,this.viewport.set({angle:0})}.bind(this)}),this.image.animate(a,{onChange:this.canvas.renderAll.bind(this.canvas),duration:this.settings.animationDuration,onComplete:function(){var t=parseFloat((this.image.angle+360)%360);this.image.set({angle:t}),this.animationInProgress=!1,this.focalPoint?(this._adjustFocalPointByAngle(e),this.straighten(this.straighteningInput),this.canvas.add(this.focalPoint)):this._resetFocalPointPosition()}.bind(this)})}},flipImage:function(t){if(!this.animationInProgress){this.animationInProgress=!0,this.hasOrientationChanged()&&(t="y"===t?"x":"y"),this.focalPoint?this.canvas.remove(this.focalPoint):this._resetFocalPointPosition();var e=this.editorWidth/2,i=this.editorHeight/2;this.straighteningInput.setValue(-this.imageStraightenAngle),this.imageStraightenAngle=-this.imageStraightenAngle;var s,n,a={angle:this.viewportRotation+this.imageStraightenAngle},r=this.cropperState,o=this.focalPointState;"y"===t&&this.hasOrientationChanged()||"y"!==t&&!this.hasOrientationChanged()?(r.offsetX=-r.offsetX,o.offsetX=-o.offsetX,n=this.image.left-e,a.left=e-n):(r.offsetY=-r.offsetY,o.offsetY=-o.offsetY,s=this.image.top-i,a.top=i-s),"y"===t?(a.scaleY=-1*this.image.scaleY,this.flipData.y=1-this.flipData.y):(a.scaleX=-1*this.image.scaleX,this.flipData.x=1-this.flipData.x),this.storeCropperState(r),this.storeFocalPointState(o),this.image.animate(a,{onChange:this.canvas.renderAll.bind(this.canvas),duration:this.settings.animationDuration,onComplete:function(){this.animationInProgress=!1,this.focalPoint&&(this._adjustFocalPointByAngle(0),this.canvas.add(this.focalPoint))}.bind(this)})}},straighten:function(t){if(!this.animationInProgress){this.animationInProgress=!0;var e=this.image.angle;this.imageStraightenAngle=(this.settings.allowDegreeFractions?parseFloat(t.value):Math.round(parseFloat(t.value)))%360,this.image.set({angle:this.viewportRotation+this.imageStraightenAngle}),this.zoomRatio=this.getZoomToCoverRatio(this.getScaledImageDimensions())*this.scaleFactor,this._zoomImage(),this.cropperState&&this._adjustEditorElementsOnStraighten(e),this.renderImage(),this.animationInProgress=!1}},_adjustEditorElementsOnStraighten:function(t){var e,i,s,n,a,r=this.getScaledImageDimensions(),o=this.image.angle-t,l=this.cropperState,h=this.zoomRatio,d=1;do{var c=l.offsetX,u=l.offsetY,p=o*(Math.PI/180);s=c*Math.cos(p)-u*Math.sin(p),n=c*Math.sin(p)+u*Math.cos(p),e=s*h*(a=r.width/l.imageDimensions.width),i=n*h*a;var g=this.getImageVerticeCoords(h),f={width:this.viewport.width,height:this.viewport.height,left:this.editorWidth/2-this.viewport.width/2+e,top:this.editorHeight/2-this.viewport.height/2+i};h*=d=this._getZoomRatioToFitRectangle(f,g)}while(1!==d);this.image.set({left:this.editorWidth/2-e,top:this.editorHeight/2-i}),l.offsetX=s,l.offsetY=n,l.width=this.viewport.width/h/a,l.height=this.viewport.height/h/a,this.storeCropperState(l),this.zoomRatio=h,this.focalPoint?(this._adjustFocalPointByAngle(o),this._isCenterInside(this.focalPoint,this.viewport)?this.focalPoint.set({opacity:1}):this.focalPoint.set({opacity:0})):0!=o&&this._resetFocalPointPosition(),this._zoomImage()},_cleanupFocalPointAfterStraighten:function(){if(this.focalPoint&&!this._isCenterInside(this.focalPoint,this.viewport)){this.focalPoint.set({opacity:1});var t=this.focalPointState;t.offsetX=0,t.offsetY=0,this.storeFocalPointState(t),this.toggleFocalPoint()}},_resetFocalPointPosition:function(){var t=this.focalPointState;t.offsetX=0,t.offsetY=0,this.storeFocalPointState(t)},_isCenterInside:function(t,e){return t.left>e.left-e.width/2&&t.top>e.top-e.height/2&&t.left<e.left+e.width/2&&t.top<e.top+e.height/2},_adjustFocalPointByAngle:function(t){var e=t*(Math.PI/180),i=this.focalPointState,s=i.offsetX,n=i.offsetY,a=s*Math.cos(e)-n*Math.sin(e),r=s*Math.sin(e)+n*Math.cos(e),o=this.getScaledImageDimensions().width/i.imageDimensions.width,l=a*o*this.zoomRatio,h=r*o*this.zoomRatio;this.focalPoint.left=this.image.left+l,this.focalPoint.top=this.image.top+h,i.offsetX=a,i.offsetY=r,this.storeFocalPointState(i)},_getZoomRatioToFitRectangle:function(t,e){for(var i,s,n=this._getRectangleVertices(t),a=0;a<n.length&&(i=n[a],this.arePointsInsideRectangle([i],e));a++)i=!1;if(i){var r=this._getEdgeCrossed(e,i),o=t.left+t.width/2,l=t.top+t.height/2,h=Math.abs((r[1].y-r[0].y)*i.x-(r[1].x-r[0].x)*i.y+r[1].x*r[0].y-r[1].y*r[0].x)/Math.sqrt(Math.pow(r[1].y-r[0].y,2)+Math.pow(r[1].x-r[0].x,2)),d=Math.abs((r[1].y-r[0].y)*o-(r[1].x-r[0].x)*l+r[1].x*r[0].y-r[1].y*r[0].x)/Math.sqrt(Math.pow(r[1].y-r[0].y,2)+Math.pow(r[1].x-r[0].x,2));s=(h+d)/d}else s=1;return s},saveImage:function(t){var e=$(t.currentTarget);if(e.hasClass("disabled"))return!1;$(".btn",this.$buttons).addClass("disabled"),this.$buttons.append('<div class="spinner"></div>');var i={assetId:this.assetId,viewportRotation:this.viewportRotation,imageRotation:this.imageStraightenAngle,replace:e.hasClass("replace")?1:0};if(this.cropperState){var s={};s.height=this.cropperState.height,s.width=this.cropperState.width,s.offsetX=this.cropperState.offsetX,s.offsetY=this.cropperState.offsetY,i.imageDimensions=this.cropperState.imageDimensions,i.cropData=s}else i.imageDimensions=this.getScaledImageDimensions();this.focalPoint&&(i.focalPoint=this.focalPointState),i.flipData=this.flipData,i.zoom=this.zoomRatio,Craft.postActionRequest("assets/save-image",i,function(t){this.$buttons.find(".btn").removeClass("disabled").end().find(".spinner").remove(),t.error?alert(t.error):(this.onSave(),this.hide(),Craft.cp.runQueue())}.bind(this))},getZoomToCoverRatio:function(t){var e=Math.abs(this.imageStraightenAngle)*(Math.PI/180),i=Math.sin(e)*t.height+Math.cos(e)*t.width,s=Math.sin(e)*t.width+Math.cos(e)*t.height;return Math.max(i/t.width,s/t.height)},getZoomToFitRatio:function(t){var e=this._getImageBoundingBox(t),i=1;if(e.height>this.editorHeight||e.width>this.editorWidth){var s=this.editorHeight/e.height,n=this.editorWidth/e.width;i=Math.min(n,s)}return i},getCombinedZoomRatio:function(t){return this.getZoomToCoverRatio(t)/this.getZoomToFitRatio(t)},_showGrid:function(){if(!this.grid){var t,e={strokeWidth:1,stroke:"rgba(255,255,255,0.5)"},i=this.viewport.width,s=this.viewport.height,n=i/9,a=s/9,r=[new fabric.Rect({strokeWidth:2,stroke:"rgba(255,255,255,1)",originX:"center",originY:"center",width:i,height:s,left:i/2,top:s/2,fill:"rgba(255,255,255,0)"})];for(t=1;t<=8;t++)r.push(new fabric.Line([t*n,0,t*n,s],e));for(t=1;t<=8;t++)r.push(new fabric.Line([0,t*a,i,t*a],e));this.grid=new fabric.Group(r,{left:this.editorWidth/2,top:this.editorHeight/2,originX:"center",originY:"center",angle:this.viewport.angle}),this.canvas.add(this.grid),this.renderImage()}},_hideGrid:function(){this.canvas.remove(this.grid),this.grid=null,this.renderImage()},onFadeOut:function(){this.removeListener(this.$croppingCanvas,"mousemove",this._handleMouseMove.bind(this)),this.removeListener(this.$croppingCanvas,"mousedown",this._handleMouseDown.bind(this)),this.removeListener(this.$croppingCanvas,"mouseup",this._handleMouseUp.bind(this)),this.removeListener(this.$croppingCanvas,"mouseout",function(t){this._handleMouseUp(t),this._handleMouseMove(t)}.bind(this)),this.destroy()},show:function(){this.base(),$("html").addClass("noscroll")},hide:function(){this.removeAllListeners(),this.straighteningInput.removeAllListeners(),$("html").removeClass("noscroll"),this.base()},onSave:function(){this.settings.onSave(),this.trigger("save")},enableSlider:function(){this.$imageTools.removeClass("hidden")},disableSlider:function(){this.$imageTools.addClass("hidden")},enableCropMode:function(){var t=this.getScaledImageDimensions();this.zoomRatio=this.getZoomToFitRatio(t);var e={width:this.editorWidth,height:this.editorHeight},i={width:t.width*this.zoomRatio,height:t.height*this.zoomRatio,left:this.editorWidth/2,top:this.editorHeight/2},s=function(){this._setFittedImageVerticeCoordinates();var t=this.cropperState,e=this.getScaledImageDimensions(),i=e.width/t.imageDimensions.width,s={left:this.image.left+t.offsetX*i*this.zoomRatio,top:this.image.top+t.offsetY*i*this.zoomRatio,width:t.width*i*this.zoomRatio,height:t.height*i*this.zoomRatio};this._showCropper(s),this.focalPoint&&(i=e.width/this.focalPointState.imageDimensions.width,this.focalPoint.left=this.image.left+this.focalPointState.offsetX*i*this.zoomRatio,this.focalPoint.top=this.image.top+this.focalPointState.offsetY*i*this.zoomRatio,this.canvas.add(this.focalPoint))}.bind(this);this._editorModeTransition(s,i,e)},disableCropMode:function(){var t={},e={left:this.editorWidth/2,top:this.editorHeight/2};this._hideCropper();var i=this.getZoomToCoverRatio(this.getScaledImageDimensions())*this.scaleFactor,s=i/this.zoomRatio;this.zoomRatio=i;var n=(this.clipper.left-this.image.left)*s,a=(this.clipper.top-this.image.top)*s;e.left=this.editorWidth/2-n,e.top=this.editorHeight/2-a,t.height=this.clipper.height*s,t.width=this.clipper.width*s,this.focalPoint&&(!this.focalPoint||this._isCenterInside(this.focalPoint,this.clipper))||(this.focalPoint&&this.toggleFocalPoint(),this._resetFocalPointPosition());var r=function(){if(this.focalPoint){var t=this.getScaledImageDimensions().width/this.focalPointState.imageDimensions.width;this.focalPoint.left=this.image.left+this.focalPointState.offsetX*t*this.zoomRatio,this.focalPoint.top=this.image.top+this.focalPointState.offsetY*t*this.zoomRatio,this.canvas.add(this.focalPoint)}}.bind(this);this._editorModeTransition(r,e,t)},_editorModeTransition:function(t,e,i){this.animationInProgress||(this.animationInProgress=!0,this.focalPoint&&(this.canvas.remove(this.focalPoint),this.renderImage()),this.image.animate(e,{onChange:this.canvas.renderAll.bind(this.canvas),duration:this.settings.animationDuration,onComplete:function(){t(),this.animationInProgress=!1,this.renderImage()}.bind(this)}),this.viewport.animate(i,{duration:this.settings.animationDuration}))},_showSpinner:function(){this.$spinnerCanvas=$('<canvas id="spinner-canvas"></canvas>').appendTo($(".image",this.$container));var i=document.getElementById("spinner-canvas").getContext("2d"),s=new Date,n=i.canvas.width,a=i.canvas.height;this.spinnerInterval=window.setInterval(function(){var t=parseInt((new Date-s)/1e3*16)/16;i.save(),i.clearRect(0,0,n,a),i.translate(n/2,a/2),i.rotate(2*Math.PI*t);for(var e=0;e<16;e++)i.beginPath(),i.rotate(2*Math.PI/16),i.moveTo(n/10,0),i.lineTo(n/4,0),i.lineWidth=n/30,i.strokeStyle="rgba(255,255,255,"+e/16+")",i.stroke();i.restore()},1e3/30)},_hideSpinner:function(){window.clearInterval(this.spinnerInterval),this.$spinnerCanvas.remove(),this.$spinnerCanvas=null},_showCropper:function(t){this._setupCropperLayer(t),this._redrawCropperElements(),this.renderCropper()},_hideCropper:function(){this.clipper&&(this.croppingCanvas.remove(this.clipper),this.croppingCanvas.remove(this.croppingShade),this.croppingCanvas.remove(this.cropperHandles),this.croppingCanvas.remove(this.cropperGrid),this.croppingCanvas.remove(this.croppingRectangle),this.croppingCanvas=null,this.renderCropper=null)},_setupCropperLayer:function(t){this.croppingCanvas=new fabric.StaticCanvas("cropping-canvas",{backgroundColor:"rgba(0,0,0,0)",hoverCursor:"default",selection:!1}),this.croppingCanvas.setDimensions({width:this.editorWidth,height:this.editorHeight}),this.renderCropper=function(){Garnish.requestAnimationFrame(this.croppingCanvas.renderAll.bind(this.croppingCanvas))}.bind(this),$("#cropping-canvas",this.$editorContainer).css({position:"absolute",top:0,left:0}),this.croppingShade=new fabric.Rect({left:this.editorWidth/2,top:this.editorHeight/2,originX:"center",originY:"center",width:this.editorWidth,height:this.editorHeight,fill:"rgba(0,0,0,0.7)"});var e=this.getScaledImageDimensions(),i=0===this.imageStraightenAngle?1:1.2*this.getCombinedZoomRatio(e),s=e.width/i,n=e.height/i;if(this.hasOrientationChanged()){var a=n;n=s,s=a}this.clipper=new fabric.Rect({left:this.editorWidth/2,top:this.editorHeight/2,originX:"center",originY:"center",width:s,height:n,stroke:"black",fill:"rgba(128,0,0,1)",strokeWidth:0}),t&&this.clipper.set(t),this.clipper.globalCompositeOperation="destination-out",this.croppingCanvas.add(this.croppingShade),this.croppingCanvas.add(this.clipper)},_redrawCropperElements:function(){this.cropperHandles&&(this.croppingCanvas.remove(this.cropperHandles),this.croppingCanvas.remove(this.cropperGrid),this.croppingCanvas.remove(this.croppingRectangle));var t={strokeWidth:4,stroke:"rgb(255,255,255)",fill:!1},e={strokeWidth:2,stroke:"rgba(255,255,255,0.5)"},i=[new fabric.Path("M 0,10 L 0,0 L 10,0",t),new fabric.Path("M "+(this.clipper.width-8)+",0 L "+(this.clipper.width+4)+",0 L "+(this.clipper.width+4)+",10",t),new fabric.Path("M "+(this.clipper.width+4)+","+(this.clipper.height-8)+" L"+(this.clipper.width+4)+","+(this.clipper.height+4)+" L "+(this.clipper.width-8)+","+(this.clipper.height+4),t),new fabric.Path("M 10,"+(this.clipper.height+4)+" L 0,"+(this.clipper.height+4)+" L 0,"+(this.clipper.height-8),t)];this.cropperHandles=new fabric.Group(i,{left:this.clipper.left,top:this.clipper.top,originX:"center",originY:"center"}),this.croppingRectangle=new fabric.Rect({left:this.clipper.left,top:this.clipper.top,width:this.clipper.width,height:this.clipper.height,fill:"rgba(0,0,0,0)",stroke:"rgba(255,255,255,0.8)",strokeWidth:2,originX:"center",originY:"center"}),this.cropperGrid=new fabric.Group([new fabric.Line([.33*this.clipper.width,0,.33*this.clipper.width,this.clipper.height],e),new fabric.Line([.66*this.clipper.width,0,.66*this.clipper.width,this.clipper.height],e),new fabric.Line([0,.33*this.clipper.height,this.clipper.width,.33*this.clipper.height],e),new fabric.Line([0,.66*this.clipper.height,this.clipper.width,.66*this.clipper.height],e)],{left:this.clipper.left,top:this.clipper.top,originX:"center",originY:"center"}),this.croppingCanvas.add(this.cropperHandles),this.croppingCanvas.add(this.cropperGrid),this.croppingCanvas.add(this.croppingRectangle)},_repositionCropper:function(t){if(this.croppingCanvas){var e=this.clipper.left-this.croppingCanvas.width/2,i=this.clipper.top-this.croppingCanvas.height/2;this.croppingCanvas.setDimensions({width:this.editorWidth,height:this.editorHeight});var s=this._getBoundingRectangle(this.imageVerticeCoords).width/t.width;this.clipper.width=Math.round(this.clipper.width*s),this.clipper.height=Math.round(this.clipper.height*s),this.clipper.left=this.editorWidth/2+e*s,this.clipper.top=this.editorHeight/2+i*s,this.croppingShade.set({width:this.editorWidth,height:this.editorHeight,left:this.editorWidth/2,top:this.editorHeight/2}),this._redrawCropperElements(),this.renderCropper()}},_getBoundingRectangle:function(t){return{width:Math.max(t.a.x,t.b.x,t.c.x,t.d.x)-Math.min(t.a.x,t.b.x,t.c.x,t.d.x),height:Math.max(t.a.y,t.b.y,t.c.y,t.d.y)-Math.min(t.a.y,t.b.y,t.c.y,t.d.y)}},_handleMouseDown:function(t){var e=this.focalPoint&&this._isMouseOver(t,this.focalPoint),i=this.croppingCanvas&&this._isMouseOver(t,this.clipper),s=this.croppingCanvas&&this._cropperHandleHitTest(t);(s||i||e)&&(this.previousMouseX=t.pageX,this.previousMouseY=t.pageY,e?this.draggingFocal=!0:s?this.scalingCropper=s:i&&(this.draggingCropper=!0))},_handleMouseMove:function(t){this.focalPoint&&this.draggingFocal?(this._handleFocalDrag(t),this.storeFocalPointState(),this.renderImage()):this.draggingCropper||this.scalingCropper?(this.draggingCropper?this._handleCropperDrag(t):this._handleCropperResize(t),this._redrawCropperElements(),this.storeCropperState(),this.renderCropper()):this._setMouseCursor(t),this.previousMouseX=t.pageX,this.previousMouseY=t.pageY},_handleMouseUp:function(t){this.draggingCropper=!1,this.scalingCropper=!1,this.draggingFocal=!1},_handleCropperDrag:function(t){var e=t.pageX-this.previousMouseX,i=t.pageY-this.previousMouseY;if(0!=e||0!=i){var s={left:this.clipper.left-this.clipper.width/2,top:this.clipper.top-this.clipper.height/2,width:this.clipper.width,height:this.clipper.height},n=this._getRectangleVertices(s,e,i);this.arePointsInsideRectangle(n,this.imageVerticeCoords)&&this.clipper.set({left:this.clipper.left+e,top:this.clipper.top+i})}},_handleFocalDrag:function(t){if(this.focalPoint){var e=t.pageX-this.previousMouseX,i=t.pageY-this.previousMouseY;if(0==e&&0==i)return;var s=this.focalPoint.left+e,n=this.focalPoint.top+i;if("crop"===this.currentView){if(!this.arePointsInsideRectangle([{x:s,y:n}],this.imageVerticeCoords))return}else if(!(this.viewport.left-this.viewport.width/2-s<0&&0<this.viewport.left+this.viewport.width/2-s&&this.viewport.top-this.viewport.height/2-n<0&&0<this.viewport.top+this.viewport.height/2-n))return;this.focalPoint.set({left:this.focalPoint.left+e,top:this.focalPoint.top+i})}},setCroppingConstraint:function(t){switch(this.updateSizeAndPosition(),t){case"none":t=!1;break;case"original":t=this.originalWidth/this.originalHeight;break;case"current":t=this.clipper.width/this.clipper.height;break;default:t=parseFloat(t)}this.croppingConstraint=t},enforceCroppingConstraint:function(){if(!this.animationInProgress&&this.croppingConstraint){this.animationInProgress=!0;var t={left:this.clipper.left-this.clipper.width/2,top:this.clipper.top-this.clipper.height/2,width:this.clipper.width,height:this.clipper.height};if(this.clipper.width>this.clipper.height*this.croppingConstraint){var e=t.height;t.height=this.clipper.width/this.croppingConstraint,t.top-=(t.height-e)/2,this.arePointsInsideRectangle(this._getRectangleVertices(t),this.imageVerticeCoords)||(t.width=this.clipper.height*this.croppingConstraint,t.height=t.width/this.croppingConstraint)}else{var i=t.width;t.width=this.clipper.height*this.croppingConstraint,t.left-=(t.width-i)/2,this.arePointsInsideRectangle(this._getRectangleVertices(t),this.imageVerticeCoords)||(t.height=this.clipper.width/this.croppingConstraint,t.width=t.height*this.croppingConstraint)}var s={height:t.height,width:t.width};this.clipper.animate(s,{onChange:function(){this._redrawCropperElements(),this.croppingCanvas.renderAll()}.bind(this),duration:this.settings.animationDuration,onComplete:function(){this._redrawCropperElements(),this.animationInProgress=!1,this.renderCropper()}.bind(this)})}},_handleCropperResize:function(t){var e=t.pageX-this.previousMouseX,i=t.pageY-this.previousMouseY,s=0,n=0;if("b"!==this.scalingCropper&&"t"!==this.scalingCropper||(e=0),"l"!==this.scalingCropper&&"r"!==this.scalingCropper||(i=0),0!==e||0!==i){var a={left:this.clipper.left-this.clipper.width/2,top:this.clipper.top-this.clipper.height/2,width:this.clipper.width,height:this.clipper.height};if(this.croppingConstraint){var r=0;switch(this.scalingCropper){case"t":r=-i;break;case"b":r=i;break;case"r":r=e;break;case"l":r=-e;break;case"tr":r=-i+e;break;case"tl":r=-i-e;break;case"br":r=i+e;break;case"bl":r=i-e}1<this.croppingConstraint?i=(e=r)/this.croppingConstraint:e=(i=r)*this.croppingConstraint,a.height+=i,a.width+=e,this.scalingCropper.match(/t/)&&(a.top-=i,a.left-=e/2,s=-i/2),this.scalingCropper.match(/b/)&&(a.left+=-e/2,s=i/2),this.scalingCropper.match(/r/)&&(a.top+=-i/2,n=e/2),this.scalingCropper.match(/l/)&&(a.top-=i/2,a.left-=e,n=-e/2)}else{if(this.shiftKeyHeld&&("tl"===this.scalingCropper||"tr"===this.scalingCropper||"bl"===this.scalingCropper||"br"===this.scalingCropper))Math.abs(e)>Math.abs(i)?(i=e/(this.clipper.width/this.clipper.height),i*="tr"===this.scalingCropper||"bl"===this.scalingCropper?-1:1):(e=i*(this.clipper.width/this.clipper.height),e*="tr"===this.scalingCropper||"bl"===this.scalingCropper?-1:1);this.scalingCropper.match(/t/)&&(a.top+=i,a.height-=i),this.scalingCropper.match(/b/)&&(a.height+=i),this.scalingCropper.match(/r/)&&(a.width+=e),this.scalingCropper.match(/l/)&&(a.left+=e,a.width-=e),s=i/2,n=e/2}a.height<30||a.width<30||this.arePointsInsideRectangle(this._getRectangleVertices(a),this.imageVerticeCoords)&&(this.clipper.set({top:this.clipper.top+s,left:this.clipper.left+n,width:a.width,height:a.height}),this._redrawCropperElements())}},_setMouseCursor:function(t){var e="default",i=this.croppingCanvas&&this._cropperHandleHitTest(t);this.focalPoint&&this._isMouseOver(t,this.focalPoint)?e="pointer":i?"t"===i||"b"===i?e="ns-resize":"l"===i||"r"===i?e="ew-resize":"tl"===i||"br"===i?e="nwse-resize":"bl"!==i&&"tr"!==i||(e="nesw-resize"):this.croppingCanvas&&this._isMouseOver(t,this.clipper)&&(e="move"),$(".body").css("cursor",e)},_cropperHandleHitTest:function(t){var e=this.$croppingCanvas.offset(),i=t.pageX-e.left,s=t.pageY-e.top,n=this.clipper.left-this.clipper.width/2,a=n+this.clipper.width,r=this.clipper.top-this.clipper.height/2,o=r+this.clipper.height;if(i<10+n&&n-3<i){if(s<10+r&&r-3<s)return"tl";if(s<o+3&&o-10<s)return"bl"}if(a-13<i&&i<a+3){if(s<10+r&&r-3<s)return"tr";if(s<o+2&&o-10<s)return"br"}return i<3+n&&n-3<i&&s<o-10&&10+r<s?"l":i<a+1&&a-5<i&&s<o-10&&10+r<s?"r":s<4+r&&r-2<s&&10+n<i&&i<a-10?"t":s<o+2&&o-4<s&&10+n<i&&i<a-10&&"b"},_isMouseOver:function(t,e){var i=this.$croppingCanvas.offset(),s=t.pageX-i.left,n=t.pageY-i.top,a=e.left-e.width/2,r=a+e.width,o=e.top-e.height/2,l=o+e.height;return a<=s&&s<=r&&o<=n&&n<=l},_getRectangleVertices:function(t,e,i){void 0===e&&(e=0),void 0===i&&(i=0);var s={x:t.left+e,y:t.top+i},n={x:s.x+t.width,y:s.y},a={x:n.x,y:n.y+t.height};return[s,n,a,{x:s.x,y:a.y}]},_setFittedImageVerticeCoordinates:function(){this.imageVerticeCoords=this.getImageVerticeCoords("fit")},getImageVerticeCoords:function(t){var e,i=-1*((this.hasOrientationChanged()?90:0)+this.imageStraightenAngle)*(Math.PI/180),s=this.getScaledImageDimensions();e="number"==typeof t?t:"cover"===t?this.getZoomToCoverRatio(s):this.getZoomToFitRatio(s);var n=s.height*e,a=s.width*e,r=Math.cos(i)*n,o=Math.sin(i)*a,l=Math.cos(i)*a,h=Math.sin(i)*n,d=(this.editorHeight-(r+o))/2,c=(this.editorWidth-(h+l))/2;return{a:{x:c+l,y:d},b:{x:this.editorWidth-c,y:d+r},c:{x:c+h,y:this.editorHeight-d},d:{x:c,y:d+o}}},_debug:function(t){this.canvas.remove(this.debugger),this.debugger=t,this.canvas.add(this.debugger)},arePointsInsideRectangle:function(t,e){for(var i=this._getVector(e.a,e.b),s=this._getVector(e.b,e.c),n=this._getScalarProduct(i,i),a=this._getScalarProduct(s,s),r=0;r<t.length;r++){var o=t[r],l=this._getVector(e.a,o),h=this._getVector(e.b,o),d=this._getScalarProduct(i,l),c=this._getScalarProduct(s,h);if(!(0<=d&&d<=n)||!(0<=c&&c<=a))return!1}return!0},_getVector:function(t,e){return{x:e.x-t.x,y:e.y-t.y}},_getScalarProduct:function(t,e){return t.x*e.x+t.y*e.y},_getVectorMagnitude:function(t){return Math.sqrt(t.x*t.x+t.y*t.y)},_getAngleBetweenVectors:function(t,e){return Math.round(180*Math.acos(Math.min(1,this._getScalarProduct(t,e)/(this._getVectorMagnitude(t)*this._getVectorMagnitude(e))))/Math.PI*100)/100},_getEdgeCrossed:function(t,e){for(var i=[[t.a,t.b],[t.b,t.c],[t.c,t.d],[t.d,t.a]],s={x:this.editorWidth/2,y:this.editorHeight/2},n=180,a=null,r=0;r<i.length;r++){var o=i[r],l=this._getVector(o[0],s),h=this._getVector(o[0],o[1]),d=this._getVector(o[0],e),c=Math.abs(this._getAngleBetweenVectors(l,d)-(this._getAngleBetweenVectors(l,h)+this._getAngleBetweenVectors(h,d)));c<n&&(n=c,a=o)}return a},_getImageBoundingBox:function(t){var e={},i=Math.abs(this.imageStraightenAngle)*(Math.PI/180),s=t.height/t.width;if(e.height=t.width*(Math.sin(i)+Math.cos(i)*s),e.width=t.width*(Math.cos(i)+Math.sin(i)*s),this.hasOrientationChanged()){var n=e.width;e.width=e.height,e.height=n}return e}},{defaults:{animationDuration:100,allowSavingAsNew:!0,onSave:$.noop,allowDegreeFractions:!0}}),Craft.AssetIndex=Craft.BaseElementIndex.extend({$includeSubfoldersContainer:null,$includeSubfoldersCheckbox:null,showingIncludeSubfoldersCheckbox:!1,$uploadButton:null,$uploadInput:null,$progressBar:null,$folders:null,uploader:null,promptHandler:null,progressBar:null,_uploadTotalFiles:0,_uploadFileProgress:{},_uploadedAssetIds:[],_currentUploaderSettings:{},_assetDrag:null,_folderDrag:null,_expandDropTargetFolderTimeout:null,_tempExpandedFolders:[],_fileConflictTemplate:{choices:[{value:"keepBoth",title:Craft.t("app","Keep both")},{value:"replace",title:Craft.t("app","Replace it")}]},_folderConflictTemplate:{choices:[{value:"replace",title:Craft.t("app","Replace the folder (all existing files will be deleted)")},{value:"merge",title:Craft.t("app","Merge the folder (any conflicting files will be replaced)")}]},init:function(t,e,i){this.base(t,e,i),"index"===this.settings.context?(this._folderDrag||this._initIndexPageMode(),this.addListener(Garnish.$win,"resize,scroll","_positionProgressBar")):(this.addListener(this.$main,"scroll","_positionProgressBar"),this.settings.modal&&this.settings.modal.on("updateSizeAndPosition",$.proxy(this,"_positionProgressBar")))},initSources:function(){return"index"!==this.settings.context||this._folderDrag||this._initIndexPageMode(),this.base()},initSource:function(t){this.base(t),this._createFolderContextMenu(t),"index"===this.settings.context&&(this._folderDrag&&1<this._getSourceLevel(t)&&t.data("folder-id")&&this._folderDrag.addItems(t.parent()),this._assetDrag&&this._assetDrag.updateDropTargets())},deinitSource:function(t){this.base(t);var e=t.data("contextmenu");e&&e.destroy(),"index"===this.settings.context&&(this._folderDrag&&1<this._getSourceLevel(t)&&this._folderDrag.removeItems(t.parent()),this._assetDrag&&this._assetDrag.updateDropTargets())},_getSourceLevel:function(t){return t.parentsUntil("nav","ul").length},_initIndexPageMode:function(){if(!this._folderDrag){this.settings.selectable=!0,this.settings.multiSelect=!0;var t=$.proxy(this,"_onDragStart"),e=$.proxy(this,"_onDropTargetChange");this._assetDrag=new Garnish.DragDrop({activeDropTargetClass:"sel",helperOpacity:.75,filter:$.proxy(function(){return this.view.getSelectedElements()},this),helper:$.proxy(function(t){return this._getFileDragHelper(t)},this),dropTargets:$.proxy(function(){for(var t=[],e=0;e<this.$sources.length;e++){var i=this.$sources.eq(e);this._getFolderUidFromSourceKey(i.data("key"))&&t.push(i)}return t},this),onDragStart:t,onDropTargetChange:e,onDragStop:$.proxy(this,"_onFileDragStop")}),this._folderDrag=new Garnish.DragDrop({activeDropTargetClass:"sel",helperOpacity:.75,filter:$.proxy(function(){for(var t=this.sourceSelect.getSelectedItems(),e=[],i=0;i<t.length;i++){var s=t.eq(i);!this._getFolderUidFromSourceKey(s.data("key"))||s.hasClass("sel")&&1<this._getSourceLevel(s)&&e.push(s.parent()[0])}return $(e)},this),helper:$.proxy(function(t){var e=$('<div class="sidebar" style="padding-top: 0; padding-bottom: 0;"/>'),i=$("<nav/>").appendTo(e),s=$("<ul/>").appendTo(i);return t.appendTo(s).removeClass("expanded"),t.children("a").addClass("sel"),t.css({"padding-top":this._folderDrag.$draggee.css("padding-top"),"padding-right":this._folderDrag.$draggee.css("padding-right"),"padding-bottom":this._folderDrag.$draggee.css("padding-bottom"),"padding-left":this._folderDrag.$draggee.css("padding-left")}),e},this),dropTargets:$.proxy(function(){var t=[],e=[];this._folderDrag.$draggee.find("a[data-key]").each(function(){e.push($(this).data("key"))});for(var i=0;i<this.$sources.length;i++){var s=this.$sources.eq(i),n=s.data("key");this._getFolderUidFromSourceKey(n)&&(Craft.inArray(n,e)||t.push(s))}return t},this),onDragStart:t,onDropTargetChange:e,onDragStop:$.proxy(this,"_onFolderDragStop")})}},_onFileDragStop:function(){if(this._assetDrag.$activeDropTarget&&this._assetDrag.$activeDropTarget[0]!==this.$source[0]){for(var r=this.$source,o=this._assetDrag.$activeDropTarget.data("folder-id"),l=[],t=0;t<this._assetDrag.$draggee.length;t++){var e=Craft.getElementInfo(this._assetDrag.$draggee[t]).id;l.push(e)}if(l.length){this.setIndexBusy(),this._positionProgressBar(),this.progressBar.resetProgressBar(),this.progressBar.setItemCount(l.length),this.progressBar.showProgressBar();var i=[];for(t=0;t<l.length;t++)i.push({action:"assets/move-asset",params:{assetId:l[t],folderId:o}});var h=$.proxy(function(t){this.promptHandler.resetPrompts();for(var e=0;e<t.length;e++){var i=t[e];i.conflict&&this.promptHandler.addPrompt({assetId:i.assetId,suggestedFilename:i.suggestedFilename,prompt:{message:i.conflict,choices:this._fileConflictTemplate.choices}}),i.error&&alert(i.error)}this.setIndexAvailable(),this.progressBar.hideProgressBar();function s(){this.sourceSelect.selectItem(r),this._totalVisible-=this._assetDrag.$draggee.length;for(var t=0;t<l.length;t++)$("[data-id="+l[t]+"]").remove();this.view.deselectAllElements(),this._collapseExtraExpandedFolders(o),n&&this.updateElements()}var n=!1;if(this.promptHandler.getPromptCount()){var a=$.proxy(function(t){for(var e=[],i=0;i<t.length;i++)"cancel"!==t[i].choice?("keepBoth"===t[i].choice&&e.push({action:"assets/move-asset",params:{folderId:o,assetId:t[i].assetId,filename:t[i].suggestedFilename}}),"replace"===t[i].choice&&e.push({action:"assets/move-asset",params:{folderId:o,assetId:t[i].assetId,force:!0}})):n=!0;0===e.length?s.apply(this):(this.setIndexBusy(),this.progressBar.resetProgressBar(),this.progressBar.setItemCount(this.promptHandler.getPromptCount()),this.progressBar.showProgressBar(),this._performBatchRequests(e,h))},this);this._assetDrag.fadeOutHelpers(),this.promptHandler.showBatchPrompts(a)}else s.apply(this),this._assetDrag.fadeOutHelpers()},this);return void this._performBatchRequests(i,h)}}else this.$source.addClass("sel"),this._collapseExtraExpandedFolders();this._assetDrag.returnHelpersToDraggees()},_onFolderDragStop:function(){if(this._folderDrag.$activeDropTarget&&0===this._folderDrag.$activeDropTarget.siblings("ul").children("li").filter(this._folderDrag.$draggee).length){var t=this._folderDrag.$activeDropTarget.data("folder-id");this._collapseExtraExpandedFolders(t);for(var a=[],e=0;e<this._folderDrag.$draggee.length;e++){var i=this._folderDrag.$draggee.eq(e).children("a").data("folder-id");if(i!=t){a.push(i);break}}if(a.length){a.sort(),a.reverse(),this.setIndexBusy(),this._positionProgressBar(),this.progressBar.resetProgressBar(),this.progressBar.setItemCount(a.length),this.progressBar.showProgressBar();var s=[];for(e=0;e<a.length;e++)s.push({action:"assets/move-folder",params:{folderId:a[e],parentId:t}});this.requestId++;var r=[],o="",l=function(t){this.promptHandler.resetPrompts();for(var e=0;e<t.length;e++){var n=t[e];n.success&&(n.transferList&&(r=n.transferList),n.newFolderId&&(o=this._folderDrag.$activeDropTarget.data("key")+"/folder:"+n.newFolderUid)),n.conflict&&(n.prompt={message:n.conflict,choices:this._folderConflictTemplate.choices},this.promptHandler.addPrompt(n)),n.error&&alert(n.error)}if(this.promptHandler.getPromptCount()){var i=$.proxy(function(t){this.promptHandler.resetPrompts();for(var e=[],i={},s=0;s<t.length;s++)"cancel"!==t[s].choice&&("replace"===t[s].choice&&(i.force=!0),"merge"===t[s].choice&&(i.merge=!0),i.folderId=n.folderId,i.parentId=n.parentId,e.push({action:"assets/move-folder",params:i}));0===e.length?$.proxy(this,"_performActualFolderMove",r,a,o)():(this.setIndexBusy(),this.progressBar.resetProgressBar(),this.progressBar.setItemCount(this.promptHandler.getPromptCount()),this.progressBar.showProgressBar(),this._performBatchRequests(e,l))},this);this.promptHandler.showBatchPrompts(i),this.setIndexAvailable(),this.progressBar.hideProgressBar()}else $.proxy(this,"_performActualFolderMove",r,a,o)()}.bind(this);return void this._performBatchRequests(s,l)}}else this.$source.addClass("sel"),this._collapseExtraExpandedFolders();this._folderDrag.returnHelpersToDraggees()},_performActualFolderMove:function(t,e,n){this.setIndexBusy(),this.progressBar.resetProgressBar(),this.progressBar.setItemCount(1),this.progressBar.showProgressBar();var i=function(t){for(var e=0,i=t.length,s=0;s<t.length;s++)Craft.postActionRequest("assets/delete-folder",{folderId:t[s]},function(){++e===i&&(this.setIndexAvailable(),this.progressBar.hideProgressBar(),this._folderDrag.returnHelpersToDraggees(),this.setInstanceState("selectedSource",n),this.refreshSources())}.bind(this))}.bind(this);if(0<t.length){for(var s=[],a=0;a<t.length;a++)s.push({action:"assets/move-asset",params:t[a]});this._performBatchRequests(s,function(){i(e)})}else i(e)},_getParentSource:function(t){if(1<this._getSourceLevel(t))return t.parent().parent().siblings("a")},_selectSourceByFolderId:function(t){for(var e=this._getSourceByKey(t),i=e.parent().parents("li"),s=0;s<i.length;s++){var n=$(i[s]);n.hasClass("expanded")||n.children(".toggle").trigger("click")}this.selectSource(e),this.updateElements()},afterInit:function(){this.$uploadButton||(this.$uploadButton=$('<div class="btn submit" data-icon="upload" style="position: relative; overflow: hidden;" role="button">'+Craft.t("app","Upload files")+"</div>"),this.addButton(this.$uploadButton),this.$uploadInput=$('<input type="file" multiple="multiple" name="assets-upload" />').hide().insertBefore(this.$uploadButton)),this.promptHandler=new Craft.PromptHandler,this.progressBar=new Craft.ProgressBar(this.$main,!0);var t={url:Craft.getActionUrl("assets/save-asset"),fileInput:this.$uploadInput,dropZone:this.$container};t.events={fileuploadstart:$.proxy(this,"_onUploadStart"),fileuploadprogressall:$.proxy(this,"_onUploadProgress"),fileuploaddone:$.proxy(this,"_onUploadComplete")},this.settings.criteria&&void 0!==this.settings.criteria.kind&&(t.allowedKinds=this.settings.criteria.kind),this._currentUploaderSettings=t,this.uploader=new Craft.Uploader(this.$uploadButton,t),this.$uploadButton.on("click",$.proxy(function(){this.$uploadButton.hasClass("disabled")||this.isIndexBusy||this.$uploadButton.parent().find("input[name=assets-upload]").trigger("click")},this)),this.base()},onSelectSource:function(){this._getSourceByKey(this.sourceKey).data("folder-id")&&this.$source.attr("data-upload")?(this.uploader.setParams({folderId:this.$source.attr("data-folder-id")}),this.$uploadButton.removeClass("disabled")):this.$uploadButton.addClass("disabled"),this.base()},_getFolderUidFromSourceKey:function(t){var e=t.match(/\bfolder:([0-9a-f\-]+)$/);return e?e[1]:null},startSearching:function(){if(this.$source.siblings("ul").length){if(null===this.$includeSubfoldersContainer){var t="includeSubfolders-"+Math.floor(1e9*Math.random());this.$includeSubfoldersContainer=$('<div style="margin-bottom: -23px; opacity: 0;"/>').insertAfter(this.$search);var e=$('<div style="padding-top: 5px;"/>').appendTo(this.$includeSubfoldersContainer);this.$includeSubfoldersCheckbox=$('<input type="checkbox" id="'+t+'" class="checkbox"/>').appendTo(e),$('<label class="light smalltext" for="'+t+'"/>').text(" "+Craft.t("app","Search in subfolders")).appendTo(e),this.addListener(this.$includeSubfoldersCheckbox,"change",function(){this.setSelecetedSourceState("includeSubfolders",this.$includeSubfoldersCheckbox.prop("checked")),this.updateElements()})}else this.$includeSubfoldersContainer.velocity("stop");var i=this.getSelectedSourceState("includeSubfolders",!1);this.$includeSubfoldersCheckbox.prop("checked",i),this.$includeSubfoldersContainer.velocity({marginBottom:0,opacity:1},"fast"),this.showingIncludeSubfoldersCheckbox=!0}this.base()},stopSearching:function(){this.showingIncludeSubfoldersCheckbox&&(this.$includeSubfoldersContainer.velocity("stop"),this.$includeSubfoldersContainer.velocity({marginBottom:-23,opacity:0},"fast"),this.showingIncludeSubfoldersCheckbox=!1),this.base()},getViewParams:function(){var t=this.base();return this.showingIncludeSubfoldersCheckbox&&this.$includeSubfoldersCheckbox.prop("checked")&&(t.criteria.includeSubfolders=!0),t},_onUploadStart:function(){this.setIndexBusy(),this._positionProgressBar(),this.progressBar.resetProgressBar(),this.progressBar.showProgressBar(),this.promptHandler.resetPrompts()},_onUploadProgress:function(t,e){var i=parseInt(e.loaded/e.total*100,10);this.progressBar.setProgressPercentage(i)},_onUploadComplete:function(t,e){var i=e.result,s=e.files[0].name,n=!0;i.success||i.conflict?(this._uploadedAssetIds.push(i.assetId),i.conflict&&(i.prompt={message:Craft.t("app",i.conflict,{file:i.filename}),choices:this._fileConflictTemplate.choices},this.promptHandler.addPrompt(i)),Craft.cp.runQueue()):(i.error?alert(Craft.t("app","Upload failed. The error message was: “{error}”",{error:i.error})):alert(Craft.t("app","Upload failed for {filename}.",{filename:s})),n=!1),this.uploader.isLastUpload()&&(this.setIndexAvailable(),this.progressBar.hideProgressBar(),this.promptHandler.getPromptCount()?this.promptHandler.showBatchPrompts($.proxy(this,"_uploadFollowup")):n&&this._updateAfterUpload())},_updateAfterUpload:function(){"index"!==this.settings.context&&(this.setSortAttribute("dateModified"),this.setSortDirection("desc")),this.updateElements()},_uploadFollowup:function(t){this.setIndexBusy(),this.progressBar.resetProgressBar(),this.promptHandler.resetPrompts();var e=function(){this.setIndexAvailable(),this.progressBar.hideProgressBar(),this._updateAfterUpload()}.bind(this);this.progressBar.setItemCount(t.length);var r=function(i,s,n){var t={},e=null,a=function(t,e){"success"===e&&t.assetId?this._uploadedAssetIds.push(t.assetId):t.error&&alert(t.error),s++,this.progressBar.incrementProcessedItemCount(1),this.progressBar.updateProgressBar(),s===i.length?n():r(i,s,n)}.bind(this);"replace"===i[s].choice?(e="assets/replace-file",t.sourceAssetId=i[s].assetId,i[s].conflictingAssetId?t.assetId=i[s].conflictingAssetId:t.targetFilename=i[s].filename):"cancel"===i[s].choice&&(e="assets/delete-asset",t.assetId=i[s].assetId),e?Craft.postActionRequest(e,t,a):a({assetId:i[s].assetId},"success")}.bind(this);this.progressBar.showProgressBar(),r(t,0,e)},onUpdateElements:function(){this._onUpdateElements(!1,this.view.getAllElements()),this.view.on("appendElements",$.proxy(function(t){this._onUpdateElements(!0,t.newElements)},this)),this.base()},_onUpdateElements:function(t,e){if("index"===this.settings.context&&(t||this._assetDrag.removeAllItems(),this._assetDrag.addItems(e)),this._uploadedAssetIds.length){if(this.view.settings.selectable)for(var i=0;i<this._uploadedAssetIds.length;i++)this.view.selectElementById(this._uploadedAssetIds[i]);this._uploadedAssetIds=[]}this.base(t,e),this.removeListener(this.$elements,"keydown"),this.addListener(this.$elements,"keydown",this._onKeyDown.bind(this)),this.view.elementSelect.on("focusItem",this._onElementFocus.bind(this))},_onKeyDown:function(t){if(t.keyCode===Garnish.SPACE_KEY&&t.shiftKey){if(Craft.PreviewFileModal.openInstance)Craft.PreviewFileModal.openInstance.selfDestruct();else{var e=this.view.elementSelect.$focusedItem.find(".element");e.length&&this._loadPreview(e)}return t.stopPropagation(),!1}},_onElementFocus:function(t){var e=$(t.item).find(".element");Craft.PreviewFileModal.openInstance&&e.length&&this._loadPreview(e)},_loadPreview:function(t){var e={};t.data("image-width")&&(e.startingWidth=t.data("image-width"),e.startingHeight=t.data("image-height")),new Craft.PreviewFileModal(t.data("id"),this.view.elementSelect,e)},_onDragStart:function(){this._tempExpandedFolders=[]},_getFileDragHelper:function(t){var e,i;switch(this.getSelectedSourceState("mode")){case"table":e=$('<div class="elements datatablesorthelper"/>').appendTo(Garnish.$bod),i=$('<div class="tableview"/>').appendTo(e);var s=$('<table class="data"/>').appendTo(i),n=$("<tbody/>").appendTo(s);t.appendTo(n),this._$firstRowCells=this.view.$table.children("tbody").children("tr:first").children();for(var a=t.children(),r=0;r<a.length;r++){var o=$(a[r]);if(o.hasClass("checkbox-cell"))o.remove(),e.css("margin-"+Craft.left,19);else{var l=$(this._$firstRowCells[r]),h=l.width();l.width(h),o.width(h)}}return e;case"thumbs":return e=$('<div class="elements thumbviewhelper"/>').appendTo(Garnish.$bod),i=$('<ul class="thumbsview"/>').appendTo(e),t.appendTo(i),e}return $()},_onDropTargetChange:function(t){if(clearTimeout(this._expandDropTargetFolderTimeout),t){var e=t.data("folder-id");e?(this.dropTargetFolder=this._getSourceByKey(e),this._hasSubfolders(this.dropTargetFolder)&&!this._isExpanded(this.dropTargetFolder)&&(this._expandDropTargetFolderTimeout=setTimeout($.proxy(this,"_expandFolder"),500))):this.dropTargetFolder=null}t&&t[0]!==this.$source[0]?this.$source.removeClass("sel"):this.$source.addClass("sel")},_collapseExtraExpandedFolders:function(t){var e;clearTimeout(this._expandDropTargetFolderTimeout),t&&(e=this._getSourceByKey(t).parents("li").children("a"));for(var i=this._tempExpandedFolders.length-1;0<=i;i--){var s=this._tempExpandedFolders[i];void 0!==e&&0!==e.filter('[data-key="'+s.data("key")+'"]').length||(this._collapseFolder(s),this._tempExpandedFolders.splice(i,1))}},_getSourceByKey:function(t){return this.$sources.filter('[data-key$="'+t+'"]')},_hasSubfolders:function(t){return t.siblings("ul").find("li").length},_isExpanded:function(t){return t.parent("li").hasClass("expanded")},_expandFolder:function(){this._collapseExtraExpandedFolders(this.dropTargetFolder.data("folder-id")),this.dropTargetFolder.siblings(".toggle").trigger("click"),this._tempExpandedFolders.push(this.dropTargetFolder)},_collapseFolder:function(t){t.parent().hasClass("expanded")&&t.siblings(".toggle").trigger("click")},_createFolderContextMenu:function(t){if(this._getFolderUidFromSourceKey(t.data("key"))){var e=[{label:Craft.t("app","New subfolder"),onClick:$.proxy(this,"_createSubfolder",t)}];"index"===this.settings.context&&1<this._getSourceLevel(t)&&(e.push({label:Craft.t("app","Rename folder"),onClick:$.proxy(this,"_renameFolder",t)}),e.push({label:Craft.t("app","Delete folder"),onClick:$.proxy(this,"_deleteFolder",t)})),new Garnish.ContextMenu(t,e,{menuClass:"menu"})}},_createSubfolder:function(n){var t=prompt(Craft.t("app","Enter the name of the folder"));if(t){var e={parentId:n.data("folder-id"),folderName:t};this.setIndexBusy(),Craft.postActionRequest("assets/create-folder",e,$.proxy(function(t,e){if(this.setIndexAvailable(),"success"===e&&t.success){this._prepareParentForChildren(n);var i=$('<li><a data-key="'+n.data("key")+"/folder:"+t.folderUid+'"'+(Garnish.hasAttr(n,"data-has-thumbs")?" data-has-thumbs":"")+' data-upload="'+n.attr("data-upload")+'" data-folder-id="'+t.folderId+'">'+t.folderName+"</a></li>"),s=i.children("a:first");this._appendSubfolder(n,i),this.initSource(s)}"success"===e&&t.error&&alert(t.error)},this))}},_deleteFolder:function(s){if(confirm(Craft.t("app","Really delete folder “{folder}”?",{folder:$.trim(s.text())}))){var t={folderId:s.data("folder-id")};this.setIndexBusy(),Craft.postActionRequest("assets/delete-folder",t,$.proxy(function(t,e){if(this.setIndexAvailable(),"success"===e&&t.success){var i=this._getParentSource(s);this.deinitSource(s),s.parent().remove(),this._cleanUpTree(i)}"success"===e&&t.error&&alert(t.error)},this))}},_renameFolder:function(i){var t=$.trim(i.text()),e=prompt(Craft.t("app","Rename folder"),t);if(e&&e!==t){var s={folderId:i.data("folder-id"),newName:e};this.setIndexBusy(),Craft.postActionRequest("assets/rename-folder",s,$.proxy(function(t,e){this.setIndexAvailable(),"success"===e&&t.success&&(i.text(t.newName),this._getFolderUidFromSourceKey(this.sourceSelect.$selectedItems.data("key"))===this._getFolderUidFromSourceKey(i.data("key"))&&this.updateElements()),"success"===e&&t.error&&alert(t.error)},this),"json")}},_prepareParentForChildren:function(t){this._hasSubfolders(t)||(t.parent().addClass("expanded").append('<div class="toggle"></div><ul></ul>'),this.initSourceToggle(t))},_appendSubfolder:function(t,e){for(var i=t.siblings("ul").children("li"),s=$.trim(e.children("a:first").text()),n=!1,a=0;a<i.length;a++){var r=$(i[a]);if($.trim(r.children("a:first").text())>s){r.before(e),n=!0;break}}n||t.siblings("ul").append(e)},_cleanUpTree:function(t){null!==t&&0===t.siblings("ul").children("li").length&&(this.deinitSourceToggle(t),t.siblings("ul").remove(),t.siblings(".toggle").remove(),t.parent().removeClass("expanded"))},_positionProgressBar:function(){this.progressBar||(this.progressBar=new Craft.ProgressBar(this.$main,!0));var t=$(),e=0,i=0,s=(e="index"===this.settings.context?(t=this.progressBar.$progressBar.closest("#content"),Garnish.$win.scrollTop()):(t=this.progressBar.$progressBar.closest(".main"),this.$main.scrollTop()))-t.offset().top,n=Garnish.$win.height();i=t.height()>n?n/2-6+s:t.height()/2-6,"index"!==this.settings.context&&(i=e+(t.height()/2-6)),this.progressBar.$progressBar.css({top:i})},_performBatchRequests:function(i,s){for(var n=[],t=function(t){Craft.postActionRequest(t.action,t.params,function(t,e){this.progressBar.incrementProcessedItemCount(1),this.progressBar.updateProgressBar(),"success"===e&&(n.push(t),Craft.cp.runQueue()),n.length>=i.length&&s(n)}.bind(this))}.bind(this),e=0;e<i.length;e++)t(i[e])}}),Craft.registerElementIndexClass("craft\\elements\\Asset",Craft.AssetIndex),Craft.AssetSelectInput=Craft.BaseElementSelectInput.extend({requestId:0,hud:null,uploader:null,progressBar:null,originalFilename:"",originalExtension:"",init:function(){0<arguments.length&&"object"==typeof arguments[0]&&(arguments[0].editorSettings={onShowHud:$.proxy(this.resetOriginalFilename,this),onCreateForm:$.proxy(this._renameHelper,this),validators:[$.proxy(this.validateElementForm,this)]}),this.base.apply(this,arguments),this._attachUploader(),this.addListener(this.$elementsContainer,"keydown",this._onKeyDown.bind(this)),this.elementSelect.on("focusItem",this._onElementFocus.bind(this))},_onKeyDown:function(t){if(t.keyCode===Garnish.SPACE_KEY&&t.shiftKey){if(Craft.PreviewFileModal.openInstance)Craft.PreviewFileModal.openInstance.selfDestruct();else{var e=this.elementSelect.$focusedItem;e.length&&this._loadPreview(e)}return t.stopPropagation(),!1}},_onElementFocus:function(t){var e=$(t.item);Craft.PreviewFileModal.openInstance&&e.length&&this._loadPreview(e)},_loadPreview:function(t){var e={};t.data("image-width")&&(e.startingWidth=t.data("image-width"),e.startingHeight=t.data("image-height")),new Craft.PreviewFileModal(t.data("id"),this.elementSelect,e)},createElementEditor:function(t){return this.base(t,{params:{defaultFieldLayoutId:this.settings.defaultFieldLayoutId}})},_attachUploader:function(){this.progressBar=new Craft.ProgressBar($('<div class="progress-shade"></div>').appendTo(this.$container));var t={url:Craft.getActionUrl("assets/save-asset"),dropZone:this.$container,formData:{fieldId:this.settings.fieldId,elementId:this.settings.sourceElementId}};void 0!==Craft.csrfTokenName&&void 0!==Craft.csrfTokenValue&&(t.formData[Craft.csrfTokenName]=Craft.csrfTokenValue),void 0!==this.settings.criteria.kind&&(t.allowedKinds=this.settings.criteria.kind),t.canAddMoreFiles=$.proxy(this,"canAddMoreFiles"),t.events={},t.events.fileuploadstart=$.proxy(this,"_onUploadStart"),t.events.fileuploadprogressall=$.proxy(this,"_onUploadProgress"),t.events.fileuploaddone=$.proxy(this,"_onUploadComplete"),this.uploader=new Craft.Uploader(this.$container,t)},selectUploadedFile:function(t){if(this.canAddMoreElements()){var e=t.$element;e.addClass("removable"),e.prepend('<input type="hidden" name="'+this.settings.name+'[]" value="'+t.id+'"><a class="delete icon" title="'+Craft.t("app","Remove")+'"></a>'),e.appendTo(this.$elementsContainer);var i=-(e.outerWidth()+10);this.$addElementBtn.css("margin-"+Craft.left,i+"px");var s={};s["margin-"+Craft.left]=0,this.$addElementBtn.velocity(s,"fast"),this.addElements(e),delete this.modal}},_onUploadStart:function(){this.progressBar.$progressBar.css({top:Math.round(this.$container.outerHeight()/2)-6}),this.$container.addClass("uploading"),this.progressBar.resetProgressBar(),this.progressBar.showProgressBar()},_onUploadProgress:function(t,e){var i=parseInt(e.loaded/e.total*100,10);this.progressBar.setProgressPercentage(i)},_onUploadComplete:function(t,e){if(e.result.error)alert(e.result.error);else{var i={elementId:e.result.assetId,siteId:this.settings.criteria.siteId,size:this.settings.viewMode};Craft.postActionRequest("elements/get-element-html",i,function(t){if(t.error)alert(t.error);else{var e=$(t.html);Craft.appendHeadHtml(t.headHtml),this.selectUploadedFile(Craft.getElementInfo(e))}this.uploader.isLastUpload()&&(this.progressBar.hideProgressBar(),this.$container.removeClass("uploading"),window.draftEditor&&window.draftEditor.checkForm())}.bind(this)),Craft.cp.runQueue()}},canAddMoreFiles:function(t){return!this.settings.limit||this.$elements.length+t<this.settings.limit},_parseFilename:function(t){var e=t.split("."),i="";return 1<e.length&&(i=e.pop()),{extension:i,baseFileName:e.join(".")}},_renameHelper:function(t){$(".renameHelper",t).on("focus",$.proxy(function(t){var e=t.currentTarget,i=this._parseFilename(e.value);""===this.originalFilename&&""===this.originalExtension&&(this.originalFilename=i.baseFileName,this.originalExtension=i.extension);var s=i.baseFileName.length;if(void 0!==e.selectionStart)e.selectionStart=0,e.selectionEnd=s;else if(document.selection&&document.selection.createRange){e.select();var n=document.selection.createRange();n.collapse(!0),n.moveEnd("character",s),n.moveStart("character",0),n.select()}},this))},resetOriginalFilename:function(){this.originalFilename="",this.originalExtension=""},validateElementForm:function(){var t=$(".renameHelper",this.elementEditor.hud.$hud.data("elementEditor").$form),e=this._parseFilename(t.val());return e.extension===this.originalExtension||(""===e.extension?this.originalFilename!==e.baseFileName?(t.val(e.baseFileName+"."+this.originalExtension),!0):confirm(Craft.t("app","Are you sure you want to remove the extension “.{ext}”?",{ext:this.originalExtension})):confirm(Craft.t("app","Are you sure you want to change the extension from “.{oldExt}” to “.{newExt}”?",{oldExt:this.originalExtension,newExt:e.extension})))}}),Craft.AssetSelectorModal=Craft.BaseElementSelectorModal.extend({$selectTransformBtn:null,_selectedTransform:null,init:function(t,e){e=$.extend({},Craft.AssetSelectorModal.defaults,e),this.base(t,e),e.transforms.length&&this.createSelectTransformButton(e.transforms)},createSelectTransformButton:function(t){if(t&&t.length){var e=$('<div class="btngroup"/>').appendTo(this.$primaryButtons);this.$selectBtn.appendTo(e),this.$selectTransformBtn=$('<div class="btn menubtn disabled">'+Craft.t("app","Select transform")+"</div>").appendTo(e);for(var i=$('<div class="menu" data-align="right"></div>').insertAfter(this.$selectTransformBtn),s=$("<ul></ul>").appendTo(i),n=0;n<t.length;n++)$('<li><a data-transform="'+t[n].handle+'">'+t[n].name+"</a></li>").appendTo(s);var a=new Garnish.MenuBtn(this.$selectTransformBtn,{onOptionSelect:$.proxy(this,"onSelectTransform")});a.disable(),this.$selectTransformBtn.data("menuButton",a)}},onSelectionChange:function(t){var e=this.elementIndex.getSelectedElements(),i=!1;if(e.length&&this.settings.transforms.length){i=!0;for(var s=0;s<e.length&&$(".element.hasthumb:first",e[s]).length;s++);}var n=null;this.$selectTransformBtn&&(n=this.$selectTransformBtn.data("menuButton")),i?(n&&n.enable(),this.$selectTransformBtn.removeClass("disabled")):this.$selectTransformBtn&&(n&&n.disable(),this.$selectTransformBtn.addClass("disabled")),this.base()},onSelectTransform:function(t){var e=$(t).data("transform");this.selectImagesWithTransform(e)},selectImagesWithTransform:function(t){void 0===Craft.AssetSelectorModal.transformUrls[t]&&(Craft.AssetSelectorModal.transformUrls[t]={});for(var e=this.elementIndex.getSelectedElements(),i=[],s=0;s<e.length;s++){var n=$(e[s]),a=Craft.getElementInfo(n).id;void 0===Craft.AssetSelectorModal.transformUrls[t][a]&&i.push(a)}i.length?(this.showFooterSpinner(),this.fetchMissingTransformUrls(i,t,$.proxy(function(){this.hideFooterSpinner(),this.selectImagesWithTransform(t)},this))):(this._selectedTransform=t,this.selectElements(),this._selectedTransform=null)},fetchMissingTransformUrls:function(i,s,n){var a=i.pop(),t={assetId:a,handle:s};Craft.postActionRequest("assets/generate-transform",t,$.proxy(function(t,e){Craft.AssetSelectorModal.transformUrls[s][a]=!1,"success"!==e||t.url&&(Craft.AssetSelectorModal.transformUrls[s][a]=t.url),i.length?this.fetchMissingTransformUrls(i,s,n):n()},this))},getElementInfo:function(t){var e=this.base(t);if(this._selectedTransform)for(var i=0;i<e.length;i++){var s=e[i].id;void 0!==Craft.AssetSelectorModal.transformUrls[this._selectedTransform][s]&&!1!==Craft.AssetSelectorModal.transformUrls[this._selectedTransform][s]&&(e[i].url=Craft.AssetSelectorModal.transformUrls[this._selectedTransform][s])}return e},onSelect:function(t){this.settings.onSelect(t,this._selectedTransform)}},{defaults:{canSelectImageTransforms:!1,transforms:[]},transformUrls:{}}),Craft.registerElementSelectorModalClass("craft\\elements\\Asset",Craft.AssetSelectorModal),Craft.AuthManager=Garnish.Base.extend({remainingSessionTime:null,checkRemainingSessionTimer:null,showLoginModalTimer:null,decrementLogoutWarningInterval:null,showingLogoutWarningModal:!1,showingLoginModal:!1,logoutWarningModal:null,loginModal:null,$logoutWarningPara:null,$passwordInput:null,$passwordSpinner:null,$loginBtn:null,$loginErrorPara:null,submitLoginIfLoggedOut:!1,init:function(){this.updateRemainingSessionTime(Craft.remainingSessionTime)},setCheckRemainingSessionTimer:function(t){this.checkRemainingSessionTimer&&clearTimeout(this.checkRemainingSessionTimer),this.checkRemainingSessionTimer=setTimeout($.proxy(this,"checkRemainingSessionTime"),1e3*t)},checkRemainingSessionTime:function(t){$.ajax({url:Craft.getActionUrl("users/get-remaining-session-time",t?null:"dontExtendSession=1"),type:"GET",dataType:"json",complete:$.proxy(function(t,e){"success"===e?(void 0!==t.responseJSON.csrfTokenValue&&void 0!==Craft.csrfTokenValue&&(Craft.csrfTokenValue=t.responseJSON.csrfTokenValue),this.updateRemainingSessionTime(t.responseJSON.timeout),this.submitLoginIfLoggedOut=!1):this.updateRemainingSessionTime(-1)},this)})},updateRemainingSessionTime:function(t){this.remainingSessionTime=parseInt(t),-1!==this.remainingSessionTime&&this.remainingSessionTime<Craft.AuthManager.minSafeSessiotTime?(this.remainingSessionTime?(this.showingLogoutWarningModal||this.showLogoutWarningModal(),this.remainingSessionTime<Craft.AuthManager.checkInterval&&(this.showLoginModalTimer&&clearTimeout(this.showLoginModalTimer),this.showLoginModalTimer=setTimeout($.proxy(this,"showLoginModal"),1e3*this.remainingSessionTime))):this.showingLoginModal?this.submitLoginIfLoggedOut&&this.submitLogin():this.showLoginModal(),this.setCheckRemainingSessionTimer(Craft.AuthManager.checkInterval)):(this.hideLogoutWarningModal(),this.hideLoginModal(),-1!==this.remainingSessionTime&&this.remainingSessionTime<Craft.AuthManager.minSafeSessiotTime+Craft.AuthManager.checkInterval?this.setCheckRemainingSessionTimer(this.remainingSessionTime-Craft.AuthManager.minSafeSessiotTime+1):this.setCheckRemainingSessionTimer(Craft.AuthManager.checkInterval))},showLogoutWarningModal:function(){var t;if(t=!!this.showingLoginModal&&(this.hideLoginModal(!0),!0),this.showingLogoutWarningModal=!0,!this.logoutWarningModal){var e=$('<form id="logoutwarningmodal" class="modal alert fitted"/>'),i=$('<div class="body"/>').appendTo(e),s=$('<div class="buttons right"/>').appendTo(i),n=$('<div class="btn">'+Craft.t("app","Log out now")+"</div>").appendTo(s),a=$('<input type="submit" class="btn submit" value="'+Craft.t("app","Keep me logged in")+'" />').appendTo(s);this.$logoutWarningPara=$("<p/>").prependTo(i),this.logoutWarningModal=new Garnish.Modal(e,{autoShow:!1,closeOtherModals:!1,hideOnEsc:!1,hideOnShadeClick:!1,shadeClass:"modal-shade dark logoutwarningmodalshade",onFadeIn:function(){Garnish.isMobileBrowser(!0)||setTimeout(function(){a.trigger("focus")},100)}}),this.addListener(n,"activate","logout"),this.addListener(e,"submit","renewSession")}t?this.logoutWarningModal.quickShow():this.logoutWarningModal.show(),this.updateLogoutWarningMessage(),this.decrementLogoutWarningInterval=setInterval($.proxy(this,"decrementLogoutWarning"),1e3)},updateLogoutWarningMessage:function(){this.$logoutWarningPara.text(Craft.t("app","Your session will expire in {time}.",{time:Craft.secondsToHumanTimeDuration(this.remainingSessionTime)})),this.logoutWarningModal.updateSizeAndPosition()},decrementLogoutWarning:function(){0<this.remainingSessionTime&&(this.remainingSessionTime--,this.updateLogoutWarningMessage()),0===this.remainingSessionTime&&clearInterval(this.decrementLogoutWarningInterval)},hideLogoutWarningModal:function(t){this.showingLogoutWarningModal=!1,this.logoutWarningModal&&(t?this.logoutWarningModal.quickHide():this.logoutWarningModal.hide(),this.decrementLogoutWarningInterval&&clearInterval(this.decrementLogoutWarningInterval))},showLoginModal:function(){var t;if(t=!!this.showingLogoutWarningModal&&(this.hideLogoutWarningModal(!0),!0),this.showingLoginModal=!0,!this.loginModal){var e=$('<form id="loginmodal" class="modal alert fitted"/>'),i=$('<div class="body"><h2>'+Craft.t("app","Your session has ended.")+"</h2><p>"+Craft.t("app","Enter your password to log back in.")+"</p></div>").appendTo(e),s=$('<div class="inputcontainer">').appendTo(i),n=$('<div class="flex"/>').appendTo(s),a=$('<div class="flex-grow"/>').appendTo(n),r=$("<div/>").appendTo(n),o=$('<div class="passwordwrapper"/>').appendTo(a);this.$passwordInput=$('<input type="password" class="text password fullwidth" placeholder="'+Craft.t("app","Password")+'"/>').appendTo(o),this.$passwordSpinner=$('<div class="spinner hidden"/>').appendTo(s),this.$loginBtn=$('<input type="submit" class="btn submit disabled" value="'+Craft.t("app","Login")+'" />').appendTo(r),this.$loginErrorPara=$('<p class="error"/>').appendTo(i),this.loginModal=new Garnish.Modal(e,{autoShow:!1,closeOtherModals:!1,hideOnEsc:!1,hideOnShadeClick:!1,shadeClass:"modal-shade dark loginmodalshade",onFadeIn:$.proxy(function(){Garnish.isMobileBrowser(!0)||setTimeout($.proxy(function(){this.$passwordInput.trigger("focus")},this),100)},this),onFadeOut:$.proxy(function(){this.$passwordInput.val("")},this)}),new Craft.PasswordInput(this.$passwordInput,{onToggleInput:$.proxy(function(t){this.$passwordInput=t},this)}),this.addListener(this.$passwordInput,"textchange","validatePassword"),this.addListener(e,"submit","login")}t?this.loginModal.quickShow():this.loginModal.show()},hideLoginModal:function(t){this.showingLoginModal=!1,this.loginModal&&(t?this.loginModal.quickHide():this.loginModal.hide())},logout:function(){$.get({url:Craft.getActionUrl("users/logout"),dataType:"json",success:$.proxy(function(){Craft.redirectTo("")},this)})},renewSession:function(t){t&&t.preventDefault(),this.hideLogoutWarningModal(),this.checkRemainingSessionTime(!0)},validatePassword:function(){return 6<=this.$passwordInput.val().length?(this.$loginBtn.removeClass("disabled"),!0):(this.$loginBtn.addClass("disabled"),!1)},login:function(t){t&&t.preventDefault(),this.validatePassword()&&(this.$passwordSpinner.removeClass("hidden"),this.clearLoginError(),void 0!==Craft.csrfTokenValue?(this.submitLoginIfLoggedOut=!0,this.checkRemainingSessionTime()):this.submitLogin())},submitLogin:function(){var t={loginName:Craft.username,password:this.$passwordInput.val()};Craft.postActionRequest("users/login",t,$.proxy(function(t,e){this.$passwordSpinner.addClass("hidden"),"success"===e?t.success?(this.hideLoginModal(),this.checkRemainingSessionTime()):(this.showLoginError(t.error),Garnish.shake(this.loginModal.$container),Garnish.isMobileBrowser(!0)||this.$passwordInput.trigger("focus")):this.showLoginError()},this))},showLoginError:function(t){null==t&&(t=Craft.t("app","An unknown error occurred.")),this.$loginErrorPara.text(t),this.loginModal.updateSizeAndPosition()},clearLoginError:function(){this.showLoginError("")}},{checkInterval:60,minSafeSessiotTime:120}),Craft.CategoryIndex=Craft.BaseElementIndex.extend({editableGroups:null,$newCategoryBtnGroup:null,$newCategoryBtn:null,init:function(t,e,i){this.on("selectSource",$.proxy(this,"updateButton")),this.on("selectSite",$.proxy(this,"updateButton")),this.base(t,e,i)},afterInit:function(){this.editableGroups=[];for(var t=0;t<Craft.editableCategoryGroups.length;t++){var e=Craft.editableCategoryGroups[t];this.getSourceByKey("group:"+e.uid)&&this.editableGroups.push(e)}this.base()},getDefaultSourceKey:function(){if("index"===this.settings.context&&"undefined"!=typeof defaultGroupHandle)for(var t=0;t<this.$sources.length;t++){var e=$(this.$sources[t]);if(e.data("handle")===defaultGroupHandle)return e.data("key")}return this.base()},updateButton:function(){if(this.$source){var t,e,i,s=this.$source.data("handle");if(this.editableGroups.length){var n,a;if(this.$newCategoryBtnGroup&&this.$newCategoryBtnGroup.remove(),s)for(t=0;t<this.editableGroups.length;t++)if(this.editableGroups[t].handle===s){n=this.editableGroups[t];break}if(this.$newCategoryBtnGroup=$('<div class="btngroup submit"/>'),n?(e=this._getGroupTriggerHref(n),i="index"===this.settings.context?Craft.t("app","New category"):Craft.t("app","New {group} category",{group:n.name}),this.$newCategoryBtn=$('<a class="btn submit add icon" '+e+">"+Craft.escapeHtml(i)+"</a>").appendTo(this.$newCategoryBtnGroup),"index"!==this.settings.context&&this.addListener(this.$newCategoryBtn,"click",function(t){this._openCreateCategoryModal(t.currentTarget.getAttribute("data-id"))}),1<this.editableGroups.length&&(a=$('<div class="btn submit menubtn"></div>').appendTo(this.$newCategoryBtnGroup))):this.$newCategoryBtn=a=$('<div class="btn submit add icon menubtn">'+Craft.t("app","New category")+"</div>").appendTo(this.$newCategoryBtnGroup),a){var r='<div class="menu"><ul>';for(t=0;t<this.editableGroups.length;t++){var o=this.editableGroups[t];"index"!==this.settings.context&&o===n||(e=this._getGroupTriggerHref(o),i="index"===this.settings.context?o.name:Craft.t("app","New {group} category",{group:o.name}),r+="<li><a "+e+'">'+Craft.escapeHtml(i)+"</a></li>")}$(r+="</ul></div>").appendTo(this.$newCategoryBtnGroup);var l=new Garnish.MenuBtn(a);"index"!==this.settings.context&&l.on("optionSelect",$.proxy(function(t){this._openCreateCategoryModal(t.option.getAttribute("data-id"))},this))}this.addButton(this.$newCategoryBtnGroup)}if("index"===this.settings.context&&"undefined"!=typeof history){var h="categories";s&&(h+="/"+s),history.replaceState({},"",Craft.getUrl(h))}}},_getGroupTriggerHref:function(t){if("index"!==this.settings.context)return'data-id="'+t.id+'"';var e="categories/"+t.handle+"/new";if(this.siteId&&this.siteId!=Craft.primarySiteId)for(var i=0;i<Craft.sites.length;i++)Craft.sites[i].id==this.siteId&&(e+="/"+Craft.sites[i].handle);return'href="'+Craft.getUrl(e)+'"'},_openCreateCategoryModal:function(t){if(!this.$newCategoryBtn.hasClass("loading")){for(var i,e=0;e<this.editableGroups.length;e++)if(this.editableGroups[e].id==t){i=this.editableGroups[e];break}if(i){this.$newCategoryBtn.addClass("inactive");var s=this.$newCategoryBtn.text();this.$newCategoryBtn.text(Craft.t("app","New {group} category",{group:i.name})),Craft.createElementEditor(this.elementType,{hudTrigger:this.$newCategoryBtnGroup,elementType:"craft\\elements\\Category",siteId:this.siteId,attributes:{groupId:t},onBeginLoading:$.proxy(function(){this.$newCategoryBtn.addClass("loading")},this),onEndLoading:$.proxy(function(){this.$newCategoryBtn.removeClass("loading")},this),onHideHud:$.proxy(function(){this.$newCategoryBtn.removeClass("inactive").text(s)},this),onSaveElement:$.proxy(function(t){var e="group:"+i.uid;this.sourceKey!==e&&this.selectSourceByKey(e),this.selectElementAfterUpdate(t.id),this.updateElements()},this)})}}}}),Craft.registerElementIndexClass("craft\\elements\\Category",Craft.CategoryIndex),Craft.CategorySelectInput=Craft.BaseElementSelectInput.extend({setSettings:function(){this.base.apply(this,arguments),this.settings.sortable=!1},getModalSettings:function(){var t=this.base();return t.hideOnSelect=!1,t},getElements:function(){return this.$elementsContainer.find(".element")},onModalSelect:function(o){this.modal.disable(),this.modal.disableCancelBtn(),this.modal.disableSelectBtn(),this.modal.showFooterSpinner();for(var t=this.getSelectedElementIds(),e=0;e<o.length;e++)t.push(o[e].id);var i={categoryIds:t,siteId:o[0].siteId,id:this.settings.id,name:this.settings.name,branchLimit:this.settings.branchLimit,selectionLabel:this.settings.selectionLabel};Craft.postActionRequest("elements/get-categories-input-html",i,$.proxy(function(t,e){if(this.modal.enable(),this.modal.enableCancelBtn(),this.modal.enableSelectBtn(),this.modal.hideFooterSpinner(),"success"===e){var i=$(t.html).children(".elements");this.$elementsContainer.replaceWith(i),this.$elementsContainer=i,this.resetElements();for(var s=[],n=0;n<o.length;n++){var a=o[n],r=this.getElementById(a.id);r&&(this.animateElementIntoPlace(a.$element,r),s.push(a))}this.updateDisabledElementsInModal(),this.modal.hide(),this.onSelectElements(s)}},this))},removeElement:function(t){var e=t.add(t.parent().siblings("ul").find(".element"));this.removeElements(e);for(var i=0;i<e.length;i++)this._animateCategoryAway(e,i)},_animateCategoryAway:function(i,t){var e;t===i.length-1&&(e=$.proxy(function(){var t=i.first().parent().parent(),e=t.parent();e[0]===this.$elementsContainer[0]||t.siblings().length?t.remove():e.remove()},this));var s=$.proxy(function(){this.animateElementAway(i.eq(t),e)},this);0===t?s():setTimeout(s,100*t)}}),Craft.charts={},Craft.charts.DataTable=Garnish.Base.extend({columns:null,rows:null,init:function(t){columns=t.columns,rows=t.rows,rows.forEach($.proxy(function(i){$.each(i,function(t){var e;switch(columns[t].type){case"date":e=d3.timeParse("%Y-%m-%d"),i[t]=e(i[t]);break;case"datetime":e=d3.timeParse("%Y-%m-%d %H:00:00"),i[t]=e(i[t]);break;case"percent":i[t]=i[t]/100;break;case"number":i[t]=+i[t]}})},this)),this.columns=columns,this.rows=rows}}),Craft.charts.Tip=Garnish.Base.extend({$container:null,$tip:null,init:function(t){this.$container=t,this.$tip=$('<div class="tooltip"></div>').appendTo(this.$container),this.hide()},setContent:function(t){this.$tip.html(t)},setPosition:function(t){this.$tip.css("left",t.left+"px"),this.$tip.css("top",t.top+"px")},show:function(){this.$tip.css("display","block")},hide:function(){this.$tip.css("display","none")}}),Craft.charts.BaseChart=Garnish.Base.extend({$container:null,$chart:null,chartBaseClass:"cp-chart",dataTable:null,formatLocale:null,timeFormatLocale:null,orientation:null,svg:null,width:null,height:null,init:function(t,e){this.$container=t,this.setSettings(Craft.charts.BaseChart.defaults),this.setSettings(e);var i={formats:window.d3Formats,formatLocaleDefinition:window.d3FormatLocaleDefinition,timeFormatLocaleDefinition:window.d3TimeFormatLocaleDefinition};this.setSettings(i),d3.select(window).on("resize",$.proxy(function(){this.resize()},this))},setSettings:function(t,e){var i=void 0===this.settings?{}:this.settings;this.settings=$.extend(!0,{},i,e,t)},draw:function(t,e){this.setSettings(e),this.dataTable=t,this.formatLocale=d3.formatLocale(this.settings.formatLocaleDefinition),this.timeFormatLocale=d3.timeFormatLocale(this.settings.timeFormatLocaleDefinition),this.orientation=this.settings.orientation,this.$chart&&this.$chart.remove();var i=this.chartBaseClass;this.settings.chartClass&&(i+=" "+this.settings.chartClass),this.$chart=$('<div class="'+i+'" />').appendTo(this.$container)},resize:function(){this.draw(this.dataTable,this.settings)},onAfterDrawTicks:function(){$(".tick",this.$chart).each(function(t,e){var i=$("text",e);i.clone().appendTo(e),i.attr("stroke","#ffffff"),i.attr("stroke-width",3)})}},{defaults:{formatLocaleDefinition:null,timeFormatLocaleDefinition:null,formats:{numberFormat:",.2f",percentFormat:",.2%",currencyFormat:"$,.2f",shortDateFormats:{day:"%-m/%-d",month:"%-m/%y",year:"%Y"}},margin:{top:0,right:0,bottom:0,left:0},chartClass:null,colors:["#0594D1","#DE3800","#FF9A00","#009802","#9B009B"]}}),Craft.charts.Area=Craft.charts.BaseChart.extend({tip:null,drawingArea:null,init:function(t,e){this.base(t,Craft.charts.Area.defaults),this.setSettings(e)},draw:function(t,e){this.base(t,e),this.tip&&(this.tip=null);var i=this.getChartMargin();this.width=this.$chart.width()-i.left-i.right,this.height=this.$chart.height()-i.top-i.bottom;var s={width:this.width+(i.left+i.right),height:this.height+(i.top+i.bottom),translateX:"rtl"!==this.orientation?i.left:i.right,translateY:i.top};this.svg=d3.select(this.$chart.get(0)).append("svg").attr("width",s.width).attr("height",s.height),this.drawingArea=this.svg.append("g").attr("transform","translate("+s.translateX+","+s.translateY+")"),this.drawTicks(),this.drawAxes(),this.drawChart(),this.drawTipTriggers()},drawTicks:function(){var t=this.getX(!0),e=d3.axisBottom(t).tickFormat(this.getXFormatter()).ticks(3);this.drawingArea.append("g").attr("class","x ticks-axis").attr("transform","translate(0, "+this.height+")").call(e);var i,s=this.getY();"rtl"!==this.orientation?(i=d3.axisLeft(s).tickFormat(this.getYFormatter()).tickValues(this.getYTickValues()).ticks(2),this.drawingArea.append("g").attr("class","y ticks-axis").call(i)):(i=d3.axisRight(s).tickFormat(this.getYFormatter()).tickValues(this.getYTickValues()).ticks(2),this.drawingArea.append("g").attr("class","y ticks-axis").attr("transform","translate("+this.width+",0)").call(i)),this.onAfterDrawTicks()},drawAxes:function(){if(this.settings.xAxis.showAxis){var t=this.getX(),e=d3.axisBottom(t).ticks(0).tickSizeOuter(0);this.drawingArea.append("g").attr("class","x axis").attr("transform","translate(0, "+this.height+")").call(e)}if(this.settings.yAxis.showAxis){var i,s=this.getY();"rtl"===this.orientation?(i=d3.axisLeft(s).ticks(0),this.drawingArea.append("g").attr("class","y axis").attr("transform","translate("+(this.width-0)+", 0)").call(i)):(i=d3.axisRight(s).ticks(0),this.drawingArea.append("g").attr("class","y axis").attr("transform","translate(0, 0)").call(i))}},drawChart:function(){var e=this.getX(!0),i=this.getY();if(this.settings.xAxis.gridlines){var t=d3.axisBottom(e);this.drawingArea.append("g").attr("class","x grid-line").attr("transform","translate(0,"+this.height+")").call(t.tickSize(-this.height,0,0).tickFormat(""))}if(this.settings.yAxis.gridlines){var s=d3.axisLeft(i);this.drawingArea.append("g").attr("class","y grid-line").attr("transform","translate(0 , 0)").call(s.tickSize(-this.width,0).tickFormat("").tickValues(this.getYTickValues()).ticks(2))}var n=d3.line().x(function(t){return e(t[0])}).y(function(t){return i(t[1])});this.drawingArea.append("g").attr("class","chart-line").append("path").datum(this.dataTable.rows).style("fill","none").style("stroke",this.settings.colors[0]).style("stroke-width","3px").attr("d",n);var a=d3.area().x(function(t){return e(t[0])}).y0(this.height).y1(function(t){return i(t[1])});this.drawingArea.append("g").attr("class","chart-area").append("path").datum(this.dataTable.rows).style("fill",this.settings.colors[0]).style("fill-opacity","0.3").attr("d",a),this.settings.plots&&this.drawingArea.append("g").attr("class","plots").selectAll("circle").data(this.dataTable.rows).enter().append("circle").style("fill",this.settings.colors[0]).attr("class",$.proxy(function(t,e){return"plot plot-"+e},this)).attr("r",4).attr("cx",$.proxy(function(t){return e(t[0])},this)).attr("cy",$.proxy(function(t){return i(t[1])},this))},drawTipTriggers:function(){if(this.settings.tips){this.tip||(this.tip=new Craft.charts.Tip(this.$chart));var t=this.getChartMargin(),e=(this.drawingArea.select(".x path.domain").node().getTotalLength()-t.left-t.right-12)/(this.dataTable.rows.length-1),i=Math.max(0,e),c=this.getX(!0),u=this.getY();this.drawingArea.append("g").attr("class","tip-triggers").selectAll("rect").data(this.dataTable.rows).enter().append("rect").attr("class","tip-trigger").style("fill","transparent").style("fill-opacity","1").attr("width",i).attr("height",this.height).attr("x",$.proxy(function(t){return c(t[0])-i/2},this)).on("mouseover",$.proxy(function(t,e){this.drawingArea.select(".plot-"+e).attr("r",5);var i=$("<div />"),s=$('<div class="x-value" />').appendTo(i),n=$('<div class="y-value" />').appendTo(i);s.html(this.getXFormatter()(t[0])),n.html(this.getYFormatter()(t[1]));var a=i.get(0);this.tip.setContent(a);var r,o=this.getChartMargin(),l=u(t[1])+24;if("rtl"!==this.orientation){r=c(t[0])+o.left+24;var h=this.$chart.offset().left+r+this.tip.$tip.width();this.$chart.offset().left+this.$chart.width()-24<h&&(r=c(t[0])-(this.tip.$tip.width()+24))}else r=c(t[0])-(this.tip.$tip.width()+o.left+24);r<0&&(r=c(t[0])+o.left+24);var d={top:l,left:r};this.tip.setPosition(d),this.tip.show()},this)).on("mouseout",$.proxy(function(t,e){this.drawingArea.select(".plot-"+e).attr("r",4),this.tip.hide()},this))}},getChartMargin:function(){var t=this.settings.margin,e=this.getYTickValues(),s=0;return $.each(e,$.proxy(function(t,e){var i=8*this.getYFormatter()(e).length;s<i&&(s=i)},this)),s+=10,t.left=s,t},getX:function(t){var e=d3.min(this.dataTable.rows,function(t){return t[0]}),i=d3.max(this.dataTable.rows,function(t){return t[0]}),s=[e,i];"rtl"===this.orientation&&(s=[i,e]);var n=0,a=0;t&&(a=n=0);var r=d3.scaleTime().range([n,this.width-a]);return r.domain(s),r},getY:function(){var t=[0,this.getYMaxValue()],e=d3.scaleLinear().range([this.height,0]);return e.domain(t),e},getXFormatter:function(){return this.settings.xAxis.formatter!==$.noop?this.settings.xAxis.formatter(this):Craft.charts.utils.getTimeFormatter(this.timeFormatLocale,this.settings)},getYFormatter:function(){return this.settings.yAxis.formatter!==$.noop?this.settings.yAxis.formatter(this):Craft.charts.utils.getNumberFormatter(this.formatLocale,this.dataTable.columns[1].type,this.settings)},getYMaxValue:function(){return d3.max(this.dataTable.rows,function(t){return t[1]})},getYTickValues:function(){var t=this.getYMaxValue();return 1<t?[t/2,t]:[0,t]}},{defaults:{chartClass:"area",margin:{top:25,right:5,bottom:25,left:0},plots:!0,tips:!0,xAxis:{gridlines:!1,showAxis:!0,formatter:$.noop},yAxis:{gridlines:!0,showAxis:!1,formatter:$.noop}}}),Craft.charts.utils={getDuration:function(t){var e=parseInt(t,10),i={hours:Math.floor(e/3600),minutes:Math.floor((e-3600*i.hours)/60),seconds:e-3600*i.hours-60*i.minutes};return i.hours<10&&(i.hours="0"+i.hours),i.minutes<10&&(i.minutes="0"+i.minutes),i.seconds<10&&(i.seconds="0"+i.seconds),i.hours+":"+i.minutes+":"+i.seconds},getTimeFormatter:function(t,e){switch(e.dataScale){case"year":return t.format("%Y");case"month":return t.format(e.formats.shortDateFormats.month);case"hour":return t.format(e.formats.shortDateFormats.day+" %H:00:00");default:return t.format(e.formats.shortDateFormats.day)}},getNumberFormatter:function(t,e,i){switch(e){case"currency":return t.format(i.formats.currencyFormat);case"percent":return t.format(i.formats.percentFormat);case"time":return Craft.charts.utils.getDuration;case"number":return t.format(i.formats.numberFormat)}}},Craft.ColorInput=Garnish.Base.extend({$container:null,$input:null,$colorContainer:null,$colorPreview:null,$colorInput:null,init:function(t){this.$container=$(t),this.$input=this.$container.children(".color-input"),this.$colorContainer=this.$container.children(".color"),this.$colorPreview=this.$colorContainer.children(".color-preview"),this.createColorInput(),this.handleTextChange(),this.addListener(this.$input,"textchange","handleTextChange")},createColorInput:function(){var t=document.createElement("input");t.setAttribute("type","color"),"color"===t.type&&(this.$colorContainer.removeClass("static"),this.$colorInput=$(t).addClass("hidden").insertAfter(this.$input),this.addListener(this.$colorContainer,"click",function(){this.$colorInput.trigger("click")}),this.addListener(this.$colorInput,"change","updateColor"))},updateColor:function(){this.$input.val(this.$colorInput.val()),this.$input.data("garnish-textchange-value",this.$colorInput.val()),this.handleTextChange()},handleTextChange:function(){var t=this.$input.val();t.length&&"#"!==t?("#"!==t[0]&&(t="#"+t,this.$input.val(t),this.$input.data("garnish-textchange-value",t)),this.$colorPreview.css("background-color",t),this.$colorInput&&this.$colorInput.val(t)):this.$colorPreview.css("background-color","")}},{_browserSupportsColorInputs:null,doesBrowserSupportColorInputs:function(){return Craft.ColorInput._browserSupportsColorInputs,Craft.ColorInput._browserSupportsColorInputs}}),Craft.CP=Garnish.Base.extend({authManager:null,$nav:null,$mainContainer:null,$alerts:null,$crumbs:null,$notificationContainer:null,$main:null,$primaryForm:null,$header:null,$mainContent:null,$details:null,$selectedTab:null,$sidebar:null,$contentContainer:null,$edition:null,$collapsibleTables:null,fixedHeader:!1,enableQueue:!0,jobInfo:null,displayedJobInfo:null,displayedJobInfoUnchanged:1,trackJobProgressTimeout:null,jobProgressIcon:null,checkingForUpdates:!1,forcingRefreshOnUpdatesCheck:!1,checkForUpdatesCallbacks:null,init:function(){0!==Craft.remainingSessionTime&&(this.authManager=new Craft.AuthManager),this.$nav=$("#nav"),this.$mainContainer=$("#main-container"),this.$alerts=$("#alerts"),this.$crumbs=$("#crumbs"),this.$notificationContainer=$("#notifications"),this.$main=$("#main"),this.$primaryForm=$("#main-form"),this.$header=$("#header"),this.$mainContent=$("#main-content"),this.$details=$("#details"),this.$sidebar=$("#sidebar"),this.$contentContainer=$("#content-container"),this.$collapsibleTables=$("table.collapsible"),this.$edition=$("#edition"),this.updateSidebarMenuLabel(),this.addListener(Garnish.$win,"scroll","updateFixedHeader"),this.updateFixedHeader(),Garnish.$doc.ready($.proxy(function(){this.addListener(Garnish.$win,"resize","updateResponsiveTables"),this.updateResponsiveTables();var t=this.$notificationContainer.children(".error"),e=this.$notificationContainer.children(":not(.error)");t.delay(2*Craft.CP.notificationDuration).velocity("fadeOut"),e.delay(Craft.CP.notificationDuration).velocity("fadeOut"),Garnish.requestAnimationFrame($.proxy(this,"initConfirmUnloadForms"))},this)),this.$alerts.length&&this.initAlerts(),this.addListener($("#nav-toggle"),"click","toggleNav"),this.addListener($("#sidebar-toggle"),"click","toggleSidebar"),this.$primaryForm.length||(this.$primaryForm=$("form[data-saveshortcut]:first")),this.$primaryForm.length&&Garnish.hasAttr(this.$primaryForm,"data-saveshortcut")&&this.addListener(Garnish.$doc,"keydown",function(t){return Garnish.isCtrlKeyPressed(t)&&t.keyCode===Garnish.S_KEY&&(t.preventDefault(),this.submitPrimaryForm()),!0}),this.initTabs(),this.$edition.hasClass("hot")&&this.addListener(this.$edition,"click",function(){document.location.href=Craft.getUrl("plugin-store/upgrade-craft")}),$.isTouchCapable()&&(this.$mainContainer.on("focus","input, textarea, .focusable-input",$.proxy(this,"_handleInputFocus")),this.$mainContainer.on("blur","input, textarea, .focusable-input",$.proxy(this,"_handleInputBlur"))),$("a").each(function(){this.hostname.length&&this.hostname!==location.hostname&&void 0===$(this).attr("target")&&$(this).attr("rel","noopener").attr("target","_blank")})},initConfirmUnloadForms:function(){if(this.$confirmUnloadForms=$("form[data-confirm-unload]"),this.$confirmUnloadForms.length){for(var t,e,i=0;i<this.$confirmUnloadForms.length;i++)(t=this.$confirmUnloadForms.eq(i)).data("initialSerializedValue")||(e="function"==typeof t.data("serializer")?t.data("serializer")():t.serialize(),t.data("initialSerializedValue",e)),this.addListener(t,"submit",function(){this.removeListener(Garnish.$win,"beforeunload")});this.addListener(Garnish.$win,"beforeunload",function(t){var e,i,s=!1;if(void 0!==Craft.livePreview&&Craft.livePreview.inPreviewMode)s=!0;else for(var n=0;n<this.$confirmUnloadForms.length;n++)if(i="function"==typeof(e=this.$confirmUnloadForms.eq(n)).data("serializer")?e.data("serializer")():e.serialize(),e.data("initialSerializedValue")!==i){s=!0;break}if(s){var a=Craft.t("app","Any changes will be lost if you leave this page.");return t?t.originalEvent.returnValue=a:window.event.returnValue=a,a}})}},_handleInputFocus:function(){this.updateFixedHeader()},_handleInputBlur:function(){this.updateFixedHeader()},submitPrimaryForm:function(){this.trigger("beforeSaveShortcut"),this.$primaryForm.data("saveshortcut-redirect")&&$('<input type="hidden" name="redirect" value="'+this.$primaryForm.data("saveshortcut-redirect")+'"/>').appendTo(this.$primaryForm),this.$primaryForm.trigger({type:"submit",saveShortcut:!0})},updateSidebarMenuLabel:function(){var t=this.$sidebar.find("a.sel:first"),e=t.children(".label");$("#selected-sidebar-item-label").text(e.length?e.text():t.text()),Garnish.$bod.removeClass("showing-sidebar")},toggleNav:function(){Garnish.$bod.toggleClass("showing-nav")},toggleSidebar:function(){Garnish.$bod.toggleClass("showing-sidebar")},initTabs:function(){this.$selectedTab=null;var t,e,i,s=$("#tabs").find("> ul > li"),n=[],a=[],r=0;for(t=0;t<s.length;t++)n[t]=$(s[t]),a[t]=n[t].width(),r+=a[t],(i=(e=n[t].children("a")).attr("href"))&&"#"===i.charAt(0)&&(this.addListener(e,"click",function(t){t.preventDefault(),this.selectTab(t.currentTarget)}),encodeURIComponent(i.substr(1))===document.location.hash.substr(1)&&this.selectTab(e)),!this.$selectedTab&&e.hasClass("sel")&&(this.$selectedTab=e);for(t=0;t<s.length;t++)n[t].css("max-width",100*a[t]/r+"%")},selectTab:function(t){var e=$(t);if(this.$selectedTab){if(this.$selectedTab.get(0)===e.get(0))return;this.deselectTab()}e.addClass("sel");var i=e.attr("href");$(i).removeClass("hidden"),"undefined"!=typeof history&&history.replaceState(void 0,void 0,i),Garnish.$win.trigger("resize"),Garnish.$doc.trigger("scroll"),this.$selectedTab=e},deselectTab:function(){this.$selectedTab&&(this.$selectedTab.removeClass("sel"),"#"===this.$selectedTab.attr("href").charAt(0)&&$(this.$selectedTab.attr("href")).addClass("hidden"),this.$selectedTab=null)},updateResponsiveTables:function(){for(this.updateResponsiveTables._i=0;this.updateResponsiveTables._i<this.$collapsibleTables.length;this.updateResponsiveTables._i++)this.updateResponsiveTables._$table=this.$collapsibleTables.eq(this.updateResponsiveTables._i),this.updateResponsiveTables._containerWidth=this.updateResponsiveTables._$table.parent().width(),this.updateResponsiveTables._check=!1,0<this.updateResponsiveTables._containerWidth&&(void 0===this.updateResponsiveTables._$table.data("lastContainerWidth")?this.updateResponsiveTables._check=!0:(this.updateResponsiveTables._isCollapsed=this.updateResponsiveTables._$table.hasClass("collapsed"),this.updateResponsiveTables._containerWidth>this.updateResponsiveTables._$table.data("lastContainerWidth")?this.updateResponsiveTables._isCollapsed&&(this.updateResponsiveTables._$table.removeClass("collapsed"),this.updateResponsiveTables._check=!0):this.updateResponsiveTables._isCollapsed||(this.updateResponsiveTables._check=!0)),!this.updateResponsiveTables._check||this.updateResponsiveTables._$table.width()>this.updateResponsiveTables._containerWidth&&this.updateResponsiveTables._$table.addClass("collapsed"),this.updateResponsiveTables._$table.data("lastContainerWidth",this.updateResponsiveTables._containerWidth))},updateFixedHeader:function(){if(this.$main.length&&this.$main[0].getBoundingClientRect().top<0){if(!this.fixedHeader){var t=this.$header.outerHeight(),e={top:t+"px","max-height":"calc(100vh - "+t+"px)"};this.$sidebar.css(e),this.$details.css(e),this.$mainContent.css("margin-top",this.$header.outerHeight()),Garnish.$bod.addClass("fixed-header"),this.fixedheader=!0}}else this.fixedheader&&(Garnish.$bod.removeClass("fixed-header"),this.$details.css({top:null,"max-height":null}),this.$header.css("top",0),this.$mainContent.css("margin-top",0),this.fixedheader=!1)},displayNotification:function(t,e){var i=Craft.CP.notificationDuration;"error"===t&&(i*=2);var s=$('<div class="notification '+t+'">'+e+"</div>").appendTo(this.$notificationContainer),n=-s.outerWidth()/2+"px";s.hide().css({opacity:0,"margin-left":n,"margin-right":n}).velocity({opacity:1,"margin-left":"2px","margin-right":"2px"},{display:"inline-block",duration:"fast"}).delay(i).velocity({opacity:0,"margin-left":n,"margin-right":n},{complete:function(){s.remove()}}),this.trigger("displayNotification",{notificationType:t,message:e})},displayNotice:function(t){this.displayNotification("notice",t)},displayError:function(t){t||(t=Craft.t("app","An unknown error occurred.")),this.displayNotification("error",t)},fetchAlerts:function(){var t={path:Craft.path};Craft.queueActionRequest("app/get-cp-alerts",t,$.proxy(this,"displayAlerts"))},displayAlerts:function(t){if(this.$alerts.remove(),Garnish.isArray(t)&&t.length){this.$alerts=$('<ul id="alerts"/>').prependTo(this.$mainContainer);for(var e=0;e<t.length;e++)$("<li>"+t[e]+"</li>").appendTo(this.$alerts);var i=this.$alerts.outerHeight();this.$alerts.css("margin-top",-i).velocity({"margin-top":0},"fast"),this.initAlerts()}},initAlerts:function(){for(var t=this.$alerts.find('a[class^="shun:"]'),e=0;e<t.length;e++)this.addListener(t[e],"click",$.proxy(function(t){t.preventDefault();var i=$(t.currentTarget),e={message:i.prop("className").substr(5)};Craft.queueActionRequest("app/shun-cp-alert",e,$.proxy(function(t,e){"success"===e&&(t.success?i.parent().remove():this.displayError(t.error))},this))},this))},checkForUpdates:function(t,e){if(this.checkingForUpdates&&!0===t&&!this.forcingRefreshOnUpdatesCheck){var i=e;e=function(){Craft.cp.checkForUpdates(!0,i)}}if("function"==typeof e&&(Garnish.isArray(this.checkForUpdatesCallbacks)||(this.checkForUpdatesCallbacks=[]),this.checkForUpdatesCallbacks.push(e)),!this.checkingForUpdates){this.checkingForUpdates=!0,this.forcingRefreshOnUpdatesCheck=!0===t;var s={forceRefresh:!0===t};Craft.queueActionRequest("app/check-for-updates",s,$.proxy(function(t){if(this.updateUtilitiesBadge(),this.checkingForUpdates=!1,Garnish.isArray(this.checkForUpdatesCallbacks)){var e=this.checkForUpdatesCallbacks;this.checkForUpdatesCallbacks=null;for(var i=0;i<e.length;i++)e[i](t)}this.trigger("checkForUpdates",{updateInfo:t})},this))}},updateUtilitiesBadge:function(){var i=$("#nav-utilities").find("> a:not(.sel)");i.length&&Craft.queueActionRequest("app/get-utilities-badge-count",$.proxy(function(t){var e=i.children(".badge");t.badgeCount?(e.length||(e=$('<span class="badge"/>').appendTo(i)),e.text(t.badgeCount)):e.length&&e.remove()},this))},runQueue:function(){this.enableQueue&&(Craft.runQueueAutomatically?Craft.queueActionRequest("queue/run",$.proxy(function(t,e){"success"===e&&this.trackJobProgress(!1,!0)},this)):this.trackJobProgress(!1,!0))},trackJobProgress:function(t,e){if(e&&this.trackJobProgressTimeout&&(clearTimeout(this.trackJobProgressTimeout),this.trackJobProgressTimeout=null),!this.trackJobProgressTimeout&&this.enableQueue)if(!0===t){var i=Math.min(6e4,500*this.displayedJobInfoUnchanged);this.trackJobProgressTimeout=setTimeout($.proxy(this,"_trackJobProgressInternal"),i)}else this._trackJobProgressInternal()},_trackJobProgressInternal:function(){Craft.queueActionRequest("queue/get-job-info?dontExtendSession=1",$.proxy(function(t,e){"success"===e&&(this.trackJobProgressTimeout=null,this.setJobInfo(t,!0),this.jobInfo.length&&this.trackJobProgress(!0))},this))},setJobInfo:function(t,e){if(this.enableQueue){this.jobInfo=t;var i=this.displayedJobInfo;this.displayedJobInfo=this.getDisplayedJobInfo(),i&&this.displayedJobInfo&&i.id===this.displayedJobInfo.id&&i.progress===this.displayedJobInfo.progress&&i.progressLabel===this.displayedJobInfo.progressLabel&&i.status===this.displayedJobInfo.status?this.displayedJobInfoUnchanged++:this.displayedJobInfoUnchanged=1,this.updateJobIcon(e),this.trigger("setJobInfo")}},getDisplayedJobInfo:function(){if(!this.enableQueue)return null;for(var t=[Craft.CP.JOB_STATUS_RESERVED,Craft.CP.JOB_STATUS_FAILED,Craft.CP.JOB_STATUS_WAITING],e=0;e<t.length;e++)for(var i=0;i<this.jobInfo.length;i++)if(this.jobInfo[i].status===t[e])return this.jobInfo[i]},updateJobIcon:function(t){this.enableQueue&&this.$nav.length&&(this.displayedJobInfo?(this.jobProgressIcon||(this.jobProgressIcon=new e),this.displayedJobInfo.status===Craft.CP.JOB_STATUS_RESERVED||this.displayedJobInfo.status===Craft.CP.JOB_STATUS_WAITING?(this.jobProgressIcon.hideFailMode(),this.jobProgressIcon.setDescription(this.displayedJobInfo.description),this.jobProgressIcon.setProgress(this.displayedJobInfo.progress,t)):this.displayedJobInfo.status===Craft.CP.JOB_STATUS_FAILED&&this.jobProgressIcon.showFailMode(Craft.t("app","Failed"))):this.jobProgressIcon&&(this.jobProgressIcon.hideFailMode(),this.jobProgressIcon.complete(),delete this.jobProgressIcon))}},{notificationDuration:2e3,JOB_STATUS_WAITING:1,JOB_STATUS_RESERVED:2,JOB_STATUS_DONE:3,JOB_STATUS_FAILED:4}),Garnish.$scrollContainer=$("#content"),Craft.cp=new Craft.CP;var e=Garnish.Base.extend({$li:null,$a:null,$label:null,hud:null,failMode:!1,_canvasSupported:null,_$bgCanvas:null,_$staticCanvas:null,_$hoverCanvas:null,_$failCanvas:null,_staticCtx:null,_hoverCtx:null,_canvasSize:null,_arcPos:null,_arcRadius:null,_lineWidth:null,_arcStartPos:0,_arcEndPos:0,_arcStartStepSize:null,_arcEndStepSize:null,_arcStep:null,_arcStepTimeout:null,_arcAnimateCallback:null,_progressBar:null,init:function(){if(this.$li=$("<li/>").appendTo(Craft.cp.$nav.children("ul")),this.$a=$('<a id="job-icon"/>').appendTo(this.$li),this.$canvasContainer=$('<span class="icon"/>').appendTo(this.$a),this.$label=$('<span class="label"></span>').appendTo(this.$a),this._canvasSupported=!!document.createElement("canvas").getContext,this._canvasSupported){var t=1<window.devicePixelRatio?2:1;this._canvasSize=18*t,this._arcPos=this._canvasSize/2,this._arcRadius=7*t,this._lineWidth=3*t,this._$bgCanvas=this._createCanvas("bg","#61666b"),this._$staticCanvas=this._createCanvas("static","#d7d9db"),this._$hoverCanvas=this._createCanvas("hover","#fff"),this._$failCanvas=this._createCanvas("fail","#da5a47").hide(),this._staticCtx=this._$staticCanvas[0].getContext("2d"),this._hoverCtx=this._$hoverCanvas[0].getContext("2d"),this._drawArc(this._$bgCanvas[0].getContext("2d"),0,1),this._drawArc(this._$failCanvas[0].getContext("2d"),0,1)}else this._progressBar=new Craft.ProgressBar(this.$canvasContainer),this._progressBar.showProgressBar();this.addListener(this.$a,"click","toggleHud")},setDescription:function(t){this.$a.attr("title",t),this.$label.text(t)},setProgress:function(t,e){this._canvasSupported?e?this._animateArc(0,t/100):this._setArc(0,t/100):this._progressBar.setProgressPercentage(t)},complete:function(){this._canvasSupported?this._animateArc(0,1,$.proxy(function(){this._$bgCanvas.velocity("fadeOut"),this._animateArc(1,1,$.proxy(function(){this.$a.remove(),this.destroy()},this))},this)):(this._progressBar.setProgressPercentage(100),this.$a.velocity("fadeOut"))},showFailMode:function(t){this.failMode||(this.failMode=!0,this._canvasSupported?(this._$bgCanvas.hide(),this._$staticCanvas.hide(),this._$hoverCanvas.hide(),this._$failCanvas.show()):(this._progressBar.$progressBar.css("border-color","#da5a47"),this._progressBar.$innerProgressBar.css("background-color","#da5a47"),this._progressBar.setProgressPercentage(50)),this.setDescription(t))},hideFailMode:function(){this.failMode&&(this.failMode=!1,this._canvasSupported?(this._$bgCanvas.show(),this._$staticCanvas.show(),this._$hoverCanvas.show(),this._$failCanvas.hide()):(this._progressBar.$progressBar.css("border-color",""),this._progressBar.$innerProgressBar.css("background-color",""),this._progressBar.setProgressPercentage(50)))},toggleHud:function(){this.hud?this.hud.toggle():this.hud=new o},_createCanvas:function(t,e){var i=$('<canvas id="job-icon-'+t+'" width="'+this._canvasSize+'" height="'+this._canvasSize+'"/>').appendTo(this.$canvasContainer),s=i[0].getContext("2d");return s.strokeStyle=e,s.lineWidth=this._lineWidth,s.lineCap="round",i},_setArc:function(t,e){this._arcStartPos=t,this._arcEndPos=e,this._drawArc(this._staticCtx,t,e),this._drawArc(this._hoverCtx,t,e)},_drawArc:function(t,e,i){t.clearRect(0,0,this._canvasSize,this._canvasSize),t.beginPath(),t.arc(this._arcPos,this._arcPos,this._arcRadius,(1.5+2*e)*Math.PI,(1.5+2*i)*Math.PI),t.stroke(),t.closePath()},_animateArc:function(t,e,i){this._arcStepTimeout&&clearTimeout(this._arcStepTimeout),this._arcStep=0,this._arcStartStepSize=(t-this._arcStartPos)/10,this._arcEndStepSize=(e-this._arcEndPos)/10,this._arcAnimateCallback=i,this._takeNextArcStep()},_takeNextArcStep:function(){this._setArc(this._arcStartPos+this._arcStartStepSize,this._arcEndPos+this._arcEndStepSize),this._arcStep++,this._arcStep<10?this._arcStepTimeout=setTimeout($.proxy(this,"_takeNextArcStep"),50):this._arcAnimateCallback&&this._arcAnimateCallback()}}),o=Garnish.HUD.extend({jobsById:null,completedJobs:null,updateViewProxy:null,init:function(){this.jobsById={},this.completedJobs=[],this.updateViewProxy=$.proxy(this,"updateView"),this.base(Craft.cp.jobProgressIcon.$a),this.$main.attr("id","queue-hud")},onShow:function(){Craft.cp.on("setJobInfo",this.updateViewProxy),this.updateView(),this.base()},onHide:function(){if(Craft.cp.off("setJobInfo",this.updateViewProxy),this.completedJobs.length){for(var t=0;t<this.completedJobs.length;t++)this.completedJobs[t].destroy();this.completedJobs=[]}this.base()},updateView:function(){var t,e=[];if(Craft.cp.jobInfo)for(t=0;t<Craft.cp.jobInfo.length;t++)e.push(parseInt(Craft.cp.jobInfo[t].id));for(var i in this.jobsById)this.jobsById.hasOwnProperty(i)&&(Craft.inArray(parseInt(i),e)||(this.jobsById[i].complete(),this.completedJobs.push(this.jobsById[i]),delete this.jobsById[i]));if(Craft.cp.jobInfo&&Craft.cp.jobInfo.length)for(t=0;t<Craft.cp.jobInfo.length;t++){var s=Craft.cp.jobInfo[t];if(this.jobsById[s.id])this.jobsById[s.id].updateStatus(s);else{this.jobsById[s.id]=new o.Job(this,s);for(var n=!1,a=t+1;a<Craft.cp.jobInfo.length;a++)if(this.jobsById[Craft.cp.jobInfo[a].id]){this.jobsById[s.id].$container.insertBefore(this.jobsById[Craft.cp.jobInfo[a].id].$container),n=!0;break}if(!n){var r=this.$main.children("object");r.length?this.jobsById[s.id].$container.insertBefore(r):this.jobsById[s.id].$container.appendTo(this.$main)}}}else this.hide()}});o.Job=Garnish.Base.extend({hud:null,id:null,description:null,status:null,progress:null,$container:null,$statusContainer:null,$descriptionContainer:null,$progressLabel:null,_progressBar:null,init:function(t,e){this.hud=t,this.id=e.id,this.description=e.description,this.$container=$("<div/>",{class:"job"});var i=$("<div/>",{class:"flex"}).appendTo(this.$container);$("<div/>",{class:"flex-grow"}).text(e.description).appendTo(i),this.$statusContainer=$('<div class="job-status"/>').appendTo(i),this.$container.data("job",this),this.updateStatus(e)},updateStatus:function(t){if(this.status!==(this.status=t.status))switch(this.$statusContainer.empty(),this.status){case Craft.CP.JOB_STATUS_WAITING:this.$statusContainer.text(Craft.t("app","Pending"));break;case Craft.CP.JOB_STATUS_RESERVED:this._progressBar=new Craft.ProgressBar(this.$statusContainer),this._progressBar.showProgressBar();break;case Craft.CP.JOB_STATUS_FAILED:$("<span/>",{class:"error",text:Craft.t("app","Failed"),title:t.error}).appendTo(this.$statusContainer);var e=$('<a class="menubtn error" title="'+Craft.t("app","Options")+'"/>').appendTo(this.$statusContainer);$('<div class="menu"><ul><li><a data-action="retry">'+Craft.t("app","Try again")+'</a></li><li><a data-action="release">'+Craft.t("app","Cancel")+"</a></li></ul></div>").appendTo(this.$statusContainer),new Garnish.MenuBtn(e,{onOptionSelect:$.proxy(this,"performErrorAction")})}this.status===Craft.CP.JOB_STATUS_RESERVED?(this._progressBar.setProgressPercentage(t.progress),t.progressLabel&&(this.$progressLabel||(this.$progressLabel=$('<div class="light smalltext"/>').appendTo(this.$container)),this.$progressLabel.text(t.progressLabel))):this.$progressLabel&&(this.$progressLabel.remove(),this.$progressLabel=null)},performErrorAction:function(t){switch($(t).data("action")){case"retry":Craft.cp.displayedJobInfo.status=Craft.CP.JOB_STATUS_WAITING,Craft.cp.displayedJobInfo.progress=0,Craft.cp.updateJobIcon(!1),Craft.postActionRequest("queue/retry",{id:this.id},$.proxy(function(t,e){"success"===e&&Craft.cp.trackJobProgress(!1,!0)},this));break;case"release":Craft.postActionRequest("queue/release",{id:this.id},$.proxy(function(t,e){"success"===e&&Craft.cp.trackJobProgress(!1,!0)},this))}},complete:function(){this.$statusContainer.empty(),$('<div data-icon="check"/>').appendTo(this.$statusContainer)},destroy:function(){this.hud.jobsById[this.id]&&delete this.hud.jobsById[this.id],this.$container.remove(),this.base()}}),Craft.CustomizeSourcesModal=Garnish.Modal.extend({elementIndex:null,$elementIndexSourcesContainer:null,$sidebar:null,$sourcesContainer:null,$sourceSettingsContainer:null,$newHeadingBtn:null,$footer:null,$footerBtnContainer:null,$saveBtn:null,$cancelBtn:null,$saveSpinner:null,$loadingSpinner:null,sourceSort:null,sources:null,selectedSource:null,updateSourcesOnSave:!1,availableTableAttributes:null,init:function(t,e){this.base(),this.setSettings(e,{resizable:!0}),this.elementIndex=t,this.$elementIndexSourcesContainer=this.elementIndex.$sidebar.children("nav").children("ul");var i=$('<form class="modal customize-sources-modal"/>').appendTo(Garnish.$bod);this.$sidebar=$('<div class="cs-sidebar block-types"/>').appendTo(i),this.$sourcesContainer=$('<div class="sources">').appendTo(this.$sidebar),this.$sourceSettingsContainer=$('<div class="source-settings">').appendTo(i),this.$footer=$('<div class="footer"/>').appendTo(i),this.$footerBtnContainer=$('<div class="buttons right"/>').appendTo(this.$footer),this.$cancelBtn=$('<div class="btn" role="button"/>').text(Craft.t("app","Cancel")).appendTo(this.$footerBtnContainer),this.$saveBtn=$('<div class="btn submit disabled" role="button"/>').text(Craft.t("app","Save")).appendTo(this.$footerBtnContainer),this.$saveSpinner=$('<div class="spinner hidden"/>').appendTo(this.$footerBtnContainer),this.$newHeadingBtn=$('<div class="btn submit add icon"/>').text(Craft.t("app","New heading")).appendTo($('<div class="buttons left secondary-buttons"/>').appendTo(this.$footer)),this.$loadingSpinner=$('<div class="spinner"/>').appendTo(i),this.setContainer(i),this.show();var s={elementType:this.elementIndex.elementType};Craft.postActionRequest("element-index-settings/get-customize-sources-modal-data",s,$.proxy(function(t,e){this.$loadingSpinner.remove(),"success"===e&&(this.$saveBtn.removeClass("disabled"),this.buildModal(t))},this)),this.addListener(this.$newHeadingBtn,"click","handleNewHeadingBtnClick"),this.addListener(this.$cancelBtn,"click","hide"),this.addListener(this.$saveBtn,"click","save"),this.addListener(this.$container,"submit","save")},buildModal:function(t){this.availableTableAttributes=t.availableTableAttributes,this.sourceSort=new Garnish.DragSort({handle:".move",axis:"y",onSortChange:$.proxy(function(){this.updateSourcesOnSave=!0},this)}),this.sources=[];for(var e=0;e<t.sources.length;e++){var i=this.addSource(t.sources[e]);this.sources.push(i)}this.selectedSource||void 0===this.sources[0]||this.sources[0].select()},addSource:function(t){var e,i=$('<div class="customize-sources-item"/>').appendTo(this.$sourcesContainer),s=$('<div class="label"/>').appendTo(i),n=$('<input type="hidden"/>').appendTo(i);return $('<a class="move icon" title="'+Craft.t("app","Reorder")+'" role="button"></a>').appendTo(i),void 0!==t.heading?(i.addClass("heading"),n.attr("name","sourceOrder[][heading]"),(e=new Craft.CustomizeSourcesModal.Heading(this,i,s,n,t)).updateItemLabel(t.heading)):(n.attr("name","sourceOrder[][key]").val(t.key),(e=new Craft.CustomizeSourcesModal.Source(this,i,s,n,t)).updateItemLabel(t.label),(this.elementIndex.sourceKey+"/").substr(0,t.key.length+1)===t.key+"/"&&e.select()),this.sourceSort.addItems(i),e},handleNewHeadingBtnClick:function(){var t=this.addSource({heading:""});Garnish.scrollContainerToElement(this.$sidebar,t.$item),t.select(),this.updateSourcesOnSave=!0},save:function(t){if(t&&t.preventDefault(),!this.$saveBtn.hasClass("disabled")&&this.$saveSpinner.hasClass("hidden")){this.$saveSpinner.removeClass("hidden");var e=this.$container.serialize()+"&elementType="+this.elementIndex.elementType;Craft.postActionRequest("element-index-settings/save-customize-sources-modal-settings",e,$.proxy(function(t,e){if(this.$saveSpinner.addClass("hidden"),"success"===e&&t.success){if(this.updateSourcesOnSave&&this.$elementIndexSourcesContainer.length){for(var i,s=null,n=0;n<this.sourceSort.$items.length;n++){var a=this.sourceSort.$items.eq(n).data("source"),r=a.getIndexSource();r&&(a.isHeading()?i=r:(i&&(this.appendSource(i,s),s=i,i=null),this.appendSource(r,s),s=r))}if(s){var o=s.nextAll();this.elementIndex.sourceSelect.removeItems(o),o.remove()}}this.selectedSource&&this.selectedSource.sourceData.key&&(this.elementIndex.selectSourceByKey(this.selectedSource.sourceData.key),this.elementIndex.updateElements()),Craft.cp.displayNotice(Craft.t("app","Source settings saved")),this.hide()}else{var l="success"===e&&t.error?t.error:Craft.t("app","An unknown error occurred.");Craft.cp.displayError(l)}},this))}},appendSource:function(t,e){e?t.insertAfter(e):t.prependTo(this.$elementIndexSourcesContainer)},destroy:function(){for(var t=0;t<this.sources.length;t++)this.sources[t].destroy();delete this.sources,this.base()}}),Craft.CustomizeSourcesModal.BaseSource=Garnish.Base.extend({modal:null,$item:null,$itemLabel:null,$itemInput:null,$settingsContainer:null,sourceData:null,init:function(t,e,i,s,n){this.modal=t,this.$item=e,this.$itemLabel=i,this.$itemInput=s,this.sourceData=n,this.$item.data("source",this),this.addListener(this.$item,"click","select")},isHeading:function(){return!1},isSelected:function(){return this.modal.selectedSource===this},select:function(){this.isSelected()||(this.modal.selectedSource&&this.modal.selectedSource.deselect(),this.$item.addClass("sel"),(this.modal.selectedSource=this).$settingsContainer?this.$settingsContainer.removeClass("hidden"):this.$settingsContainer=$("<div/>").append(this.createSettings()).appendTo(this.modal.$sourceSettingsContainer),this.modal.$sourceSettingsContainer.scrollTop(0))},createSettings:function(){},getIndexSource:function(){},deselect:function(){this.$item.removeClass("sel"),this.modal.selectedSource=null,this.$settingsContainer.addClass("hidden")},updateItemLabel:function(t){this.$itemLabel.text(t)},destroy:function(){this.$item.data("source",null),this.base()}}),Craft.CustomizeSourcesModal.Source=Craft.CustomizeSourcesModal.BaseSource.extend({createSettings:function(){if(this.sourceData.tableAttributes.length){var t,e,i,s,n=this.sourceData.tableAttributes[0],a=n[0],r=n[1],o=this.createTableColumnOption(a,r,!0,!0),l=$("<div/>"),h=[a];for($('<input type="hidden" name="sources['+this.sourceData.key+'][tableAttributes][]" value=""/>').appendTo(l),t=1;t<this.sourceData.tableAttributes.length;t++)i=(e=this.sourceData.tableAttributes[t])[0],s=e[1],l.append(this.createTableColumnOption(i,s,!1,!0)),h.push(i);for(t=0;t<this.modal.availableTableAttributes.length;t++)i=(e=this.modal.availableTableAttributes[t])[0],s=e[1],Craft.inArray(i,h)||l.append(this.createTableColumnOption(i,s,!1,!1));return new Garnish.DragSort(l.children(),{handle:".move",axis:"y"}),Craft.ui.createField($([o[0],l[0]]),{label:Craft.t("app","Table Columns"),instructions:Craft.t("app","Choose which table columns should be visible for this source, and in which order.")})}},createTableColumnOption:function(t,e,i,s){var n=$('<div class="customize-sources-table-column"/>').append('<div class="icon move"/>').append(Craft.ui.createCheckbox({label:e,name:"sources["+this.sourceData.key+"][tableAttributes][]",value:t,checked:s,disabled:i}));return i&&n.children(".move").addClass("disabled"),n},getIndexSource:function(){var t=this.modal.elementIndex.getSourceByKey(this.sourceData.key);if(t)return t.closest("li")}}),Craft.CustomizeSourcesModal.Heading=Craft.CustomizeSourcesModal.BaseSource.extend({$labelField:null,$labelInput:null,$deleteBtn:null,isHeading:function(){return!0},select:function(){this.base(),this.$labelInput.trigger("focus")},createSettings:function(){return this.$labelField=Craft.ui.createTextField({label:Craft.t("app","Heading"),instructions:Craft.t("app","This can be left blank if you just want an unlabeled separator."),value:this.sourceData.heading}),this.$labelInput=this.$labelField.find(".text"),this.$deleteBtn=$('<a class="error delete"/>').text(Craft.t("app","Delete heading")),this.addListener(this.$labelInput,"textchange","handleLabelInputChange"),this.addListener(this.$deleteBtn,"click","deleteHeading"),$([this.$labelField[0],$("<hr/>")[0],this.$deleteBtn[0]])},handleLabelInputChange:function(){this.updateItemLabel(this.$labelInput.val()),this.modal.updateSourcesOnSave=!0},updateItemLabel:function(t){this.$itemLabel.html((t?Craft.escapeHtml(t):'<em class="light">'+Craft.t("app","(blank)")+"</em>")+"&nbsp;"),this.$itemInput.val(t)},deleteHeading:function(){this.modal.sourceSort.removeItems(this.$item),this.modal.sources.splice($.inArray(this,this.modal.sources),1),this.modal.updateSourcesOnSave=!0,this.isSelected()&&(this.deselect(),this.modal.sources.length&&this.modal.sources[0].select()),this.$item.remove(),this.$settingsContainer.remove(),this.destroy()},getIndexSource:function(){var t=this.$labelInput?this.$labelInput.val():this.sourceData.heading;return $('<li class="heading"/>').append($("<span/>").text(t))}}),Craft.DataTableSorter=Garnish.DragSort.extend({$table:null,init:function(t,e){this.$table=$(t);var i=this.$table.children("tbody").children(":not(.filler)");(e=$.extend({},Craft.DataTableSorter.defaults,e)).container=this.$table.children("tbody"),e.helper=$.proxy(this,"getHelper"),e.caboose="<tr/>",e.axis=Garnish.Y_AXIS,e.magnetStrength=4,e.helperLagBase=1.5,this.base(i,e)},getHelper:function(t){var e=$('<div class="'+this.settings.helperClass+'"/>').appendTo(Garnish.$bod),i=$("<table/>").appendTo(e),s=$("<tbody/>").appendTo(i);t.appendTo(s),i.width(this.$table.width()),i.prop("className",this.$table.prop("className"));for(var n=this.$table.find("tr:first").children(),a=t.children(),r=0;r<a.length;r++)$(a[r]).width($(n[r]).width());return e}},{defaults:{handle:".move",helperClass:"datatablesorthelper"}}),Craft.DeleteUserModal=Garnish.Modal.extend({id:null,userId:null,$deleteActionRadios:null,$deleteSpinner:null,userSelect:null,_deleting:!1,init:function(t,e){this.id=Math.floor(1e9*Math.random()),this.userId=t,e=$.extend(Craft.DeleteUserModal.defaults,e);var i,s=$('<form class="modal fitted deleteusermodal" method="post" accept-charset="UTF-8">'+Craft.getCsrfInput()+'<input type="hidden" name="action" value="users/delete-user"/>'+(Garnish.isArray(this.userId)?"":'<input type="hidden" name="userId" value="'+this.userId+'"/>')+(e.redirect?'<input type="hidden" name="redirect" value="'+e.redirect+'"/>':"")+"</form>").appendTo(Garnish.$bod),n=$('<div class="body"><div class="content-summary"><p>'+Craft.t("app","What do you want to do with their content?")+'</p><ul class="bullets"></ul></div><div class="options"><label><input type="radio" name="contentAction" value="transfer"/> '+Craft.t("app","Transfer it to:")+'</label><div id="transferselect'+this.id+'" class="elementselect"><div class="elements"></div><div class="btn add icon dashed">'+Craft.t("app","Choose a user")+'</div></div></div><div><label class="error"><input type="radio" name="contentAction" value="delete"/> '+Craft.t("app","Delete it")+"</label></div></div>").appendTo(s),a=$('<div class="buttons right"/>').appendTo(n),r=$('<div class="btn">'+Craft.t("app","Cancel")+"</div>").appendTo(a);if(e.contentSummary.length)for(var o=0;o<e.contentSummary.length;o++)n.find("ul").append($("<li/>",{text:e.contentSummary[o]}));else n.find("ul").remove();if(this.$deleteActionRadios=n.find("input[type=radio]"),this.$deleteSubmitBtn=$('<input type="submit" class="btn submit disabled" value="'+(Garnish.isArray(this.userId)?Craft.t("app","Delete users"):Craft.t("app","Delete user"))+'" />').appendTo(a),this.$deleteSpinner=$('<div class="spinner hidden"/>').appendTo(a),Garnish.isArray(this.userId)){i=["and"];for(o=0;o<this.userId.length;o++)i.push("not "+this.userId[o])}else i="not "+this.userId;this.userSelect=new Craft.BaseElementSelectInput({id:"transferselect"+this.id,name:"transferContentTo",elementType:"craft\\elements\\User",criteria:{id:i},limit:1,modalSettings:{closeOtherModals:!1},onSelectElements:$.proxy(function(){this.updateSizeAndPosition(),this.$deleteActionRadios.first().prop("checked")?this.validateDeleteInputs():this.$deleteActionRadios.first().trigger("click")},this),onRemoveElements:$.proxy(this,"validateDeleteInputs"),selectable:!1,editable:!1}),this.addListener(r,"click","hide"),this.addListener(this.$deleteActionRadios,"change","validateDeleteInputs"),this.addListener(s,"submit","handleSubmit"),this.base(s,e)},validateDeleteInputs:function(){var t=!1;return this.$deleteActionRadios.eq(0).prop("checked")?t=!!this.userSelect.totalSelected:this.$deleteActionRadios.eq(1).prop("checked")&&(t=!0),t?this.$deleteSubmitBtn.removeClass("disabled"):this.$deleteSubmitBtn.addClass("disabled"),t},handleSubmit:function(t){!this._deleting&&this.validateDeleteInputs()?(this.$deleteSubmitBtn.addClass("active"),this.$deleteSpinner.removeClass("hidden"),this.disable(),this.userSelect.disable(),!(this._deleting=!0)===this.settings.onSubmit()&&t.preventDefault()):t.preventDefault()},onFadeIn:function(){Garnish.isMobileBrowser(!0)||this.$deleteActionRadios.first().trigger("focus"),this.base()}},{defaults:{contentSummary:[],onSubmit:$.noop,redirect:null}}),Craft.DraftEditor=Garnish.Base.extend({$revisionBtn:null,$revisionLabel:null,$spinner:null,$statusIcon:null,$editMetaBtn:null,metaHud:null,$nameTextInput:null,$notesTextInput:null,$saveMetaBtn:null,lastSerializedValue:null,timeout:null,saving:!1,saveXhr:null,checkFormAfterUpdate:!1,submittingForm:!1,duplicatedElements:null,errors:null,preview:null,previewToken:null,init:function(t){if(this.setSettings(t,Craft.DraftEditor.defaults),this.duplicatedElements={},this.$revisionBtn=$("#revision-btn"),this.$revisionLabel=$("#revision-label"),this.$spinner=$("#revision-spinner"),this.$statusIcon=$("#revision-status"),this.settings.previewTargets.length){this.settings.enablePreview&&this.addListener($("#preview-btn"),"click","openPreview");var e=$("#share-btn");1===this.settings.previewTargets.length?this.addListener(e,"click",function(){this.openShareLink(this.settings.previewTargets[0].url)}):this.createShareMenu(e)}this.settings.revisionId||(this.lastSerializedValue=this.serializeForm(!0),Craft.cp.$primaryForm.data("initialSerializedValue",this.lastSerializedValue),Craft.cp.$primaryForm.data("serializer",function(){return this.serializeForm(!0)}.bind(this)),this.settings.draftId?this.initForDraft():(this.addListener($("#save-draft-btn"),"click",function(t){t.preventDefault(),this.createDraft(),this.removeListener(Craft.cp.$primaryForm,"submit.saveShortcut")}.bind(this)),this.settings.canUpdateSource||this.addListener(Craft.cp.$primaryForm,"submit.saveShortcut",function(t){t.saveShortcut&&(t.preventDefault(),this.createDraft(),this.removeListener(Craft.cp.$primaryForm,"submit.saveShortcut"))}.bind(this))))},initForDraft:function(){this.createEditMetaBtn(),this.addListener(Garnish.$bod,"keypress keyup change focus blur click mousedown mouseup",function(t){$(t.target).is(this.statusIcons())||(clearTimeout(this.timeout),Craft.inArray(t.type,["keypress","keyup","change"])?this.timeout=setTimeout(this.checkForm.bind(this),500):this.checkForm())}),this.addListener(Craft.cp.$primaryForm,"submit","handleFormSubmit"),this.addListener(this.$statusIcon,"click",function(){this.showStatusHud(this.$statusIcon)}.bind(this))},showStatusHud:function(t){if(null===this.errors)e="<p>"+Craft.t("app","The draft has been saved.")+"</p>";else{var e='<p class="error">'+Craft.t("app","The draft could not be saved.")+"</p>";if(this.errors.length){for(e+='<ul class="errors">',i=0;i<this.errors.length;i++)e+="<li>"+Craft.escapeHtml(this.errors[i])+"</li>";e+="</ul>"}}var s=new Garnish.HUD(t,e,{onHide:function(){s.destroy(),delete s}})},spinners:function(){return this.preview?this.$spinner.add(this.preview.$spinner):this.$spinner},statusIcons:function(){return this.preview?this.$statusIcon.add(this.preview.$statusIcon):this.$statusIcon},createEditMetaBtn:function(){this.$editMetaBtn=$("<a/>",{class:"btn edit icon",title:Craft.t("app","Edit draft settings")}).appendTo($("#revision-btngroup")),this.addListener(this.$editMetaBtn,"click","showMetaHud")},createShareMenu:function(t){t.addClass("menubtn");for(var e,i,s=$("<div/>",{class:"menu"}).insertAfter(t),n=$("<ul/>").appendTo(s),a=0;a<this.settings.previewTargets.length;a++)e=$("<li/>").appendTo(n),i=$("<a/>",{text:this.settings.previewTargets[a].label}).appendTo(e),this.addListener(i,"click",{target:a},function(t){this.openShareLink(this.settings.previewTargets[t.data.target].url)}.bind(this))},getPreviewToken:function(){return new Promise(function(i,s){this.previewToken?i(this.previewToken):Craft.postActionRequest("preview/create-token",{elementType:this.settings.elementType,sourceId:this.settings.sourceId,siteId:this.settings.siteId,draftId:this.settings.draftId,revisionId:this.settings.revisionId},function(t,e){"success"===e?(this.previewToken=t.token,i(this.previewToken)):s()}.bind(this))}.bind(this))},getTokenizedPreviewUrl:function(s,n){return new Promise(function(e,t){var i={};!n&&this.settings.isLive||(i[n||"x-craft-preview"]=Craft.randomString(10)),this.settings.isLive?e(Craft.getUrl(s,i)):this.getPreviewToken().then(function(t){i[Craft.tokenParam]=t,e(Craft.getUrl(s,i))}).catch(t)}.bind(this))},openShareLink:function(t){this.getTokenizedPreviewUrl(t).then(function(t){window.open(t)})},getPreview:function(){return this.preview||(this.preview=new Craft.Preview(this)),this.preview},openPreview:function(){return new Promise(function(t,e){this.ensureIsDraftOrRevision().then(function(){this.getPreview().open(),t()}.bind(this)).catch(e)}.bind(this))},ensureIsDraftOrRevision:function(){return new Promise(function(t,e){this.settings.draftId||this.settings.revisionid?t():this.createDraft().then(t).catch(e)}.bind(this))},serializeForm:function(t){var e=Craft.cp.$primaryForm.serialize();return this.isPreviewActive()&&(e=e.replace("__PREVIEW_FIELDS__=1",this.preview.$editor.serialize())),t&&!this.settings.isUnsavedDraft&&(e=(e=e.replace(/&action=[^&]*/,"")).replace(/&redirect=[^&]*/,"")),e},checkForm:function(t){if(this.settings.draftId){clearTimeout(this.timeout),this.timeout=null;var e=this.serializeForm(!0);!t&&e===this.lastSerializedValue||this.saveDraft(e)}},isPreviewActive:function(){return this.preview&&this.preview.isActive},createDraft:function(){return new Promise(function(t,e){this.saveDraft(this.serializeForm(!0)).then(t).catch(e)}.bind(this))},saveDraft:function(b){return new Promise(function(f,m){if(this.submittingForm)m();else if(this.lastSerializedValue=b,this.saving)this.checkFormAfterUpdate=!0;else{this.saving=!0;var v=this.spinners().removeClass("hidden"),C=this.statusIcons().removeClass("invisible checkmark-icon alert-icon").addClass("hidden");this.$saveMetaBtn&&this.$saveMetaBtn.addClass("active"),this.errors=null;var t=Craft.getActionUrl(this.settings.saveDraftAction);this.saveXhr=Craft.postActionRequest(t,this.prepareData(b),function(t,e){if(v.addClass("hidden"),this.$saveMetaBtn&&this.$saveMetaBtn.removeClass("active"),this.saving=!1,"abort"!==e){if("success"!==e||t.errors)return this.errors=(t?t.errors:null)||[],C.removeClass("hidden checkmark-icon").addClass("alert-icon").attr("title",Craft.t("app","The draft could not be saved.")),void m();t.title&&$("#header h1").text(t.title),t.docTitle&&(document.title=t.docTitle),this.$revisionLabel.text(t.draftName),this.settings.draftName=t.draftName,this.settings.draftNotes=t.draftNotes;var i=this.$revisionBtn.data("menubtn")?this.$revisionBtn.data("menubtn").menu:null,s=!this.settings.draftId;if(s){var n,a=document.location.href.search("#");n=-1!==a?document.location.href.substr(0,a):document.location.href,n+=(n.match(/\?/)?"&":"?")+"draftId="+t.draftId,-1!==a&&(n+=document.location.href.substr(a)),history.replaceState({},"",n);var r=$("#save-btn-container");r.length&&r.replaceWith($("<input/>",{type:"submit",class:"btn submit",value:Craft.t("app","Update {type}",{type:this.settings.elementTypeDisplayName})}));var o=$("#save-draft-btn-container");if(o.add(o.prev(".spacer")).remove(),this.settings.draftId=t.draftId,this.settings.isLive=!1,this.settings.canDeleteDraft=!0,this.previewToken=null,this.initForDraft(),i){i.$options.filter(":not(.site-option)").removeClass("sel");var l=i.$container.find(".revision-group-drafts");if(!l.length){var h=$("<h6/>",{text:Craft.t("app","Drafts")}).insertAfter(i.$container.find(".revision-group-current"));l=$("<ul/>",{class:"padded revision-group-drafts"}).insertAfter(h)}var d=$("<li/>").appendTo(l),c=$("<a/>",{class:"sel",html:'<span class="draft-name"></span> <span class="draft-creator light"></span>'}).appendTo(d);i.addOptions(c),i.selectOption(c);for(var u=i.$options.filter(".site-option[href]"),p=0;p<u.length;p++){var g=u.eq(p);g.attr("href",Craft.getUrl(g.attr("href"),{draftId:t.draftId}))}}}i&&(i.$options.filter(".sel").find(".draft-name").text(t.draftName),i.$options.filter(".sel").find(".draft-creator").text(Craft.t("app","by {creator}",{creator:t.creator}))),t.previewTargets&&JSON.stringify(t.previewTargets)!==JSON.stringify(this.settings.previewTargets)&&this.updatePreviewTargets(t.previewTargets),this.afterUpdate(b),s&&this.trigger("createDraft"),this.$nameTextInput&&this.checkMetaValues(),$.extend(this.duplicatedElements,t.duplicatedElements),f()}}.bind(this))}}.bind(this))},prepareData:function(t){for(var e in this.duplicatedElements)this.duplicatedElements.hasOwnProperty(e)&&(t=t.replace(new RegExp(Craft.escapeRegex(encodeURIComponent("]["+e+"]")),"g"),"]["+this.duplicatedElements[e]+"]"));return this.settings.draftId&&(t+="&draftId="+this.settings.draftId+"&draftName="+encodeURIComponent(this.settings.draftName)+"&draftNotes="+encodeURIComponent(this.settings.draftNotes||"")),t},updatePreviewTargets:function(t){for(var e={},i=0;i<this.settings.previewTargets.length;i++)e[this.settings.previewTargets[i].label]=this.settings.previewTargets[i];for(i=0;i<t.length;i++)e[t[i].label]&&(e[t[i].label].url=t[i].url)},afterUpdate:function(t){Craft.cp.$primaryForm.data("initialSerializedValue",t),this.statusIcons().removeClass("hidden").addClass("checkmark-icon").attr("title",Craft.t("app","The draft has been saved.")),this.trigger("update"),this.checkFormAfterUpdate&&(this.checkFormAfterUpdate=!1,this.timeout||this.checkForm())},showMetaHud:function(){this.metaHud?this.metaHud.show():(this.createMetaHud(),this.onMetaHudShow()),Garnish.isMobileBrowser(!0)||this.$nameTextInput.trigger("focus")},createMetaHud:function(){var t,e,i=$("<div/>");t=$('<div class="field"><div class="heading"><label for="draft-name">'+Craft.t("app","Draft Name")+"</label></div></div>").appendTo(i),e=$('<div class="input"/>').appendTo(t),this.$nameTextInput=$('<input type="text" class="text fullwidth" id="draft-name"/>').appendTo(e).val(this.settings.draftName),t=$('<div class="field"><div class="heading"><label for="draft-notes">'+Craft.t("app","Notes")+"</label></div></div>").appendTo(i),e=$('<div class="input"/>').appendTo(t),this.$notesTextInput=$('<textarea class="text fullwidth" id="draft-notes" rows="2"/>').appendTo(e).val(this.settings.draftNotes);var s=$('<div class="hud-footer flex flex-center"/>').appendTo(i);if(this.settings.canDeleteDraft)var n=$('<a class="error" role="button">'+Craft.t("app","Delete")+"</a>").appendTo(s);$('<div class="flex-grow"></div>').appendTo(s),this.$saveMetaBtn=$('<input type="submit" class="btn submit disabled" value="'+Craft.t("app","Save")+'"/>').appendTo(s),this.metaHud=new Garnish.HUD(this.$editMetaBtn,i,{onSubmit:this.saveMeta.bind(this)}),new Garnish.NiceText(this.$notesTextInput),this.addListener(this.$notesTextInput,"keydown","onNotesKeydown"),this.addListener(this.$nameTextInput,"textchange","checkMetaValues"),this.addListener(this.$notesTextInput,"textchange","checkMetaValues"),this.metaHud.on("show",this.onMetaHudShow.bind(this)),this.metaHud.on("hide",this.onMetaHudHide.bind(this)),this.metaHud.on("escape",this.onMetaHudEscape.bind(this)),n&&this.addListener(n,"click","deleteDraft")},onMetaHudShow:function(){this.$editMetaBtn.addClass("active")},onMetaHudHide:function(){this.$editMetaBtn.removeClass("active")},onMetaHudEscape:function(){this.$nameTextInput.val(this.settings.draftName),this.$notesTextInput.val(this.settings.draftNotes)},onNotesKeydown:function(t){t.keyCode===Garnish.RETURN_KEY&&(t.preventDefault(),this.metaHud.submit())},checkMetaValues:function(){return!this.$nameTextInput.val()||this.$nameTextInput.val()===this.settings.draftName&&this.$notesTextInput.val()===this.settings.draftNotes?(this.$saveMetaBtn.addClass("disabled"),!1):(this.$saveMetaBtn.removeClass("disabled"),!0)},shakeMetaHud:function(){Garnish.shake(this.metaHud.$hud)},saveMeta:function(){this.checkMetaValues()?(this.settings.draftName=this.$nameTextInput.val(),this.settings.draftNotes=this.$notesTextInput.val(),this.metaHud.hide(),this.checkForm(!0)):this.shakeMetaHud()},deleteDraft:function(){confirm(Craft.t("app","Are you sure you want to delete this draft?"))&&Craft.postActionRequest(this.settings.deleteDraftAction,{draftId:this.settings.draftId},function(t,e){"success"===e&&(window.location.href=this.settings.cpEditUrl)}.bind(this))},handleFormSubmit:function(t){if(t.preventDefault(),!this.submittingForm&&(t.customTrigger||this.settings.isUnsavedDraft||!this.settings.draftId||this.settings.canUpdateSource)){Craft.cp.$confirmUnloadForms=Craft.cp.$confirmUnloadForms.not(Craft.cp.$primaryForm),this.saving&&this.saveXhr.abort();for(var e,i=$("<form/>",{attr:{"accept-charset":Craft.cp.$primaryForm.attr("accept-charset"),action:Craft.cp.$primaryForm.attr("action"),enctype:Craft.cp.$primaryForm.attr("enctype"),method:Craft.cp.$primaryForm.attr("method"),target:Craft.cp.$primaryForm.attr("target")}}),s=this.prepareData(this.serializeForm(!1)).split("&"),n=0;n<s.length;n++)e=s[n].split("=",2),$("<input/>",{type:"hidden",name:decodeURIComponent(e[0]),value:decodeURIComponent(e[1]||"")}).appendTo(i);t.customTrigger&&t.customTrigger.data("action")||$("<input/>",{type:"hidden",name:"action",value:this.settings.applyDraftAction}).appendTo(i),t.saveShortcut&&Craft.cp.$primaryForm.data("saveshortcut-redirect")||t.customTrigger&&t.customTrigger.data("redirect")||$("<input/>",{type:"hidden",name:"redirect",value:this.settings.hashedRedirectUrl}).appendTo(i),i.appendTo(Garnish.$bod),i.submit(),this.submittingForm=!0}}},{defaults:{elementType:null,sourceId:null,siteId:null,isLive:!1,cpEditUrl:null,draftId:null,revisionId:null,draftName:null,draftNotes:null,canDeleteDraft:!1,canUpdateSource:!1,saveDraftAction:null,deleteDraftAction:null,applyDraftAction:null,enablePreview:!1,previewTargets:[]}}),Craft.DynamicGenerator=Craft.BaseInputGenerator.extend({callback:$.noop,init:function(t,e,i){this.callback=i,this.base(t,e)},generateTargetValue:function(t){return this.callback(t)}}),Craft.EditableTable=Garnish.Base.extend({initialized:!1,id:null,baseName:null,columns:null,sorter:null,biggestId:-1,$table:null,$tbody:null,$addRowBtn:null,rowCount:0,hasMaxRows:!1,hasMinRows:!1,radioCheckboxes:null,init:function(t,e,i,s){if(this.id=t,this.baseName=e,this.columns=i,this.setSettings(s,Craft.EditableTable.defaults),this.radioCheckboxes={},this.$table=$("#"+t),this.$tbody=this.$table.children("tbody"),this.rowCount=this.$tbody.find("tr").length,this.$table.data("editable-table")&&(Garnish.log("Double-instantiating an editable table on an element"),this.$table.data("editable-table").destroy()),this.$table.data("editable-table",this),this.sorter=new Craft.DataTableSorter(this.$table,{helperClass:"editabletablesorthelper",copyDraggeeInputValuesToHelper:!0}),this.isVisible()?this.initialize():setTimeout($.proxy(this,"initializeIfVisible"),500),this.settings.minRows&&this.rowCount<this.settings.minRows)for(var n=this.rowCount;n<this.settings.minRows;n++)this.addRow()},isVisible:function(){return 0<this.$table.height()},initialize:function(){if(this.initialized)return!1;this.initialized=!0,this.removeListener(Garnish.$win,"resize");for(var t=this.$tbody.children(),e=0;e<t.length;e++)this.createRowObj(t[e]);return this.$addRowBtn=this.$table.next(".add"),this.updateAddRowButton(),this.addListener(this.$addRowBtn,"activate","addRow"),!0},initializeIfVisible:function(){this.removeListener(Garnish.$win,"resize"),this.isVisible()?this.initialize():this.addListener(Garnish.$win,"resize","initializeIfVisible")},updateAddRowButton:function(){this.canAddRow()?(this.$addRowBtn.css("opacity","1"),this.$addRowBtn.css("pointer-events","auto")):(this.$addRowBtn.css("opacity","0.2"),this.$addRowBtn.css("pointer-events","none"))},canDeleteRow:function(){return this.rowCount>this.settings.minRows},deleteRow:function(t){this.canDeleteRow()&&(this.sorter.removeItems(t.$tr),t.$tr.remove(),this.rowCount--,this.updateAddRowButton(),this.settings.onDeleteRow(t.$tr),t.destroy())},canAddRow:function(){return!this.settings.staticRows&&(!this.settings.maxRows||this.rowCount<this.settings.maxRows)},addRow:function(t,e){if(this.canAddRow()){var i=this.settings.rowIdPrefix+(this.biggestId+1),s=this.createRow(i,this.columns,this.baseName,$.extend({},this.settings.defaultValues));e?s.prependTo(this.$tbody):s.appendTo(this.$tbody);var n=this.createRowObj(s);return this.sorter.addItems(s),!1!==t&&s.find("input:visible,textarea:visible,select:visible").first().trigger("focus"),this.rowCount++,this.updateAddRowButton(),this.settings.onAddRow(s),n}},createRow:function(t,e,i,s){return Craft.EditableTable.createRow(t,e,i,s)},createRowObj:function(t){return new Craft.EditableTable.Row(this,t)},focusOnPrevRow:function(t,e,i){var s,n=t.prev("tr");if((s=n.length?n.data("editable-table-row"):this.addRow(!1,!0))&&s.$tds[e])if($(s.$tds[e]).hasClass("disabled"))n&&this.focusOnPrevRow(n,e,i);else{var a=$("textarea,input.text",s.$tds[e]);a.length&&($(i).trigger("blur"),a.trigger("focus"))}},focusOnNextRow:function(t,e,i){var s,n=t.next("tr");if((s=n.length?n.data("editable-table-row"):this.addRow(!1))&&s.$tds[e])if($(s.$tds[e]).hasClass("disabled"))n&&this.focusOnNextRow(n,e,i);else{var a=$("textarea,input.text",s.$tds[e]);a.length&&($(i).trigger("blur"),a.trigger("focus"))}}},{textualColTypes:["color","date","email","multiline","number","singleline","template","time","url"],defaults:{rowIdPrefix:"",defaultValues:{},staticRows:!1,minRows:null,maxRows:null,onAddRow:$.noop,onDeleteRow:$.noop},createRow:function(t,e,i,s){var n=$("<tr/>",{"data-id":t});for(var a in e)if(e.hasOwnProperty(a)){var r,o=e[a],l=void 0!==s[a]?s[a]:"";if("heading"===o.type)r=$("<th/>",{scope:"row",class:o.class,html:l});else{var h=i+"["+t+"]["+a+"]",d=Craft.inArray(o.type,Craft.EditableTable.textualColTypes);switch(r=$("<td/>",{class:o.class,width:o.width}),d&&r.addClass("textual"),o.code&&r.addClass("code"),o.type){case"checkbox":Craft.ui.createCheckbox({name:h,value:o.value||"1",checked:!!l}).appendTo(r);break;case"color":Craft.ui.createColorInput({name:h,value:l,small:!0}).appendTo(r);break;case"date":Craft.ui.createDateInput({name:h,value:l}).appendTo(r);break;case"lightswitch":Craft.ui.createLightswitch({name:h,value:o.value||"1",on:!!l,small:!0}).appendTo(r);break;case"select":Craft.ui.createSelect({name:h,options:o.options,value:l||function(){for(var t in o.options)if(o.options.hasOwnProperty(t)&&o.options[t].default)return void 0!==o.options[t].value?o.options[t].value:t;return null}(),class:"small"}).appendTo(r);break;case"time":Craft.ui.createTimeInput({name:h,value:l}).appendTo(r);break;case"email":case"url":Craft.ui.createTextInput({name:h,value:l,type:o.type,placeholder:o.placeholder||null}).appendTo(r);break;default:$("<textarea/>",{name:h,rows:1,val:l,placeholder:o.placeholder}).appendTo(r)}}r.appendTo(n)}return $("<td/>",{class:"thin action"}).append($("<a/>",{class:"move icon",title:Craft.t("app","Reorder")})).appendTo(n),$("<td/>",{class:"thin action"}).append($("<a/>",{class:"delete icon",title:Craft.t("app","Delete")})).appendTo(n),n}}),Craft.EditableTable.Row=Garnish.Base.extend({table:null,id:null,niceTexts:null,$tr:null,$tds:null,tds:null,$textareas:null,$deleteBtn:null,init:function(t,e){this.table=t,this.$tr=$(e),this.$tds=this.$tr.children(),this.tds=[],this.id=this.$tr.attr("data-id"),this.$tr.data("editable-table-row",this);var i=parseInt(this.id.substr(this.table.settings.rowIdPrefix.length));i>this.table.biggestId&&(this.table.biggestId=i),this.$textareas=$(),this.niceTexts=[];var s,n,a,r,o,l={},h=0;for(s in this.table.columns)this.table.columns.hasOwnProperty(s)&&(n=this.table.columns[s],a=this.tds[s]=this.$tds[h],Craft.inArray(n.type,Craft.EditableTable.textualColTypes)?(r=$("textarea, input.text",a),this.$textareas=this.$textareas.add(r),this.addListener(r,"focus","onTextareaFocus"),this.addListener(r,"mousedown","ignoreNextTextareaFocus"),this.niceTexts.push(new Garnish.NiceText(r,{onHeightChange:$.proxy(this,"onTextareaHeightChange")})),this.addListener(r,"keypress",{tdIndex:h,type:n.type},"handleKeypress"),this.addListener(r,"textchange",{type:n.type},"validateValue"),r.trigger("textchange"),l[s]=r):"checkbox"===n.type&&(o=$('input[type="checkbox"]',a),n.radioMode&&(void 0===this.table.radioCheckboxes[s]&&(this.table.radioCheckboxes[s]=[]),this.table.radioCheckboxes[s].push(o[0]),this.addListener(o,"change",{colId:s},"onRadioCheckboxChange")),n.toggle&&this.addListener(o,"change",{colId:s},function(t){this.applyToggleCheckbox(t.data.colId)})),h++);for(s in this.onTextareaHeightChange(),this.table.columns)!this.table.columns.hasOwnProperty(s)||"checkbox"===(n=this.table.columns[s]).type&&n.toggle&&this.applyToggleCheckbox(s);for(s in this.table.columns)!this.table.columns.hasOwnProperty(s)||(n=this.table.columns[s]).autopopulate&&void 0!==l[n.autopopulate]&&!l[s].val()&&new Craft.HandleGenerator(l[s],l[n.autopopulate],{allowNonAlphaStart:!0});var d=this.$tr.children().last().find(".delete");this.addListener(d,"click","deleteRow")},onTextareaFocus:function(t){this.onTextareaHeightChange();var e=$(t.currentTarget);e.data("ignoreNextFocus")?e.data("ignoreNextFocus",!1):setTimeout(function(){Craft.selectFullValue(e)},0)},onRadioCheckboxChange:function(t){if(t.currentTarget.checked)for(var e=0;e<this.table.radioCheckboxes[t.data.colId].length;e++){var i=this.table.radioCheckboxes[t.data.colId][e];i.checked=i===t.currentTarget}},applyToggleCheckbox:function(t){for(var e,i,s=this.table.columns[t],n=$('input[type="checkbox"]',this.tds[t]).prop("checked"),a=0;a<s.toggle.length;a++)e=s.toggle[a],this.table.colum,(i="!"===e[0])&&(e=e.substr(1)),n&&!i||!n&&i?$(this.tds[e]).removeClass("disabled").find("textarea, input").prop("disabled",!1):$(this.tds[e]).addClass("disabled").find("textarea, input").prop("disabled",!0)},ignoreNextTextareaFocus:function(t){$.data(t.currentTarget,"ignoreNextFocus",!0)},handleKeypress:function(t){var e=t.keyCode?t.keyCode:t.charCode,i=Garnish.isCtrlKeyPressed(t);if(e===Garnish.RETURN_KEY&&("multiline"!==t.data.type||i))return t.preventDefault(),void(t.shiftKey?this.table.focusOnPrevRow(this.$tr,t.data.tdIndex,t.currentTarget):this.table.focusOnNextRow(this.$tr,t.data.tdIndex,t.currentTarget));"number"!==t.data.type||i||Craft.inArray(e,Craft.EditableTable.Row.numericKeyCodes)||t.preventDefault()},validateValue:function(t){if("multiline"!==t.data.type){var e;if("number"===t.data.type){var i=t.currentTarget.value.match(/^\s*(-?[\d\\.]*)/);e=null!==i?i[1]:""}else e=t.currentTarget.value.replace(/[\r\n]/g,"");e!==t.currentTarget.value&&(t.currentTarget.value=e)}},onTextareaHeightChange:function(){for(var t=-1,e=0;e<this.niceTexts.length;e++)this.niceTexts[e].height>t&&(t=this.niceTexts[e].height);this.$textareas.css("min-height",t);var i=this.$textareas.filter(":visible").first().parent().height();t<i&&this.$textareas.css("min-height",i)},deleteRow:function(){this.table.deleteRow(this)}},{numericKeyCodes:[9,8,37,38,39,40,45,91,46,190,48,49,50,51,52,53,54,55,56,57]}),Craft.ElementActionTrigger=Garnish.Base.extend({maxLevels:null,newChildUrl:null,$trigger:null,$selectedItems:null,triggerEnabled:!0,init:function(t){this.setSettings(t,Craft.ElementActionTrigger.defaults),this.$trigger=$("#"+t.type.replace(/[\[\]\\]+/g,"-")+"-actiontrigger"),this.settings.activate&&(this.$trigger.data("custom-handler",!0),"FORM"===this.$trigger.prop("nodeName")?this.addListener(this.$trigger,"submit","handleTriggerActivation"):this.addListener(this.$trigger,"click","handleTriggerActivation")),this.updateTrigger(),Craft.elementIndex.on("selectionChange",$.proxy(this,"updateTrigger"))},updateTrigger:function(){0!==Craft.elementIndex.getSelectedElements().length&&(this.validateSelection()?this.enableTrigger():this.disableTrigger())},validateSelection:function(){var t=!0;return this.$selectedItems=Craft.elementIndex.getSelectedElements(),!this.settings.batch&&1<this.$selectedItems.length?t=!1:"function"==typeof this.settings.validateSelection&&(t=this.settings.validateSelection(this.$selectedItems)),t},enableTrigger:function(){this.triggerEnabled||(this.$trigger.removeClass("disabled"),this.triggerEnabled=!0)},disableTrigger:function(){this.triggerEnabled&&(this.$trigger.addClass("disabled"),this.triggerEnabled=!1)},handleTriggerActivation:function(t){t.preventDefault(),t.stopPropagation(),this.triggerEnabled&&this.settings.activate(this.$selectedItems)}},{defaults:{type:null,batch:!0,validateSelection:null,activate:null}}),Craft.ElementThumbLoader=Garnish.Base.extend({queue:null,workers:[],init:function(){this.queue=[];for(var t=0;t<3;t++)this.workers.push(new Craft.ElementThumbLoader.Worker(this))},load:function(t){if(this.queue=this.queue.concat(t.find(".elementthumb").toArray()),this.queue.length)for(var e=0;e<this.workers.length;e++)this.workers[e].active||this.workers[e].loadNext()},destroy:function(){for(var t=0;t<this.workers.length;t++)this.workers[t].destroy();this.base()}}),Craft.ElementThumbLoader.Worker=Garnish.Base.extend({loader:null,active:!1,init:function(t){this.loader=t},loadNext:function(){var t=this.loader.queue.shift();if(void 0!==t){this.active=!0;var e=$(t);if(e.find("img").length)this.loadNext();else{var i=$("<img/>",{sizes:e.attr("data-sizes"),srcset:e.attr("data-srcset"),alt:""});this.addListener(i,"load","loadNext"),i.appendTo(e),picturefill({elements:[i[0]]})}}else this.active=!1}}),Craft.ElevatedSessionForm=Garnish.Base.extend({$form:null,inputs:null,init:function(t,e){if(this.$form=$(t),void 0!==e){this.inputs=[],e=$.makeArray(e);for(var i=0;i<e.length;i++)for(var s=$(e[i]),n=0;n<s.length;n++){var a=s.eq(n);this.inputs.push({input:a,val:Garnish.getInputPostVal(a)})}}this.addListener(this.$form,"submit","handleFormSubmit")},handleFormSubmit:function(t){if(Craft.elevatedSessionManager.fetchingTimeout)t.preventDefault();else{if(this.inputs){for(var e,i=!1,s=0;s<this.inputs.length;s++)if((e=this.inputs[s].input).data("passwordInput")&&(e=e.data("passwordInput").$currentInput),Garnish.getInputPostVal(e)!==this.inputs[s].val){i=!0;break}if(!i)return}t.preventDefault(),Craft.elevatedSessionManager.requireElevatedSession($.proxy(this,"submitForm"))}},submitForm:function(){this.disable(),this.$form.trigger("submit"),this.enable()}}),Craft.ElevatedSessionManager=Garnish.Base.extend({fetchingTimeout:!1,passwordModal:null,$passwordInput:null,$passwordSpinner:null,$submitBtn:null,$errorPara:null,callback:null,requireElevatedSession:function(t){this.callback=t,this.fetchingTimeout=!0,Craft.postActionRequest("users/get-elevated-session-timeout",$.proxy(function(t,e){this.fetchingTimeout=!1,"success"===e&&(!1===t.timeout||t.timeout>=Craft.ElevatedSessionManager.minSafeElevatedSessionTimeout?this.callback():this.showPasswordModal())},this))},showPasswordModal:function(){if(this.passwordModal)this.passwordModal.show();else{var t=$('<form id="elevatedsessionmodal" class="modal secure fitted"/>'),e=$('<div class="body"><p>'+Craft.t("app","Enter your password to continue.")+"</p></div>").appendTo(t),i=$('<div class="inputcontainer">').appendTo(e),s=$('<div class="flex"/>').appendTo(i),n=$('<div class="flex-grow"/>').appendTo(s),a=$("<td/>").appendTo(s),r=$('<div class="passwordwrapper"/>').appendTo(n);this.$passwordInput=$('<input type="password" class="text password fullwidth" placeholder="'+Craft.t("app","Password")+'" autocomplete="current-password"/>').appendTo(r),this.$passwordSpinner=$('<div class="spinner hidden"/>').appendTo(i),this.$submitBtn=$('<input type="submit" class="btn submit disabled" value="'+Craft.t("app","Submit")+'" />').appendTo(a),this.$errorPara=$('<p class="error"/>').appendTo(e),this.passwordModal=new Garnish.Modal(t,{closeOtherModals:!1,onFadeIn:$.proxy(function(){setTimeout($.proxy(this,"focusPasswordInput"),100)},this),onFadeOut:$.proxy(function(){this.$passwordInput.val("")},this)}),new Craft.PasswordInput(this.$passwordInput,{onToggleInput:$.proxy(function(t){this.$passwordInput=t},this)}),this.addListener(this.$passwordInput,"textchange","validatePassword"),this.addListener(t,"submit","submitPassword")}},focusPasswordInput:function(){Garnish.isMobileBrowser(!0)||this.$passwordInput.trigger("focus")},validatePassword:function(){return 6<=this.$passwordInput.val().length?(this.$submitBtn.removeClass("disabled"),!0):(this.$submitBtn.addClass("disabled"),!1)},submitPassword:function(t){if(t&&t.preventDefault(),this.validatePassword()){this.$passwordSpinner.removeClass("hidden"),this.clearLoginError();var e={currentPassword:this.$passwordInput.val()};Craft.postActionRequest("users/start-elevated-session",e,$.proxy(function(t,e){this.$passwordSpinner.addClass("hidden"),"success"===e?t.success?(this.passwordModal.hide(),this.callback()):(this.showPasswordError(t.message||Craft.t("app","Incorrect password.")),Garnish.shake(this.passwordModal.$container),this.focusPasswordInput()):this.showPasswordError()},this))}},showPasswordError:function(t){null==t&&(t=Craft.t("app","An unknown error occurred.")),this.$errorPara.text(t),this.passwordModal.updateSizeAndPosition()},clearLoginError:function(){this.showPasswordError("")}},{minSafeElevatedSessionTimeout:5}),Craft.elevatedSessionManager=new Craft.ElevatedSessionManager,Craft.EntryIndex=Craft.BaseElementIndex.extend({publishableSections:null,$newEntryBtnGroup:null,$newEntryBtn:null,init:function(t,e,i){this.on("selectSource",$.proxy(this,"updateButton")),this.on("selectSite",$.proxy(this,"updateButton")),this.base(t,e,i)},afterInit:function(){this.publishableSections=[];for(var t=0;t<Craft.publishableSections.length;t++){var e=Craft.publishableSections[t];this.getSourceByKey("section:"+e.uid)&&this.publishableSections.push(e)}this.base()},getDefaultSourceKey:function(){if("index"===this.settings.context&&"undefined"!=typeof defaultSectionHandle){if("singles"===defaultSectionHandle)return"singles";for(var t=0;t<this.$sources.length;t++){var e=$(this.$sources[t]);if(e.data("handle")===defaultSectionHandle)return e.data("key")}}return this.base()},updateButton:function(){if(this.$source){var t,e,i,s;if(t="singles"===this.$source.data("key")?"singles":this.$source.data("handle"),this.publishableSections.length){var n,a;if(this.$newEntryBtnGroup&&this.$newEntryBtnGroup.remove(),t)for(e=0;e<this.publishableSections.length;e++)if(this.publishableSections[e].handle===t){n=this.publishableSections[e];break}if(this.$newEntryBtnGroup=$('<div class="btngroup submit"/>'),n?(i=this._getSectionTriggerHref(n),s="index"===this.settings.context?Craft.t("app","New entry"):Craft.t("app","New {section} entry",{section:n.name}),this.$newEntryBtn=$('<a class="btn submit add icon" '+i+">"+Craft.escapeHtml(s)+"</a>").appendTo(this.$newEntryBtnGroup),"index"!==this.settings.context&&this.addListener(this.$newEntryBtn,"click",function(t){this._openCreateEntryModal(t.currentTarget.getAttribute("data-id"))}),1<this.publishableSections.length&&(a=$('<div class="btn submit menubtn"></div>').appendTo(this.$newEntryBtnGroup))):this.$newEntryBtn=a=$('<div class="btn submit add icon menubtn">'+Craft.t("app","New entry")+"</div>").appendTo(this.$newEntryBtnGroup),a){var r='<div class="menu"><ul>';for(e=0;e<this.publishableSections.length;e++){var o=this.publishableSections[e];("index"===this.settings.context&&-1!==$.inArray(this.siteId,o.sites)||"index"!==this.settings.context&&o!==n)&&(i=this._getSectionTriggerHref(o),s="index"===this.settings.context?o.name:Craft.t("app","New {section} entry",{section:o.name}),r+="<li><a "+i+'">'+Craft.escapeHtml(s)+"</a></li>")}$(r+="</ul></div>").appendTo(this.$newEntryBtnGroup);var l=new Garnish.MenuBtn(a);"index"!==this.settings.context&&l.on("optionSelect",$.proxy(function(t){this._openCreateEntryModal(t.option.getAttribute("data-id"))},this))}this.addButton(this.$newEntryBtnGroup)}if("index"===this.settings.context&&"undefined"!=typeof history){var h="entries";t&&(h+="/"+t),history.replaceState({},"",Craft.getUrl(h))}}},_getSectionTriggerHref:function(t){if("index"!==this.settings.context)return'data-id="'+t.id+'"';var e="entries/"+t.handle+"/new";if(params={},this.siteId)for(var i=0;i<Craft.sites.length;i++)Craft.sites[i].id==this.siteId&&(params.site=Craft.sites[i].handle);return'href="'+Craft.getUrl(e,params)+'"'},_openCreateEntryModal:function(t){if(!this.$newEntryBtn.hasClass("loading")){for(var i,e=0;e<this.publishableSections.length;e++)if(this.publishableSections[e].id==t){i=this.publishableSections[e];break}if(i){this.$newEntryBtn.addClass("inactive");var s=this.$newEntryBtn.text();this.$newEntryBtn.text(Craft.t("app","New {section} entry",{section:i.name})),Craft.createElementEditor(this.elementType,{hudTrigger:this.$newEntryBtnGroup,elementType:"craft\\elements\\Entry",siteId:this.siteId,attributes:{sectionId:t,typeId:i.entryTypes[0].id},onBeginLoading:$.proxy(function(){this.$newEntryBtn.addClass("loading")},this),onEndLoading:$.proxy(function(){this.$newEntryBtn.removeClass("loading")},this),onHideHud:$.proxy(function(){this.$newEntryBtn.removeClass("inactive").text(s)},this),onSaveElement:$.proxy(function(t){var e="section:"+i.uid;this.sourceKey!==e&&this.selectSourceByKey(e),this.selectElementAfterUpdate(t.id),this.updateElements()},this)})}}}}),Craft.registerElementIndexClass("craft\\elements\\Entry",Craft.EntryIndex),Craft.FieldLayoutDesigner=Garnish.Base.extend({$container:null,$tabContainer:null,$unusedFieldContainer:null,$newTabBtn:null,$allFields:null,tabGrid:null,unusedFieldGrid:null,tabDrag:null,fieldDrag:null,init:function(t,e){this.$container=$(t),this.setSettings(e,Craft.FieldLayoutDesigner.defaults),this.$tabContainer=this.$container.children(".fld-tabs"),this.$unusedFieldContainer=this.$container.children(".unusedfields"),this.$newTabBtn=this.$container.find("> .newtabbtn-container > .btn"),this.$allFields=this.$unusedFieldContainer.find(".fld-field"),this.tabGrid=new Craft.Grid(this.$tabContainer,Craft.FieldLayoutDesigner.gridSettings),this.unusedFieldGrid=new Craft.Grid(this.$unusedFieldContainer,Craft.FieldLayoutDesigner.gridSettings);for(var i=this.$tabContainer.children(),s=0;s<i.length;s++)this.initTab($(i[s]));this.fieldDrag=new Craft.FieldLayoutDesigner.FieldDrag(this),this.settings.customizableTabs&&(this.tabDrag=new Craft.FieldLayoutDesigner.TabDrag(this),this.addListener(this.$newTabBtn,"activate","addTab"))},initTab:function(t){if(this.settings.customizableTabs){var e=t.find(".tabs .settings"),i=$('<div class="menu" data-align="center"/>').insertAfter(e),s=$("<ul/>").appendTo(i);$('<li><a data-action="rename">'+Craft.t("app","Rename")+"</a></li>").appendTo(s),$('<li><a data-action="delete">'+Craft.t("app","Delete")+"</a></li>").appendTo(s),new Garnish.MenuBtn(e,{onOptionSelect:$.proxy(this,"onTabOptionSelect")})}for(var n=t.children(".fld-tabcontent").children(),a=0;a<n.length;a++)this.initField($(n[a]))},initField:function(t){var e=t.find(".settings"),i=$('<div class="menu" data-align="center"/>').insertAfter(e),s=$("<ul/>").appendTo(i);t.hasClass("fld-required")?$('<li><a data-action="toggle-required">'+Craft.t("app","Make not required")+"</a></li>").appendTo(s):$('<li><a data-action="toggle-required">'+Craft.t("app","Make required")+"</a></li>").appendTo(s),$('<li><a data-action="remove">'+Craft.t("app","Remove")+"</a></li>").appendTo(s),new Garnish.MenuBtn(e,{onOptionSelect:$.proxy(this,"onFieldOptionSelect")})},onTabOptionSelect:function(t){if(this.settings.customizableTabs){var e=$(t),i=e.data("menu").$anchor.parent().parent().parent();switch(e.data("action")){case"rename":this.renameTab(i);break;case"delete":this.deleteTab(i)}}},onFieldOptionSelect:function(t){var e=$(t),i=e.data("menu").$anchor.parent();switch(e.data("action")){case"toggle-required":this.toggleRequiredField(i,e);break;case"remove":this.removeField(i)}},renameTab:function(t){if(this.settings.customizableTabs){var e=t.find(".tabs .tab span"),i=e.text(),s=prompt(Craft.t("app","Give your tab a name."),i);s&&s!==i&&(e.text(s),t.find(".id-input").attr("name",this.getFieldInputName(s)))}},deleteTab:function(t){if(this.settings.customizableTabs){for(var e=t.find(".fld-field"),i=0;i<e.length;i++){var s=$(e[i]).attr("data-id");this.removeFieldById(s)}this.tabGrid.removeItems(t),this.tabDrag.removeItems(t),t.remove()}},toggleRequiredField:function(t,e){t.hasClass("fld-required")?(t.removeClass("fld-required"),t.find(".required-input").remove(),setTimeout(function(){e.text(Craft.t("app","Make required"))},500)):(t.addClass("fld-required"),$('<input class="required-input" type="hidden" name="'+this.settings.requiredFieldInputName+'" value="'+t.data("id")+'">').appendTo(t),setTimeout(function(){e.text(Craft.t("app","Make not required"))},500))},removeField:function(t){var e=t.attr("data-id");t.remove(),this.removeFieldById(e),this.tabGrid.refreshCols(!0)},removeFieldById:function(t){var e=this.$allFields.filter("[data-id="+t+"]:first"),i=e.closest(".fld-tab");e.removeClass("hidden"),i.hasClass("hidden")?(i.removeClass("hidden"),this.unusedFieldGrid.addItems(i),this.settings.customizableTabs&&this.tabDrag.addItems(i)):this.unusedFieldGrid.refreshCols(!0)},addTab:function(){if(this.settings.customizableTabs){var t=$('<div class="fld-tab"><div class="tabs"><div class="tab sel draggable"><span>Tab '+(this.tabGrid.$items.length+1)+'</span><a class="settings icon" title="'+Craft.t("app","Rename")+'"></a></div></div><div class="fld-tabcontent"></div></div>').appendTo(this.$tabContainer);this.tabGrid.addItems(t),this.tabDrag.addItems(t),this.initTab(t)}},getFieldInputName:function(t){return this.settings.fieldInputName.replace(/__TAB_NAME__/g,Craft.encodeUriComponent(t))}},{gridSettings:{itemSelector:".fld-tab:not(.hidden)",minColWidth:240,fillMode:"grid",snapToGrid:30},defaults:{customizableTabs:!0,fieldInputName:"fieldLayout[__TAB_NAME__][]",requiredFieldInputName:"requiredFields[]"}}),Craft.FieldLayoutDesigner.BaseDrag=Garnish.Drag.extend({designer:null,$insertion:null,showingInsertion:!1,$caboose:null,draggingUnusedItem:!1,addToTabGrid:!1,init:function(t,e){this.designer=t;var i=this.designer.$tabContainer.find(this.itemSelector).add(this.designer.$unusedFieldContainer.find(this.itemSelector));this.base(i,e)},onDragStart:function(){this.base(),this.draggingUnusedItem=this.$draggee.hasClass("unused"),this.$insertion=this.getInsertion(),this.addCaboose(),this.$items=$().add(this.$items.add(this.$caboose)),this.addToTabGrid&&this.designer.tabGrid.addItems(this.$caboose),this.draggingUnusedItem?this.showingInsertion=!1:(this.$insertion.insertBefore(this.$draggee),this.$draggee.detach(),this.$items=$().add(this.$items.not(this.$draggee).add(this.$insertion)),this.showingInsertion=!0,this.addToTabGrid&&(this.designer.tabGrid.removeItems(this.$draggee),this.designer.tabGrid.addItems(this.$insertion))),this.setMidpoints()},addCaboose:$.noop,getItemContainer:$.noop,isItemInTabContainer:function(t){return this.getItemContainer(t)[0]===this.designer.$tabContainer[0]},setMidpoints:function(){for(var t=0;t<this.$items.length;t++){var e=$(this.$items[t]);if(this.isItemInTabContainer(e)){var i=e.offset();e.data("midpoint",{left:i.left+e.outerWidth()/2,top:i.top+e.outerHeight()/2})}}},onDrag:function(){this.draggingUnusedItem&&!Garnish.hitTest(this.mouseX,this.mouseY,this.designer.$tabContainer)?this.showingInsertion&&(this.$insertion.remove(),this.$items=$().add(this.$items.not(this.$insertion)),this.showingInsertion=!1,this.addToTabGrid?this.designer.tabGrid.removeItems(this.$insertion):this.designer.tabGrid.refreshCols(!0),this.setMidpoints()):(this.onDrag._closestItem=this.getClosestItem(),this.onDrag._closestItem!==this.$insertion[0]&&(this.showingInsertion&&$.inArray(this.$insertion[0],this.$items)<$.inArray(this.onDrag._closestItem,this.$items)&&-1===$.inArray(this.onDrag._closestItem,this.$caboose)?this.$insertion.insertAfter(this.onDrag._closestItem):this.$insertion.insertBefore(this.onDrag._closestItem),this.$items=$().add(this.$items.add(this.$insertion)),this.showingInsertion=!0,this.addToTabGrid?this.designer.tabGrid.addItems(this.$insertion):this.designer.tabGrid.refreshCols(!0),this.setMidpoints())),this.base()},getClosestItem:function(){for(this.getClosestItem._closestItem=null,this.getClosestItem._closestItemMouseDiff=null,this.getClosestItem._i=0;this.getClosestItem._i<this.$items.length;this.getClosestItem._i++)this.getClosestItem._$item=$(this.$items[this.getClosestItem._i]),this.isItemInTabContainer(this.getClosestItem._$item)&&(this.getClosestItem._midpoint=this.getClosestItem._$item.data("midpoint"),this.getClosestItem._mouseDiff=Garnish.getDist(this.getClosestItem._midpoint.left,this.getClosestItem._midpoint.top,this.mouseX,this.mouseY),(null===this.getClosestItem._closestItem||this.getClosestItem._mouseDiff<this.getClosestItem._closestItemMouseDiff)&&(this.getClosestItem._closestItem=this.getClosestItem._$item[0],this.getClosestItem._closestItemMouseDiff=this.getClosestItem._mouseDiff));return this.getClosestItem._closestItem},onDragStop:function(){this.showingInsertion&&(this.$insertion.replaceWith(this.$draggee),this.$items=$().add(this.$items.not(this.$insertion).add(this.$draggee)),this.addToTabGrid&&(this.designer.tabGrid.removeItems(this.$insertion),this.designer.tabGrid.addItems(this.$draggee))),this.$items=this.$items.not(this.$caboose),this.$caboose.remove(),this.addToTabGrid&&this.designer.tabGrid.removeItems(this.$caboose),this.$draggee.css({display:this.draggeeDisplay,visibility:"hidden"}),this.designer.tabGrid.refreshCols(!0),this.designer.unusedFieldGrid.refreshCols(!0),this.returnHelpersToDraggees(),this.base()}}),Craft.FieldLayoutDesigner.TabDrag=Craft.FieldLayoutDesigner.BaseDrag.extend({itemSelector:"> div.fld-tab",addToTabGrid:!0,init:function(t){this.base(t,{handle:".tab"})},addCaboose:function(){this.$caboose=$('<div class="fld-tab fld-tab-caboose"/>').appendTo(this.designer.$tabContainer)},getInsertion:function(){var t=this.$draggee.find(".tab");return $('<div class="fld-tab fld-insertion" style="height: '+this.$draggee.height()+'px;"><div class="tabs"><div class="tab sel draggable" style="width: '+t.width()+"px; height: "+t.height()+'px;"></div></div><div class="fld-tabcontent" style="height: '+this.$draggee.find(".fld-tabcontent").height()+'px;"></div></div>')},getItemContainer:function(t){return t.parent()},onDragStop:function(){if(this.draggingUnusedItem&&this.showingInsertion){var t=this.$draggee.clone().removeClass("unused"),e=t.find(".tab span").text();t.find(".fld-field").removeClass("unused"),t.find(".tabs .tab").append('<a class="settings icon" title="'+Craft.t("app","Edit")+'"></a>');var i=t.find(".fld-field"),s=i.filter(".hidden").remove();(i=i.not(s)).prepend('<a class="settings icon" title="'+Craft.t("app","Edit")+'"></a>');for(var n=0;n<i.length;n++){var a=$(i[n]),r=this.designer.getFieldInputName(e);a.append('<input class="id-input" type="hidden" name="'+r+'" value="'+a.data("id")+'">')}this.designer.fieldDrag.addItems(i),this.designer.initTab(t),this.$draggee.css({visibility:"inherit",display:"field"}).addClass("hidden"),this.$draggee.find(".fld-field").addClass("hidden"),this.$draggee=t,this.addItems(t),this.designer.tabGrid.addItems(t),this.designer.unusedFieldGrid.removeItems(this.$draggee)}this.base()}}),Craft.FieldLayoutDesigner.FieldDrag=Craft.FieldLayoutDesigner.BaseDrag.extend({itemSelector:"> div.fld-tab .fld-field",addCaboose:function(){this.$caboose=$();for(var t=this.designer.$tabContainer.children().children(".fld-tabcontent"),e=0;e<t.length;e++){var i=$('<div class="fld-tab fld-tab-caboose"/>').appendTo(t[e]);this.$caboose=this.$caboose.add(i)}},getInsertion:function(){return $('<div class="fld-field fld-insertion" style="height: '+this.$draggee.height()+'px;"/>')},getItemContainer:function(t){return t.parent().parent().parent()},onDragStop:function(){if(this.draggingUnusedItem&&this.showingInsertion){var t=this.$draggee.clone().removeClass("unused");if(t.prepend('<a class="settings icon" title="'+Craft.t("app","Edit")+'"></a>'),this.designer.initField(t),this.$draggee.css({visibility:"inherit",display:"field"}).addClass("hidden"),0===this.$draggee.siblings(":not(.hidden)").length){var e=this.$draggee.parent().parent();e.addClass("hidden"),this.designer.unusedFieldGrid.removeItems(e)}this.$draggee=t,this.addItems(t)}if(this.showingInsertion){var i=this.$insertion.parent().parent().find(".tab span").text(),s=this.designer.getFieldInputName(i);this.draggingUnusedItem?this.$draggee.append('<input class="id-input" type="hidden" name="'+s+'" value="'+this.$draggee.data("id")+'">'):this.$draggee.find(".id-input").attr("name",s)}this.base()}}),Craft.FieldToggle=Garnish.Base.extend({$toggle:null,targetPrefix:null,targetSelector:null,reverseTargetSelector:null,_$target:null,_$reverseTarget:null,type:null,init:function(t){this.$toggle=$(t),this.$toggle.data("fieldtoggle")&&(Garnish.log("Double-instantiating a field toggle on an element"),this.$toggle.data("fieldtoggle").destroy()),this.$toggle.data("fieldtoggle",this),this.type=this.getType(),"select"===this.type?this.targetPrefix=this.$toggle.attr("data-target-prefix")||"":(this.targetSelector=this.normalizeTargetSelector(this.$toggle.data("target")),this.reverseTargetSelector=this.normalizeTargetSelector(this.$toggle.data("reverse-target"))),this.findTargets(),"link"===this.type?this.addListener(this.$toggle,"click","onToggleChange"):this.addListener(this.$toggle,"change","onToggleChange")},normalizeTargetSelector:function(t){return t&&!t.match(/^[#\.]/)&&(t="#"+t),t},getType:function(){return"INPUT"===this.$toggle.prop("nodeName")&&"checkbox"===this.$toggle.attr("type").toLowerCase()?"checkbox":"SELECT"===this.$toggle.prop("nodeName")?"select":"A"===this.$toggle.prop("nodeName")?"link":"DIV"===this.$toggle.prop("nodeName")&&this.$toggle.hasClass("lightswitch")?"lightswitch":void 0},findTargets:function(){"select"===this.type?this._$target=$(this.normalizeTargetSelector(this.targetPrefix+this.getToggleVal())):(this.targetSelector&&(this._$target=$(this.targetSelector)),this.reverseTargetSelector&&(this._$reverseTarget=$(this.reverseTargetSelector)))},getToggleVal:function(){if("lightswitch"===this.type)return this.$toggle.children("input").val();var t=Garnish.getInputPostVal(this.$toggle);return null===t?null:t.replace(/[\[\]\\]+/g,"-")},onToggleChange:function(){"select"===this.type?(this.hideTarget(this._$target),this.findTargets(),this.showTarget(this._$target)):("link"===this.type?this.onToggleChange._show=this.$toggle.hasClass("collapsed")||!this.$toggle.hasClass("expanded"):this.onToggleChange._show=!!this.getToggleVal(),this.onToggleChange._show?(this.showTarget(this._$target),this.hideTarget(this._$reverseTarget)):(this.hideTarget(this._$target),this.showTarget(this._$reverseTarget)),delete this.onToggleChange._show)},showTarget:function(t){t&&t.length&&(this.showTarget._currentHeight=t.height(),t.removeClass("hidden"),"select"!==this.type&&("link"===this.type&&(this.$toggle.removeClass("collapsed"),this.$toggle.addClass("expanded")),t.height("auto"),this.showTarget._targetHeight=t.height(),t.css({height:this.showTarget._currentHeight,overflow:"hidden"}),t.velocity("stop"),t.velocity({height:this.showTarget._targetHeight},"fast",function(){t.css({height:"",overflow:""})}),delete this.showTarget._targetHeight),delete this.showTarget._currentHeight,Garnish.$win.trigger("resize"))},hideTarget:function(t){t&&t.length&&("select"===this.type?t.addClass("hidden"):("link"===this.type&&(this.$toggle.removeClass("expanded"),this.$toggle.addClass("collapsed")),t.css("overflow","hidden"),t.velocity("stop"),t.velocity({height:0},"fast",function(){t.addClass("hidden")})))}}),Craft.Grid=Garnish.Base.extend({$container:null,$items:null,items:null,totalCols:null,colGutterDrop:null,colPctWidth:null,possibleItemColspans:null,possibleItemPositionsByColspan:null,itemPositions:null,itemColspansByPosition:null,layouts:null,layout:null,itemHeights:null,leftPadding:null,_refreshingCols:!1,_refreshColsAfterRefresh:!1,_forceRefreshColsAfterRefresh:!1,init:function(t,e){this.$container=$(t),this.$container.data("grid")&&(Garnish.log("Double-instantiating a grid on an element"),this.$container.data("grid").destroy()),this.$container.data("grid",this),this.setSettings(e,Craft.Grid.defaults),this.handleContainerHeightProxy=$.proxy(function(){this.refreshCols(!1,!0)},this),this.$items=this.$container.children(this.settings.itemSelector),this.setItems(),this.refreshCols(!0,!1),Garnish.$doc.ready($.proxy(function(){this.refreshCols(!1,!1)},this))},addItems:function(t){this.$items=$().add(this.$items.add(t)),this.setItems(),this.refreshCols(!0,!0)},removeItems:function(t){this.$items=$().add(this.$items.not(t)),this.setItems(),this.refreshCols(!0,!0)},resetItemOrder:function(){this.$items=$().add(this.$items),this.setItems(),this.refreshCols(!0,!0)},setItems:function(){for(this.setItems._={},this.items=[],this.setItems._.i=0;this.setItems._.i<this.$items.length;this.setItems._.i++)this.items.push($(this.$items[this.setItems._.i]));delete this.setItems._},refreshCols:function(t){if(this._refreshingCols)return this._refreshColsAfterRefresh=!0,void(t&&(this._forceRefreshColsAfterRefresh=!0));if(this._refreshingCols=!0,this.items.length)if(this.refreshCols._={},this.refreshCols._.oldHeight=this.$container[0].style.height,this.$container[0].style.height=1,this.refreshCols._.scrollHeight=this.$container[0].scrollHeight,this.$container[0].style.height=this.refreshCols._.oldHeight,0!==this.refreshCols._.scrollHeight)if(this.settings.cols?this.refreshCols._.totalCols=this.settings.cols:(this.refreshCols._.totalCols=Math.floor(this.$container.width()/this.settings.minColWidth),null!==this.totalCols&&this.refreshCols._.totalCols>this.totalCols&&(this.refreshCols._.totalCols=Math.floor((this.$container.width()-20)/this.settings.minColWidth)),this.settings.maxCols&&this.refreshCols._.totalCols>this.settings.maxCols&&(this.refreshCols._.totalCols=this.settings.maxCols)),0===this.refreshCols._.totalCols&&(this.refreshCols._.totalCols=1),!0===t||this.totalCols!==this.refreshCols._.totalCols){if(this.totalCols=this.refreshCols._.totalCols,this.colGutterDrop=this.settings.gutter*(this.totalCols-1)/this.totalCols,this.removeListener(this.$container,"resize"),"grid"===this.settings.fillMode)for(this.refreshCols._.itemIndex=0;this.refreshCols._.itemIndex<this.items.length;){for(this.refreshCols._.tallestItemHeight=-1,this.refreshCols._.colIndex=0,this.refreshCols._.i=this.refreshCols._.itemIndex;this.refreshCols._.i<this.refreshCols._.itemIndex+this.totalCols&&this.refreshCols._.i<this.items.length;this.refreshCols._.i++)this.refreshCols._.itemHeight=this.items[this.refreshCols._.i].height("auto").height(),this.refreshCols._.itemHeight>this.refreshCols._.tallestItemHeight&&(this.refreshCols._.tallestItemHeight=this.refreshCols._.itemHeight),this.refreshCols._.colIndex++;for(this.settings.snapToGrid&&(this.refreshCols._.remainder=this.refreshCols._.tallestItemHeight%this.settings.snapToGrid,this.refreshCols._.remainder&&(this.refreshCols._.tallestItemHeight+=this.settings.snapToGrid-this.refreshCols._.remainder)),this.refreshCols._.i=this.refreshCols._.itemIndex;this.refreshCols._.i<this.refreshCols._.itemIndex+this.totalCols&&this.refreshCols._.i<this.items.length;this.refreshCols._.i++)this.items[this.refreshCols._.i].height(this.refreshCols._.tallestItemHeight);this.refreshCols._.itemIndex+=this.totalCols}else if(this.removeListener(this.$items,"resize"),1===this.totalCols)this.$container.height("auto"),this.$items.show().css({position:"relative",width:"auto",top:0}).css(Craft.left,0);else{for(this.$items.css("position","absolute"),this.colPctWidth=100/this.totalCols,this.layouts=[],this.itemPositions=[],this.itemColspansByPosition=[],this.possibleItemColspans=[],this.possibleItemPositionsByColspan=[],this.itemHeightsByColspan=[],this.refreshCols._.item=0;this.refreshCols._.item<this.items.length;this.refreshCols._.item++)for(this.possibleItemColspans[this.refreshCols._.item]=[],this.possibleItemPositionsByColspan[this.refreshCols._.item]={},this.itemHeightsByColspan[this.refreshCols._.item]={},this.refreshCols._.$item=this.items[this.refreshCols._.item].show(),this.refreshCols._.positionRight="right"===this.refreshCols._.$item.data("position"),this.refreshCols._.positionLeft="left"===this.refreshCols._.$item.data("position"),this.refreshCols._.minColspan=this.refreshCols._.$item.data("colspan")?this.refreshCols._.$item.data("colspan"):this.refreshCols._.$item.data("min-colspan")?this.refreshCols._.$item.data("min-colspan"):1,this.refreshCols._.maxColspan=this.refreshCols._.$item.data("colspan")?this.refreshCols._.$item.data("colspan"):this.refreshCols._.$item.data("max-colspan")?this.refreshCols._.$item.data("max-colspan"):this.totalCols,this.refreshCols._.minColspan>this.totalCols&&(this.refreshCols._.minColspan=this.totalCols),this.refreshCols._.maxColspan>this.totalCols&&(this.refreshCols._.maxColspan=this.totalCols),this.refreshCols._.colspan=this.refreshCols._.minColspan;this.refreshCols._.colspan<=this.refreshCols._.maxColspan;this.refreshCols._.colspan++)for(this.refreshCols._.$item.css("width",this.getItemWidthCss(this.refreshCols._.colspan)),this.itemHeightsByColspan[this.refreshCols._.item][this.refreshCols._.colspan]=this.refreshCols._.$item.outerHeight(),this.possibleItemColspans[this.refreshCols._.item].push(this.refreshCols._.colspan),this.possibleItemPositionsByColspan[this.refreshCols._.item][this.refreshCols._.colspan]=[],this.refreshCols._.positionLeft?(this.refreshCols._.minPosition=0,this.refreshCols._.maxPosition=0):this.refreshCols._.positionRight?(this.refreshCols._.minPosition=this.totalCols-this.refreshCols._.colspan,this.refreshCols._.maxPosition=this.refreshCols._.minPosition):(this.refreshCols._.minPosition=0,this.refreshCols._.maxPosition=this.totalCols-this.refreshCols._.colspan),this.refreshCols._.position=this.refreshCols._.minPosition;this.refreshCols._.position<=this.refreshCols._.maxPosition;this.refreshCols._.position++)this.possibleItemPositionsByColspan[this.refreshCols._.item][this.refreshCols._.colspan].push(this.refreshCols._.position);for(this.refreshCols._.colHeights=[],this.refreshCols._.i=0;this.refreshCols._.i<this.totalCols;this.refreshCols._.i++)this.refreshCols._.colHeights.push(0);for(this.createLayouts(0,[],[],this.refreshCols._.colHeights,0),this.refreshCols._.layoutTotalCols=[],this.refreshCols._.i=0;this.refreshCols._.i<this.layouts.length;this.refreshCols._.i++)for(this.refreshCols._.layoutTotalCols[this.refreshCols._.i]=0,this.refreshCols._.j=0;this.refreshCols._.j<this.totalCols;this.refreshCols._.j++)this.layouts[this.refreshCols._.i].colHeights[this.refreshCols._.j]&&this.refreshCols._.layoutTotalCols[this.refreshCols._.i]++;for(this.refreshCols._.highestTotalCols=Math.max.apply(null,this.refreshCols._.layoutTotalCols),this.refreshCols._.i=this.layouts.length-1;0<=this.refreshCols._.i;this.refreshCols._.i--)this.refreshCols._.layoutTotalCols[this.refreshCols._.i]!==this.refreshCols._.highestTotalCols&&this.layouts.splice(this.refreshCols._.i,1);for(this.refreshCols._.layoutHeights=[],this.refreshCols._.i=0;this.refreshCols._.i<this.layouts.length;this.refreshCols._.i++)this.refreshCols._.layoutHeights.push(Math.max.apply(null,this.layouts[this.refreshCols._.i].colHeights));for(this.refreshCols._.shortestHeight=Math.min.apply(null,this.refreshCols._.layoutHeights),this.refreshCols._.shortestLayouts=[],this.refreshCols._.emptySpaces=[],this.refreshCols._.i=0;this.refreshCols._.i<this.refreshCols._.layoutHeights.length;this.refreshCols._.i++)if(this.refreshCols._.layoutHeights[this.refreshCols._.i]===this.refreshCols._.shortestHeight){for(this.refreshCols._.shortestLayouts.push(this.layouts[this.refreshCols._.i]),this.refreshCols._.emptySpace=this.layouts[this.refreshCols._.i].emptySpace,this.refreshCols._.j=0;this.refreshCols._.j<this.totalCols;this.refreshCols._.j++)this.refreshCols._.emptySpace+=this.refreshCols._.shortestHeight-this.layouts[this.refreshCols._.i].colHeights[this.refreshCols._.j];this.refreshCols._.emptySpaces.push(this.refreshCols._.emptySpace)}for(this.layout=this.refreshCols._.shortestLayouts[$.inArray(Math.min.apply(null,this.refreshCols._.emptySpaces),this.refreshCols._.emptySpaces)],this.refreshCols._.i=0;this.refreshCols._.i<this.items.length;this.refreshCols._.i++)this.refreshCols._.css={width:this.getItemWidthCss(this.layout.colspans[this.refreshCols._.i])},this.refreshCols._.css[Craft.left]=this.getItemLeftPosCss(this.layout.positions[this.refreshCols._.i]),this.items[this.refreshCols._.i].css(this.refreshCols._.css);this.isSimpleLayout()?(this.$container.height("auto"),this.$items.css({position:"relative",top:0,"margin-bottom":this.settings.gutter+"px"})):(this.$items.css("position","absolute"),this.positionItems(),this.addListener(this.$items,"resize","onItemResize"))}this.completeRefreshCols(),this.addListener(this.$container,"resize",this.handleContainerHeightProxy),this.onRefreshCols()}else this.completeRefreshCols();else this.completeRefreshCols();else this.completeRefreshCols()},completeRefreshCols:function(){if(void 0!==this.refreshCols._&&delete this.refreshCols._,this._refreshingCols=!1,this._refreshColsAfterRefresh){var t=this._forceRefreshColsAfterRefresh;this._refreshColsAfterRefresh=!1,this._forceRefreshColsAfterRefresh=!1,Garnish.requestAnimationFrame($.proxy(function(){this.refreshCols(t)},this))}},getItemWidth:function(t){return this.colPctWidth*t},getItemWidthCss:function(t){return"calc("+this.getItemWidth(t)+"% - "+this.colGutterDrop+"px)"},getItemWidthInPx:function(t){return this.getItemWidth(t)/100*this.$container.width()-this.colGutterDrop},getItemLeftPosCss:function(t){return"calc(("+this.getItemWidth(1)+"% + "+(this.settings.gutter-this.colGutterDrop)+"px) * "+t+")"},getItemLeftPosInPx:function(t){return(this.getItemWidth(1)/100*this.$container.width()+(this.settings.gutter-this.colGutterDrop))*t},createLayouts:function(t,e,i,s,n){new Craft.Grid.LayoutGenerator(this).createLayouts(t,e,i,s,n)},isSimpleLayout:function(){for(this.isSimpleLayout._={},this.isSimpleLayout._.i=0;this.isSimpleLayout._.i<this.layout.positions.length;this.isSimpleLayout._.i++)if(0!==this.layout.positions[this.isSimpleLayout._.i])return delete this.isSimpleLayout._,!1;return delete this.isSimpleLayout._,!0},positionItems:function(){for(this.positionItems._={},this.positionItems._.colHeights=[],this.positionItems._.i=0;this.positionItems._.i<this.totalCols;this.positionItems._.i++)this.positionItems._.colHeights.push(0);for(this.positionItems._.i=0;this.positionItems._.i<this.items.length;this.positionItems._.i++){for(this.positionItems._.endingCol=this.layout.positions[this.positionItems._.i]+this.layout.colspans[this.positionItems._.i]-1,this.positionItems._.affectedColHeights=[],this.positionItems._.col=this.layout.positions[this.positionItems._.i];this.positionItems._.col<=this.positionItems._.endingCol;this.positionItems._.col++)this.positionItems._.affectedColHeights.push(this.positionItems._.colHeights[this.positionItems._.col]);for(this.positionItems._.top=Math.max.apply(null,this.positionItems._.affectedColHeights),0<this.positionItems._.top&&(this.positionItems._.top+=this.settings.gutter),this.items[this.positionItems._.i].css("top",this.positionItems._.top),this.positionItems._.col=this.layout.positions[this.positionItems._.i];this.positionItems._.col<=this.positionItems._.endingCol;this.positionItems._.col++)this.positionItems._.colHeights[this.positionItems._.col]=this.positionItems._.top+this.itemHeightsByColspan[this.positionItems._.i][this.layout.colspans[this.positionItems._.i]]}this.$container.height(Math.max.apply(null,this.positionItems._.colHeights)),delete this.positionItems._},onItemResize:function(t){this.onItemResize._={},t.stopPropagation(),this.onItemResize._.item=$.inArray(t.currentTarget,this.$items),-1!==this.onItemResize._.item&&(this.onItemResize._.newHeight=this.items[this.onItemResize._.item].outerHeight(),this.onItemResize._.newHeight!==this.itemHeightsByColspan[this.onItemResize._.item][this.layout.colspans[this.onItemResize._.item]]&&(this.itemHeightsByColspan[this.onItemResize._.item][this.layout.colspans[this.onItemResize._.item]]=this.onItemResize._.newHeight,this.positionItems(!1))),delete this.onItemResize._},onRefreshCols:function(){this.trigger("refreshCols"),this.settings.onRefreshCols()}},{defaults:{itemSelector:".item",cols:null,maxCols:null,minColWidth:320,gutter:14,fillMode:"top",colClass:"col",snapToGrid:null,onRefreshCols:$.noop}}),Craft.Grid.LayoutGenerator=Garnish.Base.extend({grid:null,_:null,init:function(t){this.grid=t},createLayouts:function(t,e,i,s,n){for(this._={},this._.c=0;this._.c<this.grid.possibleItemColspans[t].length;this._.c++){for(this._.colspan=this.grid.possibleItemColspans[t][this._.c],this._.tallestColHeightsByPosition=[],this._.p=0;this._.p<this.grid.possibleItemPositionsByColspan[t][this._.colspan].length;this._.p++){for(this._.position=this.grid.possibleItemPositionsByColspan[t][this._.colspan][this._.p],this._.colHeightsForPosition=[],this._.endingCol=this._.position+this._.colspan-1,this._.col=this._.position;this._.col<=this._.endingCol;this._.col++)this._.colHeightsForPosition.push(s[this._.col]);this._.tallestColHeightsByPosition[this._.p]=Math.max.apply(null,this._.colHeightsForPosition)}for(this._.p=$.inArray(Math.min.apply(null,this._.tallestColHeightsByPosition),this._.tallestColHeightsByPosition),this._.position=this.grid.possibleItemPositionsByColspan[t][this._.colspan][this._.p],this._.positions=e.slice(0),this._.colspans=i.slice(0),this._.colHeights=s.slice(0),this._.emptySpace=n,this._.positions.push(this._.position),this._.colspans.push(this._.colspan),this._.tallestColHeight=this._.tallestColHeightsByPosition[this._.p],this._.endingCol=this._.position+this._.colspan-1,this._.col=this._.position;this._.col<=this._.endingCol;this._.col++)this._.emptySpace+=this._.tallestColHeight-this._.colHeights[this._.col],this._.colHeights[this._.col]=this._.tallestColHeight+this.grid.itemHeightsByColspan[t][this._.colspan];t===this.grid.items.length-1?this.grid.layouts.push({positions:this._.positions,colspans:this._.colspans,colHeights:this._.colHeights,emptySpace:this._.emptySpace}):this.grid.createLayouts(t+1,this._.positions,this._.colspans,this._.colHeights,this._.emptySpace)}delete this._}}),Craft.HandleGenerator=Craft.BaseInputGenerator.extend({generateTargetValue:function(t){var e=t.replace("/<(.*?)>/g","");e=(e=e.replace(/['"‘’“”\[\]\(\)\{\}:]/g,"")).toLowerCase(),e=Craft.asciiString(e),this.settings.allowNonAlphaStart||(e=e.replace(/^[^a-z]+/,""));var i=Craft.filterArray(e.split(/[^a-z0-9]+/));e="";for(var s=0;s<i.length;s++)e+=0===s?i[s]:i[s].charAt(0).toUpperCase()+i[s].substr(1);return e}}),Craft.ImageUpload=Garnish.Base.extend({$container:null,progressBar:null,uploader:null,init:function(t){this.setSettings(t,Craft.ImageUpload.defaults),this.initImageUpload()},initImageUpload:function(){this.$container=$(this.settings.containerSelector),this.progressBar=new Craft.ProgressBar($('<div class="progress-shade"></div>').appendTo(this.$container));var t={url:Craft.getActionUrl(this.settings.uploadAction),formData:this.settings.postParameters,fileInput:this.$container.find(this.settings.fileInputSelector),paramName:this.settings.uploadParamName};void 0!==Craft.csrfTokenName&&void 0!==Craft.csrfTokenValue&&(t.formData[Craft.csrfTokenName]=Craft.csrfTokenValue),t.events={},t.events.fileuploadstart=$.proxy(this,"_onUploadStart"),t.events.fileuploadprogressall=$.proxy(this,"_onUploadProgress"),t.events.fileuploaddone=$.proxy(this,"_onUploadComplete"),t.events.fileuploadfail=$.proxy(this,"_onUploadError"),this.uploader=new Craft.Uploader(this.$container,t),this.initButtons()},initButtons:function(){this.$container.find(this.settings.uploadButtonSelector).on("click",$.proxy(function(t){this.$container.find(this.settings.fileInputSelector).trigger("click")},this)),this.$container.find(this.settings.deleteButtonSelector).on("click",$.proxy(function(t){confirm(Craft.t("app","Are you sure you want to delete this image?"))&&($(t.currentTarget).parent().append('<div class="blocking-modal"></div>'),Craft.postActionRequest(this.settings.deleteAction,this.settings.postParameters,$.proxy(function(t,e){"success"===e&&this.refreshImage(t)},this)))},this))},refreshImage:function(t){$(this.settings.containerSelector).replaceWith(t.html),this.settings.onAfterRefreshImage(t),this.initImageUpload()},_onUploadStart:function(t){this.progressBar.$progressBar.css({top:Math.round(this.$container.outerHeight()/2)-6}),this.$container.addClass("uploading"),this.progressBar.resetProgressBar(),this.progressBar.showProgressBar()},_onUploadProgress:function(t,e){var i=parseInt(e.loaded/e.total*100,10);this.progressBar.setProgressPercentage(i)},_onUploadComplete:function(t,e){if(e.result.error)alert(e.result.error);else{$(e.result.html);this.refreshImage(e.result)}this.uploader.isLastUpload()&&(this.progressBar.hideProgressBar(),this.$container.removeClass("uploading"))},_onUploadError:function(t,e){e.jqXHR.responseJSON.error&&(alert(e.jqXHR.responseJSON.error),this.$container.removeClass("uploading"),this.progressBar.hideProgressBar(),this.progressBar.resetProgressBar())}},{defaults:{postParameters:{},uploadAction:"",deleteAction:"",fileInputSelector:"",onAfterRefreshImage:$.noop,containerSelector:null,uploadButtonSelector:null,deleteButtonSelector:null,uploadParamName:"files"}}),Craft.InfoIcon=Garnish.Base.extend({$icon:null,hud:null,init:function(t){this.$icon=$(t),this.addListener(this.$icon,"click","showHud")},showHud:function(){this.hud?this.hud.show():this.hud=new Garnish.HUD(this.$icon,this.$icon.html(),{hudClass:"hud info-hud",closeOtherHUDs:!1})}}),Craft.LightSwitch=Garnish.Base.extend({settings:null,$outerContainer:null,$innerContainer:null,$input:null,small:!1,on:null,dragger:null,dragStartMargin:null,init:function(t,e){this.$outerContainer=$(t),this.$outerContainer.data("lightswitch")&&(Garnish.log("Double-instantiating a lightswitch on an element"),this.$outerContainer.data("lightswitch").destroy()),this.$outerContainer.data("lightswitch",this),this.small=this.$outerContainer.hasClass("small"),this.setSettings(e,Craft.LightSwitch.defaults),this.$innerContainer=this.$outerContainer.find(".lightswitch-container:first"),this.$input=this.$outerContainer.find("input:first"),this.$input.prop("disabled")||(this.on=this.$outerContainer.hasClass("on"),this.$outerContainer.attr({role:"checkbox","aria-checked":this.on?"true":"false"}),this.addListener(this.$outerContainer,"mousedown","_onMouseDown"),this.addListener(this.$outerContainer,"keydown","_onKeyDown"),this.dragger=new Garnish.BaseDrag(this.$outerContainer,{axis:Garnish.X_AXIS,ignoreHandleSelector:null,onDragStart:$.proxy(this,"_onDragStart"),onDrag:$.proxy(this,"_onDrag"),onDragStop:$.proxy(this,"_onDragStop")}))},turnOn:function(){this.$outerContainer.addClass("dragging");var t={};t["margin-"+Craft.left]=0,this.$innerContainer.velocity("stop").velocity(t,Craft.LightSwitch.animationDuration,$.proxy(this,"_onSettle")),this.$input.val(this.settings.value),this.$outerContainer.addClass("on"),this.$outerContainer.attr("aria-checked","true"),this.on!==(this.on=!0)&&this.onChange()},turnOff:function(){this.$outerContainer.addClass("dragging");var t={};t["margin-"+Craft.left]=this._getOffMargin(),this.$innerContainer.velocity("stop").velocity(t,Craft.LightSwitch.animationDuration,$.proxy(this,"_onSettle")),this.$input.val(""),this.$outerContainer.removeClass("on"),this.$outerContainer.attr("aria-checked","false"),this.on!==(this.on=!1)&&this.onChange()},toggle:function(t){this.on?this.turnOff():this.turnOn()},onChange:function(){this.trigger("change"),this.settings.onChange(),this.$outerContainer.trigger("change")},_onMouseDown:function(){this.addListener(Garnish.$doc,"mouseup","_onMouseUp")},_onMouseUp:function(){this.removeListener(Garnish.$doc,"mouseup"),this.dragger.dragging||this.toggle()},_onKeyDown:function(t){switch(t.keyCode){case Garnish.SPACE_KEY:this.toggle(),t.preventDefault();break;case Garnish.RIGHT_KEY:"ltr"===Craft.orientation?this.turnOn():this.turnOff(),t.preventDefault();break;case Garnish.LEFT_KEY:"ltr"===Craft.orientation?this.turnOff():this.turnOn(),t.preventDefault()}},_getMargin:function(){return parseInt(this.$innerContainer.css("margin-"+Craft.left))},_onDragStart:function(){this.$outerContainer.addClass("dragging"),this.dragStartMargin=this._getMargin()},_onDrag:function(){var t;(t="ltr"===Craft.orientation?this.dragStartMargin+this.dragger.mouseDistX:this.dragStartMargin-this.dragger.mouseDistX)<this._getOffMargin()?t=this._getOffMargin():0<t&&(t=0),this.$innerContainer.css("margin-"+Craft.left,t)},_onDragStop:function(){this._getMargin()>this._getOffMargin()/2?this.turnOn():this.turnOff()},_onSettle:function(){this.$outerContainer.removeClass("dragging")},destroy:function(){this.base(),this.dragger.destroy()},_getOffMargin:function(){return this.small?-9:-11}},{animationDuration:100,defaults:{value:"1",onChange:$.noop}}),Craft.LivePreview=Garnish.Base.extend({$extraFields:null,$trigger:null,$shade:null,$editorContainer:null,$editor:null,$dragHandle:null,$iframeContainer:null,$iframe:null,$fieldPlaceholder:null,previewUrl:null,token:null,basePostData:null,inPreviewMode:!1,fields:null,lastPostData:null,updateIframeInterval:null,loading:!1,checkAgain:!1,dragger:null,dragStartEditorWidth:null,_slideInOnIframeLoad:!1,_handleSuccessProxy:null,_handleErrorProxy:null,_forceUpdateIframeProxy:null,_scrollX:null,_scrollY:null,_editorWidth:null,_editorWidthInPx:null,init:function(t){this.setSettings(t,Craft.LivePreview.defaults),this.settings.previewUrl?this.previewUrl=this.settings.previewUrl:this.previewUrl=Craft.baseSiteUrl.replace(/\/+$/,"")+"/","https:"===document.location.protocol&&(this.previewUrl=this.previewUrl.replace(/^http:/,"https:")),this.basePostData=$.extend({},this.settings.previewParams),this._handleSuccessProxy=$.proxy(this,"handleSuccess"),this._handleErrorProxy=$.proxy(this,"handleError"),this._forceUpdateIframeProxy=$.proxy(this,"forceUpdateIframe"),this.$extraFields=$(this.settings.extraFields),this.$trigger=$(this.settings.trigger),this.$fieldPlaceholder=$("<div/>"),this.editorWidth=Craft.getLocalStorage("LivePreview.editorWidth",Craft.LivePreview.defaultEditorWidth),this.addListener(this.$trigger,"activate","toggle"),Craft.cp.on("beforeSaveShortcut",$.proxy(function(){this.inPreviewMode&&this.moveFieldsBack()},this))},get editorWidth(){return this._editorWidth},get editorWidthInPx(){return this._editorWidthInPx},set editorWidth(t){var e;1<=t?(e=t,t/=Garnish.$win.width()):e=Math.round(t*Garnish.$win.width()),e<Craft.LivePreview.minEditorWidthInPx&&(t=(e=Craft.LivePreview.minEditorWidthInPx)/Garnish.$win.width()),this._editorWidth=t,this._editorWidthInPx=e},toggle:function(){this.inPreviewMode?this.exit():this.enter()},enter:function(){if(!this.inPreviewMode)if(this.token){if(this.trigger("beforeEnter"),$(document.activeElement).trigger("blur"),!this.$editor){this.$shade=$("<div/>",{class:"modal-shade dark"}).appendTo(Garnish.$bod),this.$editorContainer=$("<div/>",{class:"lp-editor-container"}).appendTo(Garnish.$bod),this.$iframeContainer=$("<div/>",{class:"lp-preview-container"}).appendTo(Garnish.$bod);var t=$("<header/>",{class:"flex"}).appendTo(this.$editorContainer);this.$editor=$("<form/>",{class:"lp-editor"}).appendTo(this.$editorContainer),this.$dragHandle=$("<div/>",{class:"lp-draghandle"}).appendTo(this.$editorContainer);var e=$("<div/>",{class:"btn",text:Craft.t("app","Close Preview")}).appendTo(t);$("<div/>",{class:"flex-grow"}).appendTo(t);var i=$('<div class="btn submit">'+Craft.t("app","Save")+"</div>").appendTo(t);this.dragger=new Garnish.BaseDrag(this.$dragHandle,{axis:Garnish.X_AXIS,onDragStart:$.proxy(this,"_onDragStart"),onDrag:$.proxy(this,"_onDrag"),onDragStop:$.proxy(this,"_onDragStop")}),this.addListener(e,"click","exit"),this.addListener(i,"click","save")}this.handleWindowResize(),this.addListener(Garnish.$win,"resize","handleWindowResize"),this.$editorContainer.css(Craft.left,-(this.editorWidthInPx+Craft.LivePreview.dragHandleWidth)+"px"),this.$iframeContainer.css(Craft.right,-this.getIframeWidth()),this.fields=[];for(var s=$(this.settings.fields),n=0;n<s.length;n++){var a=$(s[n]),r=this._getClone(a);this.$fieldPlaceholder.insertAfter(a),a.detach(),this.$fieldPlaceholder.replaceWith(r),a.appendTo(this.$editor),this.fields.push({$field:a,$clone:r})}this.updateIframe()?this._slideInOnIframeLoad=!0:this.slideIn(),Garnish.on(Craft.BaseElementEditor,"saveElement",this._forceUpdateIframeProxy),Garnish.on(Craft.AssetImageEditor,"save",this._forceUpdateIframeProxy),this.inPreviewMode=!0,this.trigger("enter")}else this.createToken()},createToken:function(){Craft.postActionRequest("live-preview/create-token",{previewAction:this.settings.previewAction},$.proxy(function(t,e){"success"===e&&(this.token=t.token,this.enter())},this))},save:function(){Craft.cp.submitPrimaryForm()},handleWindowResize:function(){this.editorWidth=this.editorWidth,this.updateWidths()},slideIn:function(){$("html").addClass("noscroll"),this.$shade.velocity("fadeIn"),this.$editorContainer.show().velocity("stop").animateLeft(0,"slow",$.proxy(function(){this.trigger("slideIn"),Garnish.$win.trigger("resize")},this)),this.$iframeContainer.show().velocity("stop").animateRight(0,"slow",$.proxy(function(){this.updateIframeInterval=setInterval($.proxy(this,"updateIframe"),1e3),this.addListener(Garnish.$bod,"keyup",function(t){t.keyCode===Garnish.ESC_KEY&&this.exit()})},this))},exit:function(){this.inPreviewMode&&(this.trigger("beforeExit"),$("html").removeClass("noscroll"),this.removeListener(Garnish.$win,"resize"),this.removeListener(Garnish.$bod,"keyup"),this.updateIframeInterval&&clearInterval(this.updateIframeInterval),this.moveFieldsBack(),this.$shade.delay(200).velocity("fadeOut"),this.$editorContainer.velocity("stop").animateLeft(-(this.editorWidthInPx+Craft.LivePreview.dragHandleWidth),"slow",$.proxy(function(){for(var t=0;t<this.fields.length;t++)this.fields[t].$newClone.remove();this.$editorContainer.hide(),this.trigger("slideOut")},this)),this.$iframeContainer.velocity("stop").animateRight(-this.getIframeWidth(),"slow",$.proxy(function(){this.$iframeContainer.hide()},this)),Garnish.off(Craft.BaseElementEditor,"saveElement",this._forceUpdateIframeProxy),this.inPreviewMode=!1,this.trigger("exit"))},moveFieldsBack:function(){for(var t=0;t<this.fields.length;t++){var e=this.fields[t];e.$newClone=this._getClone(e.$field),this.$fieldPlaceholder.insertAfter(e.$field),e.$field.detach(),this.$fieldPlaceholder.replaceWith(e.$newClone),e.$clone.replaceWith(e.$field)}Garnish.$win.trigger("resize")},getIframeWidth:function(){return Garnish.$win.width()-(this.editorWidthInPx+Craft.LivePreview.dragHandleWidth)},updateWidths:function(){this.$editorContainer.css("width",this.editorWidthInPx+"px"),this.$iframeContainer.width(this.getIframeWidth())},updateIframe:function(t){if(t&&(this.lastPostData=null),!this.inPreviewMode)return!1;if(this.loading)return!(this.checkAgain=!0);var e=$.extend(Garnish.getPostData(this.$editor),Garnish.getPostData(this.$extraFields));if(this.lastPostData&&Craft.compare(e,this.lastPostData,!1))return!1;this.lastPostData=e,this.loading=!0;var i=this.$iframe?$(this.$iframe[0].contentWindow.document):null;return this._scrollX=i?i.scrollLeft():0,this._scrollY=i?i.scrollTop():0,$.ajax({url:this.previewUrl+(-1!==this.previewUrl.indexOf("?")?"&":"?")+Craft.tokenParam+"="+this.token,method:"POST",data:$.extend({},e,this.basePostData),headers:{"X-Craft-Token":this.token},xhrFields:{withCredentials:!0},crossDomain:!0,success:this._handleSuccessProxy,error:this._handleErrorProxy}),!0},forceUpdateIframe:function(){return this.updateIframe(!0)},handleSuccess:function(t){var e=t+'<script type="text/javascript">window.scrollTo('+this._scrollX+", "+this._scrollY+");<\/script>",i=$('<iframe class="lp-preview" frameborder="0"/>');this.$iframe?i.insertBefore(this.$iframe):i.appendTo(this.$iframeContainer),this.addListener(i,"load",function(){this.$iframe&&this.$iframe.remove(),this.$iframe=i,this._slideInOnIframeLoad&&(this.slideIn(),this._slideInOnIframeLoad=!1),this.removeListener(i,"load")}),Garnish.requestAnimationFrame($.proxy(function(){i[0].contentWindow.document.open(),i[0].contentWindow.document.write(e),i[0].contentWindow.document.close(),this.onResponse()},this))},handleError:function(){this.onResponse()},onResponse:function(){this.loading=!1,this.checkAgain&&(this.checkAgain=!1,this.updateIframe())},_getClone:function(t){var e=t.clone();return Garnish.copyInputValues(t,e),e.attr("id",""),e.find("[id]").attr("id",""),e},_onDragStart:function(){this.dragStartEditorWidth=this.editorWidthInPx,this.$iframeContainer.addClass("dragging")},_onDrag:function(){"ltr"===Craft.orientation?this.editorWidth=this.dragStartEditorWidth+this.dragger.mouseDistX:this.editorWidth=this.dragStartEditorWidth-this.dragger.mouseDistX,this.updateWidths()},_onDragStop:function(){this.$iframeContainer.removeClass("dragging"),Craft.setLocalStorage("LivePreview.editorWidth",this.editorWidth)}},{defaultEditorWidth:.33,minEditorWidthInPx:320,dragHandleWidth:4,defaults:{trigger:".livepreviewbtn",fields:null,extraFields:null,previewUrl:null,previewAction:null,previewParams:{}}}),Craft.LivePreview.init=function(t){Craft.livePreview=new Craft.LivePreview(t)},Craft.PasswordInput=Garnish.Base.extend({$passwordInput:null,$textInput:null,$currentInput:null,$showPasswordToggle:null,showingPassword:null,init:function(t,e){this.$passwordInput=$(t),this.settings=$.extend({},Craft.PasswordInput.defaults,e),this.$passwordInput.data("passwordInput")&&(Garnish.log("Double-instantiating a password input on an element"),this.$passwordInput.data("passwordInput").destroy()),this.$passwordInput.data("passwordInput",this),this.$showPasswordToggle=$("<a/>").hide(),this.$showPasswordToggle.addClass("password-toggle"),this.$showPasswordToggle.insertAfter(this.$passwordInput),this.addListener(this.$showPasswordToggle,"mousedown","onToggleMouseDown"),this.hidePassword()},setCurrentInput:function(t){this.$currentInput&&(t.addClass("focus"),t.insertAfter(this.$currentInput),this.$currentInput.detach(),t.trigger("focus"),t.removeClass("focus"),t.val(this.$currentInput.val())),this.$currentInput=t,this.addListener(this.$currentInput,"keypress,keyup,change,blur","onInputChange")},updateToggleLabel:function(t){this.$showPasswordToggle.text(t)},showPassword:function(){this.showingPassword||(this.$textInput||(this.$textInput=this.$passwordInput.clone(!0),this.$textInput.attr("type","text")),this.setCurrentInput(this.$textInput),this.updateToggleLabel(Craft.t("app","Hide")),this.showingPassword=!0)},hidePassword:function(){!1!==this.showingPassword&&(this.setCurrentInput(this.$passwordInput),this.updateToggleLabel(Craft.t("app","Show")),this.showingPassword=!1,this.addListener(this.$passwordInput,"keydown","onKeyDown"))},togglePassword:function(){this.showingPassword?this.hidePassword():this.showPassword(),this.settings.onToggleInput(this.$currentInput)},onKeyDown:function(t){t.keyCode===Garnish.ALT_KEY&&this.$currentInput.val()&&(this.showPassword(),this.$showPasswordToggle.hide(),this.addListener(this.$textInput,"keyup","onKeyUp"))},onKeyUp:function(t){t.preventDefault(),t.keyCode===Garnish.ALT_KEY&&(this.hidePassword(),this.$showPasswordToggle.show())},onInputChange:function(){this.$currentInput.val()?this.$showPasswordToggle.show():this.$showPasswordToggle.hide()},onToggleMouseDown:function(t){if(t.preventDefault(),this.$currentInput[0].setSelectionRange){var e=this.$currentInput[0].selectionStart,i=this.$currentInput[0].selectionEnd;this.togglePassword(),this.$currentInput[0].setSelectionRange(e,i)}else this.togglePassword()}},{defaults:{onToggleInput:$.noop}}),Craft.Preview=Garnish.Base.extend({draftEditor:null,$shade:null,$editorContainer:null,$editor:null,$spinner:null,$statusIcon:null,$dragHandle:null,$previewContainer:null,$targetBtn:null,$targetMenu:null,$iframe:null,$tempInput:null,$fieldPlaceholder:null,isActive:!1,activeTarget:0,url:null,fields:null,scrollLeft:0,scrollTop:0,dragger:null,dragStartEditorWidth:null,_slideInOnIframeLoad:!1,_updateIframeProxy:null,_editorWidth:null,_editorWidthInPx:null,init:function(t){this.draftEditor=t,this._updateIframeProxy=$.proxy(this,"updateIframe"),this.$tempInput=$("<input/>",{type:"hidden",name:"__PREVIEW_FIELDS__",value:"1"}),this.$fieldPlaceholder=$("<div/>"),this.editorWidth=Craft.getLocalStorage("LivePreview.editorWidth",Craft.Preview.defaultEditorWidth)},get editorWidth(){return this._editorWidth},get editorWidthInPx(){return this._editorWidthInPx},set editorWidth(t){var e;1<=t?(e=t,t/=Garnish.$win.width()):e=Math.round(t*Garnish.$win.width()),e<Craft.Preview.minEditorWidthInPx&&(t=(e=Craft.Preview.minEditorWidthInPx)/Garnish.$win.width()),this._editorWidth=t,this._editorWidthInPx=e},open:function(){if(!this.isActive){if(this.isActive=!0,this.trigger("beforeOpen"),$(document.activeElement).trigger("blur"),!this.$editor){this.$shade=$("<div/>",{class:"modal-shade dark"}).appendTo(Garnish.$bod),this.$editorContainer=$("<div/>",{class:"lp-editor-container"}).appendTo(Garnish.$bod),this.$previewContainer=$("<div/>",{class:"lp-preview-container"}).appendTo(Garnish.$bod);var t=$("<header/>",{class:"flex"}).appendTo(this.$editorContainer);this.$editor=$("<form/>",{class:"lp-editor"}).appendTo(this.$editorContainer),this.$dragHandle=$("<div/>",{class:"lp-draghandle"}).appendTo(this.$editorContainer);var e=$("<div/>",{class:"btn",text:Craft.t("app","Close Preview")}).appendTo(t);if($("<div/>",{class:"flex-grow"}).appendTo(t),this.$spinner=$("<div/>",{class:"spinner hidden",title:Craft.t("app","Saving")}).appendTo(t),this.$statusIcon=$("<div/>",{class:"invisible"}).appendTo(t),1<this.draftEditor.settings.previewTargets.length){var i=$("<header/>",{class:"flex"}).appendTo(this.$previewContainer);this.$targetBtn=$("<div/>",{class:"btn menubtn",text:this.draftEditor.settings.previewTargets[0].label,role:"btn"}).appendTo(i),this.$targetMenu=$("<div/>",{class:"menu lp-target-menu"}).insertAfter(this.$targetBtn);for(var s,n=$("<ul/>",{class:"padded"}).appendTo(this.$targetMenu),a=0;a<this.draftEditor.settings.previewTargets.length;a++)s=$("<li/>").appendTo(n),$("<a/>",{data:{target:a},text:this.draftEditor.settings.previewTargets[a].label,class:0===a?"sel":null}).appendTo(s);new Garnish.MenuBtn(this.$targetBtn,{onOptionSelect:$.proxy(function(t){this.switchTarget($(t).data("target"))},this)})}this.dragger=new Garnish.BaseDrag(this.$dragHandle,{axis:Garnish.X_AXIS,onDragStart:$.proxy(this,"_onDragStart"),onDrag:$.proxy(this,"_onDrag"),onDragStop:$.proxy(this,"_onDragStop")}),this.addListener(e,"click","close"),this.addListener(this.$statusIcon,"click",function(){this.draftEditor.showStatusHud(this.$statusIcon)}.bind(this))}this.handleWindowResize(),this.addListener(Garnish.$win,"resize","handleWindowResize"),this.$editorContainer.css(Craft.left,-(this.editorWidthInPx+Craft.Preview.dragHandleWidth)+"px"),this.$previewContainer.css(Craft.right,-this.getIframeWidth()),this.fields=[];var r=$("#content .field").not($("#content .field .field"));if(r.length){this.$tempInput.insertBefore(r.get(0));for(a=0;a<r.length;a++){var o=$(r[a]),l=this._getClone(o);this.$fieldPlaceholder.insertAfter(o),o.detach(),this.$fieldPlaceholder.replaceWith(l),o.appendTo(this.$editor),this.fields.push({$field:o,$clone:l})}}this._slideInOnIframeLoad=!0,this.updateIframe(),this.draftEditor.on("update",this._updateIframeProxy),Garnish.on(Craft.BaseElementEditor,"saveElement",this._updateIframeProxy),Garnish.on(Craft.AssetImageEditor,"save",this._updateIframeProxy),this.trigger("open")}},switchTarget:function(t){this.activeTarget=t,this.$targetBtn.text(this.draftEditor.settings.previewTargets[t].label),this.$targetMenu.find("a.sel").removeClass("sel"),this.$targetMenu.find("a").eq(t).addClass("sel"),this.updateIframe(!0)},handleWindowResize:function(){this.editorWidth=this.editorWidth,this.updateWidths()},slideIn:function(){$("html").addClass("noscroll"),this.$shade.velocity("fadeIn"),this.$editorContainer.show().velocity("stop").animateLeft(0,"slow",$.proxy(function(){this.trigger("slideIn"),Garnish.$win.trigger("resize")},this)),this.$previewContainer.show().velocity("stop").animateRight(0,"slow",$.proxy(function(){this.addListener(Garnish.$bod,"keyup",function(t){t.keyCode===Garnish.ESC_KEY&&this.close()})},this))},close:function(){this.isActive&&(this.trigger("beforeClose"),$("html").removeClass("noscroll"),this.removeListener(Garnish.$win,"resize"),this.removeListener(Garnish.$bod,"keyup"),this.$tempInput.detach(),this.moveFieldsBack(),this.$shade.delay(200).velocity("fadeOut"),this.$editorContainer.velocity("stop").animateLeft(-(this.editorWidthInPx+Craft.Preview.dragHandleWidth),"slow",$.proxy(function(){for(var t=0;t<this.fields.length;t++)this.fields[t].$newClone.remove();this.$editorContainer.hide(),this.trigger("slideOut")},this)),this.$previewContainer.velocity("stop").animateRight(-this.getIframeWidth(),"slow",$.proxy(function(){this.$previewContainer.hide()},this)),this.draftEditor.off("update",this._updateIframeProxy),Garnish.off(Craft.BaseElementEditor,"saveElement",this._updateIframeProxy),Garnish.off(Craft.AssetImageEditor,"save",this._updateIframeProxy),this.isActive=!1,this.trigger("close"))},moveFieldsBack:function(){for(var t=0;t<this.fields.length;t++){var e=this.fields[t];e.$newClone=this._getClone(e.$field),this.$fieldPlaceholder.insertAfter(e.$field),e.$field.detach(),this.$fieldPlaceholder.replaceWith(e.$newClone),e.$clone.replaceWith(e.$field)}Garnish.$win.trigger("resize")},getIframeWidth:function(){return Garnish.$win.width()-(this.editorWidthInPx+Craft.Preview.dragHandleWidth)},updateWidths:function(){this.$editorContainer.css("width",this.editorWidthInPx+"px"),this.$previewContainer.width(this.getIframeWidth())},updateIframe:function(n){if(!this.isActive)return!1;n=!0===n;var t=this.draftEditor.settings.previewTargets[this.activeTarget].url;this.draftEditor.getTokenizedPreviewUrl(t,"x-craft-live-preview").then(function(t){var e;if(n)this.scrollLeft=0,this.scrolllTop=0;else if((e=Craft.isSameHost(t))&&this.$iframe&&this.$iframe[0].contentWindow){var i=$(this.$iframe[0].contentWindow.document);this.scrollLeft=i.scrollLeft(),this.scrollTop=i.scrollTop()}var s=$("<iframe/>",{class:"lp-preview",frameborder:0,src:t});!n&&e&&s.on("load",function(){var t=$(s[0].contentWindow.document);t.scrollLeft(this.scrollLeft),t.scrollTop(this.scrollTop)}.bind(this)),this.$iframe?this.$iframe.replaceWith(s):s.appendTo(this.$previewContainer),this.url=t,this.$iframe=s,this.afterUpdateIframe()}.bind(this))},afterUpdateIframe:function(){this.trigger("afterUpdateIframe"),this._slideInOnIframeLoad&&(this.slideIn(),this._slideInOnIframeLoad=!1)},_getClone:function(t){var e=t.clone();return Garnish.copyInputValues(t,e),e.attr("id",""),e.find("[id]").attr("id",""),e.find("[name]").prop("disabled",!0),e},_onDragStart:function(){this.dragStartEditorWidth=this.editorWidthInPx,this.$previewContainer.addClass("dragging")},_onDrag:function(){"ltr"===Craft.orientation?this.editorWidth=this.dragStartEditorWidth+this.dragger.mouseDistX:this.editorWidth=this.dragStartEditorWidth-this.dragger.mouseDistX,this.updateWidths()},_onDragStop:function(){this.$previewContainer.removeClass("dragging"),Craft.setLocalStorage("LivePreview.editorWidth",this.editorWidth)}},{defaultEditorWidth:.33,minEditorWidthInPx:320,dragHandleWidth:2}),Craft.PreviewFileModal=Garnish.Modal.extend({assetId:null,$spinner:null,elementSelect:null,type:null,loaded:null,requestId:0,init:function(t,e,i){if((i=$.extend(this.defaultSettings,i)).onHide=this._onHide.bind(this),Craft.PreviewFileModal.openInstance){var s=Craft.PreviewFileModal.openInstance;return s.assetId!==t&&(s.loadAsset(t,i.startingWidth,i.startingHeight),s.elementSelect=e),this.destroy()}(Craft.PreviewFileModal.openInstance=this).elementSelect=e,this.$container=$('<div id="previewmodal" class="modal loading"/>').appendTo(Garnish.$bod),this.base(this.$container,$.extend({resizable:!0},i)),this.$container&&(this.$container.velocity("stop"),this.$container.show().css("opacity",1),this.$shade.velocity("stop"),this.$shade.show().css("opacity",1)),this.loadAsset(t,i.startingWidth,i.startingHeight)},_onHide:function(){return Craft.PreviewFileModal.openInstance=null,this.elementSelect.focusItem(this.elementSelect.$focusedItem),this.$shade.remove(),this.destroy()},selfDestruct:function(){var t=Craft.PreviewFileModal.openInstance;return t.hide(),t.$shade.remove(),t.destroy(),!(Craft.PreviewFileModal.openInstance=null)},loadAsset:function(t,e,i){this.assetId=t,this.$container.empty(),this.loaded=!1,this.desiredHeight=null,this.desiredWidth=null;var n=.66*Garnish.$win.height(),a=Math.min(n/3*4,Garnish.$win.width()-2*this.settings.minGutter);if(n=a/4*3,e&&i){var s=e/i;a=Math.min(e,Garnish.$win.width()-2*this.settings.minGutter),n=Math.min(a/s,Garnish.$win.height()-2*this.settings.minGutter),(a=n*s)>Math.min(e,Garnish.$win.width()-2*this.settings.minGutter)&&(a=Math.min(e,Garnish.$win.width()-2*this.settings.minGutter),n=a/s)}this._resizeContainer(a,n),this.$spinner=$('<div class="spinner centeralign"></div>').appendTo(this.$container);var r=this.$container.height()/2-this.$spinner.height()/2+"px",o=this.$container.width()/2-this.$spinner.width()/2+"px";this.$spinner.css({left:o,top:r,position:"absolute"}),this.requestId++,Craft.postActionRequest("assets/preview-file",{assetId:t,requestId:this.requestId},function(t,e){if("success"===e)if(t.success){if(t.requestId!=this.requestId)return;this.$container.removeClass("loading"),this.$spinner.remove(),this.loaded=!0,this.$container.append(t.modalHtml);var i=this.$container.find(".highlight");if(i.length&&i.hasClass("json")){var s=i.find("code");s.html(JSON.stringify(JSON.parse(s.html()),void 0,4))}i.length?Prism.highlightElement(i.find("code").get(0)):this.$container.find("img").css({width:a,height:n}),this.updateSizeAndPosition()}else alert(t.error),this.hide()}.bind(this))},updateSizeAndPosition:function(){if(this.loaded){var t=this.$container.find("img");if(this.loaded&&t.length){var e=t.data("maxwidth"),i=t.data("maxheight"),s=e/i,n=this.desiredWidth?this.desiredWidth:this.$container.width(),a=(this.desiredHeight?this.desiredHeight:this.$container.height(),Math.min(n,e)),r=Math.round(Math.min(i,a/s));a=Math.round(r*s),t.css({width:a,height:r}),this._resizeContainer(a,r),this.desiredWidth=a,this.desiredHeight=r}if(this.base(),this.loaded&&t.length){var o=Math.round(Math.min(Math.max(t.height()*s),Garnish.$win.width()-2*this.settings.minGutter)),l=Math.round(Math.min(Math.max(o/s),Garnish.$win.height()-2*this.settings.minGutter));(o=Math.round(l*s))>Math.min(o,Garnish.$win.width()-2*this.settings.minGutter)&&(l=(o=Math.min(o,Garnish.$win.width()-2*this.settings.minGutter))/s),this._resizeContainer(o,l),t.css({width:o,height:l})}else this.loaded&&this.$container.find(".highlight").height(this.$container.height()).width(this.$container.width()).css({overflow:"auto"})}},_resizeContainer:function(t,e){this.$container.css({width:t,"min-width":t,"max-width":t,height:e,"min-height":e,"max-height":e,top:(Garnish.$win.height()-e)/2,left:(Garnish.$win.width()-t)/2})}},{defaultSettings:{startingWidth:null,startingHeight:null}}),Craft.ProgressBar=Garnish.Base.extend({$progressBar:null,$innerProgressBar:null,$progressBarStatus:null,_itemCount:0,_processedItemCount:0,_displaySteps:!1,init:function(t,e){e&&(this._displaySteps=!0),this.$progressBar=$('<div class="progressbar pending hidden"/>').appendTo(t),this.$innerProgressBar=$('<div class="progressbar-inner"/>').appendTo(this.$progressBar),this.$progressBarStatus=$('<div class="progressbar-status hidden" />').insertAfter(this.$progressBar),this.resetProgressBar()},resetProgressBar:function(){this.setProgressPercentage(100),this.$progressBar.addClass("pending"),this.setItemCount(1),this.setProcessedItemCount(0),this.$progressBarStatus.html(""),this._displaySteps&&this.$progressBar.addClass("has-status")},hideProgressBar:function(){this.$progressBar.fadeTo("fast",.01,$.proxy(function(){this.$progressBar.addClass("hidden").fadeTo(1,1,$.noop)},this))},showProgressBar:function(){this.$progressBar.removeClass("hidden"),this.$progressBarStatus.removeClass("hidden")},setItemCount:function(t){this._itemCount=t},incrementItemCount:function(t){this._itemCount+=t},setProcessedItemCount:function(t){this._processedItemCount=t},incrementProcessedItemCount:function(t){this._processedItemCount+=t},updateProgressBar:function(){this._itemCount=Math.max(this._itemCount,1);var t=Math.min(100,Math.round(100*this._processedItemCount/this._itemCount));this.setProgressPercentage(t),this._displaySteps&&this.$progressBarStatus.html(this._processedItemCount+" / "+this._itemCount)},setProgressPercentage:function(t,e){0===t?this.$progressBar.addClass("pending"):(this.$progressBar.removeClass("pending"),e?this.$innerProgressBar.velocity("stop").velocity({width:t+"%"},"fast"):this.$innerProgressBar.velocity("stop").width(t+"%"))}}),Craft.PromptHandler=Garnish.Base.extend({modal:null,$modalContainerDiv:null,$prompt:null,$promptApplyToRemainingContainer:null,$promptApplyToRemainingCheckbox:null,$promptApplyToRemainingLabel:null,$pomptChoices:null,_prompts:[],_promptBatchCallback:$.noop,_promptBatchReturnData:[],_promptBatchNum:0,resetPrompts:function(){this._prompts=[],this._promptBatchCallback=$.noop,this._promptBatchReturnData=[],this._promptBatchNum=0},addPrompt:function(t){this._prompts.push(t)},getPromptCount:function(){return this._prompts.length},showBatchPrompts:function(t){this._promptBatchCallback=t,this._promptBatchReturnData=[],this._promptBatchNum=0,this._showNextPromptInBatch()},_showNextPromptInBatch:function(){var t=this._prompts[this._promptBatchNum].prompt,e=this._prompts.length-(this._promptBatchNum+1);this._showPrompt(t.message,t.choices,$.proxy(this,"_handleBatchPromptSelection"),e)},_handleBatchPromptSelection:function(t,e){var i=this._prompts[this._promptBatchNum],s=this._prompts.length-(this._promptBatchNum+1),n=$.extend(i,{choice:t});this._promptBatchReturnData.push(n),s?(this._promptBatchNum++,e?this._handleBatchPromptSelection(t,!0):this._showNextPromptInBatch()):"function"==typeof this._promptBatchCallback&&this._promptBatchCallback(this._promptBatchReturnData)},_showPrompt:function(t,e,i,s){this._promptCallback=i,null===this.modal&&(this.modal=new Garnish.Modal({closeOtherModals:!1})),null===this.$modalContainerDiv&&(this.$modalContainerDiv=$('<div class="modal fitted prompt-modal"></div>').addClass().appendTo(Garnish.$bod)),this.$prompt=$('<div class="body"></div>').appendTo(this.$modalContainerDiv.empty()),this.$promptMessage=$('<p class="prompt-msg"/>').appendTo(this.$prompt),this.$promptChoices=$('<div class="options"></div>').appendTo(this.$prompt),this.$promptApplyToRemainingContainer=$('<label class="assets-applytoremaining"/>').appendTo(this.$prompt).hide(),this.$promptApplyToRemainingCheckbox=$('<input type="checkbox"/>').appendTo(this.$promptApplyToRemainingContainer),this.$promptApplyToRemainingLabel=$("<span/>").appendTo(this.$promptApplyToRemainingContainer),this.$promptButtons=$('<div class="buttons right"/>').appendTo(this.$prompt),this.modal.setContainer(this.$modalContainerDiv),this.$promptMessage.html(t);for(var n=$('<div class="btn">'+Craft.t("app","Cancel")+"</div>").appendTo(this.$promptButtons),a=$('<input type="submit" class="btn submit disabled" value="'+Craft.t("app","OK")+'" />').appendTo(this.$promptButtons),r=0;r<e.length;r++){var o=$('<div><label><input type="radio" name="promptAction" value="'+e[r].value+'"/> '+e[r].title+"</label></div>").appendTo(this.$promptChoices).find("input");this.addListener(o,"click",function(){a.removeClass("disabled")})}this.addListener(a,"activate",function(t){var e=$(t.currentTarget).parents(".modal").find("input[name=promptAction]:checked").val(),i=this.$promptApplyToRemainingCheckbox.prop("checked");this._selectPromptChoice(e,i)}),this.addListener(n,"activate",function(){var t=this.$promptApplyToRemainingCheckbox.prop("checked");this._selectPromptChoice("cancel",t)}),s&&(this.$promptApplyToRemainingContainer.show(),this.$promptApplyToRemainingLabel.html(" "+Craft.t("app","Apply this to the {number} remaining conflicts?",{number:s}))),this.modal.show(),this.modal.removeListener(Garnish.Modal.$shade,"click"),this.addListener(Garnish.Modal.$shade,"click","_cancelPrompt")},_selectPromptChoice:function(t,e){this.$prompt.fadeOut("fast",$.proxy(function(){this.modal.hide(),this._promptCallback(t,e)},this))},_cancelPrompt:function(){this._selectPromptChoice("cancel",!0)}}),Craft.SlideRuleInput=Garnish.Base.extend({$container:null,$options:null,$selectedOption:null,$input:null,value:null,startPositionX:null,init:function(t,e){this.setSettings(e,Craft.SlideRuleInput.defaultSettings),this.value=0,this.graduationsMin=-70,this.graduationsMax=70,this.slideMin=-45,this.slideMax=45,this.$container=$("#"+t),this.$overlay=$('<div class="overlay"></div>').appendTo(this.$container),this.$cursor=$('<div class="cursor"></div>').appendTo(this.$container),this.$graduations=$('<div class="graduations"></div>').appendTo(this.$container),this.$graduationsUl=$("<ul></ul>").appendTo(this.$graduations);for(var i=this.graduationsMin;i<=this.graduationsMax;i++){var s=$('<li class="graduation" data-graduation="'+i+'"><div class="label">'+i+"</div></li>").appendTo(this.$graduationsUl);i%5==0&&s.addClass("main-graduation"),0===i&&s.addClass("selected")}this.$options=this.$container.find(".graduation"),this.addListener(this.$container,"resize",$.proxy(this,"_handleResize")),this.addListener(this.$container,"tapstart",$.proxy(this,"_handleTapStart")),this.addListener(Garnish.$bod,"tapmove",$.proxy(this,"_handleTapMove")),this.addListener(Garnish.$bod,"tapend",$.proxy(this,"_handleTapEnd")),setTimeout($.proxy(function(){this.graduationsCalculatedWidth=10*(this.$options.length-1),this.$graduationsUl.css("left",-this.graduationsCalculatedWidth/2+this.$container.width()/2)},this),50)},_handleResize:function(){var t=this.valueToPosition(this.value);this.$graduationsUl.css("left",t)},_handleTapStart:function(t,e){t.preventDefault(),this.startPositionX=e.position.x,this.startLeft=this.$graduationsUl.position().left,this.dragging=!0,this.onStart()},_handleTapMove:function(t,e){if(this.dragging){t.preventDefault();var i=this.startPositionX-e.position.x,s=this.startLeft-i,n=this.positionToValue(s);this.setValue(n),this.onChange()}},setValue:function(i){var t=this.valueToPosition(i);i<this.slideMin?(i=this.slideMin,t=this.valueToPosition(i)):i>this.slideMax&&(i=this.slideMax,t=this.valueToPosition(i)),this.$graduationsUl.css("left",t),i>=this.slideMin&&i<=this.slideMax&&(this.$options.removeClass("selected"),$.each(this.$options,function(t,e){0<$(e).data("graduation")&&$(e).data("graduation")<=i&&$(e).addClass("selected"),$(e).data("graduation")<0&&$(e).data("graduation")>=i&&$(e).addClass("selected"),0==$(e).data("graduation")&&$(e).addClass("selected")})),this.value=i},_handleTapEnd:function(t){this.dragging&&(t.preventDefault(),this.dragging=!1,this.onEnd())},positionToValue:function(t){var e=-1*this.graduationsMin,i=-1*(this.graduationsMin-this.graduationsMax);return(this.$graduations.width()/2+-1*t)/this.graduationsCalculatedWidth*i-e},valueToPosition:function(t){var e=-1*this.graduationsMin,i=-1*(this.graduationsMin-this.graduationsMax);return-((t+e)*this.graduationsCalculatedWidth/i-this.$graduations.width()/2)},onStart:function(){"function"==typeof this.settings.onChange&&this.settings.onStart(this)},onChange:function(){"function"==typeof this.settings.onChange&&this.settings.onChange(this)},onEnd:function(){"function"==typeof this.settings.onChange&&this.settings.onEnd(this)},defaultSettings:{onStart:$.noop,onChange:$.noop,onEnd:$.noop}}),Craft.SlugGenerator=Craft.BaseInputGenerator.extend({generateTargetValue:function(t){t=(t=t.replace(/<(.*?)>/g,"")).replace(/['"‘’“”\[\]\(\)\{\}:]/g,""),Craft.allowUppercaseInSlug||(t=t.toLowerCase()),Craft.limitAutoSlugsToAscii&&(t=Craft.asciiString(t,this.settings.charMap));var e=Craft.filterArray(XRegExp.matchChain(t,[XRegExp("[\\p{L}\\p{N}\\p{M}]+")]));return e.length?e.join(Craft.slugWordSeparator):""}}),Craft.Structure=Garnish.Base.extend({id:null,$container:null,state:null,structureDrag:null,init:function(t,e,i){this.id=t,this.$container=$(e),this.setSettings(i,Craft.Structure.defaults),this.$container.data("structure")&&(Garnish.log("Double-instantiating a structure on an element"),this.$container.data("structure").destroy()),this.$container.data("structure",this),this.state={},this.settings.storageKey&&$.extend(this.state,Craft.getLocalStorage(this.settings.storageKey,{})),void 0===this.state.collapsedElementIds&&(this.state.collapsedElementIds=[]);for(var s=this.$container.find("ul").prev(".row"),n=0;n<s.length;n++){var a=$(s[n]),r=a.parent(),o=$('<div class="toggle" title="'+Craft.t("app","Show/hide children")+'"/>').prependTo(a);-1!==$.inArray(a.children(".element").data("id"),this.state.collapsedElementIds)&&r.addClass("collapsed"),this.initToggle(o)}this.settings.sortable&&(this.structureDrag=new Craft.StructureDrag(this,this.settings.maxLevels)),this.settings.newChildUrl&&this.initNewChildMenus(this.$container.find(".add"))},initToggle:function(t){t.on("click",$.proxy(function(t){var e=$(t.currentTarget).closest("li"),i=e.children(".row").find(".element:first").data("id"),s=$.inArray(i,this.state.collapsedElementIds);e.hasClass("collapsed")?(e.removeClass("collapsed"),-1!==s&&this.state.collapsedElementIds.splice(s,1)):(e.addClass("collapsed"),-1===s&&this.state.collapsedElementIds.push(i)),this.settings.storageKey&&Craft.setLocalStorage(this.settings.storageKey,this.state)},this))},initNewChildMenus:function(t){this.addListener(t,"click","onNewChildMenuClick")},onNewChildMenuClick:function(t){var e=$(t.currentTarget);if(!e.data("menubtn")){var i=e.parent().children(".element").data("id"),s=Craft.getUrl(this.settings.newChildUrl,"parentId="+i);$('<div class="menu"><ul><li><a href="'+s+'">'+Craft.t("app","New child")+"</a></li></ul></div>").insertAfter(e),new Garnish.MenuBtn(e).showMenu()}},getIndent:function(t){return Craft.Structure.baseIndent+(t-1)*Craft.Structure.nestedIndent},addElement:function(t){var e=$('<li data-level="1"/>').appendTo(this.$container),i=$('<div class="row" style="margin-'+Craft.left+": -"+Craft.Structure.baseIndent+"px; padding-"+Craft.left+": "+Craft.Structure.baseIndent+'px;">').appendTo(e);if(i.append(t),this.settings.sortable&&(i.append('<a class="move icon" title="'+Craft.t("app","Move")+'"></a>'),this.structureDrag.addItems(e)),this.settings.newChildUrl){var s=$('<a class="add icon" title="'+Craft.t("app","New child")+'"></a>').appendTo(i);this.initNewChildMenus(s)}i.css("margin-bottom",-30),i.velocity({"margin-bottom":0},"fast")},removeElement:function(t){var e,i=t.parent().parent();this.settings.sortable&&this.structureDrag.removeItems(i),i.siblings().length||(e=i.parent()),i.css("visibility","hidden").velocity({marginBottom:-i.height()},"fast",$.proxy(function(){i.remove(),void 0!==e&&this._removeUl(e)},this))},_removeUl:function(t){t.siblings(".row").children(".toggle").remove(),t.remove()}},{baseIndent:8,nestedIndent:35,defaults:{storageKey:null,sortable:!1,newChildUrl:null,maxLevels:null}}),Craft.StructureDrag=Garnish.Drag.extend({structure:null,maxLevels:null,draggeeLevel:null,$helperLi:null,$targets:null,draggeeHeight:null,init:function(t,e){this.structure=t,this.maxLevels=e,this.$insertion=$('<li class="draginsertion"/>');var i=this.structure.$container.find("li");this.base(i,{handle:".element:first, .move:first",helper:$.proxy(this,"getHelper")})},getHelper:function(t){this.$helperLi=t;var e=$('<ul class="structure draghelper"/>').append(t);return t.css("padding-"+Craft.left,this.$draggee.css("padding-"+Craft.left)),t.find(".move").removeAttr("title"),e},onDragStart:function(){this.$targets=$(),this.findTargets(this.structure.$container),this.draggeeLevel=0;for(var t=this.$draggee;this.draggeeLevel++,(t=t.find("> ul > li")).length;);this.draggeeHeight=this.$draggee.height(),this.$draggee.velocity({height:0},"fast",$.proxy(function(){this.$draggee.addClass("hidden")},this)),this.base(),this.addListener(Garnish.$doc,"keydown",function(t){t.keyCode===Garnish.ESC_KEY&&this.cancelDrag()})},findTargets:function(t){for(var e=t.children().not(this.$draggee),i=0;i<e.length;i++){var s=$(e[i]);this.$targets=this.$targets.add(s.children(".row")),s.hasClass("collapsed")||this.findTargets(s.children("ul"))}},onDrag:function(){for(this._.$closestTarget&&(this._.$closestTarget.removeClass("draghover"),this.$insertion.remove()),this._.$closestTarget=null,this._.closestTargetPos=null,this._.closestTargetYDiff=null,this._.closestTargetOffset=null,this._.closestTargetHeight=null,this._.i=0;this._.i<this.$targets.length&&(this._.$target=$(this.$targets[this._.i]),this._.targetOffset=this._.$target.offset(),this._.targetHeight=this._.$target.outerHeight(),this._.targetYMidpoint=this._.targetOffset.top+this._.targetHeight/2,this._.targetYDiff=Math.abs(this.mouseY-this._.targetYMidpoint),0===this._.i||this.mouseY>=this._.targetOffset.top+5&&this._.targetYDiff<this._.closestTargetYDiff);this._.i++)this._.$closestTarget=this._.$target,this._.closestTargetPos=this._.i,this._.closestTargetYDiff=this._.targetYDiff,this._.closestTargetOffset=this._.targetOffset,this._.closestTargetHeight=this._.targetHeight;if(this._.$closestTarget)if(0===this._.closestTargetPos&&this.mouseY<this._.closestTargetOffset.top+5)this.$insertion.prependTo(this.structure.$container);else if(this._.$closestTargetLi=this._.$closestTarget.parent(),this._.closestTargetLevel=this._.$closestTargetLi.data("level"),this._.closestTargetPos<this.$targets.length-1?(this._.$nextTargetLi=$(this.$targets[this._.closestTargetPos+1]).parent(),this._.nextTargetLevel=this._.$nextTargetLi.data("level")):(this._.$nextTargetLi=null,this._.nextTargetLevel=null),this._.hoveringBetweenRows=this.mouseY>=this._.closestTargetOffset.top+this._.closestTargetHeight-5,this._.$nextTargetLi&&this._.nextTargetLevel==this._.closestTargetLevel)this._.hoveringBetweenRows?(!this.maxLevels||this.maxLevels>=this._.closestTargetLevel+this.draggeeLevel-1)&&this.$insertion.insertAfter(this._.$closestTargetLi):(!this.maxLevels||this.maxLevels>=this._.closestTargetLevel+this.draggeeLevel)&&this._.$closestTarget.addClass("draghover");else if(this._.$nextTargetLi&&this._.nextTargetLevel>this._.closestTargetLevel)(!this.maxLevels||this.maxLevels>=this._.nextTargetLevel+this.draggeeLevel-1)&&(this._.hoveringBetweenRows?this.$insertion.insertBefore(this._.$nextTargetLi):(this._.$closestTarget.addClass("draghover"),this.$insertion.appendTo(this._.$closestTargetLi.children("ul"))));else if(this._.hoveringBetweenRows){for(this._.draggeeX=this.mouseX-this.targetItemMouseDiffX,"rtl"===Craft.orientation&&(this._.draggeeX+=this.$helperLi.width()),this._.$parentLis=this._.$closestTarget.parentsUntil(this.structure.$container,"li"),this._.$closestParentLi=null,this._.closestParentLiXDiff=null,this._.closestParentLevel=null,this._.i=0;this._.i<this._.$parentLis.length;this._.i++)this._.$parentLi=$(this._.$parentLis[this._.i]),this._.parentLiX=this._.$parentLi.offset().left,"rtl"===Craft.orientation&&(this._.parentLiX+=this._.$parentLi.width()),this._.parentLiXDiff=Math.abs(this._.parentLiX-this._.draggeeX),this._.parentLevel=this._.$parentLi.data("level"),(!this.maxLevels||this.maxLevels>=this._.parentLevel+this.draggeeLevel-1)&&(!this._.$closestParentLi||this._.parentLiXDiff<this._.closestParentLiXDiff&&(!this._.$nextTargetLi||this._.parentLevel>=this._.nextTargetLevel))&&(this._.$closestParentLi=this._.$parentLi,this._.closestParentLiXDiff=this._.parentLiXDiff,this._.closestParentLevel=this._.parentLevel);this._.$closestParentLi&&this.$insertion.insertAfter(this._.$closestParentLi)}else(!this.maxLevels||this.maxLevels>=this._.closestTargetLevel+this.draggeeLevel)&&this._.$closestTarget.addClass("draghover")},cancelDrag:function(){this.$insertion.remove(),this._.$closestTarget&&this._.$closestTarget.removeClass("draghover"),this.onMouseUp()},onDragStop:function(){if(this._.$closestTarget&&(this.$insertion.parent().length||this._.$closestTarget.hasClass("draghover"))){var t,e;if(this.$draggee.siblings().length||(t=this.$draggee.parent()),this.$insertion.parent().length){var i=this.$insertion.next().add(this.$insertion.prev());e=-1===$.inArray(this.$draggee[0],i)?(this.$insertion.replaceWith(this.$draggee),!0):(this.$insertion.remove(),!1)}else{var s=this._.$closestTargetLi.children("ul");if(t&&s.length&&s[0]===t[0])e=!1;else{if(s.length)this._.$closestTargetLi.hasClass("collapsed")&&this._.$closestTarget.children(".toggle").trigger("click");else{var n=$('<div class="toggle" title="'+Craft.t("app","Show/hide children")+'"/>').prependTo(this._.$closestTarget);this.structure.initToggle(n),s=$("<ul>").appendTo(this._.$closestTargetLi)}this.$draggee.appendTo(s),e=!0}}if(this._.$closestTarget.removeClass("draghover"),e){t&&this.structure._removeUl(t);var a,r=this.$draggee.parentsUntil(this.structure.$container,"li").length+1;r!=this.$draggee.data("level")&&(1==this.$draggee.data("level")?((a={})["padding-"+Craft.left]=38,this.$helperLi.velocity(a,"fast")):1==r&&((a={})["padding-"+Craft.left]=Craft.Structure.baseIndent,this.$helperLi.velocity(a,"fast")),this.setLevel(this.$draggee,r));var o=this.$draggee.children(".row").children(".element"),l={structureId:this.structure.id,elementId:o.data("id"),siteId:o.data("site-id"),prevId:this.$draggee.prev().children(".row").children(".element").data("id"),parentId:this.$draggee.parent("ul").parent("li").children(".row").children(".element").data("id")};Craft.postActionRequest("structures/move-element",l,function(t,e){"success"===e&&Craft.cp.displayNotice(Craft.t("app","New order saved."))})}}this.$draggee.velocity("stop").removeClass("hidden").velocity({height:this.draggeeHeight},"fast",$.proxy(function(){this.$draggee.css("height","auto")},this)),this.returnHelpersToDraggees(),this.base()},setLevel:function(t,e){t.data("level",e);var i=this.structure.getIndent(e),s={};s["margin-"+Craft.left]="-"+i+"px",s["padding-"+Craft.left]=i+"px",this.$draggee.children(".row").css(s);for(var n=t.children("ul").children(),a=0;a<n.length;a++)this.setLevel($(n[a]),e+1)}}),Craft.StructureTableSorter=Garnish.DragSort.extend({tableView:null,structureId:null,maxLevels:null,_helperMargin:null,_$firstRowCells:null,_$titleHelperCell:null,_titleHelperCellOuterWidth:null,_ancestors:null,_updateAncestorsFrame:null,_updateAncestorsProxy:null,_draggeeLevel:null,_draggeeLevelDelta:null,draggingLastElements:null,_loadingDraggeeLevelDelta:!1,_targetLevel:null,_targetLevelBounds:null,_positionChanged:null,init:function(t,e,i){this.tableView=t,this.structureId=this.tableView.$table.data("structure-id"),this.maxLevels=parseInt(this.tableView.$table.attr("data-max-levels")),i=$.extend({},Craft.StructureTableSorter.defaults,i,{handle:".move",collapseDraggees:!0,singleHelper:!0,helperSpacingY:2,magnetStrength:4,helper:$.proxy(this,"getHelper"),helperLagBase:1.5,axis:Garnish.Y_AXIS}),this.base(e,i)},startDragging:function(){this._helperMargin=Craft.StructureTableSorter.HELPER_MARGIN+(this.tableView.elementIndex.actions?24:0),this.base()},findDraggee:function(){this._draggeeLevel=this._targetLevel=this.$targetItem.data("level"),this._draggeeLevelDelta=0;for(var t=$(this.$targetItem),e=this.$targetItem.next();e.length;){var i=e.data("level");if(i<=this._draggeeLevel)break;var s=i-this._draggeeLevel;s>this._draggeeLevelDelta&&(this._draggeeLevelDelta=s),t=t.add(e),e=e.next()}if(this.draggingLastElements=!e.length,this.maxLevels&&this.draggingLastElements&&this.tableView.getMorePending()){this._loadingDraggeeLevelDelta=!0;var n=this._getAjaxBaseData(this.$targetItem);Craft.postActionRequest("structures/get-element-level-delta",n,$.proxy(function(t,e){"success"===e&&(this._loadingDraggeeLevelDelta=!1,this.dragging&&(this._draggeeLevelDelta=t.delta,this.drag(!1)))},this))}return t},getHelper:function(t){var e=$('<div class="elements datatablesorthelper"/>').appendTo(Garnish.$bod),i=$('<div class="tableview"/>').appendTo(e),s=$('<table class="data"/>').appendTo(i),n=$("<tbody/>").appendTo(s);t.appendTo(n),this._$firstRowCells=this.tableView.$elementContainer.children("tr:first").children();for(var a=t.children(),r=0;r<a.length;r++){var o=$(a[r]);if(o.hasClass("checkbox-cell"))o.remove();else{var l=$(this._$firstRowCells[r]),h=l.width();if(l.width(h),o.width(h),Garnish.hasAttr(l,"data-titlecell")){this._$titleHelperCell=o;var d=parseInt(l.css("padding-"+Craft.left));this._titleHelperCellOuterWidth=h+d-(this.tableView.elementIndex.actions?12:0),o.css("padding-"+Craft.left,Craft.StructureTableSorter.BASE_PADDING)}}}return e},canInsertBefore:function(t){return!this._loadingDraggeeLevelDelta&&!1!==this._getLevelBounds(t.prev(),t)},canInsertAfter:function(t){return!this._loadingDraggeeLevelDelta&&!1!==this._getLevelBounds(t,t.next())},onDragStart:function(){this._ancestors=this._getAncestors(this.$targetItem,this.$targetItem.data("level")),this._setTargetLevelBounds(),this.tableView.maybeLoadMore(),this.base()},onDrag:function(){this.base(),this._updateIndent()},onInsertionPointChange:function(){this._setTargetLevelBounds(),this._updateAncestorsBeforeRepaint(),this.base()},onDragStop:function(){if(this._positionChanged=!1,this.base(),this._targetLevel!=this._draggeeLevel){for(var t=this._targetLevel-this._draggeeLevel,e=0;e<this.$draggee.length;e++){var i=$(this.$draggee[e]),s=i.data("level")+t,n=Craft.StructureTableSorter.BASE_PADDING+(this.tableView.elementIndex.actions?7:0)+this._getLevelIndent(s);i.data("level",s),i.find(".element").data("level",s),i.children("[data-titlecell]:first").css("padding-"+Craft.left,n)}this._positionChanged=!0}if(this._positionChanged){for(var a=this._getAjaxBaseData(this.$draggee),r=this.$draggee.first().prev();r.length;){var o=r.data("level");if(o==this._targetLevel){a.prevId=r.data("id");break}if(o<this._targetLevel){a.parentId=r.data("id");var l=r.find("> td > .toggle");if(!l.hasClass("expanded")){l.addClass("expanded");var h=this.tableView._createSpinnerRowAfter(r);this.tableView.elementSelect&&this.tableView.elementSelect.removeItems(this.$targetItem),this.removeItems(this.$targetItem),this.$targetItem.remove(),this.tableView._totalVisible--}break}r=r.prev()}Craft.postActionRequest("structures/move-element",a,$.proxy(function(t,e){if("success"===e){if(!t.success)return Craft.cp.displayError(Craft.t("app","An unknown error occurred.")),void this.tableView.elementIndex.updateElements();Craft.cp.displayNotice(Craft.t("app","New position saved.")),this.onPositionChange(),h&&h.parent().length&&(h.remove(),this.tableView._expandElement(l,!0)),Craft.cp.runQueue()}},this))}},onSortChange:function(){this.tableView.elementSelect&&this.tableView.elementSelect.resetItemOrder(),this._positionChanged=!0,this.base()},onPositionChange:function(){Garnish.requestAnimationFrame($.proxy(function(){this.trigger("positionChange"),this.settings.onPositionChange()},this))},onReturnHelpersToDraggees:function(){if(this._$firstRowCells.css("width",""),this.draggingLastElements&&this.tableView.getMorePending()){this.tableView._totalVisible+=this.newDraggeeIndexes[0]-this.oldDraggeeIndexes[0];var t=this.$draggee.last().nextAll();t.length&&(this.removeItems(t),t.remove(),this.tableView.maybeLoadMore())}this.base()},_getLevelBounds:function(t,e){if(e&&e.length?this._getLevelBounds._minLevel=e.data("level"):this._getLevelBounds._minLevel=1,t&&t.length?this._getLevelBounds._maxLevel=t.data("level")+1:this._getLevelBounds._maxLevel=1,this.maxLevels){if(1!=this._getLevelBounds._minLevel&&this._getLevelBounds._minLevel+this._draggeeLevelDelta>this.maxLevels)return!1;this._getLevelBounds._maxLevel+this._draggeeLevelDelta>this.maxLevels&&(this._getLevelBounds._maxLevel=this.maxLevels-this._draggeeLevelDelta,this._getLevelBounds._maxLevel<this._getLevelBounds._minLevel&&(this._getLevelBounds._maxLevel=this._getLevelBounds._minLevel))}return{min:this._getLevelBounds._minLevel,max:this._getLevelBounds._maxLevel}},_setTargetLevelBounds:function(){this._targetLevelBounds=this._getLevelBounds(this.$draggee.first().prev(),this.$draggee.last().next())},_updateIndent:function(t){this._updateIndent._mouseDist=this.realMouseX-this.mousedownX,"rtl"===Craft.orientation&&(this._updateIndent._mouseDist*=-1),this._updateIndent._indentationDist=Math.round(this._updateIndent._mouseDist/Craft.StructureTableSorter.LEVEL_INDENT),this._updateIndent._targetLevel=this._draggeeLevel+this._updateIndent._indentationDist,this._updateIndent._targetLevel<this._targetLevelBounds.min?(this._updateIndent._indentationDist+=this._targetLevelBounds.min-this._updateIndent._targetLevel,this._updateIndent._targetLevel=this._targetLevelBounds.min):this._updateIndent._targetLevel>this._targetLevelBounds.max&&(this._updateIndent._indentationDist-=this._updateIndent._targetLevel-this._targetLevelBounds.max,this._updateIndent._targetLevel=this._targetLevelBounds.max),this._targetLevel!==(this._targetLevel=this._updateIndent._targetLevel)&&this._updateAncestorsBeforeRepaint(),this._updateIndent._targetLevelMouseDiff=this._updateIndent._mouseDist-this._updateIndent._indentationDist*Craft.StructureTableSorter.LEVEL_INDENT,this._updateIndent._magnetImpact=Math.round(this._updateIndent._targetLevelMouseDiff/15),Math.abs(this._updateIndent._magnetImpact)>Craft.StructureTableSorter.MAX_GIVE&&(this._updateIndent._magnetImpact=(0<this._updateIndent._magnetImpact?1:-1)*Craft.StructureTableSorter.MAX_GIVE),this._updateIndent._closestLevelMagnetIndent=this._getLevelIndent(this._targetLevel)+this._updateIndent._magnetImpact,this.helpers[0].css("margin-"+Craft.left,this._updateIndent._closestLevelMagnetIndent+this._helperMargin),this._$titleHelperCell.width(this._titleHelperCellOuterWidth-(this._updateIndent._closestLevelMagnetIndent+Craft.StructureTableSorter.BASE_PADDING))},_getLevelIndent:function(t){return(t-1)*Craft.StructureTableSorter.LEVEL_INDENT},_getAjaxBaseData:function(t){return{structureId:this.structureId,elementId:t.data("id"),siteId:t.find(".element:first").data("site-id")}},_getAncestors:function(t,e){if(this._getAncestors._ancestors=[],0!=e)for(this._getAncestors._level=e,this._getAncestors._$prevRow=t.prev();this._getAncestors._$prevRow.length&&!(this._getAncestors._$prevRow.data("level")<this._getAncestors._level&&(this._getAncestors._ancestors.unshift(this._getAncestors._$prevRow),this._getAncestors._level=this._getAncestors._$prevRow.data("level"),0==this._getAncestors._level));)this._getAncestors._$prevRow=this._getAncestors._$prevRow.prev();return this._getAncestors._ancestors},_updateAncestorsBeforeRepaint:function(){this._updateAncestorsFrame&&Garnish.cancelAnimationFrame(this._updateAncestorsFrame),this._updateAncestorsProxy||(this._updateAncestorsProxy=$.proxy(this,"_updateAncestors")),this._updateAncestorsFrame=Garnish.requestAnimationFrame(this._updateAncestorsProxy)},_updateAncestors:function(){for(this._updateAncestorsFrame=null,this._updateAncestors._i=0;this._updateAncestors._i<this._ancestors.length;this._updateAncestors._i++)this._updateAncestors._$ancestor=this._ancestors[this._updateAncestors._i],this._updateAncestors._$ancestor.data("descendants",this._updateAncestors._$ancestor.data("descendants")-1),0==this._updateAncestors._$ancestor.data("descendants")&&this._updateAncestors._$ancestor.find("> td > .toggle:first").remove();for(this._updateAncestors._newAncestors=this._getAncestors(this.$targetItem,this._targetLevel),this._updateAncestors._i=0;this._updateAncestors._i<this._updateAncestors._newAncestors.length;this._updateAncestors._i++)this._updateAncestors._$ancestor=this._updateAncestors._newAncestors[this._updateAncestors._i],this._updateAncestors._$ancestor.data("descendants",this._updateAncestors._$ancestor.data("descendants")+1),1==this._updateAncestors._$ancestor.data("descendants")&&$('<span class="toggle expanded" title="'+Craft.t("app","Show/hide children")+'"></span>').insertAfter(this._updateAncestors._$ancestor.find("> td .move:first"));this._ancestors=this._updateAncestors._newAncestors,delete this._updateAncestors._i,delete this._updateAncestors._$ancestor,delete this._updateAncestors._newAncestors}},{BASE_PADDING:36,HELPER_MARGIN:-7,LEVEL_INDENT:44,MAX_GIVE:22,defaults:{onPositionChange:$.noop}}),Craft.TableElementIndexView=Craft.BaseElementIndexView.extend({$table:null,$selectedSortHeader:null,structureTableSort:null,_totalVisiblePostStructureTableDraggee:null,_morePendingPostStructureTableDraggee:!1,getElementContainer:function(){return this.$table=this.$container.find("table:first"),this.$table.children("tbody:first")},afterInit:function(){Craft.cp.$collapsibleTables=Craft.cp.$collapsibleTables.add(this.$table),Craft.cp.updateResponsiveTables(),this.initTableHeaders(),"index"===this.elementIndex.settings.context&&"structure"===this.elementIndex.getSelectedSortAttribute()&&Garnish.hasAttr(this.$table,"data-structure-id")?this.structureTableSort=new Craft.StructureTableSorter(this,this.getAllElements(),{onSortChange:$.proxy(this,"_onStructureTableSortChange")}):this.structureTableSort=null,"structure"===this.elementIndex.getSelectedSortAttribute()&&this.addListener(this.$elementContainer,"click",function(t){var e=$(t.target);!e.hasClass("toggle")||!1===this._collapseElement(e)&&this._expandElement(e)})},initTableHeaders:function(){for(var t=this.elementIndex.getSelectedSortAttribute(),e=this.$table.children("thead").children().children("[data-attribute]"),i=0;i<e.length;i++){var s=e.eq(i),n=s.attr("data-attribute");if(n===t){this.$selectedSortHeader=s;var a=this.elementIndex.getSelectedSortDirection();s.addClass("ordered "+a).on("click",$.proxy(this,"_handleSelectedSortHeaderClick"))}else{this.elementIndex.getSortAttributeOption(n).length&&s.addClass("orderable").on("click",$.proxy(this,"_handleUnselectedSortHeaderClick"))}}},isVerticalList:function(){return!0},getTotalVisible:function(){return this._isStructureTableDraggingLastElements()?this._totalVisiblePostStructureTableDraggee:this._totalVisible},setTotalVisible:function(t){this._isStructureTableDraggingLastElements()?this._totalVisiblePostStructureTableDraggee=t:this._totalVisible=t},getMorePending:function(){return this._isStructureTableDraggingLastElements()?this._morePendingPostStructureTableDraggee:this._morePending},setMorePending:function(t){this._isStructureTableDraggingLastElements()?this._morePendingPostStructureTableDraggee=t:this._morePending=this._morePendingPostStructureTableDraggee=t},getLoadMoreParams:function(){var t=this.base();return this._isStructureTableDraggingLastElements()&&(t.criteria.positionedAfter=this.structureTableSort.$targetItem.data("id")),t},appendElements:function(t){this.base(t),this.structureTableSort&&this.structureTableSort.addItems(t),Craft.cp.updateResponsiveTables()},destroy:function(){this.$table&&(Craft.cp.$collapsibleTables=Craft.cp.$collapsibleTables.not(this.$table)),this.base()},createElementEditor:function(e){Craft.createElementEditor(e.data("type"),e,{params:{includeTableAttributesForSource:this.elementIndex.sourceKey},onSaveElement:$.proxy(function(t){t.tableAttributes&&this._updateTableAttributes(e,t.tableAttributes)},this),elementIndex:this.elementIndex})},_collapseElement:function(t,e){if(!e&&!t.hasClass("expanded"))return!1;t.removeClass("expanded");for(var i=t.parent().parent(),s=i.data("id"),n=i.data("level"),a=i.next();a.length;){if(!Garnish.hasAttr(a,"data-spinnerrow")){if(a.data("level")<=n)break;this.elementSelect&&this.elementSelect.removeItems(a),this.structureTableSort&&this.structureTableSort.removeItems(a),this._totalVisible--}var r=a.next();a.remove(),a=r}this.elementIndex.instanceState.collapsedElementIds||(this.elementIndex.instanceState.collapsedElementIds=[]),this.elementIndex.instanceState.collapsedElementIds.push(s),this.elementIndex.setInstanceState("collapsedElementIds",this.elementIndex.instanceState.collapsedElementIds),this.maybeLoadMore()},_expandElement:function(t,e){if(!e&&t.hasClass("expanded"))return!1;if(t.addClass("expanded"),this.elementIndex.instanceState.collapsedElementIds){var i=t.parent().parent(),s=i.data("id"),n=$.inArray(s,this.elementIndex.instanceState.collapsedElementIds);if(-1!==n){this.elementIndex.instanceState.collapsedElementIds.splice(n,1),this.elementIndex.setInstanceState("collapsedElementIds",this.elementIndex.instanceState.collapsedElementIds);var r=this._createSpinnerRowAfter(i),a=$.extend(!0,{},this.settings.params);a.criteria.descendantOf=s,Craft.postActionRequest("element-indexes/get-more-elements",a,$.proxy(function(t,e){if(r.parent().length&&"success"===e){var i=$(t.html),s=this._totalVisible+i.length,n=this.settings.batchSize&&i.length===this.settings.batchSize;if(n){var a=r.nextAll();this.elementSelect&&this.elementSelect.removeItems(a),this.structureTableSort&&this.structureTableSort.removeItems(a),a.remove(),s-=a.length}else n=this._morePending;r.replaceWith(i),this.thumbLoader.load(i),(this.elementIndex.actions||this.settings.selectable)&&(this.elementSelect.addItems(i.filter(":not(.disabled)")),this.elementIndex.updateActionTriggers()),this.structureTableSort&&this.structureTableSort.addItems(i),Craft.appendHeadHtml(t.headHtml),Craft.appendFootHtml(t.footHtml),Craft.cp.updateResponsiveTables(),this.setTotalVisible(s),this.setMorePending(n),this.maybeLoadMore()}},this))}}},_createSpinnerRowAfter:function(t){return $('<tr data-spinnerrow><td class="centeralign" colspan="'+t.children().length+'"><div class="spinner"/></td></tr>').insertAfter(t)},_isStructureTableDraggingLastElements:function(){return this.structureTableSort&&this.structureTableSort.dragging&&this.structureTableSort.draggingLastElements},_handleSelectedSortHeaderClick:function(t){var e=$(t.currentTarget);if(!e.hasClass("loading")){var i="asc"===this.elementIndex.getSelectedSortDirection()?"desc":"asc";this.elementIndex.setSortDirection(i),this._handleSortHeaderClick(t,e)}},_handleUnselectedSortHeaderClick:function(t){var e=$(t.currentTarget);if(!e.hasClass("loading")){var i=e.attr("data-attribute");this.elementIndex.setSortAttribute(i),this._handleSortHeaderClick(t,e)}},_handleSortHeaderClick:function(t,e){this.$selectedSortHeader&&this.$selectedSortHeader.removeClass("ordered asc desc"),e.removeClass("orderable").addClass("ordered loading"),this.elementIndex.storeSortAttributeAndDirection(),this.elementIndex.updateElements(),this.elementIndex.setIndexAvailable()},_updateTableAttributes:function(t,e){var i=t.closest("tr");for(var s in e)e.hasOwnProperty(s)&&i.children('td[data-attr="'+s+'"]:first').html(e[s])}}),Craft.TagSelectInput=Craft.BaseElementSelectInput.extend({searchTimeout:null,searchMenu:null,$container:null,$elementsContainer:null,$elements:null,$addTagInput:null,$spinner:null,_ignoreBlur:!1,init:function(t){if(!$.isPlainObject(t)){for(var e={},i=["id","name","tagGroupId","sourceElementId"],s=0;s<i.length&&void 0!==arguments[s];s++)e[i[s]]=arguments[s];t=e}this.base($.extend({},Craft.TagSelectInput.defaults,t)),this.$addTagInput=this.$container.children(".add").children(".text"),this.$spinner=this.$addTagInput.next(),this.addListener(this.$addTagInput,"textchange",$.proxy(function(){this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout($.proxy(this,"searchForTags"),500)},this)),this.addListener(this.$addTagInput,"keypress",function(t){t.keyCode===Garnish.RETURN_KEY&&(t.preventDefault(),this.searchMenu&&this.selectTag(this.searchMenu.$options[0]))}),this.addListener(this.$addTagInput,"focus",function(){this.searchMenu&&this.searchMenu.show()}),this.addListener(this.$addTagInput,"blur",function(){this._ignoreBlur?this._ignoreBlur=!1:setTimeout($.proxy(function(){this.searchMenu&&this.searchMenu.hide()},this),1)})},getAddElementsBtn:$.noop,getElementSortAxis:function(){return null},searchForTags:function(){if(this.searchMenu&&this.killSearchMenu(),this.$addTagInput.val()){this.$spinner.removeClass("hidden");for(var t=[],e=0;e<this.$elements.length;e++){var i=$(this.$elements[e]).data("id");i&&t.push(i)}this.settings.sourceElementId&&t.push(this.settings.sourceElementId);var r={search:this.$addTagInput.val(),tagGroupId:this.settings.tagGroupId,excludeIds:t};Craft.postActionRequest("tags/search-for-tags",r,$.proxy(function(t,e){if(this.searchMenu&&this.killSearchMenu(),this.$spinner.addClass("hidden"),"success"===e){for(var i,s=$('<div class="menu tagmenu"/>').appendTo(Garnish.$bod),n=$("<ul/>").appendTo(s),a=0;a<t.tags.length;a++)i=$("<li/>").appendTo(n),$('<a data-icon="tag"/>').appendTo(i).text(t.tags[a].title).data("id",t.tags[a].id).addClass(t.tags[a].exclude?"disabled":"");t.exactMatch||(i=$("<li/>").appendTo(n),$('<a data-icon="plus"/>').appendTo(i).text(r.search)),n.find("a:not(.disabled):first").addClass("hover"),this.searchMenu=new Garnish.Menu(s,{attachToElement:this.$addTagInput,onOptionSelect:$.proxy(this,"selectTag")}),this.addListener(s,"mousedown",$.proxy(function(){this._ignoreBlur=!0},this)),this.searchMenu.show()}},this))}else this.$spinner.addClass("hidden")},selectTag:function(t){var e=$(t);if(!e.hasClass("disabled")){var i=e.data("id"),s=e.text(),n=$("<div/>",{class:"element small removable","data-id":i,"data-site-id":this.settings.targetSiteId,"data-label":s,"data-editable":"1"}).appendTo(this.$elementsContainer),a=$("<input/>",{type:"hidden",name:this.settings.name+"[]",value:i}).appendTo(n);$("<a/>",{class:"delete icon",title:Craft.t("app","Remove")}).appendTo(n);var r=$("<div/>",{class:"label"}).appendTo(n);$("<span/>",{class:"title",text:s}).appendTo(r);var o=-(n.outerWidth()+10);this.$addTagInput.css("margin-"+Craft.left,o+"px");var l={};if(l["margin-"+Craft.left]=0,this.$addTagInput.velocity(l,"fast"),this.$elements=this.$elements.add(n),this.addElements(n),this.killSearchMenu(),this.$addTagInput.val(""),this.$addTagInput.trigger("focus"),!i){n.addClass("loading disabled");var h={groupId:this.settings.tagGroupId,title:s};Craft.postActionRequest("tags/create-tag",h,$.proxy(function(t,e){"success"===e&&t.success?(n.attr("data-id",t.id),a.val(t.id),n.removeClass("loading disabled")):(this.removeElement(n),"success"===e&&Craft.cp.displayError(Craft.t("app","An unknown error occurred.")))},this))}}},killSearchMenu:function(){this.searchMenu.hide(),this.searchMenu.destroy(),this.searchMenu=null}},{defaults:{tagGroupId:null}}),Craft.ThumbsElementIndexView=Craft.BaseElementIndexView.extend({getElementContainer:function(){return this.$container.children("ul")}}),Craft.ui={createTextInput:function(t){var e=$("<input/>",{attr:{class:"text",type:t.type||"text",id:t.id,size:t.size,name:t.name,value:t.value,maxlength:t.maxlength,autofocus:this.getAutofocusValue(t.autofocus),autocomplete:void 0!==t.autocomplete&&t.autocomplete?null:"off",disabled:this.getDisabledValue(t.disabled),readonly:t.readonly,title:t.title,placeholder:t.placeholder,step:t.step,min:t.min,max:t.max}});return t.class&&e.addClass(t.class),t.placeholder&&e.addClass("nicetext"),"password"===t.type&&e.addClass("password"),t.disabled&&e.addClass("disabled"),t.size||e.addClass("fullwidth"),t.showCharsLeft&&t.maxlength&&e.attr("data-show-chars-left").css("padding-"+("ltr"===Craft.orientation?"right":"left"),7.2*t.maxlength.toString().length+14+"px"),(t.placeholder||t.showCharsLeft)&&new Garnish.NiceText(e),"password"===t.type?$('<div class="passwordwrapper"/>').append(e):e},createTextField:function(t){return this.createField(this.createTextInput(t),t)},createTextarea:function(t){var e=$("<textarea/>",{class:"text",rows:t.rows||2,cols:t.cols||50,id:t.id,name:t.name,maxlength:t.maxlength,autofocus:t.autofocus&&!Garnish.isMobileBrowser(!0),disabled:!!t.disabled,placeholder:t.placeholder,html:t.value});return t.showCharsLeft&&e.attr("data-show-chars-left",""),t.class&&e.addClass(t.class),t.size||e.addClass("fullwidth"),e},createTextareaField:function(t){return this.createField(this.createTextarea(t),t)},createSelect:function(t){var e=$("<div/>",{class:"select"});t.class&&e.addClass(t.class);var i=$("<select/>",{id:t.id,name:t.name,autofocus:t.autofocus&&Garnish.isMobileBrowser(!0),disabled:t.disabled,"data-target-prefix":t.targetPrefix}).appendTo(e),s=null;for(var n in t.options)if(t.options.hasOwnProperty(n)){var a=t.options[n];if(void 0!==a.optgroup)s=$("<optgroup/>",{label:a.label}).appendTo(i);else{var r=void 0!==a.label?a.label:a,o=void 0!==a.value?a.value:n,l=void 0!==a.disabled&&a.disabled;$("<option/>",{value:o,selected:o==t.value,disabled:l,html:r}).appendTo(s||i)}}return t.toggle&&(i.addClass("fieldtoggle"),new Craft.FieldToggle(i)),e},createSelectField:function(t){return this.createField(this.createSelect(t),t)},createCheckbox:function(t){var e=t.id||"checkbox"+Math.floor(1e9*Math.random()),i=$("<input/>",{type:"checkbox",value:void 0!==t.value?t.value:"1",id:e,class:"checkbox",name:t.name,checked:t.checked?"checked":null,autofocus:this.getAutofocusValue(t.autofocus),disabled:this.getDisabledValue(t.disabled),"data-target":t.toggle,"data-reverse-target":t.reverseToggle});t.class&&i.addClass(t.class),(t.toggle||t.reverseToggle)&&(i.addClass("fieldtoggle"),new Craft.FieldToggle(i));var s=$("<label/>",{for:e,text:t.label});return t.name&&(t.name.length<3||"[]"!==t.name.substr(-2))?$([$("<input/>",{type:"hidden",name:t.name,value:""})[0],i[0],s[0]]):$([i[0],s[0]])},createCheckboxField:function(t){var e=$('<div class="field checkboxfield"/>',{id:t.id?t.id+"-field":null});return t.first&&e.addClass("first"),t.instructions&&e.addClass("has-instructions"),this.createCheckbox(t).appendTo(e),t.instructions&&$('<div class="instructions"/>').text(t.instructions).appendTo(e),e},createCheckboxSelect:function(t){var e,i,s=$('<div class="checkbox-select"/>');t.class&&s.addClass(t.class),t.showAllOption?(e=t.allValue||"*",i=t.values==e,$("<div/>").appendTo(s).append(this.createCheckbox({id:t.id,class:"all",label:"<b>"+(t.allLabel||Craft.t("app","All"))+"</b>",name:t.name,value:e,checked:i,autofocus:t.autofocus}))):i=!1;for(var n=0;n<t.options.length;n++){var a=t.options[n];a.value!=e&&$("<div/>").appendTo(s).append(this.createCheckbox({label:a.label,name:t.name?t.name+"[]":null,value:a.value,checked:i||Craft.inArray(a.value,t.values),disabled:i}))}return new Garnish.CheckboxSelect(s),s},createCheckboxSelectField:function(t){return this.createField(this.createCheckboxSelect(t),t)},createLightswitch:function(t){var e=t.value||"1",i=$("<div/>",{class:"lightswitch",tabindex:"0","data-value":e,id:t.id,"aria-labelledby":t.labelId,"data-target":t.toggle,"data-reverse-target":t.reverseToggle});return t.on&&i.addClass("on"),t.small&&i.addClass("small"),t.disabled&&i.addClass("disabled"),$('<div class="lightswitch-container"><div class="label on"></div><div class="handle"></div><div class="label off"></div></div>').appendTo(i),t.name&&$("<input/>",{type:"hidden",name:t.name,value:t.on?e:"",disabled:t.disabled}).appendTo(i),(t.toggle||t.reverseToggle)&&(i.addClass("fieldtoggle"),new Craft.FieldToggle(i)),i.lightswitch()},createLightswitchField:function(t){return this.createField(this.createLightswitch(t),t)},createColorInput:function(t){var e=t.id||"color"+Math.floor(1e9*Math.random()),i=t.containerId||e+"-container",s=t.name||null,n=t.value||null,a=t.small||!1,r=t.autofocus&&Garnish.isMobileBrowser(!0),o=t.disabled||!1,l=$("<div/>",{id:i,class:"flex color-container"}),h=$("<div/>",{class:"color static"+(a?" small":"")}).appendTo(l);$("<div/>",{class:"color-preview",style:t.value?{backgroundColor:t.value}:null}).appendTo(h),this.createTextInput({id:e,name:s,value:n,size:10,class:"color-input",autofocus:r,disabled:o}).appendTo(l);return new Craft.ColorInput(l),l},createColorField:function(t){return this.createField(this.createColorInput(t),t)},createDateInput:function(t){var e=(t.id||"date"+Math.floor(1e9*Math.random()))+"-date",i=t.name||null,s=i?i+"[date]":null,n=t.value&&"function"==typeof t.value.getMonth?t.value:null,a=n?Craft.formatDate(n):null,r=t.autofocus&&Garnish.isMobileBrowser(!0),o=t.disabled||!1,l=$("<div/>",{class:"datewrapper"}),h=this.createTextInput({id:e,name:s,value:a,placeholder:" ",autocomplete:!1,autofocus:r,disabled:o}).appendTo(l);return $('<div data-icon="date"></div>').appendTo(l),i&&$("<input/>",{type:"hidden",name:i+"[timezone]",val:Craft.timezone}).appendTo(l),h.datepicker($.extend({defaultDate:n||new Date},Craft.datepickerOptions)),l},createDateField:function(t){return this.createField(this.createDateInput(t),t)},createTimeInput:function(t){var e=(t.id||"time"+Math.floor(1e9*Math.random()))+"-time",i=t.name||null,s=i?i+"[time]":null,n=t.value&&"function"==typeof t.value.getMonth?t.value:null,a=t.autofocus&&Garnish.isMobileBrowser(!0),r=t.disabled||!1,o=$("<div/>",{class:"timewrapper"}),l=this.createTextInput({id:e,name:s,placeholder:" ",autocomplete:!1,autofocus:a,disabled:r}).appendTo(o);return $('<div data-icon="time"></div>').appendTo(o),i&&$("<input/>",{type:"hidden",name:i+"[timezone]",val:Craft.timezone}).appendTo(o),l.timepicker(Craft.timepickerOptions),n&&l.timepicker("setTime",3600*n.getHours()+60*n.getMinutes()+n.getSeconds()),o},createTimeField:function(t){return this.createField(this.createTimeInput(t),t)},createField:function(t,e){var i=e.label&&"__blank__"!==e.label?e.label:null,s=Craft.isMultiSite&&e.siteId?e.siteId:null,n=$("<div/>",{class:"field",id:e.fieldId||(e.id?e.id+"-field":null)});if(e.first&&n.addClass("first"),i||e.instructions){var a=$('<div class="heading"/>').appendTo(n);if(i){var r=$("<label/>",{id:e.labelId||(e.id?e.id+"-label":null),class:e.required?"required":null,for:e.id,text:i}).appendTo(a);if(s)for(var o=0;o<Craft.sites.length;o++)if(Craft.sites[o].id==s){$('<span class="site"/>').text(Craft.sites[o].name).appendTo(r);break}}e.instructions&&$('<div class="instructions"/>').text(e.instructions).appendTo(a)}return $('<div class="input"/>').append(t).appendTo(n),e.warning&&$('<p class="warning"/>').text(e.warning).appendTo(n),e.errors&&this.addErrorsToField(n,e.errors),n},createErrorList:function(t){var e=$('<ul class="errors"/>');return t&&this.addErrorsToList(e,t),e},addErrorsToList:function(t,e){for(var i=0;i<e.length;i++)$("<li/>").text(e[i]).appendTo(t)},addErrorsToField:function(t,e){if(e){t.addClass("has-errors"),t.children(".input").addClass("errors");var i=t.children("ul.errors");i.length||(i=this.createErrorList().appendTo(t)),this.addErrorsToList(i,e)}},clearErrorsFromField:function(t){t.removeClass("has-errors"),t.children(".input").removeClass("errors"),t.children("ul.errors").remove()},getAutofocusValue:function(t){return t&&!Garnish.isMobileBrowser(!0)?"autofocus":null},getDisabledValue:function(t){return t?"disabled":null}},Craft.Uploader=Garnish.Base.extend({uploader:null,allowedKinds:null,$element:null,settings:null,_rejectedFiles:{},_extensionList:null,_totalFileCounter:0,_validFileCounter:0,init:function(t,e){this._rejectedFiles={size:[],type:[],limit:[]},this.$element=t,this.allowedKinds=null,this._extensionList=null,this._totalFileCounter=0,this._validFileCounter=0;var i=(e=$.extend({},Craft.Uploader.defaults,e)).events;for(var s in delete e.events,e.allowedKinds&&e.allowedKinds.length&&("string"==typeof e.allowedKinds&&(e.allowedKinds=[e.allowedKinds]),this.allowedKinds=e.allowedKinds,delete e.allowedKinds),e.autoUpload=!1,this.uploader=this.$element.fileupload(e),i)i.hasOwnProperty(s)&&this.uploader.on(s,i[s]);this.settings=e,this.uploader.on("fileuploadadd",$.proxy(this,"onFileAdd"))},setParams:function(t){void 0!==Craft.csrfTokenName&&void 0!==Craft.csrfTokenValue&&(t[Craft.csrfTokenName]=Craft.csrfTokenValue),this.uploader.fileupload("option",{formData:t})},getInProgress:function(){return this.uploader.fileupload("active")},isLastUpload:function(){return this.getInProgress()<2},onFileAdd:function(t,s){t.stopPropagation();var n=!1;return this.allowedKinds&&(this._extensionList||this._createExtensionList(),n=!0),s.process().done($.proxy(function(){var t=s.files[0],e=!0;if(n){var i=t.name.match(/\.([a-z0-4_]+)$/i)[1];-1===$.inArray(i.toLowerCase(),this._extensionList)&&(e=!1,this._rejectedFiles.type.push("“"+t.name+"”"))}t.size>this.settings.maxFileSize&&(this._rejectedFiles.size.push("“"+t.name+"”"),e=!1),e&&"function"==typeof this.settings.canAddMoreFiles&&!this.settings.canAddMoreFiles(this._validFileCounter)&&(this._rejectedFiles.limit.push("“"+t.name+"”"),e=!1),e&&(this._validFileCounter++,s.submit()),++this._totalFileCounter===s.originalFiles.length&&(this._totalFileCounter=0,this._validFileCounter=0,this.processErrorMessages())},this)),!0},processErrorMessages:function(){var t;this._rejectedFiles.type.length&&(t=1===this._rejectedFiles.type.length?"The file {files} could not be uploaded. The allowed file kinds are: {kinds}.":"The files {files} could not be uploaded. The allowed file kinds are: {kinds}.",t=Craft.t("app",t,{files:this._rejectedFiles.type.join(", "),kinds:this.allowedKinds.join(", ")}),this._rejectedFiles.type=[],alert(t)),this._rejectedFiles.size.length&&(t=1===this._rejectedFiles.size.length?"The file {files} could not be uploaded, because it exceeds the maximum upload size of {size}.":"The files {files} could not be uploaded, because they exceeded the maximum upload size of {size}.",t=Craft.t("app",t,{files:this._rejectedFiles.size.join(", "),size:this.humanFileSize(Craft.maxUploadSize)}),this._rejectedFiles.size=[],alert(t)),this._rejectedFiles.limit.length&&(t=1===this._rejectedFiles.limit.length?"The file {files} could not be uploaded, because the field limit has been reached.":"The files {files} could not be uploaded, because the field limit has been reached.",t=Craft.t("app",t,{files:this._rejectedFiles.limit.join(", ")}),this._rejectedFiles.limit=[],alert(t))},humanFileSize:function(t){if(t<1024)return t+" B";for(var e=-1;++e,1024<=(t/=1024););return t.toFixed(1)+" "+["kB","MB","GB","TB","PB","EB","ZB","YB"][e]},_createExtensionList:function(){this._extensionList=[];for(var t=0;t<this.allowedKinds.length;t++){var e=this.allowedKinds[t];if(void 0!==Craft.fileKinds[e])for(var i=0;i<Craft.fileKinds[e].extensions.length;i++){var s=Craft.fileKinds[e].extensions[i];this._extensionList.push(s)}}},destroy:function(){this.$element.fileupload("destroy"),this.base()}},{defaults:{dropZone:null,pasteZone:null,fileInput:null,sequentialUploads:!0,maxFileSize:Craft.maxUploadSize,allowedKinds:null,events:{},canAddMoreFiles:null,headers:{Accept:"application/json;q=0.9,*/*;q=0.8"},paramName:"assets-upload"}}),Craft.UriFormatGenerator=Craft.BaseInputGenerator.extend({generateTargetValue:function(t){t=(t=t.replace("/<(.*?)>/g","")).toLowerCase(),t=(t=(t=Craft.asciiString(t)).replace(/^[^a-z]+/,"")).replace(/[^a-z0-9]+$/,"");var e=Craft.filterArray(t.split(/[^a-z0-9]+/)).join("-");return e&&this.settings.suffix&&(e+=this.settings.suffix),e}})}(jQuery);
{"version":3,"sources":["Craft.js"],"names":["$","extend","Craft","navHeight","t","category","message","params","translations","key","hasOwnProperty","replace","formatDate","date","Date","datepicker","datepickerOptions","dateFormat","formatNumber","number","format","d3","formatLocale","d3FormatLocaleDefinition","formatter","escapeHtml","str","text","html","escapeRegex","getText","encodeUriComponent","encodeURIComponent","differences","!","*","'","(",")","chr","re","RegExp","selectFullValue","input","$input","val","setSelectionRange","length","formatInputId","inputName","this","rtrim","getUrl","path","baseUrl","anchor","isPlainObject","aParams","name","value","push","Garnish","isArray","join","trim","url","qpos","indexOf","substr","search","pathMatch","match","pathParam","omitScriptNameInUrls","usePathInfo","scriptName","basePath","endPath","substring","getCpUrl","baseCpUrl","getSiteUrl","baseSiteUrl","getActionUrl","actionUrl","redirectTo","document","location","href","getCsrfInput","csrfTokenName","csrfTokenValue","postActionRequest","action","data","callback","options","headers","X-Registered-Asset-Bundles","Object","keys","registeredAssetBundles","X-Registered-Js-Files","registeredJsFiles","jqXHR","ajax","type","dataType","success","error","textStatus","errorThrown","readyState","cp","displayError","alert","send","_waitingOnAjax","_ajaxQueue","queueActionRequest","undefined","_postNextActionRequestInQueue","args","shift","stringToArray","arr","split","i","expandPostArray","expanded","m","unshift","parentElem","parseInt","compare","obj1","obj2","sortObjectKeys","Array","getObjectKeys","sort","obj","escapeChars","chars","escaped","ltrim","startsWith","filterArray","filtered","inArray","elem","removeFromArray","index","splice","getLast","uppercaseFirst","charAt","toUpperCase","slice","lowercaseFirst","toLowerCase","parseUrl","scheme","host","hostname","port","query","hash","isSameHost","requestUrlInfo","urlInfo","secondsToHumanTimeDuration","seconds","showSeconds","weeks","Math","floor","days","minutes","hours","round","timeComponents","asciiString","charMap","char","asciiStr","asciiCharMap","randomString","result","random","preventOutlineOnMouseFocus","$elem","namespace","on","addClass","trigger","event","keyCode","SHIFT_KEY","CTRL_KEY","CMD_KEY","removeClass","createErrorList","errors","$ul","createElement","$li","appendTo","appendHeadHtml","$existingCss","existingCss","eq","attr","regexp","append","appendFootHtml","$existingJs","src","existingJs","$bod","initUiElements","$container","grid","infoicon","checkboxselect","fieldtoggle","lightswitch","nicetext","pill","formsubmit","menubtn","_elementIndexClasses","_elementSelectorModalClasses","_elementEditorClasses","registerElementIndexClass","elementType","func","registerElementSelectorModalClass","registerElementEditorClass","createElementIndex","settings","BaseElementIndex","createElementSelectorModal","BaseElementSelectorModal","createElementEditor","element","BaseElementEditor","getLocalStorage","defaultValue","systemUid","localStorage","JSON","parse","setLocalStorage","stringify","e","getElementInfo","$element","hasClass","find","id","siteId","label","status","hasThumb","setElementSize","size","otherSize","$oldImg","$newImg","sizes","srcset","replaceWith","picturefill","elements","fn","animateLeft","pos","duration","easing","complete","orientation","velocity","left","right","animateRight","disable","each","removeAttr","enable","itemSelector","cols","maxCols","minColWidth","mode","fillMode","colClass","snapToGrid","Grid","InfoIcon","CheckboxSelect","FieldToggle","settingName","settingValue","setSettings","thisSettings","hasAttr","LightSwitch","NiceText","Pill","ev","$btn","currentTarget","confirm","$anchor","$form","closest","customTrigger","next","menuAnchor","MenuBtn","$doc","ready","Base","elementId","$fieldsContainer","$cancelBtn","$saveBtn","$spinner","$siteSelect","$siteSpinner","hud","init","defaults","loadHud","setElementAttribute","attributes","getBaseData","prevalidate","onBeginLoading","includeSites","isMultiSite","showSiteSwitcher","proxy","showHud","response","onEndLoading","$hudContents","sites","$header","$siteSelectContainer","siteInfo","addListener","add","updateForm","onCreateForm","$footer","$buttonsContainer","updateBody","updateSizeAndPosition","hudTrigger","HUD","bodyClass","closeOtherHUDs","onShow","onHide","onSubmit","$hud","hide","switchSite","newSiteId","reloadForm","$instructions","class","children","requestAnimationFrame","headHtml","footHtml","saveElement","validators","isFunction","call","param","$body","serialize","$title","$a","cpEditUrl","newTitle","closeHud","onSaveElement","shake","onShowHud","onHideHud","runQueue","elementIndex","noop","initialized","instanceState","sourceStates","sourceStatesStorageKey","searchTimeout","sourceSelect","$main","$mainSpinner","isIndexBusy","$sidebar","showingSidebar","sourceKey","sourceViewModes","$source","sourcesByKey","$visibleSources","$customizeSourcesBtn","customizeSourcesModal","$toolbar","$toolbarFlexContainer","toolbarOffset","$search","searching","searchText","trashed","drafts","$clearSearchBtn","$statusMenuBtn","$statusMenuContainer","statusMenu","$siteMenuBtn","siteMenu","$sortMenuBtn","sortMenu","$sortAttributesList","$sortDirectionsList","$scoreSortAttribute","$structureSortAttribute","$elements","$viewModeBtnContainer","viewModeBtns","viewMode","view","_autoSelectElements","$countContainer","page","$exportBtn","actions","actionsHeadHtml","actionsFootHtml","$selectAllContainer","$selectAllCheckbox","showingActionTriggers","_$detachedToolbarItems","_$triggers","getDefaultInstanceState","storageKey","context","parent","hideSidebar","toolbarFixed","isMobileBrowser","$win","$scrollContainer","initSources","menu","$option","$options","filter","first","_setSite","criteria","storedSiteId","$storedSiteOption","startSearching","stopSearching","clearTimeout","setTimeout","RETURN_KEY","preventDefault","updateElementsIfSearchTextChanged","afterInit","selectDefaultSource","setPage","pageNum","updateElements","onAfterInit","getSourceContainer","$sources","$items","_getSourcesInList","Select","multi","allowEmpty","vertical","onSelectionChange","_initSources","getDefaultSourceKey","getSourceByKey","selectSource","refreshSources","removeAllItems","setIndexBusy","refreshSourcesAction","setIndexAvailable","updateFixedToolbar","_scrollTop","scrollTop","width","_makingFixed","css","outerHeight","top","offset","initSource","addItems","initSourceToggle","expandedSources","_expandSource","deinitSourceToggle","$toggle","_getSourceToggle","deinitSource","removeItems","removeListener","removeData","selectedSource","getDefaultExpandedSources","addOptions","prependTo","_updateStructureSortOption","setSortAttribute","detach","setInstanceState","storeInstanceState","getSourceState","source","getSelectedSourceState","setSelecetedSourceState","viewState","storeSortAttributeAndDirection","getSelectedSortAttribute","order","getSelectedSortDirection","max","pageTrigger","history","replaceState","getViewParams","batchSize","limit","disabledElementIds","paginated","_isViewPaginated","collapsedElementIds","preservePagination","destroy","updateElementsAction","totalPages","ceil","count","_updateView","showActionTriggers","height","not","insertAfter","_createTriggers","submitAction","actionClass","actionParams","selectedElementIds","getSelectedElementIds","viewParams","elementAction","elementIds","submitActionsAction","displayNotice","afterAction","onAfterAction","hideActionTriggers","insertBefore","updateActionTriggers","totalSelected","getSelectedElements","getEnabledElements","$selectAllBtn","getSortAttributeOption","attribute","setSortDirection","getSortDirectionOption","dir","getSelectedViewMode","selectItem","updateSidebarMenuLabel","setStoredSortOptionsForSource","remove","getViewModesForSource","sourceViewMode","$viewModeBtn","className","title","icon","selectViewMode","doesSourceHaveViewMode","onSelectSource","selectSourceByKey","sortAttr","sortDir","getDefaultSort","viewModes","force","createView","getViewClass","TableElementIndexView","ThumbsElementIndexView","rememberDisabledElementId","forgetDisabledElementId","enableElements","parents","onEnableElements","disableElements","onDisableElements","getElementById","enableElementsById","ids","makeArray","disableElementsById","selectElementAfterUpdate","addButton","$button","getButtonContainer","isShowingSidebar","buttonContainer","createCustomizeSourcesModal","modal","CustomizeSourcesModal","base","onSelectSite","onUpdateElements","_handleSourceSelectionChange","$selectedItems","_handleActionTriggerSubmit","getPostData","_handleMenuActionTriggerSubmit","option","_handleStatusChange","selectedOption","_handleSiteChange","$firstVisibleSource","selectNewSource","toString","get","$heading","$headings","nextUntil","_handleSortChange","is","_handleSelectionChange","_handleSourceDblClick","_toggleSource","stopPropagation","_handleSourceToggleClick","prev","$firstOption","$list","_getChildSources","siblings","_deinitSources","_collapseSource","$childSources","countLabel","$paginationContainer","$prevBtn","data-icon","$nextBtn","role","tabindex","aria-checked","selectAllElements","deselectAllElements","SPACE_KEY","selectable","multiSelect","checkboxMode","selectElementById","triggers","safeMenuActions","destructiveMenuActions","destructive","$menuTrigger","$menu","$safeList","_createMenuTriggerList","$destructiveList","$div","_showExportHud","$limitField","ui","createTextField","placeholder","min","submitting","isNaN","tokenParam","token","data-action","BaseElementIndexView","$loadingMoreSpinner","$elementContainer","$scroller","thumbLoader","elementSelect","loadingMore","_totalVisible","_morePending","_handleEnableElements","_handleDisableElements","container","getElementContainer","setTotalVisible","setMorePending","ElementThumbLoader","load","isVerticalList","handle","_handleElementEditing","$target","target","prop","isTouchCapable","maybeLoadMore","getAllElements","$selectedElements","selectElement","selectAll","deselectAll","getTotalVisible","totalVisible","getMorePending","morePending","canLoadMore","loadMore","winHeight","innerHeight","winScrollTop","getLoadMoreParams","loadMoreElementsAction","$newElements","appendElements","onAppendElements","newElements","off","BaseElementSelectInput","elementSort","elementEditor","$elementsContainer","$addElementBtn","_initialized","normalizedSettings","arguments","modalStorageKey","sortable","getContainer","getElementsContainer","getAddElementsBtn","initElementSelect","initElementSort","resetElements","getElements","DragSort","$targetItem","getSelectedItems","ignoreHandleSelector","axis","getElementSortAxis","collapseDraggees","magnetStrength","helperLagBase","onSortChange","resetItemOrder","canAddMoreElements","updateAddElementsBtn","enableAddElementsBtn","disableAddElementsBtn","ADD_FX_DURATION","REMOVE_FX_DURATION","show","removeElements","addElements","editable","_handleShowElementEditor","removeElement","onRemoveElements","animateElementAway","animateCss","opacity","outerWidth","showModal","createModal","getModalSettings","closeOtherModals","sources","showSiteMenu","getDisabledElementIds","onSelect","modalSettings","sourceElementId","onModalSelect","slotsLeft","selectElements","updateDisabledElementsInModal","elementInfo","createNewElement","appendElement","animateElementIntoPlace","onSelectElements","clone","prepend","$modalElement","$inputElement","origOffset","destOffset","$helper","position","zIndex","window","draftEditor","checkForm","fieldId","editorSettings","Modal","$selectBtn","$sourceToggles","$tbody","$primaryButtons","$secondaryButtons","$footerSpinner","onFadeIn","_createElementIndex","updateSelectBtnState","enableSelectBtn","disableSelectBtn","enableCancelBtn","disableCancelBtn","showFooterSpinner","hideFooterSpinner","cancel","clearMouseUpTimeout","disableElementsOnSelect","hideOnSelect","info","has","touchData","firstTap","secondTap","resizable","onCancel","hideIndexSidebar","BaseInputGenerator","listening","timeout","startListening","setNewSource","stopListening","removeAllListeners","onSourceTextChange","onTargetTextChange","activeElement","onFormSubmit","updateTarget","sourceVal","targetVal","generateTargetValue","AdminTable","totalItems","sorter","$noItems","$table","$deleteBtns","allowDeleteAll","minItems","noItemsSelector","tableSelector","DataTableSorter","updateUI","addRow","row","maxItems","$row","$deleteBtn","reorderItems","idAttribute","reorderAction","onReorderItems","reorderSuccessMessage","reorderFailMessage","handleDeleteBtnClick","confirmDeleteItem","deleteItem","getItemName","confirmDeleteMessage","getItemId","deleteAction","handleDeleteItemResponse","onDeleteItem","deleteSuccessMessage","deleteFailMessage","nameAttribute","$moveButtons","newItemBtnSelector","AssetEditor","reloadIndex","$imageEditorTrigger","showImageEditor","AssetImageEditor","onSave","bind","allowDegreeFractions","isImagick","$imageTools","$buttons","$replaceBtn","$editorContainer","$straighten","$croppingCanvas","$spinnerCanvas","canvas","image","viewport","focalPoint","croppingCanvas","clipper","croppingRectangle","cropperHandles","cropperGrid","croppingShade","imageStraightenAngle","viewportRotation","originalWidth","originalHeight","imageVerticeCoords","zoomRatio","animationInProgress","currentView","assetId","cacheBust","draggingCropper","scalingCropper","draggingFocal","previousMouseX","previousMouseY","shiftKeyHeld","editorHeight","editorWidth","cropperState","scaleFactor","flipData","focalPointState","croppingConstraint","spinnerInterval","maxImageSize","lastLoadedDimensions","imageIsLoading","renderImage","renderCropper","now","x","y","allowSavingAsNew","saveImage","$shade","getMaxImageSize","browserViewportWidth","documentElement","clientWidth","browserViewportHeight","clientHeight","devicePixelRatio","loadEditor","$tabs","$viewsContainer","$views","innerWidth","_showSpinner","fabric","StaticCanvas","enableRetinaScaling","renderAll","imageUrl","Image","fromURL","imageObject","set","originX","originY","getHeight","getWidth","getScaledImageDimensions","_setFittedImageVerticeCoordinates","_repositionEditorElements","focalState","imageDimensions","offsetX","offsetY","focal","focalData","adjustedX","adjustedY","storeFocalPointState","_createFocalPoint","_createViewport","storeCropperState","_addControlListeners","_handleMouseMove","_handleMouseDown","_handleMouseUp","_hideSpinner","_reloadImage","setSrc","min-width","min-height","previousEditorDimensions","setDimensions","currentScaledDimensions","getZoomToFitRatio","previouslyOccupiedArea","_getBoundingRectangle","_repositionCropper","getZoomToCoverRatio","_repositionImage","_repositionViewport","_repositionFocalPoint","_zoomImage","Rect","fill","globalCompositeOperation","sizeFactor","focalX","focalY","deltaX","deltaY","Group","Circle","radius","strokeWidth","stroke","toggleFocalPoint","dimensions","state","currentWidth","ratio","hasOrientationChanged","imageRatio","rotateImage","flipImage","straighteningInput","SlideRuleInput","onStart","_showGrid","onChange","slider","straighten","onEnd","_hideGrid","_cleanupFocalPointAfterStraighten","onOptionSelect","setCroppingConstraint","enforceCroppingConstraint","_handleTabClick","$tab","showView","enableSlider","disableSlider","disableCropMode","enableCropMode","zoomFactor","degrees","imageZoomRatio","newAngle","angle","scaledImageDimensions","viewportProperties","imageProperties","angleInRadians","PI","newDeltaX","cos","sin","newDeltaY","modifiedDeltaX","modifiedDeltaY","temp","animate","animationDuration","onComplete","cleanAngle","parseFloat","_adjustFocalPointByAngle","_resetFocalPointPosition","editorCenter","setValue","properties","scaleY","scaleX","previousAngle","_adjustEditorElementsOnStraighten","newCenterX","newCenterY","angleDelta","currentZoomRatio","adjustmentRatio","cropperCenterX","cropperCenterY","imageVertices","getImageVerticeCoords","rectangle","_getZoomRatioToFitRectangle","_isCenterInside","object","containingObject","newFocalX","newFocalY","adjustedFocalX","adjustedFocalY","containingVertices","vertex","rectangleVertices","_getRectangleVertices","verticeIndex","arePointsInsideRectangle","edge","_getEdgeCrossed","rectangleCenter","distanceFromVertexToEdge","abs","sqrt","pow","distanceFromCenterToEdge","postData","imageRotation","cropData","zoom","end","scaledWidth","scaledHeight","boundingBox","_getImageBoundingBox","scale","vertScale","horiScale","getCombinedZoomRatio","strokeOptions","gridWidth","gridHeight","xStep","yStep","Line","onFadeOut","cropperData","_showCropper","_editorModeTransition","_hideCropper","targetZoom","inverseZoomFactor","imageOffsetX","imageOffsetY","getContext","start","cW","cH","setInterval","rotation","save","clearRect","translate","rotate","beginPath","moveTo","lineTo","lineWidth","strokeStyle","restore","clearInterval","clipperData","_setupCropperLayer","_redrawCropperElements","backgroundColor","hoverCursor","selection","rectangleRatio","rectWidth","rectHeight","lineOptions","gridOptions","pathGroup","Path","previousImageArea","currentOffset","areaFactor","coordinateSet","a","b","c","d","_isMouseOver","move","_cropperHandleHitTest","pageX","pageY","_handleFocalDrag","_handleCropperDrag","_handleCropperResize","_setMouseCursor","vertices","newX","newY","constraint","previousHeight","previousWidth","topDelta","leftDelta","change","cursor","parentOffset","mouseX","mouseY","lb","rb","tb","bb","topLeft","topRight","bottomRight","zoomMode","topVerticalSegment","bottomVerticalSegment","rightHorizontalSegment","leftHorizontalSegment","verticalOffset","horizontalOffset","_debug","fabricObj","debugger","points","ab","_getVector","bc","scalarAbAb","_getScalarProduct","scalarBcBc","point","ap","bp","scalarAbAp","scalarBcBp","_getVectorMagnitude","vector","_getAngleBetweenVectors","acos","edgePoints","centerPoint","smallestDiff","edgeCrossed","edgeIndex","toCenter","edgeVector","toVertex","diff","box","proportion","AssetIndex","$includeSubfoldersContainer","$includeSubfoldersCheckbox","showingIncludeSubfoldersCheckbox","$uploadButton","$uploadInput","$progressBar","$folders","uploader","promptHandler","progressBar","_uploadTotalFiles","_uploadFileProgress","_uploadedAssetIds","_currentUploaderSettings","_assetDrag","_folderDrag","_expandDropTargetFolderTimeout","_tempExpandedFolders","_fileConflictTemplate","choices","_folderConflictTemplate","_initIndexPageMode","_createFolderContextMenu","_getSourceLevel","updateDropTargets","contextMenu","parentsUntil","onDragStartProxy","onDropTargetChangeProxy","DragDrop","activeDropTargetClass","helperOpacity","helper","$file","_getFileDragHelper","dropTargets","targets","_getFolderUidFromSourceKey","onDragStart","onDropTargetChange","onDragStop","$selected","draggees","$draggeeHelper","$helperSidebar","$helperNav","$helperUl","padding-top","$draggee","padding-right","padding-bottom","padding-left","draggedSourceIds","_onFileDragStop","$activeDropTarget","originatingSource","targetFolderId","originalAssetIds","originalAssetId","_positionProgressBar","resetProgressBar","setItemCount","showProgressBar","parameterArray","folderId","onMoveFinish","responseArray","resetPrompts","conflict","addPrompt","suggestedFilename","prompt","hideProgressBar","performAfterMoveActions","_collapseExtraExpandedFolders","getPromptCount","promptCallback","returnData","newParameterArray","choice","filename","apply","_performBatchRequests","fadeOutHelpers","showBatchPrompts","returnHelpersToDraggees","_onFolderDragStop","folderIds","reverse","parentId","requestId","fileMoveList","newSourceKey","transferList","newFolderId","newFolderUid","merge","_performActualFolderMove","folderDeleteList","moveCallback","counter","_getParentSource","_selectSourceByFolderId","$targetSource","_getSourceByKey","$parentSources","$parentSource","PromptHandler","ProgressBar","fileInput","dropZone","events","fileuploadstart","fileuploadprogressall","fileuploaddone","kind","allowedKinds","Uploader","setParams","$subContainer","checked","marginBottom","includeSubfolders","_onUploadStart","_onUploadProgress","progress","loaded","total","setProgressPercentage","_onUploadComplete","files","doReload","file","isLastUpload","_updateAfterUpload","_uploadFollowup","finalCallback","doFollowup","parameterIndex","followupCallback","incrementProcessedItemCount","updateProgressBar","sourceAssetId","conflictingAssetId","targetFilename","_onUpdateElements","_onKeyDown","_onElementFocus","shiftKey","PreviewFileModal","openInstance","selfDestruct","$focusedItem","_loadPreview","item","startingWidth","startingHeight","_onDragStart","$outerContainer","$innerContainer","_$firstRowCells","$helperCells","$helperCell","$firstRowCell","_onDropTargetChange","$dropTarget","dropTargetFolder","_hasSubfolders","_isExpanded","dropTargetFolderId","$excludedSources","_collapseFolder","_expandFolder","menuOptions","onClick","ContextMenu","menuClass","_createSubfolder","$parentFolder","subfolderName","folderName","_prepareParentForChildren","$subfolder","folderUid","_appendSubfolder","_deleteFolder","$targetFolder","folder","_cleanUpTree","_renameFolder","oldName","newName","$existingChildren","subfolderLabel","folderInserted","$existingChild","before","windowHeight","doRequest","parameters","AssetSelectInput","originalFilename","originalExtension","resetOriginalFilename","_renameHelper","validateElementForm","_attachUploader","defaultFieldLayoutId","formData","canAddMoreFiles","selectUploadedFile","$newElement","margin","slotsTaken","_parseFilename","parts","extension","pop","baseFileName","endPos","selectionStart","selectionEnd","createRange","select","range","collapse","moveEnd","moveStart","$filenameField","ext","oldExt","newExt","AssetSelectorModal","$selectTransformBtn","_selectedTransform","transforms","createSelectTransformButton","$btnGroup","$menuList","MenuButton","allowTransforms","onSelectTransform","transform","selectImagesWithTransform","transformUrls","imageIdsWithMissingUrls","$item","fetchMissingTransformUrls","canSelectImageTransforms","AuthManager","remainingSessionTime","checkRemainingSessionTimer","showLoginModalTimer","decrementLogoutWarningInterval","showingLogoutWarningModal","showingLoginModal","logoutWarningModal","loginModal","$logoutWarningPara","$passwordInput","$passwordSpinner","$loginBtn","$loginErrorPara","submitLoginIfLoggedOut","updateRemainingSessionTime","setCheckRemainingSessionTimer","checkRemainingSessionTime","extendSession","responseJSON","minSafeSessiotTime","showLogoutWarningModal","checkInterval","submitLogin","showLoginModal","hideLogoutWarningModal","hideLoginModal","quickShow","$logoutBtn","$renewSessionBtn","autoShow","hideOnEsc","hideOnShadeClick","shadeClass","updateLogoutWarningMessage","time","decrementLogoutWarning","quick","quickHide","$inputContainer","$inputsFlexContainer","$passwordContainer","$buttonContainer","$passwordWrapper","PasswordInput","onToggleInput","$newPasswordInput","logout","renewSession","validatePassword","login","clearLoginError","loginName","username","password","showLoginError","CategoryIndex","editableGroups","$newCategoryBtnGroup","$newCategoryBtn","editableCategoryGroups","group","uid","defaultGroupHandle","updateButton","selectedSourceHandle","selectedGroup","$menuBtn","_getGroupTriggerHref","_openCreateCategoryModal","getAttribute","menuHtml","menuBtn","uri","primarySiteId","groupId","newCategoryBtnText","groupSourceKey","CategorySelectInput","selectedCategoryIds","categoryIds","branchLimit","selectionLabel","$newElementsContainer","filteredElements","$allCategories","_animateCategoryAway","charts","DataTable","columns","rows","forEach","cellIndex","parseTime","timeParse","Tip","$tip","setContent","setPosition","BaseChart","$chart","chartBaseClass","dataTable","timeFormatLocale","svg","globalSettings","formats","d3Formats","formatLocaleDefinition","timeFormatLocaleDefinition","d3TimeFormatLocaleDefinition","resize","baseSettings","draw","chartClass","onAfterDrawTicks","tickKey","tick","$tickText","numberFormat","percentFormat","currencyFormat","shortDateFormats","day","month","year","bottom","colors","Area","tip","drawingArea","getChartMargin","translateX","translateY","drawTicks","drawAxes","drawChart","drawTipTriggers","getX","xAxis","axisBottom","tickFormat","getXFormatter","ticks","yAxis","getY","axisLeft","getYFormatter","tickValues","getYTickValues","axisRight","showAxis","tickSizeOuter","gridlines","xLineAxis","tickSize","yLineAxis","line","datum","style","area","y0","y1","plots","enter","tips","chartMargin","xAxisTickInterval","node","getTotalLength","tipTriggerWidth","$content","$xValue","$yValue","content","calcLeft","values","yTicksMaxWidth","computedTickWidth","padded","xDomainMin","xDomainMax","xDomain","scaleTime","domain","yDomain","getYMaxValue","scaleLinear","utils","getTimeFormatter","getNumberFormatter","maxValue","getDuration","secondsNum","chartSettings","dataScale","ColorInput","$colorContainer","$colorPreview","$colorInput","createColorInput","handleTextChange","setAttribute","updateColor","_browserSupportsColorInputs","doesBrowserSupportColorInputs","CP","authManager","$nav","$mainContainer","$alerts","$crumbs","$notificationContainer","$primaryForm","$mainContent","$details","$selectedTab","$contentContainer","$edition","$collapsibleTables","fixedHeader","enableQueue","jobInfo","displayedJobInfo","displayedJobInfoUnchanged","trackJobProgressTimeout","jobProgressIcon","checkingForUpdates","forcingRefreshOnUpdatesCheck","checkForUpdatesCallbacks","updateFixedHeader","updateResponsiveTables","$errorNotifications","$otherNotifications","delay","notificationDuration","initAlerts","isCtrlKeyPressed","S_KEY","submitPrimaryForm","initTabs","initConfirmUnloadForms","$confirmUnloadForms","serialized","confirmUnload","livePreview","inPreviewMode","originalEvent","returnValue","_handleInputFocus","_handleInputBlur","saveShortcut","$label","toggleNav","toggleClass","toggleSidebar","tabs","tabWidths","totalWidth","selectTab","tab","deselectTab","_i","_$table","_containerWidth","_check","_isCollapsed","getBoundingClientRect","headerHeight","max-height","fixedheader","displayNotification","$notification","fadedMargin","margin-left","margin-right","display","notificationType","fetchAlerts","displayAlerts","alerts","margin-top","$shunnableAlerts","$link","checkForUpdates","forceRefresh","realCallback","updateUtilitiesBadge","callbacks","updateInfo","$utilitiesLink","$badge","badgeCount","runQueueAutomatically","trackJobProgress","_trackJobProgressInternal","setJobInfo","animateIcon","oldInfo","getDisplayedJobInfo","progressLabel","updateJobIcon","statuses","JOB_STATUS_RESERVED","JOB_STATUS_FAILED","JOB_STATUS_WAITING","j","JobProgressIcon","hideFailMode","setDescription","description","setProgress","showFailMode","JOB_STATUS_DONE","failMode","_canvasSupported","_$bgCanvas","_$staticCanvas","_$hoverCanvas","_$failCanvas","_staticCtx","_hoverCtx","_canvasSize","_arcPos","_arcRadius","_lineWidth","_arcStartPos","_arcEndPos","_arcStartStepSize","_arcEndStepSize","_arcStep","_arcStepTimeout","_arcAnimateCallback","_progressBar","$canvasContainer","_createCanvas","_drawArc","_animateArc","_setArc","$innerProgressBar","toggleHud","toggle","QueueHUD","color","$canvas","ctx","lineCap","startPos","arc","closePath","targetStartPos","targetEndPos","_takeNextArcStep","jobsById","completedJobs","updateViewProxy","updateView","newJobIds","updateStatus","Job","placed","$object","$statusContainer","$descriptionContainer","$progressLabel","$flex","empty","$actionBtn","performErrorAction","$elementIndexSourcesContainer","$sourcesContainer","$sourceSettingsContainer","$newHeadingBtn","$footerBtnContainer","$saveSpinner","$loadingSpinner","sourceSort","updateSourcesOnSave","availableTableAttributes","setContainer","buildModal","addSource","sourceData","$itemLabel","$itemInput","heading","Heading","updateItemLabel","Source","handleNewHeadingBtnClick","scrollContainerToElement","$pendingHeading","$lastSource","$indexSource","getIndexSource","isHeading","appendSource","$extraSources","nextAll","BaseSource","$settingsContainer","isSelected","deselect","createSettings","tableAttributes","firstAttribute","firstKey","firstLabel","$titleColumnCheckbox","createTableColumnOption","$columnCheckboxes","selectedAttributes","createField","instructions","createCheckbox","disabled","$labelField","$labelInput","handleLabelInputChange","deleteHeading","table","$rows","caboose","Y_AXIS","getHelper","$helperRow","helperClass","$cells","DeleteUserModal","userId","$deleteActionRadios","$deleteSpinner","userSelect","_deleting","idParam","redirect","contentSummary","$deleteSubmitBtn","validateDeleteInputs","validates","handleSubmit","DraftEditor","$revisionBtn","$revisionLabel","$statusIcon","$editMetaBtn","metaHud","$nameTextInput","$notesTextInput","$saveMetaBtn","lastSerializedValue","saving","saveXhr","checkFormAfterUpdate","submittingForm","duplicatedElements","preview","previewToken","previewTargets","enablePreview","$shareBtn","openShareLink","createShareMenu","revisionId","serializeForm","draftId","initForDraft","createDraft","canUpdateSource","createEditMetaBtn","statusIcons","showStatusHud","bodyHtml","spinners","getPreviewToken","Promise","resolve","reject","sourceId","getTokenizedPreviewUrl","randoParam","isLive","then","catch","open","getPreview","Preview","openPreview","ensureIsDraftOrRevision","revisionid","removeActionParams","isPreviewActive","$editor","isUnsavedDraft","saveDraft","isActive","$spinners","$statusIcons","saveDraftAction","prepareData","docTitle","draftName","draftNotes","revisionMenu","draftCreated","newHref","anchorPos","$saveBtnContainer","elementTypeDisplayName","$saveDraftBtn","canDeleteDraft","$draftsUl","$draftHeading","$draftLi","$draftA","selectOption","$siteOptions","$siteOption","creator","updatePreviewTargets","afterUpdate","checkMetaValues","oldId","currentTargets","showMetaHud","createMetaHud","onMetaHudShow","$field","$hudBody","$deleteLink","saveMeta","onMetaHudHide","onMetaHudEscape","onNotesKeydown","submit","shakeMetaHud","deleteDraft","deleteDraftAction","handleFormSubmit","abort","chunks","accept-charset","enctype","method","decodeURIComponent","applyDraftAction","hashedRedirectUrl","DynamicGenerator","EditableTable","baseName","biggestId","$addRowBtn","rowCount","hasMaxRows","hasMinRows","radioCheckboxes","log","copyDraggeeInputValuesToHelper","isVisible","initialize","minRows","createRowObj","updateAddRowButton","initializeIfVisible","canAddRow","canDeleteRow","deleteRow","$tr","onDeleteRow","staticRows","maxRows","focus","rowId","rowIdPrefix","createRow","defaultValues","onAddRow","Row","focusOnPrevRow","tdIndex","blurTd","prevRow","$prevTr","$tds","focusOnNextRow","nextRow","$nextTr","textualColTypes","data-id","colId","$cell","col","scope","textual","code","small","createDateInput","createLightswitch","createSelect","default","createTimeInput","createTextInput","niceTexts","tds","$textareas","tr","td","$textarea","$checkbox","textareasByColId","onHeightChange","radioMode","applyToggleCheckbox","onTextareaHeightChange","autopopulate","HandleGenerator","allowNonAlphaStart","last","onTextareaFocus","onRadioCheckboxChange","checkbox","checkboxColId","neg","checkboxCol","colum","ignoreNextTextareaFocus","handleKeypress","charCode","ctrl","numericKeyCodes","validateValue","safeValue","tallestTextareaHeight","tdHeight","ElementActionTrigger","maxLevels","newChildUrl","$trigger","triggerEnabled","activate","updateTrigger","validateSelection","enableTrigger","disableTrigger","valid","batch","handleTriggerActivation","queue","workers","Worker","concat","toArray","active","loadNext","loader","$img","alt","ElevatedSessionForm","inputs","form","$inputs","getInputPostVal","elevatedSessionManager","fetchingTimeout","inputsChanged","$currentInput","requireElevatedSession","submitForm","ElevatedSessionManager","passwordModal","$submitBtn","$errorPara","minSafeElevatedSessionTimeout","showPasswordModal","$passwordModal","focusPasswordInput","submitPassword","currentPassword","showPasswordError","EntryIndex","publishableSections","$newEntryBtnGroup","$newEntryBtn","section","defaultSectionHandle","selectedSection","_getSectionTriggerHref","_openCreateEntryModal","site","sectionId","newEntryBtnText","typeId","entryTypes","sectionSourceKey","FieldLayoutDesigner","$tabContainer","$unusedFieldContainer","$newTabBtn","$allFields","tabGrid","unusedFieldGrid","tabDrag","fieldDrag","gridSettings","initTab","FieldDrag","customizableTabs","TabDrag","$editBtn","$fields","initField","onTabOptionSelect","renameTab","deleteTab","onFieldOptionSelect","toggleRequiredField","removeField","$labelSpan","getFieldInputName","removeFieldById","requiredFieldInputName","refreshCols","$group","addTab","tabName","fieldInputName","BaseDrag","Drag","designer","$insertion","showingInsertion","$caboose","draggingUnusedItem","addToTabGrid","getInsertion","addCaboose","setMidpoints","getItemContainer","isItemInTabContainer","onDrag","hitTest","_closestItem","getClosestItem","_closestItemMouseDiff","_$item","_midpoint","_mouseDiff","getDist","draggeeDisplay","visibility","$hiddenFields","$fieldContainers","targetPrefix","targetSelector","reverseTargetSelector","_$target","_$reverseTarget","getType","normalizeTargetSelector","findTargets","selector","getToggleVal","postVal","onToggleChange","hideTarget","showTarget","_show","_currentHeight","_targetHeight","overflow","items","totalCols","colGutterDrop","colPctWidth","possibleItemColspans","possibleItemPositionsByColspan","itemPositions","itemColspansByPosition","layouts","layout","itemHeights","leftPadding","_refreshingCols","_refreshColsAfterRefresh","_forceRefreshColsAfterRefresh","handleContainerHeightProxy","setItems","_","oldHeight","scrollHeight","gutter","itemIndex","tallestItemHeight","colIndex","itemHeight","remainder","itemHeightsByColspan","positionRight","positionLeft","minColspan","maxColspan","colspan","getItemWidthCss","minPosition","maxPosition","colHeights","createLayouts","layoutTotalCols","highestTotalCols","layoutHeights","shortestHeight","shortestLayouts","emptySpaces","emptySpace","colspans","getItemLeftPosCss","positions","isSimpleLayout","margin-bottom","positionItems","completeRefreshCols","onRefreshCols","getItemWidth","getItemWidthInPx","getItemLeftPosInPx","prevPositions","prevColspans","prevColHeights","prevEmptySpace","LayoutGenerator","endingCol","affectedColHeights","onItemResize","newHeight","tallestColHeightsByPosition","p","colHeightsForPosition","tallestColHeight","words","ImageUpload","initImageUpload","containerSelector","uploadAction","postParameters","fileInputSelector","paramName","uploadParamName","fileuploadfail","initButtons","uploadButtonSelector","deleteButtonSelector","refreshImage","onAfterRefreshImage","_onUploadError","$icon","hudClass","dragger","dragStartMargin","outerContainer","X_AXIS","turnOn","turnOff","_getOffMargin","_onMouseDown","_onMouseUp","dragging","RIGHT_KEY","LEFT_KEY","_getMargin","_onDrag","mouseDistX","_onDragStop","_onSettle","LivePreview","$extraFields","$dragHandle","$iframeContainer","$iframe","$fieldPlaceholder","previewUrl","basePostData","fields","lastPostData","updateIframeInterval","loading","checkAgain","dragStartEditorWidth","_slideInOnIframeLoad","_handleSuccessProxy","_handleErrorProxy","_forceUpdateIframeProxy","_scrollX","_scrollY","_editorWidth","_editorWidthInPx","protocol","previewParams","extraFields","defaultEditorWidth","moveFieldsBack","editorWidthInPx","inPx","minEditorWidthInPx","exit","$editorHeader","$closeBtn","handleWindowResize","dragHandleWidth","getIframeWidth","$clone","_getClone","updateIframe","slideIn","createToken","previewAction","updateWidths","ESC_KEY","$newClone","field","contentWindow","scrollLeft","X-Craft-Token","xhrFields","withCredentials","crossDomain","forceUpdateIframe","handleSuccess","write","close","onResponse","handleError","copyInputValues","$textInput","$showPasswordToggle","showingPassword","passwordInput","hidePassword","setCurrentInput","updateToggleLabel","showPassword","togglePassword","onKeyDown","ALT_KEY","onKeyUp","onInputChange","onToggleMouseDown","$previewContainer","$targetBtn","$targetMenu","$tempInput","activeTarget","_updateIframeProxy","$previewHeader","switchTarget","resetScroll","sameHost","scrolllTop","frameborder","afterUpdateIframe","defaultSettings","_onHide","instance","loadAsset","focusItem","desiredHeight","desiredWidth","containerHeight","containerWidth","minGutter","_resizeContainer","modalHtml","$highlight","Prism","highlightElement","maxWidth","maxHeight","max-width","$progressBarStatus","_itemCount","_processedItemCount","_displaySteps","displaySteps","setProcessedItemCount","fadeTo","incrementItemCount","percentage","$modalContainerDiv","$prompt","$promptApplyToRemainingContainer","$promptApplyToRemainingCheckbox","$promptApplyToRemainingLabel","$pomptChoices","_prompts","_promptBatchCallback","_promptBatchReturnData","_promptBatchNum","_showNextPromptInBatch","remainingInBatch","_showPrompt","_handleBatchPromptSelection","applyToRemaining","choiceData","itemsToGo","_promptCallback","$promptMessage","$promptChoices","$promptButtons","$cancelButton","$radioButton","_selectPromptChoice","fadeOut","_cancelPrompt","$selectedOption","startPositionX","graduationsMin","graduationsMax","slideMin","slideMax","$overlay","$cursor","$graduations","$graduationsUl","graduationsCalculatedWidth","_handleResize","valueToPosition","_handleTapStart","touch","startLeft","_handleTapMove","curX","positionToValue","_handleTapEnd","scaleMin","scaleMax","SlugGenerator","allowUppercaseInSlug","limitAutoSlugsToAscii","XRegExp","matchChain","slugWordSeparator","Structure","structureDrag","$parents","initToggle","StructureDrag","initNewChildMenus","viewStateKey","$addBtns","onNewChildMenuClick","showMenu","getIndent","level","baseIndent","nestedIndent","addElement","$addBtn","$parentUl","_removeUl","structure","draggeeLevel","$helperLi","$targets","draggeeHeight","$level","cancelDrag","$lis","$closestTarget","closestTargetPos","closestTargetYDiff","closestTargetOffset","closestTargetHeight","targetOffset","targetHeight","targetYMidpoint","targetYDiff","$closestTargetLi","closestTargetLevel","$nextTargetLi","nextTargetLevel","hoveringBetweenRows","draggeeX","targetItemMouseDiffX","$parentLis","$closestParentLi","closestParentLiXDiff","closestParentLevel","$parentLi","parentLiX","parentLiXDiff","parentLevel","onMouseUp","$draggeeParent","moved","$closestSiblings","newLevel","setLevel","structureId","prevId","indent","$childLis","StructureTableSorter","tableView","_helperMargin","_$titleHelperCell","_titleHelperCellOuterWidth","_ancestors","_updateAncestorsFrame","_updateAncestorsProxy","_draggeeLevel","_draggeeLevelDelta","draggingLastElements","_loadingDraggeeLevelDelta","_targetLevel","_targetLevelBounds","_positionChanged","singleHelper","helperSpacingY","startDragging","HELPER_MARGIN","findDraggee","$nextRow","nextRowLevel","nextRowLevelDelta","_getAjaxBaseData","delta","drag","padding","BASE_PADDING","canInsertBefore","_getLevelBounds","canInsertAfter","_getAncestors","_setTargetLevelBounds","_updateIndent","onInsertionPointChange","_updateAncestorsBeforeRepaint","levelDiff","_getLevelIndent","$prevRow","prevRowLevel","$spinnerRow","_createSpinnerRowAfter","onPositionChange","_expandElement","onReturnHelpersToDraggees","newDraggeeIndexes","oldDraggeeIndexes","$postDraggeeItems","_minLevel","_maxLevel","forcePositionChange","_mouseDist","realMouseX","mousedownX","_indentationDist","LEVEL_INDENT","_targetLevelMouseDiff","_magnetImpact","MAX_GIVE","_closestLevelMagnetIndent","helpers","targetLevel","_level","_$prevRow","cancelAnimationFrame","_updateAncestors","_$ancestor","_newAncestors","$selectedSortHeader","structureTableSort","_totalVisiblePostStructureTableDraggee","_morePendingPostStructureTableDraggee","initTableHeaders","_collapseElement","selectedSortAttr","$tableHeaders","selectedSortDir","_isStructureTableDraggingLastElements","positionedAfter","includeTableAttributesForSource","_updateTableAttributes","$nextNextRow","descendantOf","$nextRows","_handleSelectedSortHeaderClick","newSortDir","_handleSortHeaderClick","_handleUnselectedSortHeaderClick","TagSelectInput","searchMenu","$addTagInput","_ignoreBlur","selectTag","searchForTags","killSearchMenu","excludeIds","tagGroupId","tags","exclude","exactMatch","Menu","attachToElement","data-site-id","targetSiteId","data-label","data-editable","$titleContainer","config","maxlength","autofocus","getAutofocusValue","autocomplete","getDisabledValue","readonly","step","showCharsLeft","createTextarea","createTextareaField","$select","data-target-prefix","$optgroup","optgroup","optionLabel","optionValue","optionDisabled","selected","createSelectField","data-target","data-reverse-target","reverseToggle","for","createCheckboxField","createCheckboxSelect","allValue","allChecked","showAllOption","allLabel","createCheckboxSelectField","data-value","aria-labelledby","labelId","createLightswitchField","containerId","$colorPreviewContainer","createColorField","getMonth","formattedValue","timezone","defaultDate","createDateField","timepicker","timepickerOptions","getHours","getMinutes","getSeconds","createTimeField","required","warning","addErrorsToField","addErrorsToList","$errors","clearErrorsFromField","_rejectedFiles","_extensionList","_totalFileCounter","_validFileCounter","autoUpload","fileupload","paramObject","getInProgress","onFileAdd","validateExtension","_createExtensionList","process","done","pass","fileExtension","maxFileSize","originalFiles","processErrorMessages","kinds","humanFileSize","maxUploadSize","bytes","u","toFixed","allowedKind","fileKinds","extensions","pasteZone","sequentialUploads","Accept","UriFormatGenerator","uriFormat","suffix","jQuery"],"mappings":"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","file":"Craft.min.js"}
                Craft.cp.displayNotice(Craft.t('app', this.settings.deleteSuccessMessage, {name: name}));
                Craft.cp.displayError(Craft.t('app', this.settings.deleteFailMessage, {name: name}));
            return Craft.escapeHtml($row.attr(this.settings.nameAttribute));