From 67d80c0d2cab69660d33873e3d5063efbf62782f Mon Sep 17 00:00:00 2001 From: brandonkelly Date: Wed, 12 Dec 2018 12:50:07 -0800 Subject: [PATCH] Fixed #3548 --- CHANGELOG-v2.md | 1 + src/resources/js/compressed/craft.js | 9 +-------- src/resources/js/compressed/craft.js.map | 2 +- src/resources/js/craft.js | 10 +++------- src/resources/js/craft/BaseElementIndex.js | 8 ++------ 5 files changed, 8 insertions(+), 22 deletions(-) diff --git a/CHANGELOG-v2.md b/CHANGELOG-v2.md index bdf086e5b4e..fc00b0195e3 100644 --- a/CHANGELOG-v2.md +++ b/CHANGELOG-v2.md @@ -4,6 +4,7 @@ ### Fixed - Fixed a SQL error that could occur when merging two elements together if MySQL was set to a case-sensitive collation. ([#3539](https://github.com/craftcms/cms/issues/3539)) +- Fixed a bug where element indexes wouldn’t return to the previous sort selection after the search input was cleared. ([#3548](https://github.com/craftcms/cms/issues/3548)) ## 2.7.4 - 2018-11-27 diff --git a/src/resources/js/compressed/craft.js b/src/resources/js/compressed/craft.js index e81d919afa0..abe99a3496d 100644 --- a/src/resources/js/compressed/craft.js +++ b/src/resources/js/compressed/craft.js @@ -1,9 +1,2 @@ -!function(a){a.extend(Craft,{navHeight:48,asciiCharMap:{216:"O",223:"ss",224:"a",225:"a",226:"a",229:"a",227:"ae",230:"ae",228:"ae",231:"c",232:"e",233:"e",234:"e",235:"e",236:"i",237:"i",238:"i",239:"i",241:"n",242:"o",243:"o",244:"o",245:"o",246:"oe",248:"o",249:"u",250:"u",251:"u",252:"ue",255:"y",257:"aa",269:"ch",275:"ee",291:"gj",299:"ii",311:"kj",316:"lj",326:"nj",353:"sh",363:"uu",382:"zh",256:"aa",268:"ch",274:"ee",290:"gj",298:"ii",310:"kj",315:"lj",325:"nj",337:"o",352:"sh",362:"uu",369:"u",381:"zh",260:"A",261:"a",262:"C",263:"c",280:"E",281:"e",321:"L",322:"l",323:"N",324:"n",211:"O",346:"S",347:"s",377:"Z",378:"z",379:"Z",380:"z",388:"z"},t:function(a,b){if("undefined"!=typeof Craft.translations[a]&&(a=Craft.translations[a]),b)for(var c in b)a=a.replace("{"+c+"}",b[c]);return a},formatDate:function(b){return"object"!=typeof b&&(b=new Date(b)),a.datepicker.formatDate(Craft.datepickerOptions.dateFormat,b)},escapeHtml:function(b){return a("
").text(b).html()},getText:function(b){return a("
").html(b).text()},encodeUriComponent:function(a){a=encodeURIComponent(a);var b={"!":"%21","*":"%2A","'":"%27","(":"%28",")":"%29"};for(var c in b){var d=new RegExp("\\"+c,"g");a=a.replace(d,b[c])}return a},formatInputId:function(a){return this.rtrim(a.replace(/[\[\]]+/g,"-"),"-")},getUrl:function(b,c,d){if("string"!=typeof b&&(b=""),b.search("://")!=-1||"//"==b.substr(0,2))return b;b=Craft.trim(b,"/");var e="";if(a.isPlainObject(c)){var f=[];for(var g in c){var h=c[g];"#"==g?e=h:null!==h&&""!==h&&f.push(g+"="+h)}c=f}c=Garnish.isArray(c)?c.join("&"):Craft.trim(c,"&?");var i=b.indexOf("?");i!=-1&&(c=b.substr(i+1)+(c?"&"+c:""),b=b.substr(0,i));var j;if(d){if(j=d,b){var k=j.match(/[&\?]p=[^&]+/);k&&(j=j.replace(k[0],k[0]+"/"+b),b="")}}else j=Craft.baseUrl;var i=j.indexOf("?");if("-1"!=i&&(c=j.substr(i+1)+(c?"&"+c:""),j=j.substr(0,i)),!Craft.omitScriptNameInUrls&&b)if(Craft.usePathInfo)j.search(Craft.scriptName)==-1&&(j=Craft.rtrim(j,"/")+"/"+Craft.scriptName);else{if(c&&"p="==c.substr(0,2)){var l,m=c.indexOf("&");m!=-1?(l=c.substring(2,m),c=c.substr(m+1)):(l=c.substr(2),c=null),l=Craft.rtrim(l),b=l+(b?"/"+b:"")}c="p="+b+(c?"&"+c:""),b=null}return b&&(j=Craft.rtrim(j,"/")+"/"+b),c&&(j+="?"+c),e&&(j+="#"+e),j},getCpUrl:function(a,b){return this.getUrl(a,b,Craft.baseCpUrl)},getSiteUrl:function(a,b){return this.getUrl(a,b,Craft.baseSiteUrl)},getResourceUrl:function(a,b){return Craft.getUrl(a,b,Craft.resourceUrl)},getActionUrl:function(a,b){return Craft.getUrl(a,b,Craft.actionUrl)},redirectTo:function(a){document.location.href=this.getUrl(a)},getCsrfInput:function(){return Craft.csrfTokenName?'':""},postActionRequest:function(b,c,d,e){"function"==typeof c&&(e=d,d=c,c={}),Craft.csrfTokenValue&&Craft.csrfTokenName&&("string"==typeof c?(c&&(c+="&"),c+=Craft.csrfTokenName+"="+Craft.csrfTokenValue):(c=null===c||"object"!=typeof c?{}:a.extend({},c),c[Craft.csrfTokenName]=Craft.csrfTokenValue));var f=a.ajax(a.extend({url:Craft.getActionUrl(b),type:"POST",data:c,success:d,error:function(a,b,c){d&&d(null,b,a)},complete:function(a,b){"success"!=b&&("undefined"!=typeof Craft.cp?Craft.cp.displayError():alert(Craft.t("An unknown error occurred.")))}},e));return e&&"function"==typeof e.send&&e.send(f),f},_waitingOnAjax:!1,_ajaxQueue:[],queueActionRequest:function(a,b,c,d){"function"==typeof b&&(d=c,c=b,b=void 0),Craft._ajaxQueue.push([a,b,c,d]),Craft._waitingOnAjax||Craft._postNextActionRequestInQueue()},_postNextActionRequestInQueue:function(){Craft._waitingOnAjax=!0;var a=Craft._ajaxQueue.shift();Craft.postActionRequest(a[0],a[1],function(b,c,d){a[2]&&"function"==typeof a[2]&&a[2](b,c,d),Craft._ajaxQueue.length?Craft._postNextActionRequestInQueue():Craft._waitingOnAjax=!1},a[3])},stringToArray:function(b){if("string"!=typeof b)return b;for(var c=b.split(","),d=0;d=32&&d<128?b+=a.charAt(c):"undefined"!=typeof Craft.asciiCharMap[d]&&(b+=Craft.asciiCharMap[d])}return b},preventOutlineOnMouseFocus:function(b){var c=a(b),d=".preventOutlineOnMouseFocus";c.on("mousedown"+d,function(){c.addClass("no-outline"),c.trigger("focus")}).on("keydown"+d+" blur"+d,function(a){a.keyCode!=Garnish.SHIFT_KEY&&a.keyCode!=Garnish.CTRL_KEY&&a.keyCode!=Garnish.CMD_KEY&&c.removeClass("no-outline")})},createErrorList:function(b){for(var c=a(document.createElement("ul")).addClass("errors"),d=0;d]*href="(?:'+d.join("|")+')".*?>',"g");b=b.replace(g,"")}a("head").append(b)}},appendFootHtml:function(b){if(b){var c=a("script[src]");if(c.length){for(var d=[],e=0;e]*src="(?:'+d.join("|")+')".*?>',"g");b=b.replace(g,"")}Garnish.$bod.append(b)}},initUiElements:function(b){a(".grid",b).grid(),a(".pane",b).pane(),a(".info",b).infoicon(),a(".checkbox-select",b).checkboxselect(),a(".fieldtoggle",b).fieldtoggle(),a(".lightswitch",b).lightswitch(),a(".nicetext",b).nicetext(),a(".pill",b).pill(),a(".formsubmit",b).formsubmit(),a(".menubtn",b).menubtn()},_elementIndexClasses:{},_elementSelectorModalClasses:{},registerElementIndexClass:function(a,b){if("undefined"!=typeof this._elementIndexClasses[a])throw"An element index class has already been registered for the element type “"+a+"”.";this._elementIndexClasses[a]=b},registerElementSelectorModalClass:function(a,b){if("undefined"!=typeof this._elementSelectorModalClasses[a])throw"An element selector modal class has already been registered for the element type “"+a+"”.";this._elementSelectorModalClasses[a]=b},createElementIndex:function(a,b,c){var d;return new(d="undefined"!=typeof this._elementIndexClasses[a]?this._elementIndexClasses[a]:Craft.BaseElementIndex)(a,b,c)},createElementSelectorModal:function(a,b){var c;return new(c="undefined"!=typeof this._elementSelectorModalClasses[a]?this._elementSelectorModalClasses[a]:Craft.BaseElementSelectorModal)(a,b)},getLocalStorage:function(a,b){return a="Craft-"+Craft.siteUid+"."+a,"undefined"!=typeof localStorage&&"undefined"!=typeof localStorage[a]?JSON.parse(localStorage[a]):b},setLocalStorage:function(a,b){if("undefined"!=typeof localStorage){a="Craft-"+Craft.siteUid+"."+a;try{localStorage[a]=JSON.stringify(b)}catch(a){}}},getElementInfo:function(b){var c=a(b);c.hasClass("element")||(c=c.find(".element:first"));var d={id:c.data("id"),locale:c.data("locale"),label:c.data("label"),status:c.data("status"),url:c.data("url"),hasThumb:c.hasClass("hasthumb"),$element:c};return d},setElementSize:function(b,c){var d=a(b);if("small"!=c&&"large"!=c&&(c="small"),!d.hasClass(c)){var e="small"==c?"large":"small";if(d.addClass(c).removeClass(e),d.hasClass("hasthumb")){var f=d.find("> .elementthumb > img"),g="small"==c?"30":"100";$newImg=a("",{sizes:g+"px",srcset:f.attr("srcset")||f.attr("data-pfsrcset")}),f.replaceWith($newImg),picturefill({elements:[$newImg[0]]})}}},showElementEditor:function(a,b){if(Garnish.hasAttr(a,"data-editable")&&!a.hasClass("disabled")&&!a.hasClass("loading"))return new Craft.ElementEditor(a,b)}}),a.extend(a.fn,{animateLeft:function(a,b,c,d){return"ltr"==Craft.orientation?this.velocity({left:a},b,c,d):this.velocity({right:a},b,c,d)},animateRight:function(a,b,c,d){return"ltr"==Craft.orientation?this.velocity({right:a},b,c,d):this.velocity({left:a},b,c,d)},disable:function(){return this.each(function(){var b=a(this);b.addClass("disabled"),b.data("activatable")&&b.removeAttr("tabindex")})},enable:function(){return this.each(function(){var b=a(this);b.removeClass("disabled"),b.data("activatable")&&b.attr("tabindex","0")})},grid:function(){return this.each(function(){var b=a(this),c={};b.data("item-selector")&&(c.itemSelector=b.data("item-selector")),b.data("cols")&&(c.cols=parseInt(b.data("cols"))),b.data("max-cols")&&(c.maxCols=parseInt(b.data("max-cols"))),b.data("min-col-width")&&(c.minColWidth=parseInt(b.data("min-col-width"))),b.data("mode")&&(c.mode=b.data("mode")),b.data("fill-mode")&&(c.fillMode=b.data("fill-mode")),b.data("col-class")&&(c.colClass=b.data("col-class")),b.data("snap-to-grid")&&(c.snapToGrid=!!b.data("snap-to-grid")),new Craft.Grid(this,c)})},infoicon:function(){return this.each(function(){new Craft.InfoIcon(this)})},pane:function(){return this.each(function(){a.data(this,"pane")||new Craft.Pane(this)})},checkboxselect:function(){return this.each(function(){a.data(this,"checkboxselect")||new Garnish.CheckboxSelect(this)})},fieldtoggle:function(){return this.each(function(){a.data(this,"fieldtoggle")||new Craft.FieldToggle(this)})},lightswitch:function(b,c,d){return"settings"==b?("string"==typeof c?(b={},b[c]=d):b=c,this.each(function(){var c=a.data(this,"lightswitch");c&&c.setSettings(b)})):this.each(function(){a.data(this,"lightswitch")||new Craft.LightSwitch(this,b)})},nicetext:function(){return this.each(function(){a.data(this,"nicetext")||new Garnish.NiceText(this)})},pill:function(){return this.each(function(){a.data(this,"pill")||new Garnish.Pill(this)})},formsubmit:function(){this.on("click",function(b){var c=a(b.currentTarget);if(!c.attr("data-confirm")||confirm(c.attr("data-confirm"))){var d;d=c.data("menu")?c.data("menu").$anchor.closest("form"):c.closest("form"),c.attr("data-action")&&a('').val(c.attr("data-action")).appendTo(d),c.attr("data-redirect")&&a('').val(c.attr("data-redirect")).appendTo(d),c.attr("data-param")&&a('').attr({name:c.attr("data-param"),value:c.attr("data-value")}).appendTo(d),d.trigger("submit")}})},menubtn:function(){return this.each(function(){var b=a(this);if(!b.data("menubtn")&&b.next().hasClass("menu")){var c={};b.data("menu-anchor")&&(c.menuAnchor=b.data("menu-anchor")),new Garnish.MenuBtn(b,c)}})}}),Garnish.$doc.ready(function(){Craft.initUiElements()}),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,$customizeSourcesBtn:null,customizeSourcesModal:null,$toolbar:null,$toolbarTableRow:null,toolbarOffset:null,$search:null,searching:!1,searchText:null,$clearSearchBtn:null,$statusMenuBtn:null,statusMenu:null,status:null,$localeMenuBtn:null,localeMenu:null,locale:null,$sortMenuBtn:null,sortMenu:null,$sortAttributesList:null,$sortDirectionsList:null,$scoreSortAttribute:null,$structureSortAttribute:null,$elements:null,$viewModeBtnTd:null,$viewModeBtnContainer:null,viewModeBtns:null,viewMode:null,view:null,_autoSelectElements:null,actions:null,actionsHeadHtml:null,actionsFootHtml:null,$selectAllContainer:null,$selectAllCheckbox:null,showingActionTriggers:!1,_$triggers:null,init:function(b,c,d){this.elementType=b,this.$container=c,this.setSettings(d,Craft.BaseElementIndex.defaults),this.instanceState={selectedSource:null},this.sourceStates={},this.settings.storageKey&&a.extend(this.instanceState,Craft.getLocalStorage(this.settings.storageKey),{}),this.sourceStatesStorageKey="BaseElementIndex."+this.elementType+"."+this.settings.context,a.extend(this.sourceStates,Craft.getLocalStorage(this.sourceStatesStorageKey,{})),this.$main=this.$container.find(".main"),this.$toolbar=this.$container.find(".toolbar:first"),this.$toolbarTableRow=this.$toolbar.children("table").children("tbody").children("tr"),this.$statusMenuBtn=this.$toolbarTableRow.find(".statusmenubtn:first"),this.$localeMenuBtn=this.$toolbarTableRow.find(".localemenubtn:first"),this.$sortMenuBtn=this.$toolbarTableRow.find(".sortmenubtn:first"),this.$search=this.$toolbarTableRow.find(".search:first input:first"),this.$clearSearchBtn=this.$toolbarTableRow.find(".search:first > .clear"),this.$mainSpinner=this.$toolbar.find(".spinner:first"),this.$sidebar=this.$container.find(".sidebar:first"),this.$customizeSourcesBtn=this.$sidebar.children(".customize-sources"),this.$elements=this.$container.find(".elements:first"),this.$viewModeBtnTd=this.$toolbarTableRow.find(".viewbtns:first"),this.$viewModeBtnContainer=a('
').appendTo(this.$viewModeBtnTd),"index"!=this.settings.context||Garnish.isMobileBrowser(!0)||this.addListener(Garnish.$win,"resize,scroll","updateFixedToolbar");var e=this._getSourcesInList(this.$sidebar.children("nav").children("ul"));if(0!=e.length){if(this.sourceSelect=new Garnish.Select(this.$sidebar.find("nav"),{multi:!1,allowEmpty:!1,vertical:!0,onSelectionChange:a.proxy(this,"_handleSourceSelectionChange")}),this._initSources(e),this.$customizeSourcesBtn.length&&this.addListener(this.$customizeSourcesBtn,"click","createCustomizeSourcesModal"),this.$statusMenuBtn.length&&(this.statusMenu=this.$statusMenuBtn.menubtn().data("menubtn").menu,this.statusMenu.on("optionselect",a.proxy(this,"_handleStatusChange"))),this.$localeMenuBtn.length){this.localeMenu=this.$localeMenuBtn.menubtn().data("menubtn").menu;var f=this.localeMenu.$options.filter(".sel:first");if(f.length||(f=this.localeMenu.$options.first()),f.length?this.locale=f.data("locale"):this.settings.criteria={id:"0"},this.localeMenu.on("optionselect",a.proxy(this,"_handleLocaleChange")),this.locale){var g=Craft.getLocalStorage("BaseElementIndex.locale");if(g&&g!=this.locale){var h=this.localeMenu.$options.filter('[data-locale="'+g+'"]:first');h.length&&h.trigger("click")}}}else this.settings.criteria&&this.settings.criteria.locale&&(this.locale=this.settings.criteria.locale);this.addListener(this.$search,"textchange",a.proxy(function(){!this.searching&&this.$search.val()?this.startSearching():this.searching&&!this.$search.val()&&this.stopSearching(),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout(a.proxy(this,"updateElementsIfSearchTextChanged"),500)},this)),this.addListener(this.$search,"keypress",a.proxy(function(a){a.keyCode==Garnish.RETURN_KEY&&(a.preventDefault(),this.searchTimeout&&clearTimeout(this.searchTimeout),this.updateElementsIfSearchTextChanged())},this)),this.addListener(this.$clearSearchBtn,"click",a.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",a.proxy(this,"_handleSortChange"))),this.initialized=!0,this.afterInit();var i,j=this.getDefaultSourceKey();if(j&&(i=this.getSourceByKey(j))){var k=i.parentsUntil(".sidebar","li");k.not(":first").addClass("expanded")}j&&i||(i=this.$sources.first()),i.length&&this.selectSource(i),this.updateElements()}},afterInit:function(){this.onAfterInit()},get $sources(){if(this.sourceSelect)return this.sourceSelect.$items},updateFixedToolbar:function(){(this.toolbarOffset||(this.toolbarOffset=this.$toolbar.offset().top,this.toolbarOffset))&&(this.updateFixedToolbar._scrollTop=Garnish.$win.scrollTop(),Garnish.$win.width()>992&&this.updateFixedToolbar._scrollTop>this.toolbarOffset-7?(this.$toolbar.hasClass("fixed")||(this.$elements.css("padding-top",this.$toolbar.outerHeight()+24),this.$toolbar.addClass("fixed")),this.$toolbar.css("width",this.$main.width())):this.$toolbar.hasClass("fixed")&&(this.$toolbar.removeClass("fixed"),this.$toolbar.css("width",""),this.$elements.css("padding-top","")))},initSource:function(a){this.sourceSelect.addItems(a),this.initSourceToggle(a)},initSourceToggle:function(a){var b=this._getSourceToggle(a);b.length&&this.addListener(b,"click","_handleSourceToggleClick")},deinitSource:function(a){this.sourceSelect.removeItems(a),this.deinitSourceToggle(a)},deinitSourceToggle:function(a){var b=this._getSourceToggle(a);b.length&&this.removeListener(b,"click")},getDefaultSourceKey:function(){return this.instanceState.selectedSource},startSearching:function(){this.$clearSearchBtn.removeClass("hidden"),this.$scoreSortAttribute||(this.$scoreSortAttribute=a('
  • '+Craft.t("Score")+"
  • "),this.sortMenu.addOptions(this.$scoreSortAttribute.children())),this.$scoreSortAttribute.prependTo(this.$sortAttributesList),this.setSortAttribute("score"),this.getSortAttributeOption("structure").addClass("disabled"),this.searching=!0},stopSearching:function(){this.$clearSearchBtn.addClass("hidden"),this.$scoreSortAttribute.detach(),this.getSortAttributeOption("structure").removeClass("disabled"),this.setStoredSortOptionsForSource(),this.searching=!1},setInstanceState:function(b,c){"object"==typeof b?a.extend(this.instanceState,b):this.instanceState[b]=c,this.settings.storageKey&&Craft.setLocalStorage(this.settings.storageKey,this.instanceState)},getSourceState:function(a,b,c){return"undefined"==typeof this.sourceStates[a]&&(this.sourceStates[a]={}),"undefined"==typeof b?this.sourceStates[a]:"undefined"!=typeof this.sourceStates[a][b]?this.sourceStates[a][b]:"undefined"!=typeof c?c:null},getSelectedSourceState:function(a,b){return this.getSourceState(this.instanceState.selectedSource,a,b)},setSelecetedSourceState:function(b,c){var d=this.getSelectedSourceState();"object"==typeof b?a.extend(d,b):d[b]=c,this.sourceStates[this.instanceState.selectedSource]=d,Craft.setLocalStorage(this.sourceStatesStorageKey,this.sourceStates)},storeSortAttributeAndDirection:function(){var a=this.getSelectedSortAttribute();"score"!=a&&this.setSelecetedSourceState({order:a,sort:this.getSelectedSortDirection()})},getViewParams:function(){var b=a.extend({status:this.status,locale:this.locale,search:this.searchText,limit:this.settings.batchSize},this.settings.criteria),c={context:this.settings.context,elementType:this.elementType,source:this.instanceState.selectedSource,criteria:b,disabledElementIds:this.settings.disabledElementIds,viewState:this.getSelectedSourceState()};return c.viewState.order=this.getSelectedSortAttribute(),c.viewState.sort=this.getSelectedSortDirection(),"structure"==this.getSelectedSortAttribute()&&("undefined"==typeof this.instanceState.collapsedElementIds&&(this.instanceState.collapsedElementIds=[]),c.collapsedElementIds=this.instanceState.collapsedElementIds),c},updateElements:function(){if(this.initialized){this.setIndexBusy();var b=this.getViewParams();Craft.postActionRequest("elementIndex/getElements",b,a.proxy(function(a,c){this.setIndexAvailable(),"success"==c?this._updateView(b,a):Craft.cp.displayError(Craft.t("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.$toolbarTableRow.children().not(this.$selectAllContainer).addClass("hidden"),this._$triggers?this._$triggers.insertAfter(this.$selectAllContainer):this._createTriggers(),this.showingActionTriggers=!0)},submitAction:function(b,c){var d,e=this.view.getSelectedElementIds(),f=e.length;this.view.getEnabledElements.length;if(0!=f){for(var g=0;g'+Craft.t("Structure")+""),this.sortMenu.addOptions(this.$structureSortAttribute.children())),this.$structureSortAttribute.prependTo(this.$sortAttributesList)):this.$structureSortAttribute&&this.$structureSortAttribute.removeClass("sel").detach(),this.setStoredSortOptionsForSource(),this.$viewModeBtnContainer.empty(),this.viewModeBtns={},this.viewMode=null,this.sourceViewModes=this.getViewModesForSource(),this.sourceViewModes.length>1){this.$viewModeBtnTd.removeClass("hidden");for(var c=0;c").appendTo(this.$viewModeBtnContainer);this.viewModeBtns[d.mode]=e,this.addListener(e,"click",{mode:d.mode},function(a){this.selectViewMode(a.data.mode),this.updateElements()})}}else this.$viewModeBtnTd.addClass("hidden");var d=this.getSelectedViewMode();return d&&this.doesSourceHaveViewMode(d)||(d=this.viewMode&&this.doesSourceHaveViewMode(this.viewMode)?this.viewMode:this.sourceViewModes[0].mode),this.selectViewMode(d),this.onSelectSource(),!0},selectSourceByKey:function(a){var b=this.getSourceByKey(a);return!!b&&this.selectSource(b)},setStoredSortOptionsForSource:function(){this.setSortAttribute(),this.setSortDirection("asc");var a=this.getSelectedSourceState("order"),b=this.getSelectedSourceState("sort");a||(a=this.getDefaultSort(),Garnish.isArray(a)&&(b=a[1],a=a[0])),"asc"!=b&&"desc"!=b&&(b="asc"),this.setSortAttribute(a),this.setSortDirection(b)},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 a=[{mode:"table",title:Craft.t("Display in a table"),icon:"list"}];return this.$source&&Garnish.hasAttr(this.$source,"data-has-thumbs")&&a.push({mode:"thumbs",title:Craft.t("Display as thumbnails"),icon:"grid"}),a},doesSourceHaveViewMode:function(a){for(var b=0;b .buttons:first");if(!b.length){var c=a("#extra-headers");c.length||(c=a('
    ').appendTo(a("#page-header"))),b=a('
    ').appendTo(c)}return b},setIndexBusy:function(){this.$mainSpinner.removeClass("hidden"),this.isIndexBusy=!0},setIndexAvailable:function(){this.$mainSpinner.addClass("hidden"),this.isIndexBusy=!1},createCustomizeSourcesModal:function(){var a=new Craft.CustomizeSourcesModal(this,{onHide:function(){a.destroy()}});return a},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})},onUpdateElements:function(){this.settings.onUpdateElements(),this.trigger("updateElements")},onSelectionChange:function(){this.settings.onSelectionChange(),this.trigger("selectionChange")},onEnableElements:function(a){this.settings.onEnableElements(a),this.trigger("enableElements",{elements:a})},onDisableElements:function(a){this.settings.onDisableElements(a),this.trigger("disableElements",{elements:a})},_handleSourceSelectionChange:function(){return this.sourceSelect.totalSelected?void(this.selectSource(this.sourceSelect.$selectedItems)&&this.updateElements()):void this.sourceSelect.selectItem(this.$sources.first())},_handleActionTriggerSubmit:function(b){b.preventDefault();var c=a(b.currentTarget);if(!c.hasClass("disabled")&&!c.data("custom-handler")){var d=c.data("action"),e=Garnish.getPostData(c);this.submitAction(d,e)}},_handleMenuActionTriggerSubmit:function(b){var c=a(b.option);if(!c.hasClass("disabled")&&!c.data("custom-handler")){var d=c.data("action"); -this.submitAction(d)}},_handleStatusChange:function(b){this.statusMenu.$options.removeClass("sel");var c=a(b.selectedOption).addClass("sel");this.$statusMenuBtn.html(c.html()),this.status=c.data("status"),this.updateElements()},_handleLocaleChange:function(b){this.localeMenu.$options.removeClass("sel");var c=a(b.selectedOption).addClass("sel");this.$localeMenuBtn.html(c.html()),this.locale=c.data("locale"),this.initialized&&(Craft.setLocalStorage("BaseElementIndex.locale",this.locale),this.updateElements())},_handleSortChange:function(b){var c=a(b.selectedOption);c.hasClass("disabled")||c.hasClass("sel")||(c.parent().parent().is(this.$sortAttributesList)?this.setSortAttribute(c.data("attr")):this.setSortDirection(c.data("dir")),this.storeSortAttributeAndDirection(),this.updateElements())},_handleSelectionChange:function(){this.updateActionTriggers(),this.onSelectionChange()},_handleSourceToggleClick:function(b){this._toggleSource(a(b.currentTarget).prev("a")),b.stopPropagation()},_getSourcesInList:function(a){return a.children("li").children("a")},_getChildSources:function(a){var b=a.siblings("ul");return this._getSourcesInList(b)},_getSourceToggle:function(a){return a.siblings(".toggle")},_initSources:function(b){for(var c=0;c'),this.$selectAllBtn=a('
    ').appendTo(this.$selectAllContainer),this.$selectAllCheckbox=a('
    ').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(b){b.keyCode==Garnish.SPACE_KEY&&(b.preventDefault(),a(b.currentTarget).trigger("click"))})),this.$selectAllContainer.prependTo(this.$toolbarTableRow)),this.$elements.html(c.html),Craft.appendHeadHtml(c.headHtml),Craft.appendFootHtml(c.footHtml),picturefill();var d=this.actions||this.settings.selectable;if(this.view=this.createView(this.getSelectedViewMode(),{context:this.settings.context,batchSize:this.settings.batchSize,params:b,selectable:d,multiSelect:this.actions||this.settings.multiSelect,checkboxMode:"index"==this.settings.context&&this.actions,onSelectionChange:a.proxy(this,"_handleSelectionChange")}),this._autoSelectElements){if(d)for(var e=0;e').data("action",f.handle).append(f.trigger);this.addListener(g,"submit","_handleActionTriggerSubmit"),b.push(g)}else f.destructive?d.push(f):c.push(f)}var h;if(c.length||d.length){var i=a("
    ");h=a('').appendTo(Garnish.$bod),e=a('
    ').appendTo(d),f=a('