{"version":3,"file":"directory-categories.js","names":["viewModel","Loading","ko","observable","HasChangesForCategoryViewStaticPageRegions","hasChangesForCategoryViewStaticPageRegions","Categories","observableArray","SearchText","window","SwitchToListView","location","href","pathname","SwitchToMapView","reloadListing","data","directoryID","searchText","$","ajax","type","url","categoryListHtmlUrl","dataType","success","html","Html","noviCmsNamespace","isPageEditToggled","contentRegionsLoadedEvent","CustomEvent","detail","bubbles","cancelable","document","dispatchEvent","error","jqXHR","textStatus","status","responseJSON","apiErrorResponse","ShowCustomAlert","Message","ErrorDetails","responseText","IsLoading","ResetStaticContentRegions","resetContentUrl","filter","categoryView","Status","Errors","BaseRegions","forEach","region","setStaticContent","RegionName","ShowSavedPopup","content","tinyRegion","length","setEditorContent","SetEditorContent","removeClass","addClass","resetSearch","applyBindings","keydown","e","charCode","keyCode","click"],"sources":["directory-categories.js"],"mappings":"AAAA,IAAIA,UAAY,CACZC,QAASC,GAAGC,YAAW,GAGvBC,2CAA4CF,GAAGC,WAAWE,4CAG1DC,WAAYJ,GAAGK,gBAAgB,IAG/BC,WAAYN,GAAGC,WAAW,KAG9BM,OAAOC,iBAAmB,WACtBD,OAAOE,SAASC,KAAOH,OAAOE,SAASE,QAC3C,EAEAJ,OAAOK,gBAAkB,WACrBL,OAAOE,SAASC,KAAOH,OAAOE,SAASE,SAAW,eACtD,EAEA,IAAIE,cAAgB,WAChBf,UAAUC,SAAQ,GAElB,IAAIe,EAAO,CACPC,YAAeA,YACfC,WAAclB,UAAUQ,cAG5BW,EAAEC,KAAK,CACHC,KAAM,OACNC,IAAKC,oBACLP,KAAMA,EACNQ,SAAU,OACVC,QAAS,SAAUT,GAGf,GAFAG,EAAE,yBAAyBO,KAAKV,EAAKW,MACrC3B,UAAUM,WAAWU,EAAKV,YACtBG,OAAOmB,iBAAiBC,kBAAmB,CAC3C,IAAIC,EAA4B,IAAIC,YAAYtB,OAAOmB,iBAAiBE,0BAA2B,CAAEE,OAAQ,CAAC,EAAIC,SAAS,EAAMC,YAAY,IAC7IC,SAASC,cAAcN,EAC3B,CACA9B,UAAUC,SAAQ,EACtB,EACAoC,MAAO,SAAUC,EAAOC,GACpB,GAAmB,UAAfA,GAA2C,IAAjBD,EAAME,OAApC,CAGA,GAAIF,GAASA,EAAMG,aAAc,CAC7B,IAAIC,EAAmBJ,EAAMG,aAC7BE,gBAAgBD,EAAiBE,SAAWF,EAAiBG,aAAe,kCAAoCH,EAAiBG,aAAe,IACpJ,MAEIF,gBAAgB,2DAA6DL,EAAMQ,cAEvF9C,UAAU+C,WAAU,EATV,CAUd,GAER,EAEA,SAASC,4BACLhD,UAAUC,SAAQ,GAElBkB,EAAEC,KAAK,CACHC,KAAM,OACNC,IAAK2B,gBACLjC,KAAM,CACFC,YAAeA,YACfiC,OAAU,eACVC,cAAiB,GAErB3B,SAAU,OACVC,QAAS,SAAUT,GACK,YAAhBA,EAAKoC,OACLT,gBAAgB,6CAA+C3B,EAAKqC,SAGhErC,EAAKsC,aACLtC,EAAKsC,YAAYC,SAAQ,SAAUC,GAC/BC,iBAAiBD,EAAOE,WAAYF,EAAO7B,KAC/C,IAGJ3B,UAAUI,4CAA2C,GACrDJ,UAAUC,SAAQ,GAClB0D,eAAe,+CAAgD,IAEvE,EACAtB,MAAO,SAAUC,EAAOC,GACpB,GAAmB,UAAfA,GAA2C,IAAjBD,EAAME,OAApC,CAGA,GAAIF,GAASA,EAAMG,aAAc,CAC7B,IAAIC,EAAmBJ,EAAMG,aAC7BE,gBAAgBD,EAAiBE,SAAWF,EAAiBG,aAAe,kCAAoCH,EAAiBG,aAAe,IACpJ,MAEIF,gBAAgB,6CAA+CL,EAAMQ,cAEzE9C,UAAUC,SAAQ,EATR,CAUd,GAER,CAEA,SAASwD,iBAAiBD,EAAQI,GAG9BC,WAAa1C,EAAE,aAAeqC,GACzBK,WAAWC,SACZD,WAAa1C,EAAE,iBAAmBqC,EAAS,OAG3CK,YAAcA,WAAWC,SAEO,oBAArBC,iBACPA,iBAAiBP,EAAQI,GAGQ,oBAArBI,iBACZA,iBAAiBR,EAAQI,GAGzBC,WAAWnC,KAAKkC,GAGhBA,EACAC,WAAWI,YAAY,SAGvBJ,WAAWK,SAAS,SAGhC,CAEA,SAASC,cACLnE,UAAUQ,WAAW,IACrBO,eACJ,CAEAI,GAAE,WACEjB,GAAGkE,cAAcpE,WAEjBmB,EAAE,eAAekD,SAAQ,SAAUC,GAEpB,KADDA,EAAEC,UAAYD,EAAEE,SAAW,IAEjCrD,EAAE,cAAcsD,OAExB,IAEA1D,eACJ","sourcesContent":["var viewModel = {\r\n Loading: ko.observable(false),\r\n\r\n // Static Content\r\n HasChangesForCategoryViewStaticPageRegions: ko.observable(hasChangesForCategoryViewStaticPageRegions),\r\n\r\n // Results\r\n Categories: ko.observableArray([]),\r\n\r\n // Filters\r\n SearchText: ko.observable(\"\")\r\n};\r\n\r\nwindow.SwitchToListView = function SwitchToListView() {\r\n window.location.href = window.location.pathname;\r\n}\r\n\r\nwindow.SwitchToMapView = function SwitchToMapView() {\r\n window.location.href = window.location.pathname + '?MapView=true';\r\n}\r\n\r\nvar reloadListing = function () {\r\n viewModel.Loading(true);\r\n\r\n var data = {\r\n \"directoryID\": directoryID,\r\n \"searchText\": viewModel.SearchText()\r\n };\r\n\r\n $.ajax({\r\n type: \"POST\",\r\n url: categoryListHtmlUrl,\r\n data: data,\r\n dataType: \"json\",\r\n success: function (data) {\r\n $(\"#categories-container\").html(data.Html);\r\n viewModel.Categories(data.Categories);\r\n if (window.noviCmsNamespace.isPageEditToggled) {\r\n var contentRegionsLoadedEvent = new CustomEvent(window.noviCmsNamespace.contentRegionsLoadedEvent, { detail: {} , bubbles: true, cancelable: true });\r\n document.dispatchEvent(contentRegionsLoadedEvent);\r\n }\r\n viewModel.Loading(false);\r\n },\r\n error: function (jqXHR, textStatus) {\r\n if (textStatus === 'abort' || jqXHR.status === 0)\r\n return;\r\n\r\n if (jqXHR && jqXHR.responseJSON) {\r\n var apiErrorResponse = jqXHR.responseJSON;\r\n ShowCustomAlert(apiErrorResponse.Message + (apiErrorResponse.ErrorDetails ? \"
Error Details:
\" + apiErrorResponse.ErrorDetails : \"\"));\r\n }\r\n else {\r\n ShowCustomAlert('There was an error loading the directory category view: ' + jqXHR.responseText);\r\n }\r\n viewModel.IsLoading(false);\r\n }\r\n });\r\n}\r\n\r\nfunction ResetStaticContentRegions() {\r\n viewModel.Loading(true);\r\n\r\n $.ajax({\r\n type: \"POST\",\r\n url: resetContentUrl,\r\n data: {\r\n \"directoryID\": directoryID,\r\n \"filter\": \"CategoryView\",\r\n \"categoryView\" : true\r\n },\r\n dataType: \"json\",\r\n success: function (data) {\r\n if (data.Status === \"Invalid\") {\r\n ShowCustomAlert('There was an error resetting the content: ' + data.Errors);\r\n }\r\n else {\r\n if (data.BaseRegions) {\r\n data.BaseRegions.forEach(function (region) {\r\n setStaticContent(region.RegionName, region.Html);\r\n });\r\n }\r\n\r\n viewModel.HasChangesForCategoryViewStaticPageRegions(false);\r\n viewModel.Loading(false);\r\n ShowSavedPopup('The content regions were reset successfully.', '');\r\n }\r\n },\r\n error: function (jqXHR, textStatus) {\r\n if (textStatus === 'abort' || jqXHR.status === 0)\r\n return;\r\n\r\n if (jqXHR && jqXHR.responseJSON) {\r\n var apiErrorResponse = jqXHR.responseJSON;\r\n ShowCustomAlert(apiErrorResponse.Message + (apiErrorResponse.ErrorDetails ? \"
Error Details:
\" + apiErrorResponse.ErrorDetails : \"\"));\r\n }\r\n else {\r\n ShowCustomAlert('There was an error resetting the content: ' + jqXHR.responseText);\r\n }\r\n viewModel.Loading(false);\r\n }\r\n });\r\n}\r\n\r\nfunction setStaticContent(region, content) {\r\n\r\n // Fetch the static region - its structure is different depending on whether the region is editable\r\n tinyRegion = $(\"#editable_\" + region); // For admins\r\n if (!tinyRegion.length) {\r\n tinyRegion = $(\"[data-region='\" + region + \"']\"); // For standard users\r\n }\r\n\r\n if (tinyRegion && tinyRegion.length) {\r\n // New method for setting editor content\r\n if (typeof setEditorContent !== \"undefined\") {\r\n setEditorContent(region, content);\r\n }\r\n // Legacy method for setting editor content\r\n else if (typeof SetEditorContent !== \"undefined\") {\r\n SetEditorContent(region, content);\r\n }\r\n else {\r\n tinyRegion.html(content);\r\n }\r\n\r\n if (content) {\r\n tinyRegion.removeClass(\"empty\");\r\n }\r\n else {\r\n tinyRegion.addClass(\"empty\");\r\n }\r\n }\r\n}\r\n\r\nfunction resetSearch() {\r\n viewModel.SearchText(\"\");\r\n reloadListing();\r\n}\r\n\r\n$(function () {\r\n ko.applyBindings(viewModel);\r\n\r\n $(\"#search-box\").keydown(function (e) {\r\n var key = e.charCode || e.keyCode || 0;\r\n if (key == 13) {\r\n $(\"#search-go\").click();\r\n }\r\n });\r\n\r\n reloadListing();\r\n});"]}