{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./scripts/src/application.ts","webpack:///./scripts/src/common.ts"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","searchTimeout","page","canGetMoreResults","resizeTimeout","columns","isMySelectionPage","isDetailsPage","$masonry","$searchForm","clickEvent","clickedImageId","touchduration","timerInterval","loading","self","this","$","Modernizr","touch","svgasimg","addClass","each","index","$img","src","attr","substring","length","initMediaGallery","initSocialIcons","initEvents","makeCategoryHiearchy","data","document","width","hide","timer","interval","target","setTimeout","taphold","touchstart","ev","currentTarget","touchend","e","closest","removeClass","clearTimeout","$element","$heartIcon","next","addToMySelection","$container","imagesLoaded","masonry","itemSelector","horizontalOrder","transitionDuration","lazyload","on","detailsShareLink","$shareButton","facebook","hasClass","twitter","linkedin","link","xmlHttp","XMLHttpRequest","open","eq","send","responseText","window","text","trim","submitSearchForm","$checkboxElement","prev","removeAttr","scroll","scrollTop","documentHeight","height","windowHeight","getMoreResults","resize","toggleClass","parents","parent","categoryId","val","prop","click","$clickedElement","performAjaxRequest","spaceForDetails","css","focus","show","downloadUrl","encodeURI","result","location","href","is","closeDetailsDialog","keyup","stopPropagation","last","html","remove","orderBy","showMap","$detailsImage","$detailsMap","$clickedButton","callBackFunction","undefined","formData","serialize","history","pushState","pathname","imageId","mediaId","mySelectionCount","parseInt","isNaN","Promise","resolve","reject","Common","showLoader","urlWithSkip","hideLoader","$jQueryResult","find","items","toArray","append","url","updateWrapper","successCallback","method","addToSelection","$updateWrapper","jQuery","ajax","cache","success","error","updateCategoryHiearchy","submit","showMessage","message","isErrorMessage","delay","fadeOut","parentsUntil","Application","selectTextByClassName","className","range","selection","doc","getElementsByClassName","body","createTextRange","moveToElementText","select","getSelection","createRange","selectNodeContents","removeAllRanges","addRange"],"mappings":"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","file":"application.8f13af1b74cb5d3a3e08.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","/// \r\n/// \r\n\r\nimport { Common } from \"./common\";\r\n\r\nexport class Application {\r\n searchTimeout: number = null;\r\n page = 0;\r\n canGetMoreResults = true;\r\n resizeTimeout: number = null;\r\n columns: number = 3;\r\n isMySelectionPage: boolean = false;\r\n isDetailsPage: boolean = false;\r\n $masonry: JQuery = null;\r\n $searchForm: JQuery = null;\r\n clickEvent: string = null;\r\n clickedImageId: number = null;\r\n touchduration = 200; // For long touch on image in search result\r\n timerInterval = 0; // For long touch on image in search result\r\n loading = false;\r\n //\r\n // Constructor\r\n //\r\n constructor() {\r\n const self: Application = this;\r\n\r\n // When document is loaded\r\n $(() => {\r\n // Set click event depending on touch device or not\r\n self.clickEvent = Modernizr.touch ? \"touchstart\" : \"click\";\r\n\r\n // Check for SVG as img support\r\n if (!Modernizr.svgasimg) {\r\n $(\"body\").addClass(\"no-svg\");\r\n $(\"img[src$='.svg']\").each((index, value) => {\r\n var $img = $(value);\r\n var src = $img.attr(\"src\");\r\n $img.attr(\"src\", $img.attr(\"src\").substring(0, src.length - 3) + \"png\");\r\n });\r\n }\r\n\r\n self.isDetailsPage = $(\"#detailsPage\").length > 0;\r\n\r\n self.$searchForm = $(\".search-wrapper form\");\r\n\r\n self.initMediaGallery();\r\n self.initSocialIcons();\r\n self.initEvents();\r\n self.makeCategoryHiearchy();\r\n self.isMySelectionPage = $(\".my-selection-page\").length > 0;\r\n\r\n self.columns = $(\".search-filter-wrapper li.columns.active a\").data(\"columns\");\r\n\r\n self.clickedImageId = 0;\r\n\r\n if ($(document).width() <= 480) {\r\n self.columns = 2;\r\n }\r\n\r\n // Hide paging if javascript is enabled (do it with scroll instead)\r\n $(\".paging\").hide();\r\n\r\n //// Add droppable event for my selection\r\n //$(\".my-selection\").droppable({\r\n // tolerance: \"pointer\",\r\n // drop: (event, ui) => {\r\n // self.addToMySelection($(ui.helper).find(\"a\").data(\"media-id\"));\r\n // $(ui.helper).remove();\r\n // }\r\n //});\r\n\r\n // Disable get more results in my selection\r\n if ($(\".my-selection-page\").length) self.canGetMoreResults = false;\r\n\r\n // Possible to get more if result is more than 24\r\n if ($(\"li.image-gallery-list-item\").length < 24) self.canGetMoreResults = false;\r\n });\r\n }\r\n\r\n /**\r\n * Timer for long touch\r\n * @param interval\r\n * @param target\r\n */\r\n timer(interval, target) {\r\n const self: Application = this;\r\n\r\n interval--;\r\n\r\n if (interval >= 0) {\r\n self.timerInterval = setTimeout(() => {\r\n this.timer(interval, target);\r\n });\r\n } else {\r\n self.taphold($(target));\r\n }\r\n }\r\n\r\n /**\r\n * Touch start for long touch\r\n * @param ev\r\n */\r\n touchstart(ev) {\r\n const self: Application = this;\r\n self.timer(self.touchduration, ev.currentTarget);\r\n }\r\n\r\n /**\r\n * Touch end for long touch\r\n * @param e\r\n */\r\n touchend(e) {\r\n const self: Application = this;\r\n\r\n $(e.currentTarget).closest(\".get-details-link\").removeClass(\"hover\");\r\n clearTimeout(self.timerInterval);\r\n }\r\n\r\n /**\r\n * Tap hold for long touch\r\n * @param e\r\n */\r\n taphold($element) {\r\n const self: Application = this;\r\n\r\n // Heart icon\r\n const $heartIcon = $element.next(\".add-to-my-selection\");\r\n\r\n // Hold on element\r\n if ($heartIcon.length) {\r\n self.addToMySelection($heartIcon.data(\"media-id\"));\r\n }\r\n }\r\n\r\n /**\r\n * Add correct layout to media library\r\n */\r\n initMediaGallery() {\r\n const self: Application = this;\r\n\r\n // Load masonry for image gallery\r\n const $container = $(\".image-gallery-list\");\r\n $container.imagesLoaded(() => {\r\n self.$masonry = $container.masonry({\r\n itemSelector: \"li.image-gallery-list-item\",\r\n horizontalOrder: false,\r\n transitionDuration: 50,\r\n });\r\n\r\n // Reload masonry\r\n self.$masonry.masonry(\"layout\");\r\n $(\"img.lazyload\").lazyload();\r\n });\r\n }\r\n\r\n //\r\n // Add social icons\r\n //\r\n initSocialIcons() {\r\n const self: Application = this;\r\n\r\n // Social icons\r\n $(document).on(self.clickEvent, \".share-button\", (e) => {\r\n let detailsShareLink = $(\".media-gallery-dialog\").data(\"url\");\r\n var $shareButton = $(e.currentTarget);\r\n var facebook = $shareButton.hasClass(\"facebook\");\r\n var twitter = $shareButton.hasClass(\"twitter\");\r\n var linkedin = $shareButton.hasClass(\"linkedin\");\r\n var link = $shareButton.hasClass(\"link\");\r\n\r\n // If share my selection then first create share for all media items and add this id to URL\r\n if (self.isMySelectionPage && !$shareButton.closest(\".media-gallery-dialog-wrapper\").length) {\r\n const xmlHttp = new XMLHttpRequest();\r\n xmlHttp.open(\"GET\", `/MySelection/ShareSelection?formatId=${$(\".download-link\").eq(0).data(\"format-id\")}`, false);\r\n xmlHttp.send(null);\r\n detailsShareLink = xmlHttp.responseText;\r\n }\r\n\r\n // Facebook\r\n if (facebook) window.open(\"https://facebook.com/sharer/sharer.php?u=\" + detailsShareLink);\r\n // Twitter\r\n else if (twitter) window.open(\"https://twitter.com/share?url=\" + detailsShareLink + \"&text=\" + $(\".details-title\").text().trim());\r\n // Linked in\r\n else if (linkedin) window.open(\"https://www.linkedin.com/shareArticle?mini=true&url=\" + detailsShareLink);\r\n // Linked in\r\n else if (link) {\r\n window.open(detailsShareLink);\r\n }\r\n\r\n return false;\r\n });\r\n }\r\n\r\n //\r\n // Add events for search form\r\n //\r\n initEvents() {\r\n const self: Application = this;\r\n\r\n // Click events on category checkboxes\r\n $(document).on(\"mouseup\", \".search-link, .category-checkbox\", () => {\r\n self.submitSearchForm(false);\r\n\r\n return false;\r\n });\r\n\r\n // Click events on category checkboxes\r\n $(document).on(self.clickEvent, \".fictive-input\", (ev) => {\r\n let $checkboxElement = $(ev.currentTarget).prev(\".category-checkbox\");\r\n\r\n if ($checkboxElement.attr(\"checked\")) {\r\n $checkboxElement.removeAttr(\"checked\");\r\n $(ev.currentTarget).removeClass(\"checked\");\r\n } else {\r\n $checkboxElement.attr(\"checked\", \"checked\");\r\n $(ev.currentTarget).addClass(\"checked\");\r\n }\r\n self.submitSearchForm(false);\r\n\r\n return false;\r\n });\r\n\r\n // Get more result on scroll to bottom\r\n const scrollTolerance = 50;\r\n $(window).scroll(async () => {\r\n let scrollTop = $(window).scrollTop();\r\n let documentHeight = $(document).height();\r\n let windowHeight = $(window).height();\r\n let scrollHeight = documentHeight - windowHeight;\r\n let scrollThreshold = scrollTop + scrollTolerance;\r\n if (scrollThreshold >= scrollHeight && self.canGetMoreResults) {\r\n if (self.loading) return;\r\n self.loading = true;\r\n // console.log(\"scrollThreshold:\", scrollThreshold, \" scrollHeight:\", scrollHeight, \" canGetMoreResults:\", self.canGetMoreResults);\r\n await self.getMoreResults();\r\n self.loading = false;\r\n }\r\n });\r\n\r\n // Window resize function\r\n $(window).resize(() => {\r\n clearTimeout(self.resizeTimeout);\r\n\r\n self.resizeTimeout = setTimeout(() => {\r\n // Reload masonry\r\n self.$masonry.masonry(\"layout\");\r\n }, 50);\r\n\r\n if ($(document).width() <= 480) {\r\n self.columns = 2;\r\n } else {\r\n self.columns = $(\".search-filter-wrapper li.columns.active a\").data(\"columns\");\r\n }\r\n });\r\n\r\n // Event for categories buttons\r\n $(document).on(self.clickEvent, \".show-child-categories\", (e) => {\r\n const $listItem = $(e.target).closest(\"li\");\r\n\r\n $listItem.toggleClass(\"opened\");\r\n\r\n return false;\r\n });\r\n\r\n $(document).on(self.clickEvent, \"body, a\", (e) => {\r\n if (!$(e.target).parents(\".categories\").length) {\r\n $(\".categories\").removeClass(\"active\");\r\n }\r\n });\r\n\r\n // Event show/hide categories on click\r\n $(document).on(self.clickEvent, \".categories > a\", (e) => {\r\n $(e.currentTarget).parent().toggleClass(\"active\");\r\n\r\n return false;\r\n });\r\n\r\n // Event to search for category from details view\r\n $(document).on(self.clickEvent, \".category-link\", (e) => {\r\n var categoryId = $(e.currentTarget).data(\"category-id\");\r\n\r\n // Clear values\r\n $(\"input[type=text], input[type=hidden]\", \".search-wrapper form\").val(\"\");\r\n\r\n // Clear checkbox\r\n $(\"input[type=checkbox]\", \".search-wrapper form\").prop(\"checked\", false);\r\n $(\".fictive-input\", \".search-wrapper form\").removeClass(\"checked\");\r\n\r\n // Check category checkbox\r\n $(`input[type=checkbox][value=${categoryId}]`, \".search-wrapper form\").prop(\"checked\", true);\r\n $(`.fictive-input[data-value=${categoryId}]`, \".search-wrapper form\").addClass(\"checked\");\r\n\r\n $(\".close-button\").click();\r\n self.submitSearchForm();\r\n return false;\r\n });\r\n\r\n // Event for long touch on details link\r\n $(document).on(\"touchstart\", \".get-details-link img\", (e) => {\r\n self.touchstart(e);\r\n });\r\n\r\n // Event for long touch on details link\r\n $(document).on(\"touchend\", \".get-details-link img\", (e) => {\r\n self.touchend(e);\r\n });\r\n\r\n // Event for mouse over on details link\r\n $(document).on(\"mouseover\", \".get-details-link\", (e) => {\r\n $(e.currentTarget).addClass(\"hover\");\r\n });\r\n\r\n // Event for mouse out on details link\r\n $(document).on(\"mouseout\", \".get-details-link\", (e) => {\r\n $(e.currentTarget).removeClass(\"hover\");\r\n });\r\n\r\n // Event for click details link\r\n $(document).on(self.clickEvent, \".get-details-link\", (e) => {\r\n $(e.currentTarget).removeClass(\"hover\");\r\n const $clickedElement = $(e.currentTarget);\r\n self.clickedImageId = $clickedElement.data(\"media-id\");\r\n\r\n self.performAjaxRequest(\r\n \"/MediaGallery/DetailsDialog?mediaId=\" + $clickedElement.data(\"media-id\") + (self.isMySelectionPage ? \"&myselection=True\" : \"\"),\r\n null,\r\n $(\".media-details-wrapper\"),\r\n () => {\r\n var spaceForDetails = 32;\r\n\r\n // Set korrekt padding for details\r\n if ($(\".details-title\").length) spaceForDetails += $(\".details-title\").height();\r\n\r\n if (!$(\".not-allow-download\").length) spaceForDetails += 80;\r\n\r\n $(\".details-information-wrapper\").css(\"padding-bottom\", +spaceForDetails);\r\n $(\".media-gallery-dialog-content\").attr(\"tabindex\", \"-1\");\r\n $(\".media-gallery-dialog-content\").focus();\r\n\r\n // Set aria hidden of main content behind\r\n $(\"main, header, footer, .cookies-wrapper\").attr(\"aria-hidden\", \"true\");\r\n },\r\n false,\r\n null,\r\n false\r\n );\r\n\r\n return false;\r\n });\r\n\r\n // Event for details image click\r\n $(document).on(self.clickEvent, \".details-image img\", () => {\r\n $(\".preview-image img\").attr(\"src\", $(\"preview-image\").data(\"image-url\"));\r\n $(\".media-gallery-dialog \").attr(\"aria-hidden\", \"true\");\r\n\r\n $(\".preview-image\").attr(\"aria-hidden\", \"false\");\r\n $(\".preview-image\").show();\r\n return false;\r\n });\r\n\r\n // Event for categories buttons\r\n $(document).on(self.clickEvent, \".download-link\", (e) => {\r\n const $clickedElement = $(e.currentTarget);\r\n const downloadUrl: string = $clickedElement.data(\"download-url\");\r\n if (!downloadUrl) return true;\r\n self.performAjaxRequest(\r\n \"/MediaGallery/TermsDialog?downloadUrl=\" + encodeURI(downloadUrl),\r\n null,\r\n \".terms-dialog-wrapper\",\r\n (result) => {\r\n $(\".media-details-wrapper > .media-gallery-dialog\").attr(\"aria-hidden\", \"true\");\r\n $(\".terms-dialog-wrapper\").attr(\"aria-hidden\", \"false\");\r\n $(\".terms-dialog-wrapper\").show();\r\n },\r\n false,\r\n null,\r\n false\r\n );\r\n\r\n return false;\r\n });\r\n\r\n // Event for close button\r\n $(document).on(self.clickEvent, \".close-button\", (e) => {\r\n if (self.isDetailsPage) window.location.href = \"/\";\r\n\r\n if ($(\".preview-image\").is(\":visible\")) {\r\n $(\".media-gallery-dialog \").attr(\"aria-hidden\", \"false\");\r\n $(\".preview-image\").hide().attr(\"aria-hidden\", \"true\");\r\n } else if ($(\".terms-dialog-wrapper\").is(\":visible\")) {\r\n $(\".media-gallery-dialog\").attr(\"aria-hidden\", \"false\");\r\n $(\".terms-dialog-wrapper\").hide();\r\n $(\".terms-dialog-wrapper\").attr(\"aria-hidden\", \"true\");\r\n } else {\r\n this.closeDetailsDialog(e, self.clickedImageId);\r\n }\r\n return false;\r\n });\r\n\r\n $(document).keyup((e) => {\r\n if (e.key === \"Escape\") {\r\n this.closeDetailsDialog(e, self.clickedImageId);\r\n }\r\n e.stopPropagation();\r\n });\r\n\r\n // Event for close button\r\n $(document).on(self.clickEvent, \".accept-button\", (e) => {\r\n $(e.target).closest(\".dialog-wrapper\").last().html(\"\");\r\n $(\".terms-dialog-wrapper\").hide();\r\n $(\".media-gallery-dialog\").attr(\"aria-hidden\", \"false\");\r\n $(\".media-gallery-dialog-content\").attr(\"tabindex\", \"-1\").focus();\r\n });\r\n\r\n // Event for removing cookie information\r\n $(document).on(self.clickEvent, \".accept-cookies-link\", (e) => {\r\n self.performAjaxRequest(\r\n $(e.currentTarget).attr(\"href\"),\r\n null,\r\n null,\r\n () => {\r\n $(\".cookies-wrapper\").remove();\r\n },\r\n false,\r\n null,\r\n false\r\n );\r\n\r\n return false;\r\n });\r\n\r\n // Event for sorting\r\n $(document).on(self.clickEvent, \".change-sort-order-link\", (e) => {\r\n const orderBy: string = $(e.target).data(\"order-by\");\r\n\r\n $(\".order-by-input\").val(orderBy);\r\n\r\n self.submitSearchForm();\r\n\r\n return false;\r\n });\r\n\r\n // Event for show image or map iframe\r\n $(document).on(self.clickEvent, \".show-on-map, .show-image\", (e) => {\r\n const showMap = $(e.target).hasClass(\"show-on-map\");\r\n\r\n const $detailsImage = $(\".details-image img\");\r\n\r\n const $detailsMap = $(\".details-image iframe\");\r\n\r\n if (showMap) {\r\n $detailsImage.hide();\r\n $detailsMap.show();\r\n $(\".show-on-map\").hide();\r\n $(\".show-image\").show();\r\n } else {\r\n $detailsImage.show();\r\n $detailsMap.hide();\r\n $(\".show-on-map\").show();\r\n $(\".show-image\").hide();\r\n }\r\n\r\n return false;\r\n });\r\n\r\n // Event for change columns\r\n $(document).on(self.clickEvent, \".change-columns-link\", (e) => {\r\n const $clickedButton = $(e.currentTarget);\r\n const columns: number = $(e.currentTarget).data(\"columns\");\r\n\r\n self.columns = columns;\r\n\r\n if ($(document).width() <= 480) {\r\n self.columns = 2;\r\n }\r\n\r\n const callBackFunction = self.isMySelectionPage\r\n ? () => {\r\n self.performAjaxRequest(\r\n \"/MySelection/MySelectionMediaPartial/\",\r\n null,\r\n \".my-selection-gallery-wrapper\",\r\n () => {\r\n // Reload masonry\r\n self.initMediaGallery();\r\n },\r\n false,\r\n null,\r\n false\r\n );\r\n\r\n $(\".search-filter-wrapper li\").removeClass(\"active\");\r\n $clickedButton.parent().addClass(\"active\");\r\n }\r\n : () => {\r\n $(\".search-filter-wrapper li\").removeClass(\"active\");\r\n $clickedButton.parent().addClass(\"active\");\r\n self.submitSearchForm();\r\n };\r\n\r\n self.performAjaxRequest(`/MediaGallery/ChangeNumberOfColumns/?columns=${columns}`, null, null, callBackFunction, false, \"POST\", false);\r\n\r\n return false;\r\n });\r\n\r\n // Event for remove search property\r\n $(document).on(self.clickEvent, \".remove-search-property\", (e) => {\r\n const $clickedElement = $(e.currentTarget);\r\n\r\n const categoryId = $clickedElement.data(\"category-id\");\r\n\r\n if (categoryId != undefined) {\r\n $(`.category-input-${categoryId}`).prop(\"checked\", false).removeClass(\"checked\");\r\n } else {\r\n $(\".search-term\").val(\"\");\r\n }\r\n\r\n self.submitSearchForm();\r\n\r\n return false;\r\n });\r\n\r\n // Event for add to my selection\r\n $(document).on(self.clickEvent, \".add-to-my-selection\", (e) => {\r\n self.addToMySelection($(e.currentTarget).data(\"media-id\"));\r\n\r\n return false;\r\n });\r\n\r\n // Event for clear search\r\n $(document).on(self.clickEvent, \".clear-search\", () => {\r\n // Clear values\r\n $(\"input[type=text], input[type=hidden]\", \".search-wrapper form\").val(\"\");\r\n\r\n // Clear checkbox\r\n $(\"input[type=checkbox]\", \".search-wrapper form\").prop(\"checked\", false);\r\n $(\".fictive-input\", \".search-wrapper form\").removeClass(\"checked\");\r\n\r\n self.submitSearchForm();\r\n\r\n return false;\r\n });\r\n // Event for categories buttons\r\n $(document).on(self.clickEvent, \".get-more-results-link\", () => {\r\n self.getMoreResults();\r\n\r\n return false;\r\n });\r\n\r\n // Submit event to perform ajaz search\r\n $(document).on(\"submit\", \".search-wrapper form\", () => {\r\n if ($(\".my-selection-page\").length) return true;\r\n\r\n const formData = self.$searchForm.serialize();\r\n\r\n self.canGetMoreResults = true;\r\n self.page = 0;\r\n\r\n self.performAjaxRequest(\r\n \"/MediaGallery/SearchMediaPartial\",\r\n formData,\r\n \".search-media-partial-wrapper\",\r\n () => {\r\n self.initMediaGallery();\r\n\r\n history.pushState({}, null, window.location.pathname + \"?\" + self.$searchForm.serialize());\r\n },\r\n false,\r\n null,\r\n false\r\n );\r\n\r\n return false;\r\n });\r\n }\r\n\r\n closeDetailsDialog(e: any, imageId: number) {\r\n $(e.target).closest(\".dialog-wrapper\").last().html(\"\");\r\n $(\"main, header, footer, .cookies-wrapper\").attr(\"aria-hidden\", \"false\");\r\n $(\".active-dialog\").removeClass(\"active-dialog\");\r\n $(\".media-gallery-dialog\").attr(\"aria-hidden\", \"true\");\r\n $(`#media-${imageId}`).attr(\"tabindex\", \"-1\").css(\"outline\", \"none\").focus();\r\n }\r\n\r\n //\r\n // Add item to my selection\r\n //\r\n addToMySelection(mediaId) {\r\n const self: Application = this;\r\n\r\n self.performAjaxRequest(\r\n \"/MediaGallery/AddOrRemoveToMySelectionPartial?mediaId=\" + mediaId,\r\n null,\r\n null,\r\n (result) => {\r\n var mySelectionCount = parseInt($(\".my-selection-count\").text());\r\n if (isNaN(mySelectionCount)) mySelectionCount = 0;\r\n\r\n if (result === \"True\") {\r\n mySelectionCount += 1;\r\n } else {\r\n mySelectionCount -= 1;\r\n }\r\n\r\n $(\".my-selection-count\").text(mySelectionCount);\r\n $(`.add-to-my-selection[data-media-id=${mediaId}]`).toggleClass(\"active\");\r\n },\r\n false,\r\n null,\r\n true\r\n );\r\n }\r\n\r\n //\r\n // Get more results\r\n //\r\n getMoreResults(): Promise {\r\n return new Promise((resolve, reject) => {\r\n const self: Application = this;\r\n if (self.$masonry == null) return resolve();\r\n\r\n Common.showLoader();\r\n if (self.canGetMoreResults && !$(\".my-selection-page\").length) {\r\n self.page++;\r\n const formData = $(\".search-form\").serialize();\r\n\r\n const url = `/MediaGallery/SearchMediaPartial/?${formData}`;\r\n const urlWithSkip = url + \"&page=\" + self.page;\r\n const container = \".image-gallery-list\";\r\n const $container = $(container);\r\n\r\n self.performAjaxRequest(\r\n urlWithSkip,\r\n null,\r\n null,\r\n (result) => {\r\n // If empty result then return\r\n if (result.length < 5) {\r\n self.canGetMoreResults = false;\r\n Common.hideLoader();\r\n resolve();\r\n return;\r\n }\r\n\r\n var $jQueryResult = $(\"\" + result + \"
\").find(\"> li\");\r\n const items = $jQueryResult.toArray();\r\n\r\n // If result contains less than 24 items, then you can not get more results\r\n if (items.length < 24) {\r\n self.canGetMoreResults = false;\r\n }\r\n\r\n // Hide list items before masonry for a better effect\r\n $jQueryResult.hide();\r\n\r\n self.$masonry.append(items).masonry(\"appended\", items);\r\n\r\n $container.imagesLoaded(() => {\r\n self.$masonry.masonry(\"layout\");\r\n $(\"img.lazyload\").lazyload();\r\n });\r\n\r\n Common.hideLoader();\r\n resolve();\r\n },\r\n false,\r\n null,\r\n false\r\n );\r\n }\r\n });\r\n }\r\n\r\n //\r\n // Perform ajax request\r\n //\r\n performAjaxRequest(url, data, updateWrapper, successCallback, append, method, addToSelection) {\r\n if (!addToSelection) {\r\n Common.showLoader();\r\n }\r\n\r\n let $updateWrapper: JQuery = updateWrapper;\r\n\r\n if (!(Object instanceof jQuery)) $updateWrapper = $(updateWrapper);\r\n\r\n $(\".active-dialog\").removeClass(\"active-dialog\");\r\n\r\n $updateWrapper.addClass(\"active-dialog\");\r\n $updateWrapper.show();\r\n\r\n $.ajax({\r\n url: url,\r\n data: data,\r\n method: method ? method : \"GET\",\r\n cache: false,\r\n success(result) {\r\n Common.hideLoader();\r\n\r\n if ($updateWrapper) {\r\n if (append) $updateWrapper.eq(0).append(result);\r\n else $updateWrapper.eq(0).html(result);\r\n }\r\n\r\n if (successCallback) successCallback(result);\r\n },\r\n error() {\r\n Common.hideLoader();\r\n\r\n if (successCallback) successCallback(null);\r\n },\r\n });\r\n }\r\n\r\n //\r\n // Submit search form and reset the earlier event (wait 150ms)\r\n //\r\n submitSearchForm(updateCategoryHiearchy: boolean = true) {\r\n const self: Application = this;\r\n\r\n self.searchTimeout = setTimeout(() => {\r\n $(\".search-wrapper form\").submit();\r\n\r\n if (updateCategoryHiearchy) self.makeCategoryHiearchy();\r\n }, 50);\r\n }\r\n\r\n //\r\n // Show message for user\r\n //\r\n showMessage(message, isErrorMessage) {\r\n $(\".message\").html(message);\r\n\r\n if (isErrorMessage === false) $(\".message\").addClass(\"success\").removeClass(\"error\");\r\n else if (isErrorMessage === true) $(\".message\").addClass(\"error\").removeClass(\"success\");\r\n\r\n $(\".message\").show().delay(5000).fadeOut();\r\n }\r\n\r\n //\r\n // Open choosen categories parents\r\n //\r\n makeCategoryHiearchy() {\r\n $(\".categories li\").removeClass(\"opened\");\r\n\r\n // Open up child categories if any is choosen\r\n $(\".category-checkbox[checked]\").each((index) => {\r\n let $element = $(\".category-checkbox:checked\").eq(index);\r\n $element.closest(\"li\").parentsUntil(\".categories\", \"li\").addClass(\"opened\");\r\n });\r\n }\r\n}\r\n\r\nvar application = new Application();\r\n","export class Common {\r\n //\r\n // Select a text by classname\r\n //\r\n static selectTextByClassName(className) {\r\n const doc = document;\r\n const text = doc.getElementsByClassName(className)[0];\r\n let range, selection;\r\n\r\n if (doc.body.createTextRange) {\r\n range = document.body.createTextRange();\r\n range.moveToElementText(text);\r\n range.select();\r\n } else if (window.getSelection) {\r\n selection = window.getSelection();\r\n range = document.createRange();\r\n range.selectNodeContents(text);\r\n selection.removeAllRanges();\r\n selection.addRange(range);\r\n }\r\n }\r\n\r\n //\r\n // Show loader\r\n //\r\n static showLoader() {\r\n $(\"#loader\").show(0);\r\n }\r\n\r\n //\r\n // Hide loader\r\n //\r\n static hideLoader() {\r\n $(\"#loader\").hide(0);\r\n }\r\n}\r\n"],"sourceRoot":""}