{"version":3,"file":"1605.671c20fe0e1f443fe9d2.js","mappings":"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","sources":["webpack://shipley-du-lib/./common/js/legacy/custPortal/cw/cw.pages.documentHistory.js","webpack://shipley-du-lib/./common/js/legacy/custPortal/cw/lib/cw.dtTools.js","webpack://shipley-du-lib/./common/js/du/appEnum/AlertSeverity.ts","webpack://shipley-du-lib/./common/js/du/components/form/checkbox.vue?be2d","webpack://shipley-du-lib/./common/js/du/components/form/checkbox.vue","webpack://shipley-du-lib/./common/js/du/components/form/checkbox.vue?f028","webpack://shipley-du-lib/./common/js/du/interfaces/utility/IClickableAlertMessage.ts","webpack://shipley-du-lib/./common/js/du/components/utility/alert.vue?8475","webpack://shipley-du-lib/./common/js/du/components/utility/alert.vue?5e44","webpack://shipley-du-lib/./common/js/du/components/utility/alert.vue","webpack://shipley-du-lib/./common/js/du/components/utility/pdfViewer.vue?5d6e","webpack://shipley-du-lib/./common/js/du/components/utility/pdfViewer.vue?9576","webpack://shipley-du-lib/./common/js/du/components/utility/pdfViewer.vue"],"sourcesContent":["import moment from \"moment\";\r\nimport \"../lib/bootstrap-datetimepicker/bootstrap-datetime-4.7.14\";\r\nimport \"chosen-js\";\r\nimport * as BootstrapDialog from \"bootstrap3-dialog\";\r\nimport \"../cw/lib/cw.dtTools\";\r\n\r\nimport { createNonRoutedApp } from \"@du/AppStartup\";\r\nimport pdfViewer from \"@components/utility/pdfViewer\";\r\n\r\n(function (cw, $) {\r\n \"use strict\";\r\n $.extend(true, cw, {\r\n pages: {\r\n documentHistory: {\r\n args: null,\r\n $dtTarget: null,\r\n dataTable: null,\r\n url: \"/account/document\",\r\n title: \"Document History\",\r\n init: function (args) {\r\n this.args = args;\r\n this.bindInteractions(args);\r\n },\r\n bindInteractions: function (args) {\r\n var self = this;\r\n var tblColumns = [\r\n { title: \"Document Type\", data: \"DocumentType\" },\r\n { title: \"Document Number\", data: \"DocumentNumber\", className: \"td-center\" },\r\n {\r\n title: \"Document Date\",\r\n filter_type: \"range_date\",\r\n className: \"td-center\",\r\n data: function (row, type, val, meta) {\r\n return cw.utility.tableSortByDate(row.DocumentDate, type, \"L\");\r\n },\r\n },\r\n { title: \"Account Number\", data: \"RemoteAccountNumber\", className: \"td-center\" },\r\n {\r\n title: \"\",\r\n sortable: false,\r\n className: \"td-center\",\r\n data: function (row, type, val, meta) {\r\n return (\r\n '<a href=\"#\" data-doc-num=\"' +\r\n row.DocumentNumber +\r\n '\"data-doc-id=\"' +\r\n row.DocumentId +\r\n '\" class=\"btn btn-sm btn-secondary view-document\"><i class=\"fa fa-eye\"></i> View</a>'\r\n );\r\n },\r\n },\r\n ];\r\n cw.loadingIndicator.start();\r\n if (args.$viewport) {\r\n cw.webservices.getJson(\r\n \"S1AccountManager/get-all-related-documents-by-s1-account\",\r\n args.selectedS1AccountId,\r\n function (billingAccountList) {\r\n args.billingAccountList = billingAccountList;\r\n var documentType = cw.pages.documentHistory.getDistinctBillingAccountListValue(\r\n billingAccountList,\r\n \"document\"\r\n );\r\n var billingAccount = cw.pages.documentHistory.getDistinctBillingAccountListValue(\r\n billingAccountList,\r\n \"account\"\r\n );\r\n\r\n cw.templating.GetRenderedTemplateHTML(\r\n \"CwDocumentHistory.html\",\r\n cw.appEnum.TemplateType.CwWidget,\r\n {\r\n breadCrumbs: cw.pages.dashboard.getBreadcrumbMarkup([\r\n { Title: \"Account Summary\", url: \"/account\" },\r\n { Title: \"Document History\", url: \"/account/document\", isActive: true },\r\n ]),\r\n DocumentListing: documentType,\r\n BillingAccountListing: billingAccount,\r\n },\r\n function (renderedTmpl) {\r\n cw.loadingIndicator.stop();\r\n args.$viewport.empty();\r\n args.$viewport.append(renderedTmpl);\r\n $(\"html, body\").scrollTop(0);\r\n self.postHTMLInit(args, tblColumns);\r\n }\r\n );\r\n }\r\n );\r\n } else {\r\n cw.loadingIndicator.stop();\r\n cw.pages.dashboard.bindApplicationEvents(args);\r\n self.postHTMLInit(args, tblColumns);\r\n }\r\n },\r\n postHTMLInit: function (args, tblColumns) {\r\n var self = this;\r\n var $tblMrkup = $(\r\n cw.utility.getTableMarkup(\r\n tblColumns.map(function (x) {\r\n return x.title;\r\n }),\r\n [\"document-history-table\"]\r\n )\r\n );\r\n self.$dtTarget = $(\".document-history-table\");\r\n self.$dtTarget.append($tblMrkup);\r\n\r\n var searchObj = { DocumentType: [], BillingAccount: [] };\r\n\r\n var tableOptions = {\r\n data: args.billingAccountList,\r\n lengthMenu: [\r\n [15, 25, 50, -1],\r\n [15, 25, 50, \"All\"],\r\n ],\r\n buttons: [\"copy\", \"csv\", \"print\"],\r\n iDisplayLength: 25,\r\n tableTools: [],\r\n autoWidth: true,\r\n responsive: true,\r\n ordering: true,\r\n draw: true,\r\n adjust: true,\r\n dom: 'lT<\"dt-head-right\"<\"export-btn-wrap\"B>>rtip',\r\n deferRender: true,\r\n order: [\r\n [2, \"desc\"],\r\n [0, \"asc\"],\r\n ],\r\n columns: tblColumns,\r\n };\r\n self.dataTable = $(\"table.document-history-table\").DataTable(tableOptions);\r\n\r\n $(\".document-type-filter\").each(function () {\r\n $(this)\r\n .removeClass(\"hidden\")\r\n .chosen({\r\n width: \"100%\",\r\n \".chosen-select\": {},\r\n \".chosen-select-deselect\": { allow_single_deselect: false },\r\n \".chosen-select-no-single\": { disable_search_threshold: 10 },\r\n \".chosen-select-no-results\": { no_results_text: \"Nothing found.\" },\r\n });\r\n });\r\n $(\".billing-account-filter\").each(function () {\r\n $(this)\r\n .removeClass(\"hidden\")\r\n .chosen({\r\n width: \"100%\",\r\n \".chosen-select\": {},\r\n \".chosen-select-deselect\": { allow_single_deselect: false },\r\n \".chosen-select-no-single\": { disable_search_threshold: 10 },\r\n \".chosen-select-no-results\": { no_results_text: \"Nothing found.\" },\r\n });\r\n });\r\n\r\n $(\".document-filter-button\").off(\"click\");\r\n $(\".document-filter-button\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n var docuDate = args.billingAccountList.DocumentDate;\r\n var docuType = $(\".document-type-filter\").val();\r\n var billAcct = $(\".billing-account-filter\").val();\r\n searchObj.DocumentType = [];\r\n searchObj.BillingAccount = [];\r\n\r\n if (docuType) {\r\n docuType.map(function (x) {\r\n searchObj.DocumentType.push({ document: x });\r\n });\r\n }\r\n\r\n if (billAcct) {\r\n billAcct.map(function (x) {\r\n searchObj.BillingAccount.push({ account: x });\r\n });\r\n }\r\n searchObj.DocumentFromDate = $(\".from-date-input\").val();\r\n searchObj.DocumentToDate = $(\".to-date-input\").val();\r\n searchObj.DocumentNumber = $(\"#document-number-filter\").val();\r\n\r\n cw.pages.documentHistory.filterDataTable(searchObj);\r\n });\r\n\r\n $(\".filter\").keypress(function (e) {\r\n if (e.which === 13) {\r\n //Enter key\r\n $(\".document-filter-button\").click();\r\n }\r\n });\r\n\r\n $(\".document-filter-reset-button\").off(\"click\");\r\n $(\".document-filter-reset-button\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n cw.pages.documentHistory.resetFilterDataTable();\r\n });\r\n\r\n $(\"#document-date-from-datepicker\").datetimepicker({ format: \"L\" });\r\n $(\"#document-date-to-datepicker\").datetimepicker({ format: \"L\" });\r\n\r\n $(\"#document-date-to-datepicker input, #document-date-from-datepicker input\").on(\r\n \"focus\",\r\n function (e) {\r\n $(this).closest(\"div\").data(\"DateTimePicker\").show();\r\n }\r\n );\r\n\r\n $(\"table.document-history-table\").on(\"click\", \".view-document\", function (e) {\r\n e.preventDefault();\r\n var $this = $(this);\r\n var docId = $this.data(\"doc-id\");\r\n var docNum = $this.data(\"doc-num\");\r\n if (docId) {\r\n if (window.innerWidth <= 991) {\r\n window.open(\"/gen-asset/document-viewer/\" + docId);\r\n } else {\r\n cw.loadingIndicator.start();\r\n var row = cw.utility.getDataTableRowData(self.dataTable, docId, \"DocumentId\");\r\n if (row) {\r\n cw.modal.Open({\r\n data: { docId: docId, docNum: docNum },\r\n title: \"Document # \" + docNum,\r\n modalBody: $('<div id=\"pdf-target\"></div>'),\r\n size: BootstrapDialog.SIZE_WIDE,\r\n successCallback: function (modalRef) {\r\n modalRef.close();\r\n },\r\n onShownCallback: function (modalRef) {\r\n var doc = modalRef.getData(\"docId\");\r\n\r\n createNonRoutedApp(pdfViewer, {\r\n pdfUrl: \"/gen-asset/document-viewer/\" + doc,\r\n allowDownload: true,\r\n onPdfLoaded() {\r\n cw.loadingIndicator.stop();\r\n },\r\n onPdfLoadFailed() {\r\n cw.loadingIndicator.stop();\r\n }\r\n }).mount(\"#pdf-target\");\r\n },\r\n });\r\n }\r\n }\r\n }\r\n });\r\n },\r\n getDistinctBillingAccountListValue: function (billingAccountList, funcValue) {\r\n var documentType = [],\r\n billingAccount = [],\r\n flags = [],\r\n arrayLen = billingAccountList.length,\r\n i = 0;\r\n if (funcValue === \"document\") {\r\n for (i; i < arrayLen; i++) {\r\n if (flags[billingAccountList[i].DocumentType]) continue;\r\n flags[billingAccountList[i].DocumentType] = true;\r\n documentType.push(billingAccountList[i].DocumentType);\r\n }\r\n return documentType;\r\n } else if (funcValue === \"account\") {\r\n for (i; i < arrayLen; i++) {\r\n if (flags[billingAccountList[i].RemoteAccountNumber]) continue;\r\n flags[billingAccountList[i].RemoteAccountNumber] = true;\r\n billingAccount.push(billingAccountList[i].RemoteAccountNumber);\r\n }\r\n return billingAccount;\r\n }\r\n },\r\n\r\n resetFilterDataTable: function () {\r\n var self = this;\r\n $(\".date-error\").addClass(\"hidden\");\r\n $(\"#document-date-from-datepicker\").data(\"\");\r\n $(\".from-date-input\").val(\"\");\r\n $(\"#document-date-to-datepicker\").data(\"\");\r\n $(\".to-date-input\").val(\"\");\r\n $(\"#document-type-filter\").val(0);\r\n $(\"#document-number-filter\").val(\"\");\r\n $(\"#document-date-to-datepicker\").val(\"\");\r\n $(\"#document-date-from-datepicker\").val(\"\");\r\n $(\"#document-filter-account\").val(0);\r\n\r\n self.dataTable.search(\"\").columns().search(\"\").draw();\r\n\r\n var documentList = $(\".document-type-filter option\");\r\n for (var d = 0; d < documentList.length; d++) {\r\n $(documentList[d]).attr(\"selected\", false);\r\n $(\".document-type-filter\").trigger(\"chosen:updated\");\r\n }\r\n var accountList = $(\".billing-account-filter option\");\r\n for (var l = 0; l < accountList.length; l++) {\r\n $(accountList[l]).attr(\"selected\", false);\r\n $(\".billing-account-filter\").trigger(\"chosen:updated\");\r\n }\r\n\r\n $.fn.dataTable.ext.search.pop(); //need this to re-populate the search\r\n },\r\n\r\n filterDataTable: function (searchObj, resetFilter) {\r\n var self = this;\r\n var max = moment(searchObj.DocumentToDate);\r\n var min = moment(searchObj.DocumentFromDate);\r\n var docuType = searchObj.DocumentType.map(function (x) {\r\n return x;\r\n });\r\n var accountNum = searchObj.BillingAccount.map(function (x) {\r\n return x;\r\n });\r\n var docuNum = searchObj.DocumentNumber;\r\n var regex = \"\";\r\n\r\n if (!max.isValid()) {\r\n max = null;\r\n }\r\n if (!min.isValid()) {\r\n min = null;\r\n }\r\n\r\n if (max < min || (min !== null && max === null) || (min === null && max !== null)) {\r\n $(\".date-error\").removeClass(\"hidden\");\r\n $(\".date-error\").css(\"color\", \"red\");\r\n $(\".date-error\").css(\"position\", \"absolute\");\r\n } else {\r\n $.fn.dataTable.ext.search.push(function (settings, searchData, data, dataIndex) {\r\n var dd = moment(searchData[2]);\r\n if ((dd <= max && dd >= min) || (min === null && max === null)) {\r\n return true;\r\n }\r\n return false;\r\n });\r\n\r\n if (docuType.length > 0) {\r\n for (var i = 0; i < docuType.length; i++) {\r\n regex += docuType[i].document + \"|\";\r\n }\r\n regex = regex.slice(0, -1);\r\n $(\"table.document-history-table\").DataTable().columns(0).search(regex, true, false).draw();\r\n }\r\n\r\n if (accountNum.length > 0) {\r\n for (var j = 0; j < accountNum.length; j++) {\r\n regex += accountNum[j].account + \"|\";\r\n }\r\n regex = regex.slice(0, -1);\r\n $(\"table.document-history-table\").DataTable().columns(3).search(regex, true, false).draw();\r\n }\r\n\r\n self.dataTable.column(1).search(docuNum).draw();\r\n\r\n $.fn.dataTable.ext.search.pop();\r\n $(\".date-error\").addClass(\"hidden\");\r\n }\r\n },\r\n },\r\n },\r\n });\r\n})((window.cw = window.cw || {}), jQuery);\r\n","import * as dt from \"datatables.net-bs\";\r\nimport * as dtResponsive from \"datatables.net-responsive-bs\";\r\nimport * as dtBtnBs from \"datatables.net-buttons-bs\";\r\nimport * as dtBtnHtml5 from \"datatables.net-buttons/js/buttons.html5\";\r\nimport * as dtBtnHtmlPrnt from \"datatables.net-buttons/js/buttons.print\";\r\n\r\n//some overrides to customize datatables\r\n$.fn.dataTable.Buttons.defaults.dom.button.className = \"btn btn-sm btn-white\";\r\n$.fn.dataTable.ext.buttons.copyHtml5.text = function () {\r\n return '<i class=\"fa fa-clipboard\" title=\"Copy\"></i>';\r\n};\r\n$.fn.dataTable.ext.buttons.csvHtml5.text = function () {\r\n return '<i class=\"fa fa-regular fa-file-excel\" title=\"Export\"></i>';\r\n};\r\n$.fn.dataTable.ext.buttons.print.text = function () {\r\n return '<i class=\"fa fa-print\" title=\"Print\"></i>';\r\n};\r\n\r\n(function (cw, $, undefined) {\r\n cw.dtTools = {\r\n /**\r\n * Creates html table markup\r\n *\r\n * @param {[string] | [any]} columns Table columns, can be a datatables.net.columns array\r\n *\r\n * @return {string}\r\n */\r\n getTableMarkup: function (columns, tableClasses) {\r\n return cw.utility.getTableMarkup(columns, tableClasses);\r\n },\r\n /**\r\n * Handles sorting a date column and display\r\n *\r\n * @return {any} expected by datatables.net column.data\r\n */\r\n tableSortByDate: function (date, sortType, displayFormat) {\r\n return cw.utility.tableSortByDate(date, sortType, displayFormat);\r\n },\r\n /**\r\n * Update's referenced datatable's row based on matchingColumnName(assuming a flat object as rowData)\r\n *\r\n * @return {void}\r\n */\r\n addUpdateDataTableListing: function (dataTable, newObject, matchingColumnName, redrawTable) {\r\n return cw.utility.addUpdateDataTableListing(dataTable, newObject, matchingColumnName, redrawTable);\r\n },\r\n /**\r\n * Delete referenced datatable's row based on matchingColumnName(assuming a flat object as rowData)\r\n *\r\n * @return {void}\r\n */\r\n deleteDataTableListing: function (dataTable, matchingKeyValue, matchingColumnName, redrawTable) {\r\n return cw.utility.deleteDataTableListing(dataTable, matchingKeyValue, matchingColumnName, redrawTable);\r\n },\r\n /**\r\n * Get's referenced datatable's row based on matchingColumnName(assuming a flat object as rowData)\r\n *\r\n * @return {void}\r\n */\r\n getDataTableRowData: function (dataTable, matchingKeyValue, matchingColumnName) {\r\n return cw.utility.getDataTableRowData(dataTable, matchingKeyValue, matchingColumnName);\r\n },\r\n /**\r\n * Get all rows from referenced datatable\r\n *\r\n * @return {void}\r\n */\r\n getDataTableAllRowData: function (dataTable) {\r\n return cw.utility.getDataTableAllRowData(dataTable);\r\n },\r\n /**\r\n * Returns the next row after the one passed in (based on the current sort of the table)\r\n *\r\n * @return {any}\r\n */\r\n getDataTableNextRowData: function (dataTable, matchingKeyValue, matchingColumnName) {\r\n return cw.utility.getDataTableNextRowData(dataTable, matchingKeyValue, matchingColumnName);\r\n },\r\n /**\r\n * Returns the previous row after the one passed in (based on the current sort of the table)\r\n *\r\n * @return {any}\r\n */\r\n getDataTablePreviousRowData: function (dataTable, matchingKeyValue, matchingColumnName) {\r\n return cw.utility.getDataTablePreviousRowData(dataTable, matchingKeyValue, matchingColumnName);\r\n },\r\n };\r\n})((window.cw = window.cw || {}), jQuery);\r\n","export enum AlertSeverity {\r\n Info = \"alert-info\",\r\n Warning = \"alert-warning\",\r\n Error = \"alert-error\",\r\n Success = \"alert-success\",\r\n}\r\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, renderSlot as _renderSlot, normalizeStyle as _normalizeStyle, createVNode as _createVNode, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = [\"for\"]\nconst _hoisted_2 = [\"id\", \"checked\", \"readonly\", \"disabled\"]\nconst _hoisted_3 = [\"innerHTML\"]\nconst _hoisted_4 = {\n key: 0,\n class: \"pl5\"\n}\nconst _hoisted_5 = [\"innerHTML\"]\n\nimport { computed, ref, watch, StyleValue } from \"vue\";\r\nimport Icon from \"@compUtility/icon.vue\";\r\nimport { trueFalseString, boxBool } from \"@utility/boolUtils\";\r\nimport { genComponentId } from \"@components/componentHelpers\";\r\n\r\ninterface Props {\r\n checked?: trueFalseString;\r\n disabled?: trueFalseString;\r\n readonly?: trueFalseString;\r\n label?: string;\r\n hover?: trueFalseString;\r\n variant?: \"small\" | \"normal\";\r\n inputClass?: string | string[];\r\n alignLabel?: \"start\" | \"center\" | \"end\";\r\n loading?: trueFalseString;\r\n loadingText?: string;\r\n labelClass?: string;\r\n labelStyle?: StyleValue;\r\n}\r\n\r\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'checkbox',\n props: {\n checked: { type: [Boolean, String], default: false },\n disabled: { type: [Boolean, String], default: false },\n readonly: { type: [Boolean, String], default: false },\n label: { default: \" \" },\n hover: { type: [Boolean, String] },\n variant: { default: \"normal\" },\n inputClass: { default: \"\" },\n alignLabel: { default: \"start\" },\n loading: { type: [Boolean, String], default: false },\n loadingText: {},\n labelClass: { default: undefined },\n labelStyle: { type: [Boolean, null, String, Object, Array], default: undefined }\n },\n emits: [\"checked\", \"unchecked\", \"updated\", \"input\"],\n setup(__props: any, { emit: __emit }) {\n\r\nconst props = __props;\r\n\r\nconst emit = __emit;\r\n\r\nconst componentId = genComponentId(\"cbx\");\r\nconst isChecked = ref<boolean>(boxBool(props.checked));\r\n\r\nconst lblClasses = computed<string[]>(() => {\r\n const labels = [\"s1-cbx-label\"];\r\n if (boxBool(props.disabled)) {\r\n labels.push(\"s1-cbx-label-disabled\");\r\n }\r\n if ([\" \", \"\"].indexOf(props.label?.trim() ?? \" \") >= 0) {\r\n labels.push(\"lbl-no-txt\");\r\n }\r\n if (props.labelClass) {\r\n labels.push(props.labelClass);\r\n }\r\n return labels;\r\n});\r\n\r\nconst checkVal = function (newVal: Event) {\r\n if (newVal != null && newVal.target && newVal.target instanceof HTMLInputElement) {\r\n const target = newVal.target;\r\n isChecked.value = boxBool(target.checked);\r\n }\r\n};\r\n\r\nwatch(\r\n () => props.checked,\r\n (newVal) => {\r\n isChecked.value = boxBool(newVal);\r\n }\r\n);\r\n\r\nwatch(isChecked, (newVal) => {\r\n if (newVal) {\r\n emit(\"checked\");\r\n } else {\r\n emit(\"unchecked\");\r\n }\r\n\r\n emit(\"updated\", newVal);\r\n emit(\"input\", newVal);\r\n});\r\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass(['s1-cbx', props.variant !== 'normal' ? props.variant : ''])\n }, [\n _createElementVNode(\"label\", {\n class: _normalizeClass(lblClasses.value),\n for: _unref(componentId),\n style: _normalizeStyle(props.labelStyle)\n }, [\n _createElementVNode(\"input\", {\n type: \"checkbox\",\n id: _unref(componentId),\n checked: isChecked.value,\n readonly: _ctx.readonly,\n disabled: _unref(boxBool)(props.disabled),\n class: _normalizeClass(_ctx.inputClass),\n onChange: checkVal\n }, null, 42, _hoisted_2),\n _renderSlot(_ctx.$slots, \"default\", {}, () => [\n _createElementVNode(\"span\", {\n class: _normalizeClass(`s1-cbx-lbl-${props.alignLabel}`),\n innerHTML: _ctx.label\n }, null, 10, _hoisted_3)\n ])\n ], 14, _hoisted_1),\n (_ctx.loading)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_4, [\n _createVNode(Icon, {\n animate: \"spin\",\n icon: \"fa-spinner\"\n }),\n _cache[0] || (_cache[0] = _createTextVNode(\" \")),\n _createElementVNode(\"small\", null, [\n _createElementVNode(\"span\", { innerHTML: _ctx.loadingText }, null, 8, _hoisted_5)\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ], 2))\n}\n}\n\n})","<template>\r\n <div :class=\"['s1-cbx', props.variant !== 'normal' ? props.variant : '']\">\r\n <label\r\n :class=\"lblClasses\"\r\n :for=\"componentId\"\r\n :style=\"props.labelStyle\"\r\n >\r\n <input\r\n type=\"checkbox\"\r\n :id=\"componentId\"\r\n :checked=\"isChecked\"\r\n :readonly=\"readonly\"\r\n :disabled=\"boxBool(props.disabled)\"\r\n :class=\"inputClass\"\r\n @change=\"checkVal\"\r\n />\r\n <slot\r\n ><span\r\n :class=\"`s1-cbx-lbl-${props.alignLabel}`\"\r\n v-html=\"label\"\r\n /></slot>\r\n </label>\r\n <span\r\n v-if=\"loading\"\r\n class=\"pl5\"\r\n ><Icon\r\n animate=\"spin\"\r\n icon=\"fa-spinner\" /> <small><span v-html=\"loadingText\"> </span></small\r\n ></span>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { computed, ref, watch, StyleValue } from \"vue\";\r\nimport Icon from \"@compUtility/icon.vue\";\r\nimport { trueFalseString, boxBool } from \"@utility/boolUtils\";\r\nimport { genComponentId } from \"@components/componentHelpers\";\r\n\r\ninterface Props {\r\n checked?: trueFalseString;\r\n disabled?: trueFalseString;\r\n readonly?: trueFalseString;\r\n label?: string;\r\n hover?: trueFalseString;\r\n variant?: \"small\" | \"normal\";\r\n inputClass?: string | string[];\r\n alignLabel?: \"start\" | \"center\" | \"end\";\r\n loading?: trueFalseString;\r\n loadingText?: string;\r\n labelClass?: string;\r\n labelStyle?: StyleValue;\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n checked: false,\r\n disabled: false,\r\n readonly: false,\r\n label: \" \",\r\n variant: \"normal\",\r\n inputClass: \"\",\r\n alignLabel: \"start\",\r\n loading: false,\r\n labelClass: undefined,\r\n labelStyle: undefined,\r\n});\r\n\r\nconst emit = defineEmits<{\r\n (e: \"checked\"): void;\r\n (e: \"unchecked\"): void;\r\n (e: \"updated\", val: boolean): void;\r\n (e: \"input\", val: boolean): void;\r\n}>();\r\n\r\nconst componentId = genComponentId(\"cbx\");\r\nconst isChecked = ref<boolean>(boxBool(props.checked));\r\n\r\nconst lblClasses = computed<string[]>(() => {\r\n const labels = [\"s1-cbx-label\"];\r\n if (boxBool(props.disabled)) {\r\n labels.push(\"s1-cbx-label-disabled\");\r\n }\r\n if ([\" \", \"\"].indexOf(props.label?.trim() ?? \" \") >= 0) {\r\n labels.push(\"lbl-no-txt\");\r\n }\r\n if (props.labelClass) {\r\n labels.push(props.labelClass);\r\n }\r\n return labels;\r\n});\r\n\r\nconst checkVal = function (newVal: Event) {\r\n if (newVal != null && newVal.target && newVal.target instanceof HTMLInputElement) {\r\n const target = newVal.target;\r\n isChecked.value = boxBool(target.checked);\r\n }\r\n};\r\n\r\nwatch(\r\n () => props.checked,\r\n (newVal) => {\r\n isChecked.value = boxBool(newVal);\r\n }\r\n);\r\n\r\nwatch(isChecked, (newVal) => {\r\n if (newVal) {\r\n emit(\"checked\");\r\n } else {\r\n emit(\"unchecked\");\r\n }\r\n\r\n emit(\"updated\", newVal);\r\n emit(\"input\", newVal);\r\n});\r\n</script>\r\n<style lang=\"less\" scoped>\r\n@import \"@css/constants.less\";\r\n.s1-cbx-label {\r\n font-size: 2rem;\r\n display: grid;\r\n grid-template-columns: 1em auto;\r\n gap: 0.5em;\r\n}\r\n\r\n.lbl-no-txt {\r\n gap: 0;\r\n margin-bottom: 0;\r\n}\r\n\r\n.s1-cbx-label span {\r\n font-size: 1.33rem;\r\n}\r\n\r\n.s1-cbx-label + .s1-cbx-label {\r\n margin-top: 1em;\r\n}\r\n\r\n.s1-cbx-label-disabled {\r\n color: var(--form-control-disabled);\r\n cursor: not-allowed;\r\n}\r\n\r\n.s1-cbx input {\r\n /* Remove most all native input styles */\r\n appearance: none;\r\n /* For iOS < 15 */\r\n background-color: @white;\r\n /* Not removed via appearance */\r\n margin: 0;\r\n\r\n font: inherit;\r\n color: var(--form-control-border);\r\n width: 1.15em;\r\n height: 1.15em;\r\n border: 0.075em solid var(--form-control-border);\r\n border-radius: 0;\r\n transform: translateY(-0.075em);\r\n padding-right: 0 !important;\r\n display: grid !important;\r\n place-content: center;\r\n}\r\n\r\n.s1-cbx input::before {\r\n content: \"\";\r\n width: 0.65em;\r\n height: 0.65em;\r\n clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%); //this looks like a checkmark\r\n transform: scale(0);\r\n transform-origin: bottom left;\r\n transition: 120ms transform ease-in-out;\r\n box-shadow: inset 1em 1em var(--form-control-color);\r\n background-color: @white;\r\n}\r\n\r\n.s1-cbx input:checked {\r\n background-color: var(--secondary-cta-color);\r\n}\r\n\r\n.s1-cbx-label-disabled input:checked {\r\n background-color: var(--form-control-disabled);\r\n color: @white;\r\n}\r\n\r\n.s1-cbx-label-disabled input::before {\r\n box-shadow: inset 1em 1em @white;\r\n}\r\n\r\n.s1-cbx input:checked::before {\r\n transform: scale(1);\r\n}\r\n\r\n.s1-cbx input:focus {\r\n outline: ~\"max(2px, 0.15em) solid currentColor\";\r\n outline-offset: ~\"max(2px, 0.15em)\";\r\n}\r\n\r\n.s1-cbx input:disabled {\r\n --form-control-color: var(--form-control-disabled);\r\n color: var(--form-control-disabled);\r\n cursor: not-allowed;\r\n}\r\n\r\n/* Variant overrides */\r\n.s1-cbx.small .s1-cbx-label {\r\n font-size: 1.75rem;\r\n gap: 0.25em;\r\n grid-template-columns: 0.75em auto;\r\n}\r\n\r\n.s1-cbx.small input {\r\n width: 0.75em !important;\r\n height: 0.75em !important;\r\n}\r\n\r\n.s1-cbx.small input::before {\r\n width: 0.45em;\r\n height: 0.45em;\r\n}\r\n\r\n.s1-cbx.small .s1-cbx-label span {\r\n font-size: 0.9rem;\r\n line-height: 1.2em;\r\n}\r\n/* End Variants */\r\n\r\n.s1-cbx-lbl-start {\r\n align-self: flex-start;\r\n}\r\n.s1-cbx-lbl-center {\r\n align-self: center;\r\n}\r\n.s1-cbx-lbl-end {\r\n align-self: flex-end;\r\n}\r\n</style>\r\n","import script from \"./checkbox.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./checkbox.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./checkbox.vue?vue&type=style&index=0&id=61d0d658&lang=less&scoped=true\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-61d0d658\"]])\n\nexport default __exports__","export default interface IClickableAlertMessage {\r\n text: string;\r\n clickCallback?: (string) => void;\r\n}\r\n\r\nexport const isIClickableAlertMessage = (\r\n msg?: string | IClickableAlertMessage | (string | IClickableAlertMessage)[]\r\n): msg is IClickableAlertMessage => msg !== undefined && msg !== null && msg.hasOwnProperty(\"text\");\r\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, withModifiers as _withModifiers, renderList as _renderList, Fragment as _Fragment, createElementVNode as _createElementVNode, renderSlot as _renderSlot } from \"vue\"\n\nconst _hoisted_1 = [\"id\"]\nconst _hoisted_2 = [\"id\"]\nconst _hoisted_3 = { key: 2 }\nconst _hoisted_4 = [\"innerHTML\"]\nconst _hoisted_5 = [\"innerHTML\"]\nconst _hoisted_6 = { key: 3 }\nconst _hoisted_7 = [\"innerHTML\", \"onClick\"]\nconst _hoisted_8 = [\"innerHTML\"]\n\nimport { computed, ref, watch, useSlots } from \"vue\";\r\nimport Icon from \"./icon.vue\";\r\nimport { AlertSeverity } from \"@appEnum/AlertSeverity\";\r\nimport { scrollTop, scrollToLocation } from \"@utility/domUtils\";\r\nimport { boxBool, trueFalseString } from \"@utility/boolUtils\";\r\nimport { genComponentId } from \"@components/componentHelpers\";\r\nimport IClickableAlertMessage, { isIClickableAlertMessage } from \"@interfaces/utility/IClickableAlertMessage\";\r\nimport { isNullOrWhiteSpace } from \"@utility/stringUtils\";\r\n\r\ninterface Props {\r\n message?: string | IClickableAlertMessage | (string | IClickableAlertMessage)[];\r\n alertIcon?: string;\r\n alertSeverity?: AlertSeverity;\r\n dismissible?: trueFalseString;\r\n dismissAfter?: number;\r\n iconClass?: string;\r\n iconWrapperClass?: string;\r\n cssAlerting?: trueFalseString;\r\n AlertCss?: string | string[];\r\n scrollOnError?: trueFalseString;\r\n scrollLocation?: \"top\" | \"id\";\r\n dismissIcon?: string;\r\n}\r\n\r\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'alert',\n props: {\n message: { default: undefined },\n alertIcon: { default: \"fa-exclamation-triangle\" },\n alertSeverity: { default: AlertSeverity.Warning },\n dismissible: { type: [Boolean, String], default: false },\n dismissAfter: { default: 0 },\n iconClass: { default: \"\" },\n iconWrapperClass: { default: \"\" },\n cssAlerting: { type: [Boolean, String], default: false },\n AlertCss: {},\n scrollOnError: { type: [Boolean, String], default: false },\n scrollLocation: { default: \"top\" },\n dismissIcon: { default: \"fa-times\" }\n },\n setup(__props: any) {\n\r\nconst props = __props;\r\n\r\nconst $slots = useSlots();\r\n\r\nconst dismissed = ref<boolean>(false);\r\nconst dismissible = ref<boolean>(boxBool(props.dismissible));\r\nconst alertTarget: string = genComponentId(\"s1-alert\");\r\n\r\nconst isSingleMessage = computed<boolean>(\r\n () => props.message !== undefined && (!Array.isArray(props.message) || props.message.length === 1)\r\n);\r\nconst singleMessage = computed<string | IClickableAlertMessage | undefined>(() => {\r\n if (isSingleMessage.value && Array.isArray(props.message)) {\r\n return props.message[0];\r\n }\r\n return props.message as string | IClickableAlertMessage | undefined;\r\n});\r\n\r\nconst showAlert = computed<boolean>(\r\n () =>\r\n ($slots.message ? ($slots.message?.() ?? []).length > 0 : false) || //[Message] Slot has value or [Message] Props have value\r\n (!Array.isArray(props.message) && props.message !== undefined && typeof props.message === \"object\") ||\r\n (typeof props.message === \"string\" && !isNullOrWhiteSpace(props.message)) ||\r\n (Array.isArray(props.message) && props.message.length > 0 && !dismissed.value && !$slots.message)\r\n);\r\n\r\nif (props.dismissAfter > 0) {\r\n dismissible.value = true;\r\n setTimeout(() => {\r\n const alert = document.getElementById(\"alert-close\");\r\n alert?.click();\r\n }, props.dismissAfter);\r\n}\r\nconst scrollOnError = () => {\r\n switch (props.scrollLocation) {\r\n case \"top\":\r\n scrollTop();\r\n break;\r\n case \"id\":\r\n scrollToLocation(alertTarget);\r\n break;\r\n }\r\n};\r\n\r\nif (boxBool(props.scrollOnError)) {\r\n scrollOnError();\r\n}\r\n\r\nwatch(\r\n () => props.scrollOnError,\r\n (nv) => {\r\n if (boxBool(nv)) {\r\n scrollOnError();\r\n }\r\n }\r\n);\r\n\nreturn (_ctx: any,_cache: any) => {\n return (showAlert.value)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: _normalizeClass([\"err-pnl error-wrapper alert flex align-items-center\", _ctx.alertSeverity]),\n id: _unref(alertTarget)\n }, [\n (dismissible.value)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n \"aria-hidden\": \"true\",\n \"data-dismiss\": \"alert\",\n class: _normalizeClass([\"close\", () => (props.dismissAfter > 0 ? 'hidden' : '')]),\n id: `${_unref(alertTarget)}-alert-close`,\n type: \"button\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => {\r\n _ctx.$emit('dismissed');\r\n dismissed.value = true;\r\n })\n }, [\n _createVNode(Icon, {\n icon: props.dismissIcon\n }, null, 8, [\"icon\"])\n ], 10, _hoisted_2))\n : _createCommentVNode(\"\", true),\n (_ctx.alertIcon)\n ? (_openBlock(), _createBlock(Icon, {\n key: 1,\n class: _normalizeClass([\"pr10 pl10 fs-xs-32\", _ctx.iconClass]),\n icon: _ctx.alertIcon,\n \"icon-wrapper-class\": _ctx.iconWrapperClass\n }, null, 8, [\"class\", \"icon\", \"icon-wrapper-class\"]))\n : _createCommentVNode(\"\", true),\n (isSingleMessage.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (!_unref(isIClickableAlertMessage)(singleMessage.value) || singleMessage.value.clickCallback === undefined)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n innerHTML: \r\n singleMessage.value !== undefined && _unref(isIClickableAlertMessage)(singleMessage.value)\r\n ? singleMessage.value.text\r\n : singleMessage.value ?? ''\r\n \n }, null, 8, _hoisted_4))\n : (_unref(isIClickableAlertMessage)(singleMessage.value) && singleMessage.value.clickCallback)\n ? (_openBlock(), _createElementBlock(\"a\", {\n key: 1,\n href: \"#\",\n innerHTML: singleMessage.value.text,\n onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (singleMessage.value.clickCallback(singleMessage.value.text)), [\"prevent\"]))\n }, null, 8, _hoisted_5))\n : _createCommentVNode(\"\", true)\n ]))\n : (Array.isArray(_ctx.message) && _ctx.message.length > 1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createElementVNode(\"ul\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.message, (m) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: _unref(isIClickableAlertMessage)(m) ? m.text : m\n }, [\n (_unref(isIClickableAlertMessage)(m) && m.clickCallback)\n ? (_openBlock(), _createElementBlock(\"a\", {\n key: 0,\n href: \"#\",\n innerHTML: m.text,\n onClick: _withModifiers(($event: any) => (m.clickCallback(m.text)), [\"prevent\"])\n }, null, 8, _hoisted_7))\n : (_openBlock(), _createElementBlock(\"span\", {\n key: 1,\n innerHTML: _unref(isIClickableAlertMessage)(m) ? m.text : m\n }, null, 8, _hoisted_8))\n ]))\n }), 128))\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _renderSlot(_ctx.$slots, \"message\")\n ], 10, _hoisted_1))\n : _createCommentVNode(\"\", true)\n}\n}\n\n})","import script from \"./alert.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./alert.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./alert.vue?vue&type=style&index=0&id=45150bfd&lang=less\"\n\nconst __exports__ = script;\n\nexport default __exports__","<template>\r\n <div\r\n v-if=\"showAlert\"\r\n class=\"err-pnl error-wrapper alert flex align-items-center\"\r\n :class=\"alertSeverity\"\r\n :id=\"alertTarget\"\r\n >\r\n <button\r\n v-if=\"dismissible\"\r\n aria-hidden=\"true\"\r\n data-dismiss=\"alert\"\r\n class=\"close\"\r\n :class=\"() => (props.dismissAfter > 0 ? 'hidden' : '')\"\r\n :id=\"`${alertTarget}-alert-close`\"\r\n type=\"button\"\r\n @click=\"\r\n $emit('dismissed');\r\n dismissed = true;\r\n \"\r\n >\r\n <Icon :icon=\"props.dismissIcon\" />\r\n </button>\r\n <Icon\r\n v-if=\"alertIcon\"\r\n class=\"pr10 pl10 fs-xs-32\"\r\n :class=\"iconClass\"\r\n :icon=\"alertIcon\"\r\n :icon-wrapper-class=\"iconWrapperClass\"\r\n />\r\n <div v-if=\"isSingleMessage\">\r\n <span\r\n v-if=\"!isIClickableAlertMessage(singleMessage) || singleMessage.clickCallback === undefined\"\r\n v-html=\"\r\n singleMessage !== undefined && isIClickableAlertMessage(singleMessage)\r\n ? singleMessage.text\r\n : singleMessage ?? ''\r\n \"\r\n />\r\n <a\r\n v-else-if=\"isIClickableAlertMessage(singleMessage) && singleMessage.clickCallback\"\r\n href=\"#\"\r\n v-html=\"singleMessage.text\"\r\n @click.prevent=\"singleMessage.clickCallback(singleMessage.text)\"\r\n />\r\n </div>\r\n <div v-else-if=\"Array.isArray(message) && message.length > 1\">\r\n <ul>\r\n <li\r\n v-for=\"m in message\"\r\n :key=\"isIClickableAlertMessage(m) ? m.text : m\"\r\n >\r\n <a\r\n v-if=\"isIClickableAlertMessage(m) && m.clickCallback\"\r\n href=\"#\"\r\n v-html=\"m.text\"\r\n @click.prevent=\"m.clickCallback(m.text)\"\r\n />\r\n <span\r\n v-else\r\n v-html=\"isIClickableAlertMessage(m) ? m.text : m\"\r\n />\r\n </li>\r\n </ul>\r\n </div>\r\n <slot name=\"message\"></slot>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { computed, ref, watch, useSlots } from \"vue\";\r\nimport Icon from \"./icon.vue\";\r\nimport { AlertSeverity } from \"@appEnum/AlertSeverity\";\r\nimport { scrollTop, scrollToLocation } from \"@utility/domUtils\";\r\nimport { boxBool, trueFalseString } from \"@utility/boolUtils\";\r\nimport { genComponentId } from \"@components/componentHelpers\";\r\nimport IClickableAlertMessage, { isIClickableAlertMessage } from \"@interfaces/utility/IClickableAlertMessage\";\r\nimport { isNullOrWhiteSpace } from \"@utility/stringUtils\";\r\n\r\ninterface Props {\r\n message?: string | IClickableAlertMessage | (string | IClickableAlertMessage)[];\r\n alertIcon?: string;\r\n alertSeverity?: AlertSeverity;\r\n dismissible?: trueFalseString;\r\n dismissAfter?: number;\r\n iconClass?: string;\r\n iconWrapperClass?: string;\r\n cssAlerting?: trueFalseString;\r\n AlertCss?: string | string[];\r\n scrollOnError?: trueFalseString;\r\n scrollLocation?: \"top\" | \"id\";\r\n dismissIcon?: string;\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n message: undefined,\r\n alertIcon: \"fa-exclamation-triangle\",\r\n alertSeverity: AlertSeverity.Warning,\r\n dismissible: false,\r\n dismissAfter: 0,\r\n iconClass: \"\",\r\n iconWrapperClass: \"\",\r\n cssAlerting: false,\r\n scrollOnError: false,\r\n scrollLocation: \"top\",\r\n dismissIcon: \"fa-times\",\r\n});\r\n\r\nconst $slots = useSlots();\r\n\r\nconst dismissed = ref<boolean>(false);\r\nconst dismissible = ref<boolean>(boxBool(props.dismissible));\r\nconst alertTarget: string = genComponentId(\"s1-alert\");\r\n\r\nconst isSingleMessage = computed<boolean>(\r\n () => props.message !== undefined && (!Array.isArray(props.message) || props.message.length === 1)\r\n);\r\nconst singleMessage = computed<string | IClickableAlertMessage | undefined>(() => {\r\n if (isSingleMessage.value && Array.isArray(props.message)) {\r\n return props.message[0];\r\n }\r\n return props.message as string | IClickableAlertMessage | undefined;\r\n});\r\n\r\nconst showAlert = computed<boolean>(\r\n () =>\r\n ($slots.message ? ($slots.message?.() ?? []).length > 0 : false) || //[Message] Slot has value or [Message] Props have value\r\n (!Array.isArray(props.message) && props.message !== undefined && typeof props.message === \"object\") ||\r\n (typeof props.message === \"string\" && !isNullOrWhiteSpace(props.message)) ||\r\n (Array.isArray(props.message) && props.message.length > 0 && !dismissed.value && !$slots.message)\r\n);\r\n\r\nif (props.dismissAfter > 0) {\r\n dismissible.value = true;\r\n setTimeout(() => {\r\n const alert = document.getElementById(\"alert-close\");\r\n alert?.click();\r\n }, props.dismissAfter);\r\n}\r\nconst scrollOnError = () => {\r\n switch (props.scrollLocation) {\r\n case \"top\":\r\n scrollTop();\r\n break;\r\n case \"id\":\r\n scrollToLocation(alertTarget);\r\n break;\r\n }\r\n};\r\n\r\nif (boxBool(props.scrollOnError)) {\r\n scrollOnError();\r\n}\r\n\r\nwatch(\r\n () => props.scrollOnError,\r\n (nv) => {\r\n if (boxBool(nv)) {\r\n scrollOnError();\r\n }\r\n }\r\n);\r\n</script>\r\n<style lang=\"less\">\r\n@import \"@css/utilityClasses/boxUtils.less\";\r\n@import \"@css/utilityClasses/fontUtils.less\";\r\n@import \"@css/utilityClasses/flexUtils.less\";\r\n</style>\r\n","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, withModifiers as _withModifiers, toDisplayString as _toDisplayString } from \"vue\"\n\nconst _hoisted_1 = { class: \"pdf-viewer-root\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"flex full-width align-items-center page-tools-wrapper\",\n style: {\"justify-content\":\"space-between\"}\n}\nconst _hoisted_3 = { class: \"flex\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"ml10\"\n}\nconst _hoisted_5 = {\n key: 1,\n class: \"ml10\"\n}\nconst _hoisted_6 = [\"href\"]\nconst _hoisted_7 = { class: \"flex align-items-center\" }\nconst _hoisted_8 = { class: \"btn-group ml10\" }\nconst _hoisted_9 = { class: \"ml10\" }\nconst _hoisted_10 = [\"disabled\"]\nconst _hoisted_11 = { class: \"pr10 pl10\" }\nconst _hoisted_12 = [\"disabled\"]\nconst _hoisted_13 = { class: \"row mt10\" }\nconst _hoisted_14 = {\n key: 0,\n class: \"col-xs-12 text-center\"\n}\nconst _hoisted_15 = [\"width\", \"height\"]\nconst _hoisted_16 = {\n key: 1,\n class: \"col-xs-12\"\n}\n\nimport { ref, watch, onMounted } from \"vue\";\r\nimport * as pdfJsLib from \"pdfjs-dist\";\r\nimport icon from \"./icon.vue\";\r\nimport alert from \"./alert.vue\";\r\nimport checkbox from \"../form/checkbox.vue\";\r\nimport { createGuid } from \"../../utility/utility\";\r\nimport { PDFDocumentProxy } from \"pdfjs-dist/types/display/api\";\r\n\r\ninterface Props {\r\n pdfUrl: string;\r\n allowDownload?: boolean;\r\n startPageNumber?: number;\r\n showSelectCheckbox?: boolean;\r\n selected?: boolean;\r\n selectCheckboxText?: string;\r\n}\r\n\r\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'pdfViewer',\n props: {\n pdfUrl: { default: \"\" },\n allowDownload: { type: Boolean, default: false },\n startPageNumber: { default: 1 },\n showSelectCheckbox: { type: Boolean, default: false },\n selected: { type: Boolean, default: false },\n selectCheckboxText: { default: \"\" }\n },\n emits: [\r\n \"pdf-loaded\",\r\n \"pdf-load-failed\",\r\n \"pdf-doc-downloaded\",\r\n \"navigated-to-pagenumber\",\r\n \"pdf-selected\",\r\n \"pdf-unselected\",\r\n \"pdf-selection-change\",\r\n \"mounted\",\r\n],\n setup(__props: any, { emit: __emit }) {\n\r\npdfJsLib.GlobalWorkerOptions.workerSrc = new URL(\r\n \"pdfjs-dist/build/pdf.worker.js\",\r\n import.meta.url\r\n).toString();\r\n\r\nconst props = __props;\r\n\r\nconst emit = __emit;\r\n\r\nconst componentId = `du-pdf-viewer-${createGuid()}`;\r\nconst downloadUrl = (): string => {\r\n if (props.pdfUrl !== null && props.pdfUrl.trim() !== \"\") {\r\n const forceDownload = props.pdfUrl.indexOf(\"?\") > -1 ? \"&fdl=1\" : \"?fdl=1\";\r\n return `${props.pdfUrl}${forceDownload}`;\r\n }\r\n\r\n return \"\";\r\n};\r\n\r\nconst totalPages = ref<number | null>(null);\r\nconst currentPage = ref<number>(props.startPageNumber);\r\nconst canvasHeight = ref<number | null>(792);\r\nconst canvasWidth = ref<number | null>(612);\r\nlet pdfDoc: PDFDocumentProxy | null = null;\r\nconst loadFailed = ref(false);\r\nconst pageRendering = ref<Boolean>(false);\r\nconst scale = ref<number>(1.0);\r\nconst pageNumPending = ref<number | null>(null);\r\n\r\nconst loadPdf = () => {\r\n const canvasEl = document.getElementById(componentId) as HTMLCanvasElement;\r\n if (canvasEl) {\r\n if (canvasEl.height && canvasEl.width) {\r\n canvasHeight.value = canvasEl.height;\r\n canvasWidth.value = canvasEl.width;\r\n }\r\n\r\n const loadingTask = pdfJsLib.getDocument(props.pdfUrl);\r\n loadingTask.promise\r\n .then((pdf) => {\r\n totalPages.value = pdf.numPages;\r\n pdfDoc = pdf;\r\n emit(\"pdf-loaded\");\r\n renderPage(currentPage.value);\r\n })\r\n .catch(() => {\r\n loadFailed.value = true;\r\n emit(\"pdf-load-failed\");\r\n });\r\n }\r\n};\r\n\r\nonMounted(() => {\r\n loadPdf();\r\n emit(\"mounted\");\r\n});\r\n\r\nconst pdfSelectionChange = function (selected: boolean): void {\r\n emit(\"pdf-selection-change\", selected);\r\n};\r\n\r\nconst renderPage = (pageNum: number): void => {\r\n pageRendering.value = true;\r\n pageNumPending.value = pageNum;\r\n if (pdfDoc && pageNum > 0 && pageNum <= (totalPages.value ?? 1)) {\r\n pdfDoc.getPage(pageNum).then((page) => {\r\n var viewport = page.getViewport({ scale: scale.value });\r\n const canvasEl = document.getElementById(componentId) as HTMLCanvasElement;\r\n if (canvasEl !== null) {\r\n const canvasCtx = canvasEl.getContext(\"2d\");\r\n if (canvasCtx != null) {\r\n canvasEl.height = viewport.height;\r\n canvasEl.width = viewport.width;\r\n currentPage.value = pageNum;\r\n\r\n // Render PDF page into canvas context\r\n var renderTask = page.render({\r\n canvasContext: canvasCtx,\r\n viewport: viewport,\r\n });\r\n\r\n // Wait for rendering to finish\r\n renderTask.promise.then(() => {\r\n pageRendering.value = false;\r\n if (pageNumPending.value !== null && pageNumPending.value !== pageNum) {\r\n renderPage(pageNumPending.value);\r\n pageNumPending.value = null;\r\n } else {\r\n emit(\"navigated-to-pagenumber\", pageNum);\r\n }\r\n });\r\n }\r\n }\r\n });\r\n }\r\n};\r\n\r\nconst movePage = (currentPageOffset: number): void => {\r\n renderPage(currentPage.value + currentPageOffset);\r\n};\r\n\r\nconst pageDisplay = (): string => {\r\n return totalPages.value != null ? `${currentPage.value} of ${totalPages.value}` : \"\";\r\n};\r\n\r\nconst showPageTools = (): boolean => {\r\n return totalPages.value !== null && totalPages.value > 0;\r\n};\r\n\r\nconst zoom = (zoomPercent: number): void => {\r\n if (zoomPercent !== 0) {\r\n scale.value = scale.value + zoomPercent;\r\n renderPage(currentPage.value);\r\n }\r\n};\r\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (showPageTools())\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_ctx.showSelectCheckbox)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createVNode(checkbox, {\n checked: _ctx.selected,\n label: _ctx.selectCheckboxText,\n onUpdated: pdfSelectionChange\n }, null, 8, [\"checked\", \"label\"])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.allowDownload && downloadUrl() !== '')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"a\", {\n href: downloadUrl(),\n title: \"Download document\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (emit('pdf-doc-downloaded'))),\n target: \"_blank\"\n }, [\n _createVNode(icon, { icon: \"fa-download\" }),\n _cache[5] || (_cache[5] = _createTextVNode(\"Download \"))\n ], 8, _hoisted_6)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"a\", {\n href: \"#\",\n class: \"btn btn-white btn-xs\",\n onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (zoom(0.1)), [\"prevent\"]))\n }, [\n _createVNode(icon, { icon: \"fa-search-plus\" })\n ]),\n _createElementVNode(\"a\", {\n href: \"#\",\n class: \"btn btn-white btn-xs\",\n onClick: _cache[2] || (_cache[2] = _withModifiers(($event: any) => (zoom(-0.1)), [\"prevent\"]))\n }, [\n _createVNode(icon, { icon: \"fa-search-minus\" })\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _cache[6] || (_cache[6] = _createTextVNode(\" Page: \")),\n _createElementVNode(\"a\", {\n href: \"#\",\n class: \"pdf-preview-prev\",\n onClick: _cache[3] || (_cache[3] = _withModifiers(($event: any) => (movePage(-1)), [\"prevent\"])),\n disabled: currentPage.value === 1 ? true : null\n }, [\n _createVNode(icon, { icon: \"fa-backward\" })\n ], 8, _hoisted_10),\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(pageDisplay()), 1),\n _createElementVNode(\"a\", {\n href: \"#\",\n class: \"pdf-preview-next\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (movePage(1)), [\"prevent\"])),\n disabled: currentPage.value === totalPages.value ? true : null\n }, [\n _createVNode(icon, { icon: \"fa-forward\" })\n ], 8, _hoisted_12)\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_13, [\n (!loadFailed.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, [\n _createElementVNode(\"canvas\", {\n class: \"pdf-preview-canvas\",\n id: componentId,\n width: canvasWidth.value,\n height: canvasHeight.value,\n style: {\"background\":\"#fff\"}\n }, null, 8, _hoisted_15)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_16, [\n _createVNode(alert, { message: \"Could not get document.\" })\n ]))\n ])\n ]))\n}\n}\n\n})","import script from \"./pdfViewer.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./pdfViewer.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./pdfViewer.vue?vue&type=style&index=0&id=43db1d9e&lang=less\"\n\nconst __exports__ = script;\n\nexport default __exports__","<template>\r\n <div class=\"pdf-viewer-root\">\r\n <div\r\n v-if=\"showPageTools()\"\r\n class=\"flex full-width align-items-center page-tools-wrapper\"\r\n style=\"justify-content: space-between\"\r\n >\r\n <div class=\"flex\">\r\n <div\r\n v-if=\"showSelectCheckbox\"\r\n class=\"ml10\"\r\n >\r\n <checkbox\r\n :checked=\"selected\"\r\n :label=\"selectCheckboxText\"\r\n @updated=\"pdfSelectionChange\"\r\n />\r\n </div>\r\n <div\r\n v-if=\"allowDownload && downloadUrl() !== ''\"\r\n class=\"ml10\"\r\n >\r\n <a\r\n :href=\"downloadUrl()\"\r\n title=\"Download document\"\r\n v-on:click=\"emit('pdf-doc-downloaded')\"\r\n target=\"_blank\"\r\n >\r\n <icon icon=\"fa-download\" />Download\r\n </a>\r\n </div>\r\n </div>\r\n <div class=\"flex align-items-center\">\r\n <div class=\"btn-group ml10\">\r\n <a\r\n href=\"#\"\r\n class=\"btn btn-white btn-xs\"\r\n v-on:click.prevent=\"zoom(0.1)\"\r\n >\r\n <icon icon=\"fa-search-plus\" />\r\n </a>\r\n <a\r\n href=\"#\"\r\n class=\"btn btn-white btn-xs\"\r\n v-on:click.prevent=\"zoom(-0.1)\"\r\n >\r\n <icon icon=\"fa-search-minus\" />\r\n </a>\r\n </div>\r\n <div class=\"ml10\">\r\n Page:\r\n <a\r\n href=\"#\"\r\n class=\"pdf-preview-prev\"\r\n v-on:click.prevent=\"movePage(-1)\"\r\n :disabled=\"currentPage === 1 ? true : null\"\r\n >\r\n <icon icon=\"fa-backward\" />\r\n </a>\r\n <span class=\"pr10 pl10\">{{ pageDisplay() }}</span>\r\n <a\r\n href=\"#\"\r\n class=\"pdf-preview-next\"\r\n v-on:click.prevent=\"movePage(1)\"\r\n :disabled=\"currentPage === totalPages ? true : null\"\r\n >\r\n <icon icon=\"fa-forward\" />\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row mt10\">\r\n <div\r\n v-if=\"!loadFailed\"\r\n class=\"col-xs-12 text-center\"\r\n >\r\n <canvas\r\n class=\"pdf-preview-canvas\"\r\n :id=\"componentId\"\r\n :width=\"canvasWidth\"\r\n :height=\"canvasHeight\"\r\n style=\"background: #fff\"\r\n ></canvas>\r\n </div>\r\n <div\r\n v-else\r\n class=\"col-xs-12\"\r\n >\r\n <alert message=\"Could not get document.\" />\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { ref, watch, onMounted } from \"vue\";\r\nimport * as pdfJsLib from \"pdfjs-dist\";\r\nimport icon from \"./icon.vue\";\r\nimport alert from \"./alert.vue\";\r\nimport checkbox from \"../form/checkbox.vue\";\r\nimport { createGuid } from \"../../utility/utility\";\r\nimport { PDFDocumentProxy } from \"pdfjs-dist/types/display/api\";\r\n\r\npdfJsLib.GlobalWorkerOptions.workerSrc = new URL(\r\n \"pdfjs-dist/build/pdf.worker.js\",\r\n import.meta.url\r\n).toString();\r\n\r\ninterface Props {\r\n pdfUrl: string;\r\n allowDownload?: boolean;\r\n startPageNumber?: number;\r\n showSelectCheckbox?: boolean;\r\n selected?: boolean;\r\n selectCheckboxText?: string;\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n pdfUrl: \"\",\r\n allowDownload: false,\r\n startPageNumber: 1,\r\n showSelectCheckbox: false,\r\n selected: false,\r\n selectCheckboxText: \"\",\r\n});\r\n\r\nconst emit = defineEmits([\r\n \"pdf-loaded\",\r\n \"pdf-load-failed\",\r\n \"pdf-doc-downloaded\",\r\n \"navigated-to-pagenumber\",\r\n \"pdf-selected\",\r\n \"pdf-unselected\",\r\n \"pdf-selection-change\",\r\n \"mounted\",\r\n]);\r\n\r\nconst componentId = `du-pdf-viewer-${createGuid()}`;\r\nconst downloadUrl = (): string => {\r\n if (props.pdfUrl !== null && props.pdfUrl.trim() !== \"\") {\r\n const forceDownload = props.pdfUrl.indexOf(\"?\") > -1 ? \"&fdl=1\" : \"?fdl=1\";\r\n return `${props.pdfUrl}${forceDownload}`;\r\n }\r\n\r\n return \"\";\r\n};\r\n\r\nconst totalPages = ref<number | null>(null);\r\nconst currentPage = ref<number>(props.startPageNumber);\r\nconst canvasHeight = ref<number | null>(792);\r\nconst canvasWidth = ref<number | null>(612);\r\nlet pdfDoc: PDFDocumentProxy | null = null;\r\nconst loadFailed = ref(false);\r\nconst pageRendering = ref<Boolean>(false);\r\nconst scale = ref<number>(1.0);\r\nconst pageNumPending = ref<number | null>(null);\r\n\r\nconst loadPdf = () => {\r\n const canvasEl = document.getElementById(componentId) as HTMLCanvasElement;\r\n if (canvasEl) {\r\n if (canvasEl.height && canvasEl.width) {\r\n canvasHeight.value = canvasEl.height;\r\n canvasWidth.value = canvasEl.width;\r\n }\r\n\r\n const loadingTask = pdfJsLib.getDocument(props.pdfUrl);\r\n loadingTask.promise\r\n .then((pdf) => {\r\n totalPages.value = pdf.numPages;\r\n pdfDoc = pdf;\r\n emit(\"pdf-loaded\");\r\n renderPage(currentPage.value);\r\n })\r\n .catch(() => {\r\n loadFailed.value = true;\r\n emit(\"pdf-load-failed\");\r\n });\r\n }\r\n};\r\n\r\nonMounted(() => {\r\n loadPdf();\r\n emit(\"mounted\");\r\n});\r\n\r\nconst pdfSelectionChange = function (selected: boolean): void {\r\n emit(\"pdf-selection-change\", selected);\r\n};\r\n\r\nconst renderPage = (pageNum: number): void => {\r\n pageRendering.value = true;\r\n pageNumPending.value = pageNum;\r\n if (pdfDoc && pageNum > 0 && pageNum <= (totalPages.value ?? 1)) {\r\n pdfDoc.getPage(pageNum).then((page) => {\r\n var viewport = page.getViewport({ scale: scale.value });\r\n const canvasEl = document.getElementById(componentId) as HTMLCanvasElement;\r\n if (canvasEl !== null) {\r\n const canvasCtx = canvasEl.getContext(\"2d\");\r\n if (canvasCtx != null) {\r\n canvasEl.height = viewport.height;\r\n canvasEl.width = viewport.width;\r\n currentPage.value = pageNum;\r\n\r\n // Render PDF page into canvas context\r\n var renderTask = page.render({\r\n canvasContext: canvasCtx,\r\n viewport: viewport,\r\n });\r\n\r\n // Wait for rendering to finish\r\n renderTask.promise.then(() => {\r\n pageRendering.value = false;\r\n if (pageNumPending.value !== null && pageNumPending.value !== pageNum) {\r\n renderPage(pageNumPending.value);\r\n pageNumPending.value = null;\r\n } else {\r\n emit(\"navigated-to-pagenumber\", pageNum);\r\n }\r\n });\r\n }\r\n }\r\n });\r\n }\r\n};\r\n\r\nconst movePage = (currentPageOffset: number): void => {\r\n renderPage(currentPage.value + currentPageOffset);\r\n};\r\n\r\nconst pageDisplay = (): string => {\r\n return totalPages.value != null ? `${currentPage.value} of ${totalPages.value}` : \"\";\r\n};\r\n\r\nconst showPageTools = (): boolean => {\r\n return totalPages.value !== null && totalPages.value > 0;\r\n};\r\n\r\nconst zoom = (zoomPercent: number): void => {\r\n if (zoomPercent !== 0) {\r\n scale.value = scale.value + zoomPercent;\r\n renderPage(currentPage.value);\r\n }\r\n};\r\n</script>\r\n<style lang=\"less\">\r\n@import \"@css/utilityClasses/boxUtils.less\";\r\n@import \"@css/utilityClasses/flexUtils.less\";\r\n</style>\r\n"],"names":["cw","$","window","jQuery","extend","pages","documentHistory","args","$dtTarget","dataTable","url","title","init","this","bindInteractions","self","tblColumns","data","className","filter_type","row","type","val","meta","utility","tableSortByDate","DocumentDate","sortable","DocumentNumber","DocumentId","loadingIndicator","start","$viewport","webservices","getJson","selectedS1AccountId","billingAccountList","documentType","getDistinctBillingAccountListValue","billingAccount","templating","GetRenderedTemplateHTML","appEnum","TemplateType","CwWidget","breadCrumbs","dashboard","getBreadcrumbMarkup","Title","isActive","DocumentListing","BillingAccountListing","renderedTmpl","stop","empty","append","scrollTop","postHTMLInit","bindApplicationEvents","$tblMrkup","getTableMarkup","map","x","searchObj","DocumentType","BillingAccount","tableOptions","lengthMenu","buttons","iDisplayLength","tableTools","autoWidth","responsive","ordering","draw","adjust","dom","deferRender","order","columns","DataTable","each","removeClass","chosen","width","allow_single_deselect","disable_search_threshold","no_results_text","off","on","e","preventDefault","docuType","billAcct","push","document","account","DocumentFromDate","DocumentToDate","filterDataTable","keypress","which","click","resetFilterDataTable","datetimepicker","format","closest","show","$this","docId","docNum","innerWidth","open","getDataTableRowData","modal","Open","modalBody","size","successCallback","modalRef","close","onShownCallback","doc","getData","pdfUrl","allowDownload","onPdfLoaded","onPdfLoadFailed","mount","funcValue","flags","arrayLen","length","i","RemoteAccountNumber","addClass","search","documentList","d","attr","trigger","accountList","l","fn","ext","pop","resetFilter","max","min","accountNum","docuNum","regex","isValid","css","settings","searchData","dataIndex","dd","slice","j","column","Buttons","defaults","button","copyHtml5","text","csvHtml5","print","dtTools","tableClasses","date","sortType","displayFormat","addUpdateDataTableListing","newObject","matchingColumnName","redrawTable","deleteDataTableListing","matchingKeyValue","getDataTableAllRowData","getDataTableNextRowData","getDataTablePreviousRowData","AlertSeverity","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","key","class","_hoisted_5","__name","props","checked","Boolean","String","default","disabled","readonly","label","hover","variant","inputClass","alignLabel","loading","loadingText","labelClass","undefined","labelStyle","Object","Array","emits","setup","__props","emit","__emit","componentId","isChecked","lblClasses","labels","indexOf","trim","checkVal","newVal","target","HTMLInputElement","value","_ctx","_cache","for","style","id","onChange","$slots","innerHTML","animate","icon","isIClickableAlertMessage","msg","hasOwnProperty","_hoisted_6","_hoisted_7","_hoisted_8","message","alertIcon","alertSeverity","Warning","dismissible","dismissAfter","iconClass","iconWrapperClass","cssAlerting","AlertCss","scrollOnError","scrollLocation","dismissIcon","dismissed","alertTarget","isSingleMessage","isArray","singleMessage","showAlert","setTimeout","alert","getElementById","nv","onClick","$event","$emit","clickCallback","href","m","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","startPageNumber","showSelectCheckbox","selected","selectCheckboxText","pdf","workerSrc","URL","toString","downloadUrl","forceDownload","totalPages","currentPage","canvasHeight","canvasWidth","pdfDoc","loadFailed","pageRendering","scale","pageNumPending","canvasEl","height","promise","then","numPages","renderPage","catch","loadPdf","pdfSelectionChange","pageNum","getPage","page","viewport","getViewport","canvasCtx","getContext","render","canvasContext","movePage","currentPageOffset","zoom","zoomPercent","onUpdated"],"sourceRoot":""}