{"version":3,"sources":["Feature/Documents/code/ui/scripts/Documents/DocumentFinder.js"],"names":["DocumentFinder","$","jQuery","constants","selectedClass","searchBoxSelector","searchForm","typeButtonSelector","loadMoreButtonSelector","filterOptionSelector","filterTypeSelector","showAllFilterOptionsSelector","documentSelector","resetAllButton","downloads","submit","e","change","resetLoadMoreButton","getDocuments","preventDefault","click","$this","this","hasClass","onSearchTextBoxChange","onFilterTypeChange","onFilterOptionChange","text","trim","data","onShowAllButtonClick","$filterOptions","removeClass","$loadMoreButton","onLoadMoreClick","populateDocumentList","documents","length","noDocumentsHtml","Handlebars","compile","html","i","document","id","documentTemplate","categories","join","languagesString","languages","categoriesString","push","categoriesAndLanguagesArray","categoriesAndLanguageString","compiled","$documentTableRow","documentListTableRowHandleClick","find","documentListCheckboxHandleChange","$documentFinderDocumentList","append","updateBox","getBoxlinkParam","objectIds","filterTypes","selected","obj","filteroptions","Array","objectSelectedIndex","objectSelected","selectedButtons","filterOptions","each","index","value","val","loadFiltersFromQueryString","hasFilterParams","paramData","forEach","filterType","base64Encode","JSON","stringify","filters","values","filterButton","concat","attr","parseQueryString","addClass","getBoxlinkParamData","location","search","x","name","item","base64Decode","type","contentType","always","ajax","url","reset","render","valid","template","recaptchaForm","emailTemplate","contextItemId","dataSourceItemId","grecaptcha","sitekey","on","modal","$form","fail","validate","languageCode","map","objectId","to","filterValue","filter","$filterType","foundBtn","show","removeAttr","jqXHR","textStatus","errorThrown","hide","$filterOptionSelect","disableFilters","foundOption","j","enabled","updateFilterDocumentCount","foundBtnSpan","selectedIndex","documentFinderContext","showLoading","numberOfHits","setLoadMoreButtonVisibility","getDocumentFinderContext","newTop","result","languageIndexFieldName","mediaIdIndexFieldName","headingIndexFieldName","contentIndexFieldName","urlIndexFieldName","totalResultCount","categoriesIndexFieldName","hasSearchFilter","searchPhrase","getSearchPhrase","getFilters","addFilterOptions","addFilterTypes","Values","some","Selected","initFilterOptions","setShowAllButtonVisibility","$showAllFilterButton","hideFilterOptions","$filterOption","Id","$filterTypeValue","Value","selectedValue","toggleResetAllButton","loadBoxFromQueryString","$filterOptionValue","str","hasFilters","v","onShareLinkClick","$obj","copyText","closest","$tooltip","onResetAllButtonClick","onSearchSubmit","btoa","atob","qs","q","substr","split","_templateObject","_taggedTemplateLiteral","_item$split2","_slicedToArray","k","decodeURIComponent","select","setSelectionRange","execCommand","mouseout","init"],"mappings":"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","file":"../../../scripts/Documents/DocumentFinder-6114b5fc0f.js","sourcesContent":["var DocumentFinder = {\r\n\r\n $: jQuery,\r\n\r\n constants: {\r\n selectedClass: \"is-selected\",\r\n searchBoxSelector: \".DocumentFinder-query\",\r\n searchForm: \".DocumentFinder-searchform\",\r\n typeButtonSelector: \".DocumentFinder-typeBtn\",\r\n loadMoreButtonSelector: \".DocumentFinder-loadMore\",\r\n filterOptionSelector: \".DocumentFinder-filterOption\",\r\n filterTypeSelector: \".DocumentFinder-filterType\",\r\n showAllFilterOptionsSelector: \".DocumentFinder-showAllFilters\",\r\n documentSelector: \".DocumentFinder-document\",\r\n resetAllButton: \".DocumentFinder-resetAllButton\"\r\n },\r\n\r\n downloads: {\r\n selected: []\r\n },\r\n\r\n onSearchSubmit: () => {\r\n $(DocumentFinder.constants.searchForm).submit(function (e) {\r\n e.preventDefault();\r\n });\r\n },\r\n\r\n onSearchTextBoxChange: function () {\r\n $(DocumentFinder.constants.searchBoxSelector).change(function () {\r\n DocumentFinder.resetLoadMoreButton();\r\n DocumentFinder.getDocuments();\r\n });\r\n },\r\n\r\n onFilterTypeChange: function () {\r\n $(DocumentFinder.constants.typeButtonSelector).click(function () {\r\n var $this = $(this);\r\n if ($this.hasClass(DocumentFinder.constants.selectedClass)) {\r\n $this.removeClass(DocumentFinder.constants.selectedClass);\r\n }\r\n else {\r\n $this.addClass(DocumentFinder.constants.selectedClass);\r\n }\r\n DocumentFinder.resetLoadMoreButton();\r\n DocumentFinder.getDocuments();\r\n });\r\n },\r\n\r\n onFilterOptionChange: function () {\r\n $(DocumentFinder.constants.filterOptionSelector).change(function () {\r\n DocumentFinder.resetLoadMoreButton();\r\n DocumentFinder.getDocuments();\r\n });\r\n },\r\n\r\n onShowAllButtonClick: function () {\r\n $(DocumentFinder.constants.showAllFilterOptionsSelector).click(function () {\r\n var $this = $(this);\r\n var $filterOptions = $(DocumentFinder.constants.filterOptionSelector);\r\n if ($this.text().trim() === $this.data(\"more\")) {\r\n $this.text($this.data(\"less\"));\r\n $filterOptions.removeClass(\"d-none\");\r\n }\r\n else if ($this.text().trim() === $this.data(\"less\")) {\r\n $this.text($this.data(\"more\"));\r\n DocumentFinder.hideFilterOptions($filterOptions);\r\n }\r\n });\r\n },\r\n\r\n onLoadMoreClick: function () {\r\n $(DocumentFinder.constants.loadMoreButtonSelector).click(function () {\r\n DocumentFinder.getDocuments();\r\n });\r\n },\r\n\r\n resetLoadMoreButton: function () {\r\n var $loadMoreButton = $(DocumentFinder.constants.loadMoreButtonSelector);\r\n $loadMoreButton.data(\"top\", $loadMoreButton.data(\"page-size\"));\r\n },\r\n\r\n populateDocumentList(documents) {\r\n\r\n var $documentFinderDocumentList = $(\".DocumentFinder-documentList\");\r\n $documentFinderDocumentList.empty();\r\n\r\n if (documents.length === 0) {\r\n var noDocumentsHtml = $(\"#no-documents-template\").html();\r\n $documentFinderDocumentList.html(noDocumentsHtml);\r\n return;\r\n }\r\n\r\n const documentTemplate = Handlebars.compile($(\"#document-template\").html());\r\n\r\n for (var i = 0; i < documents.length; i++) {\r\n const document = documents[i];\r\n document.id = i;\r\n document.categoriesString = document.categories.join(\", \");\r\n document.languagesString = document.languages.join(\", \");\r\n\r\n var categoriesAndLanguagesArray = [];\r\n if (document.categories.length > 0)\r\n categoriesAndLanguagesArray.push(document.categoriesString);\r\n if (document.languages.length > 0)\r\n categoriesAndLanguagesArray.push(document.languagesString);\r\n var categoriesAndLanguageString = categoriesAndLanguagesArray.join(\" / \");\r\n\r\n document.categoriesAndLanguageString = categoriesAndLanguageString;\r\n\r\n const compiled = documentTemplate(document);\r\n const $documentTableRow = $(compiled);\r\n $documentTableRow.data('document', document);\r\n $documentTableRow.click(DocumentFinder.documentListTableRowHandleClick);\r\n $documentTableRow.find(\".DocumentFinder-documentCheckbox\").change(DocumentFinder.documentListCheckboxHandleChange);\r\n $documentFinderDocumentList.append($documentTableRow);\r\n }\r\n\r\n DocumentFinder.updateBox();\r\n },\r\n\r\n documentListTableRowHandleClick: function (e) {\r\n // if (e.target.type !== 'checkbox' && e.target.nodeName !== 'A') {\r\n // $(':checkbox', this).trigger('click');\r\n // e.preventDefault();\r\n // }\r\n },\r\n\r\n documentListCheckboxHandleChange: function (e) {\r\n // const $checkbox = $(e.target);\r\n // const document = $checkbox.closest('.DocumentFinder-document').data('document');\r\n\r\n // if ($checkbox.prop('checked')) {\r\n\r\n // if (!DocumentFinder.downloads.selected.some((x) => x.objectId === document.objectId)) {\r\n // if (DocumentFinder.downloads.selected.length >= 10) {\r\n\r\n // alert($checkbox.closest('.DocumentFinder').find('.DocumentFinder-documentBox').data('toomanydocumentsselectedalert'));\r\n // e.preventDefault();\r\n // $checkbox.prop('checked', false);\r\n // return false;\r\n // }\r\n // DocumentFinder.downloads.selected.push(document);\r\n // DocumentFinder.updateBox();\r\n // }\r\n // }\r\n // else if (DocumentFinder.downloads.selected.some((x) => x.objectId === document.objectId)) {\r\n // DocumentFinder.downloads.selected = DocumentFinder.downloads.selected.filter(x => x.objectId !== document.objectId);\r\n // DocumentFinder.updateBox();\r\n // }\r\n },\r\n\r\n updateBox: function () {\r\n //const $box = $('.DocumentFinder-box');\r\n //$box.empty();\r\n\r\n //var template = $(\"#box-template\").html();\r\n //var documentTemplate = Handlebars.compile(template);\r\n\r\n //let totalBytes = 0;\r\n\r\n //DocumentFinder.downloads.selected.map(x => {\r\n // if (x.fileSizeInBytes && !Number.isNaN(x.fileSizeInBytes)) {\r\n // x.fileSizeInMB = (x.fileSizeInBytes / (1024 * 1024)).toFixed(2);\r\n // totalBytes += parseFloat(x.fileSizeInBytes);\r\n // }\r\n //});\r\n\r\n //$(\".DocumentFinder-documentList\").find('input[type=\"checkbox\"]').each(function () {\r\n // const chk = $(this);\r\n // if (DocumentFinder.downloads.selected.some(d => d.objectId === chk.val())) {\r\n // chk.prop('checked', true);\r\n // chk.closest('tr').addClass('is-selected');\r\n // }\r\n // else {\r\n // chk.prop('checked', false);\r\n // chk.closest('tr').removeClass('is-selected');\r\n // }\r\n //});\r\n\r\n //const objectIds = DocumentFinder.downloads.selected.map(x => x.objectId).join();\r\n //const encodedDownloadLinkParam = DocumentFinder.base64Encode(objectIds).replace(/\\+/g, '-').replace(/\\//g, '_').replace('=', '');;\r\n //const encodedBoxLinkParam = DocumentFinder.getBoxlinkParam(objectIds);\r\n //const linkToDownloadFiles = new URL(window.location);\r\n //linkToDownloadFiles.pathname = '/api/documentfinder/DownloadFiles';\r\n //linkToDownloadFiles.searchParams.set('link', encodedDownloadLinkParam);\r\n\r\n //const linkToBox = new URL(window.location);\r\n //linkToBox.searchParams.set('link', encodedBoxLinkParam);\r\n\r\n //const data = {\r\n // documents: DocumentFinder.downloads.selected,\r\n // totalBytesInMB: (totalBytes / (1024 * 1024)).toFixed(2),\r\n // link: linkToDownloadFiles.href,\r\n // linkToBox: linkToBox.href\r\n //};\r\n\r\n //const boxHtml = documentTemplate(data);\r\n //$box.html(boxHtml);\r\n\r\n //$box.find('.DocumentFinder-box-clearBtn').click(function (e) {\r\n // DocumentFinder.downloads.selected = [];\r\n // DocumentFinder.updateBox();\r\n //});\r\n\r\n //$box.find('.DocumentFinder-box-sendEmailBtn').click(function (e) {\r\n // DocumentFinder.openEmailModal($(this));\r\n //});\r\n\r\n //$box.find('input[type=\"checkbox\"]').change(function (e) {\r\n // const objectId = $(this).val();\r\n // const chkBoxInHitList = $(\".DocumentFinder-documentList\").find('input[type=\"checkbox\"][value=\"' + objectId + '\"]');\r\n\r\n // if (chkBoxInHitList.length) {\r\n // chkBoxInHitList.trigger('click');\r\n // e.preventDefault();\r\n // }\r\n // else {\r\n // DocumentFinder.downloads.selected = DocumentFinder.downloads.selected.filter(x => x.objectId !== objectId);\r\n // DocumentFinder.updateBox();\r\n // }\r\n //});\r\n\r\n //DocumentFinder.onShareLinkClick();\r\n },\r\n getBoxlinkParam: (objectIds) => {\r\n\r\n let data = {\r\n objectIds: objectIds,\r\n filters: new Array(),\r\n filteroptions: new Array()\r\n }\r\n\r\n const filterOptions = $(DocumentFinder.constants.filterOptionSelector);\r\n const filterTypes = $(DocumentFinder.constants.filterTypeSelector);\r\n\r\n if (filterOptions && filterOptions.length > 0) {\r\n filterOptions.each((index, obj) => {\r\n const id = $(obj).data(\"id\");\r\n const value = $(obj).val();\r\n if (value && value != \"0\") {\r\n data.filteroptions.push({ id: id, val: value });\r\n } \r\n });\r\n }\r\n if (filterTypes && filterTypes.length > 0) {\r\n filterTypes.each((index, obj) => {\r\n const id = $(obj).data(\"id\");\r\n const selected = $(obj).find(\"button.is-selected\");\r\n if (selected && selected.length > 0) {\r\n let selectedButtons = new Array();\r\n selected.each((objectSelectedIndex, objectSelected) => {\r\n selectedButtons.push($(objectSelected).data(\"value\"));\r\n });\r\n data.filters.push({ id: id, val: selectedButtons });\r\n \r\n }\r\n });\r\n }\r\n return DocumentFinder.base64Encode(JSON.stringify(data));\r\n },\r\n loadFiltersFromQueryString: (paramData) => {\r\n\r\n let hasFilterParams = false;\r\n if (paramData.filteroptions && paramData.filteroptions.length > 0) {\r\n\r\n hasFilterParams = true;\r\n paramData.filteroptions.forEach((obj) => {\r\n const id = obj.id;\r\n const value = obj.val;\r\n const filterType = $(DocumentFinder.constants.filterOptionSelector + `[data-id=\"${id}\"]`);\r\n if (filterType) {\r\n $(filterType).find(`option[value=\"${value}\"]`).attr('selected', 'selected');\r\n }\r\n });\r\n }\r\n if (paramData.filters && paramData.filters.length > 0) {\r\n\r\n hasFilterParams = true;\r\n paramData.filters.forEach((obj) => {\r\n const id = obj.id;\r\n const values = obj.val;\r\n values.forEach((value) => {\r\n const filterButton = $(DocumentFinder.constants.filterTypeSelector + `[data-id=\"${id}\"] button[data-value=\"${value}\"]`);\r\n if (filterButton) {\r\n filterButton.addClass(\"is-selected\");\r\n }\r\n });\r\n });\r\n }\r\n\r\n if (hasFilterParams) {\r\n DocumentFinder.getDocuments();\r\n }\r\n },\r\n getBoxlinkParamData: () => {\r\n\r\n let item = DocumentFinder.parseQueryString(window.location.search).find(x => x.name === 'link');\r\n if (item) {\r\n try {\r\n return JSON.parse(DocumentFinder.base64Decode(item.value));\r\n }\r\n catch (e) {\r\n return null;\r\n }\r\n \r\n }\r\n return null;\r\n \r\n },\r\n loadBoxFromQueryString: () => {\r\n const paramData = DocumentFinder.getBoxlinkParamData();\r\n if (paramData) {\r\n if (paramData.objectIds) {\r\n $.ajax({\r\n type: 'GET',\r\n contentType: \"application/json\",\r\n url: '/api/documentfinder/GetDocumentsByIds?objectIds=' + paramData.objectIds\r\n })\r\n .done(function (data) {\r\n data.map(x => DocumentFinder.downloads.selected.push(x));\r\n DocumentFinder.updateBox();\r\n DocumentFinder.loadFiltersFromQueryString(paramData);\r\n })\r\n .always(function () {\r\n\r\n });\r\n }\r\n else {\r\n DocumentFinder.loadFiltersFromQueryString(paramData);\r\n }\r\n\r\n }\r\n },\r\n \r\n\r\n openEmailModal: ($this) => {\r\n const template = $(\"#box-email-template\").html();\r\n const compiled = Handlebars.compile(template);\r\n const emailTemplate = compiled();\r\n\r\n $('.DocumentFinder-sendEmailModalWrapper').append(emailTemplate);\r\n try {\r\n grecaptcha.reset('recaptcha');\r\n }\r\n catch (e) {\r\n null;\r\n }\r\n grecaptcha.render('recaptcha', {\r\n 'sitekey': $('#recaptcha').data('sitepublickey')\r\n });\r\n\r\n $('.box-email-modal').on('hidden.bs.modal', function (e) {\r\n $('.DocumentFinder-sendEmailModalWrapper').html('');\r\n });\r\n\r\n $('.box-email-modal').modal('show');\r\n $('.box-email-modal').find('form[name=\"DocumentFinder-sendEmailForm\"]').submit(function (e) {\r\n e.preventDefault();\r\n const $form = $(this);\r\n const valid = recaptchaForm.validate($form[0]);\r\n\r\n if (valid) {\r\n data = {\r\n contextItemId: $(\"body\").data(\"ctxitem\"),\r\n languageCode: $(\"body\").data(\"ctxlanguage\"),\r\n dataSourceItemId: $(\".DocumentFinder\").data(\"datasourceitemid\"),\r\n objectIds: DocumentFinder.downloads.selected.map(x => x.objectId),\r\n to: $form.find('input[name=\"emailTo\"]').val(),\r\n reCaptchaResponse: $form.find('.googleRecaptchaClass').val()\r\n };\r\n\r\n $.ajax({\r\n type: 'POST',\r\n url: '/api/documentfinder/SendEmail',\r\n data: data\r\n })\r\n .done(function (data) {\r\n $form.find('.modal-body-success').show();\r\n })\r\n .fail(function (jqXHR, textStatus, errorThrown) {\r\n $form.find('.modal-body-error').show();\r\n })\r\n .always(function () {\r\n $form.find('.modal-body-start').hide();\r\n $form.find('.modal-footer').hide();\r\n $form.find('.modal-footer-done').show();\r\n });\r\n\r\n\r\n }\r\n\r\n });\r\n\r\n },\r\n\r\n disableFilters(filters) {\r\n for (var i = 0; i < filters.length; i++) {\r\n var filter = filters[i];\r\n for (var j = 0; j < filter.values.length; j++) {\r\n var filterValue = filter.values[j];\r\n\r\n var $filterType = $(DocumentFinder.constants.filterTypeSelector + \"[data-id='\" + filter.id + \"']\");\r\n if ($filterType.length > 0) {\r\n var foundBtn = $filterType.find(DocumentFinder.constants.typeButtonSelector + \"[data-value='\" + filterValue.value + \"']\");\r\n if (foundBtn.length > 0 && (filterValue.enabled === true || filterValue.selected === true)) {\r\n foundBtn.removeAttr(\"disabled\");\r\n } else {\r\n\r\n foundBtn.attr(\"disabled\", \"disabled\");\r\n }\r\n }\r\n\r\n var $filterOptionSelect = $(DocumentFinder.constants.filterOptionSelector + \"[data-id='\" + filter.id + \"']\");\r\n if ($filterOptionSelect.length > 0) {\r\n var foundOption = $filterOptionSelect.find(\"option[value='\" + filterValue.value + \"']\");\r\n if (foundOption.length > 0 && filterValue.enabled === true || foundOption.val() === \"0\") {\r\n foundOption.removeAttr(\"disabled\");\r\n } else {\r\n foundOption.attr(\"disabled\", \"disabled\");\r\n }\r\n\r\n if (foundOption.length > 0 && filterValue.selected !== true) {\r\n foundOption.removeAttr(\"selected\");\r\n }\r\n }\r\n if ($filterOptionSelect.find(\"option:not([disabled=disabled])\").length === 1 && $filterOptionSelect[0].selectedIndex === 0) {\r\n // set select element as disabled if only 1 item is available and if selected index is 0 (default/first item).\r\n $filterOptionSelect.attr(\"disabled\", \"disabled\");\r\n }\r\n else {\r\n $filterOptionSelect.removeAttr(\"disabled\");\r\n }\r\n\r\n\r\n\r\n };\r\n };\r\n },\r\n\r\n updateFilterDocumentCount(filters) {\r\n for (var i = 0; i < filters.length; i++) {\r\n var filter = filters[i];\r\n for (var j = 0; j < filter.values.length; j++) {\r\n var filterValue = filter.values[j];\r\n\r\n var $filterType = $(DocumentFinder.constants.filterTypeSelector + \"[data-id='\" + filter.id + \"']\");\r\n if ($filterType.length > 0) {\r\n var foundBtnSpan = $filterType.find(DocumentFinder.constants.typeButtonSelector + \"[data-value='\" + filterValue.value + \"']\" + \" span\");\r\n\r\n if (foundBtnSpan.length > 0) {\r\n foundBtnSpan.html('(' + filterValue.numberOfHits + ')');\r\n }\r\n }\r\n };\r\n };\r\n },\r\n\r\n showLoading(display) {\r\n $('.DocumentFinder-loaderWrapper').toggle(display);\r\n },\r\n\r\n getDocuments() {\r\n var documentFinderContext = DocumentFinder.getDocumentFinderContext();\r\n\r\n DocumentFinder.showLoading(true);\r\n\r\n $.ajax({\r\n type: 'POST',\r\n contentType: \"application/json\",\r\n url: '/api/documentfinder/GetDocuments',\r\n data: JSON.stringify(documentFinderContext)\r\n })\r\n .done(function (data) {\r\n DocumentFinder.populateDocumentList(data.documents);\r\n DocumentFinder.disableFilters(data.filters);\r\n DocumentFinder.updateFilterDocumentCount(data.filters);\r\n DocumentFinder.setLoadMoreButtonVisibility(data.totalResultCount);\r\n DocumentFinder.toggleResetAllButton(documentFinderContext.hasSearchFilter());\r\n })\r\n .always(function () {\r\n DocumentFinder.showLoading(false);\r\n });\r\n },\r\n\r\n setLoadMoreButtonVisibility: function (totalResultCount) {\r\n var $loadMoreButton = $(DocumentFinder.constants.loadMoreButtonSelector);\r\n var $document = $(DocumentFinder.constants.documentSelector);\r\n var numberOfDocuments = $document.length;\r\n if (totalResultCount > numberOfDocuments)\r\n $loadMoreButton.addClass(\"d-block\");\r\n else {\r\n $loadMoreButton.removeClass(\"d-block\");\r\n }\r\n var newTop = $(DocumentFinder.constants.documentSelector).length + $(DocumentFinder.constants.loadMoreButtonSelector).data(\"page-size\");\r\n $(DocumentFinder.constants.loadMoreButtonSelector).data(\"top\", newTop);\r\n },\r\n\r\n getDocumentFinderContext: function () {\r\n var result = {};\r\n\r\n result.contextItemId = $(\"body\").data(\"ctxitem\");\r\n result.languageCode = $(\"body\").data(\"ctxlanguage\");\r\n result.dataSourceItemId = $(\".DocumentFinder\").data(\"datasourceitemid\");\r\n result.languageIndexFieldName = $(\".DocumentFinder\").data(\"languagefieldname\");\r\n result.mediaIdIndexFieldName = $(\".DocumentFinder\").data(\"mediaidfieldname\");\r\n result.headingIndexFieldName = $(\".DocumentFinder\").data(\"headingfieldname\");\r\n result.contentIndexFieldName = $(\".DocumentFinder\").data(\"contentfieldname\");\r\n result.urlIndexFieldName = $(\".DocumentFinder\").data(\"urlfieldname\");\r\n result.categoriesIndexFieldName = $(\".DocumentFinder\").data(\"categoriesfieldname\");\r\n result.filters = DocumentFinder.getFilters();\r\n result.searchPhrase = DocumentFinder.getSearchPhrase();\r\n result.top = $(DocumentFinder.constants.loadMoreButtonSelector).data(\"top\");\r\n result.hasSearchFilter = function () {\r\n\r\n let hasFilterSelection = this.filters.some(filter => {\r\n return filter.Values.some(val => val.Selected === true);\r\n });\r\n\r\n return hasFilterSelection || this.searchPhrase;\r\n };\r\n\r\n return result;\r\n },\r\n\r\n getSearchPhrase: function () {\r\n var result = $(DocumentFinder.constants.searchBoxSelector).val();\r\n return result;\r\n },\r\n\r\n getFilters: function () {\r\n var result = [];\r\n var filterTypes = DocumentFinder.addFilterTypes();\r\n result = result.concat(filterTypes);\r\n\r\n var filterOptions = DocumentFinder.addFilterOptions();\r\n result = result.concat(filterOptions);\r\n\r\n return result;\r\n },\r\n\r\n addFilterTypes: function () {\r\n var result = [];\r\n $(DocumentFinder.constants.filterTypeSelector).each(function () {\r\n var id = $(this).data(\"id\");\r\n var filter = {};\r\n filter.Id = id;\r\n filter.Values = [];\r\n\r\n $(this).find(\"button\").each(function () {\r\n var $filterTypeValue = $(this);\r\n var value = $filterTypeValue.data(\"value\");\r\n var filterValue = {};\r\n filterValue.Selected = $filterTypeValue.hasClass(DocumentFinder.constants.selectedClass);\r\n filterValue.Value = value;\r\n filter.Values.push(filterValue);\r\n });\r\n result.push(filter);\r\n });\r\n return result;\r\n },\r\n\r\n initFilterOptions: function () {\r\n DocumentFinder.onFilterOptionChange();\r\n DocumentFinder.setShowAllButtonVisibility();\r\n DocumentFinder.onShowAllButtonClick();\r\n },\r\n\r\n setShowAllButtonVisibility: function () {\r\n var $showAllFilterButton = $(DocumentFinder.constants.showAllFilterOptionsSelector);\r\n var $filterOptions = $(DocumentFinder.constants.filterOptionSelector);\r\n if ($filterOptions.length > 4) {\r\n $showAllFilterButton.removeClass(\"d-none\");\r\n DocumentFinder.hideFilterOptions($filterOptions);\r\n } else {\r\n $showAllFilterButton.addClass(\"d-none\");\r\n }\r\n },\r\n\r\n hideFilterOptions: function ($filterOptions) {\r\n for (var i = 4; i < $filterOptions.length; i++) {\r\n var $filterOption = $($filterOptions[i]);\r\n $filterOption.addClass(\"d-none\");\r\n }\r\n },\r\n\r\n addFilterOptions: function () {\r\n var result = [];\r\n $(DocumentFinder.constants.filterOptionSelector).each(function () {\r\n var $filterOption = $(this);\r\n\r\n var id = $filterOption.data(\"id\");\r\n var filter = {};\r\n filter.Id = id;\r\n filter.Values = [];\r\n\r\n let selectedValue = $filterOption.val() || $filterOption[0].value; // get value from jQuery or from html element (jquery removes value for disabled items)\r\n\r\n $filterOption.find(\"option\").each(function () {\r\n var $filterOptionValue = $(this);\r\n\r\n var filterValue = {};\r\n filterValue.Selected = $filterOptionValue.val() !== \"0\" && $filterOptionValue.val() === selectedValue;\r\n filterValue.Value = $filterOptionValue.val();\r\n filter.Values.push(filterValue);\r\n });\r\n result.push(filter);\r\n });\r\n return result;\r\n },\r\n\r\n toggleResetAllButton: (hasFilters) => {\r\n //if (hasFilters) {\r\n // $('.DocumentFinder-resetAllButtonWrapper').collapse('show');\r\n //} else {\r\n // $('.DocumentFinder-resetAllButtonWrapper').collapse('hide');\r\n //}\r\n\r\n },\r\n\r\n onResetAllButtonClick: () => {\r\n $(DocumentFinder.constants.filterOptionSelector).each((index, obj) => {\r\n obj.selectedIndex = 0;\r\n });\r\n\r\n $(DocumentFinder.constants.typeButtonSelector).each((index, obj) => {\r\n var $obj = $(obj);\r\n if ($obj.hasClass(DocumentFinder.constants.selectedClass)) {\r\n $obj.removeClass(DocumentFinder.constants.selectedClass);\r\n }\r\n });\r\n\r\n $(DocumentFinder.constants.searchBoxSelector).val('');\r\n DocumentFinder.resetLoadMoreButton();\r\n DocumentFinder.getDocuments();\r\n },\r\n\r\n init: function () {\r\n $(DocumentFinder.constants.resetAllButton).click(DocumentFinder.onResetAllButtonClick);\r\n DocumentFinder.initFilterOptions();\r\n DocumentFinder.onSearchSubmit();\r\n DocumentFinder.onSearchTextBoxChange();\r\n DocumentFinder.onFilterTypeChange();\r\n DocumentFinder.onLoadMoreClick();\r\n DocumentFinder.loadBoxFromQueryString();\r\n DocumentFinder.getDocuments();\r\n },\r\n base64Encode: function (str) {\r\n return btoa(str);//.replace(/\\+/g, '-').replace(/\\//g, '_').replace('=', '');\r\n },\r\n base64Decode: function (str) {\r\n return atob(str);//.replace(/-/g, '+').replace(/_/g, '/').replace('=', '');\r\n },\r\n parseQueryString: (qs) => {\r\n let q = [];\r\n if (qs)\r\n qs\r\n .substr(1)\r\n .split`&`\r\n .forEach(item => {\r\n let [k, v, e] = item.split(/=(.+)/);\r\n if (e) {\r\n v += e;\r\n }\r\n v = v && decodeURIComponent(v);\r\n q.push({ name: k, value: v });\r\n });\r\n return q;\r\n },\r\n\r\n onShareLinkClick: function () {\r\n\r\n $(\".DocumentFinder-copyShareLinkBtn\").click(function () {\r\n var copyText = $(this).closest(\".DocumentFinder-documentBox\").find(\"#inputCopyUrl\")[0];\r\n copyText.select();\r\n copyText.setSelectionRange(0, 99999);\r\n document.execCommand(\"copy\");\r\n\r\n const $tooltip = $(this).find(\"#shareUrlTooltip\");\r\n $tooltip.html($tooltip.data('copiedtext'));\r\n });\r\n\r\n $(\".DocumentFinder-copyShareLinkBtn\").mouseout(function () {\r\n const $tooltip = $(this).find(\"#shareUrlTooltip\");\r\n $tooltip.html($tooltip.data('defaulttext'));\r\n });\r\n },\r\n\r\n};\r\n\r\n$(function () {\r\n DocumentFinder.init();\r\n});\r\n\r\n"]}