{"mappings":"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","sources":["dist/wave-memo-tasks/wave-memo-tasks.js"],"sourcesContent":["let { html, nothing, render, guard, unsafeSVG, repeat, keyed, CustomTokenHTMLElement, on, translation, utils } = lithtml;\r\nlet tag = 'wave-memo-tasks';\r\nlet version = '0.9.1';\r\n\r\n// Hash of properties that will trigger getting tasks from the Tasks Api\r\nlet propsTriggeringGettingTasks = { _aY: 1, userData: 1, memoType: 1, memoId: 1 };\r\n\r\n// Available modules, that is used as memo types\r\nlet _aZ = {\r\n Connection: { type: 'WaterConnectionMemo' , domain: 5, value: 'Connection' },\r\n Customer : { type: 'PrivateFacilitiesCustomerMemo' , domain: 0, value: 'Customer' }, // Customer is for all basis? Building, customer, property, ...?\r\n Backflow : { type: 'PrivateFacilitiesBackflowMemo' , domain: 1, value: 'Backflow' },\r\n Industry : { type: 'PrivateFacilitiesIndustryMemo' , domain: 3, value: 'Industry' },\r\n Watermeter: { type: 'PrivateFacilitiesWaterMeterMemo', domain: 2, value: 'Watermeter' },\r\n Matrikkel : { type: 'PrivateFacilitiesMatrikkelMemo' , domain: 0, value: 'Matrikkel' }, // Which domain? Vei og grunn???\r\n Sludge : { type: 'PrivateFacilitiesSludgeMemo' , domain: 4, value: 'Sludge' },\r\n Discharge : { type: 'PrivateFacilitiesDischargeMemo' , domain: 4, value: 'Discharge' },\r\n //Excavation: { type: 'ExcavationMemo' , domain: 6, value: 'Excavation' }\r\n};\r\n\r\n// /** @type {string} the base url of where the script was downloaded from */\r\n//let scriptBase = document.currentScript.src;\r\n//scriptBase = scriptBase && scriptBase.substring(0, scriptBase.lastIndexOf('/'));\r\n//console.log(scriptBase);\r\n\r\nlet { getIsoDateStr } = utils;\r\nlet dateFormat = Intl.DateTimeFormat('no', {day: '2-digit', month:'2-digit', year:'numeric'});\r\n\r\n// English and norwegian translations, english is default language\r\nlet t = translation.init(tag, version);\r\nt.add(['en', 'no'], {\r\n Tasks : [ 'Tasks' , 'Oppgaver' ],\r\n WaterConnectionMemo : [ 'Connections' , 'Tilkoblinger' ],\r\n PrivateFacilitiesCustomerMemo : [ 'Customer' , 'Kunde' ],\r\n PrivateFacilitiesBackflowMemo : [ 'Backflow' , 'Tilbakestrømning' ],\r\n PrivateFacilitiesIndustryMemo : [ 'Industry' , 'Industripåslipp' ],\r\n PrivateFacilitiesWaterMeterMemo: [ 'Watermeter' , 'Vannmåler' ],\r\n PrivateFacilitiesMatrikkelMemo : [ 'Matrikkel' , 'Matrikkel' ],\r\n PrivateFacilitiesSludgeMemo : [ 'Sludge' , 'Slam' ],\r\n PrivateFacilitiesDischargeMemo : [ 'Discharge' , 'Utslipp' ],\r\n ExcavationMemo : [ 'Excavation' , 'Vei og grunn' ],\r\n Private : [ 'Private' , 'Privat' ],\r\n Public : [ 'Public' , 'Offentlig' ],\r\n AddMemo : [ 'Add memo' , 'Legg til huskelapp' ],\r\n EditMemo : [ 'Edit memo' , 'Rediger huskelapp' ],\r\n Save : [ 'Save' , 'Lagre' ],\r\n Cancel : [ 'Cancel' , 'Avbryt' ],\r\n Edit : [ 'Edit' , 'Rediger' ],\r\n Delete : [ 'Delete' , 'Slett' ],\r\n CompleteTask : [ 'Complete task' , 'Fullfør oppgaven' ],\r\n YesDelete : [ 'Yes, delete' , 'Ja, slett' ],\r\n YesComplete : [ 'Yes, complete' , 'Ja, fullfør' ],\r\n PrivateTask : [ 'Private task' , 'Privat oppgave' ],\r\n Yes : [ 'Yes' , 'Ja' ],\r\n No : [ 'No' , 'Nei' ],\r\n Module : [ 'Module' , 'Fagområde' ],\r\n ModuleType : [ 'Logtype' , 'Merknadstype' ],\r\n DueDate : [ 'Duedate' , 'Utføres innen' ],\r\n Title : [ 'Title' , 'Tittel' ],\r\n Description : [ 'Description' , 'Beskrivelse' ],\r\n DeleteMemo : [ 'Delete memo?' , 'Slette huskelapp?' ],\r\n CompleteMemo : [ 'Complete memo?' , 'Fullfør huskelapp?' ],\r\n UpdateMemo : [ 'Updating memo' , 'Oppdaterer huskelapp' ],\r\n AddMemo : [ 'Adding memo' , 'Legger til huskelapp' ],\r\n TitleIsMandatory : [ 'Title is mandatory' , 'Tittel er obligatorisk' ],\r\n MandatoryField : [ 'Duedate is mandatory', 'Feltet er obligatorisk' ],\r\n DeleteMemoAreYouSure : [ 'Are you sure you want to delete this memo?' , 'Er du sikker på at du ønsker å slette denne huskelappen?' ],\r\n CompleteMemoAreYouSure : [ 'Are you sure you want to complete this memo?', 'Er du sikker på at du ønsker å fullføre denne huskelappen?'],\r\n});\r\n\r\nt.load(translation.language);\r\n\r\n//on('language-changed', e => {\r\n// t.load(e.lang);\r\n//});\r\n\r\nlet _a0, _a1, DatePicker;\r\n\r\n/**\r\n * Memo tasks element that displays memo tasks based on filters\r\n */\r\nclass WaveMemoTasksElement extends CustomTokenHTMLElement {\r\n static get tag() { return tag }\r\n static get version() { return version }\r\n\r\n //\r\n static get observedAttributes() { return ['memo-type', 'memo-id', 'allow-no-memo-id', 'memo-module', 'disable-module-selection', 'memo-data']; }\r\n static get observedProperties() { return ['_a2', '_aY' ]; }\r\n\r\n /**\r\n * Constructor\r\n */\r\n constructor() {\r\n super(WaveMemoTasksElement);\r\n }\r\n\r\n// * Test\r\n// ! Test\r\n// ? Test\r\n\r\n /**\r\n * Called when the custom element is connected to the DOM the first time\r\n */\r\n onFirstConnected() {\r\n super.onFirstConnected();\r\n\r\n let self = this;\r\n let css = self._a3().strings[0].replace('', '');\r\n\r\n self.$setShadowStyle(css);\r\n\r\n // Override current language?\r\n if (self.$attribs.language) {\r\n t.load(self.$attribs.language);\r\n }\r\n }\r\n\r\n /** */\r\n onDisconnected() {\r\n // TODO: destroy?\r\n let dialogEl = document.getElementById('memo_dialog_wrapper');\r\n\r\n if (dialogEl) {\r\n dialogEl.remove();\r\n }\r\n }\r\n\r\n /**\r\n * Called when an observed property (or attribute) changes value\r\n * @param {string} name the name of the property\r\n * @param {string} oldValue the old value of the property\r\n * @param {string} newValue the new value of the property\r\n */\r\n onPropertyChanged(name, oldValue, newValue) {\r\n let self = this;\r\n\r\n //console.log('Prop changed', name + ':', newValue);\r\n\r\n if (name in propsTriggeringGettingTasks) {\r\n // Do not trigger getting tasks each time the token is updated\r\n if (name === 'userData' && oldValue) {\r\n return;\r\n }\r\n\r\n self._a4();\r\n }\r\n\r\n if (name === 'memoModule') {\r\n // Make sure we always have a valid memo module selected\r\n if (newValue && !_aZ[newValue]) {\r\n self.memoModule = Object.values(_aZ).sort((a, b) => t(a.type) > t(b.type) ? 1 : -1)[0].value;\r\n self._a5 = true;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Called when the component needs to render\r\n */\r\n render(reason) {\r\n let self = this;\r\n\r\n return html`

${t('Tasks')}

${self._a6\r\n ? nothing\r\n : self._a2\r\n ? html`
${self._a2.length}
`\r\n : html`
`\r\n }
${self._a6 ? html`
${self._a6}
` : nothing } ${self._a2 && repeat(self._a2, (task) => task.Id, (task) => html`
${task.Title}
${dateFormat.format(new Date(task.DueDate))}
`)}
`;\r\n }\r\n\r\n /**\r\n * Updates the token and user data\r\n * @param {*} tokenAndUserInfo\r\n */\r\n onUserData(userData) {\r\n let self = this;\r\n\r\n if (!self._aY) {\r\n let token = JSON.parse(window.atob(userData.accessToken.split('.')[1]));\r\n\r\n self._aY = self._a9(token.iss);\r\n self._ba = self._bb(token.iss);\r\n }\r\n }\r\n\r\n /**\r\n * Show the dialog to add a new memo task\r\n * @param {MouseEvent} e the click event\r\n */\r\n _a7(e) {\r\n let self = this;\r\n\r\n self._bc = true;\r\n self._bd = false;\r\n self._be = false;\r\n self._bf = false;\r\n\r\n self._bg();\r\n }\r\n\r\n /**\r\n * Show the dialog displaying memo task details\r\n * @param {MouseEvent} e the click event\r\n */\r\n _a8(e) {\r\n let self = this;\r\n let taskEl = e.composedPath().filter(i => !!i.taskId)[0];\r\n let taskId = taskEl?.taskId;\r\n let task = taskId && self._a2.filter(t => t.Id === taskId)[0];\r\n\r\n self._bc = false;\r\n self._bd = false;\r\n self._be = false;\r\n self._bf = false;\r\n\r\n //console.log(taskId, task);\r\n\r\n task && self._bg(task);\r\n }\r\n\r\n /**\r\n * Closes the dialog\r\n */\r\n _bh() {\r\n let self = this;\r\n let dialogEl = document.getElementById('memo_dialog_wrapper');\r\n\r\n dialogEl?.remove();\r\n\r\n if (self._bi) {\r\n self._bi.off('change');\r\n self._bi = null;\r\n }\r\n\r\n self._bj = null;\r\n }\r\n\r\n /**\r\n * Show the memo task dialog\r\n * @param {*} [task] the task (empty if new)\r\n */\r\n _bg(task) {\r\n let self = this;\r\n\r\n // Try to support datetimepicker if VolueUI/PowelUI is used/available\r\n DatePicker = DatePicker || self.DatePicker || (window.VolueUI || window.PowelUI || self.VolueUI || self.PowelUI)?.DatePicker;\r\n\r\n // Make sure we have the memo subtypes\r\n if(!(_a0 || _a1)) {\r\n _a0 = fetch(self._ba + '/api/v3/eventlogsubtype', {\r\n headers: {\r\n Authorization: 'Bearer ' + self.userData.accessToken\r\n }\r\n })\r\n .then(response => {\r\n if (response.ok) {\r\n _a0 = null;\r\n return response.json();\r\n }\r\n })\r\n .then(data => {\r\n _a1 = data;\r\n\r\n self._bk(task.Type);\r\n });\r\n }\r\n\r\n // Initalize the task (new or edit)\r\n task = Object.assign(Object.create(null), task || {});\r\n\r\n self._bl = {\r\n dueDate: false,\r\n title: false,\r\n type: false\r\n }\r\n\r\n self._bm = false;\r\n\r\n // If new task, make sure we have default values\r\n if (!task.Title) {\r\n task.Description = '';\r\n task.Title = '';\r\n\r\n let module = _aZ[self.memoModule];\r\n\r\n task.Type = module ? module.type : null;\r\n }\r\n\r\n let dialog = () => html`
${self._bn()}
${self._bo\r\n ? html`
${self._bp}....
`\r\n : nothing\r\n }
${self._bq(task)}
${self._bd || self._bc\r\n ? self._br(task)\r\n : self._be\r\n ? self._bs(task)\r\n : self._bf\r\n ? self._bt(task)\r\n : self._bu(task)\r\n }
${self._bv(task)}
`;\r\n\r\n // Use keyed to force a rerender of the dialog always\r\n let keyedId = Date.now();\r\n self._bj = () => render(keyed(keyedId, dialog()), document.body, { host: self });\r\n self._bj();\r\n\r\n if (_a1) {\r\n self._bk(task?.Type);\r\n }\r\n\r\n // Fade in the dialog\r\n setTimeout(() => {\r\n document.getElementById('memo_dialog_wrapper').style.opacity = 1;\r\n document.getElementById('memo_dialog').style.transform = 'translateY(0)';\r\n }, 0)\r\n }\r\n\r\n /**\r\n * Gets the dialog style\r\n * @returns {import(\"lit-html\").TemplateResult}\r\n */\r\n _bn() {\r\n return html``\r\n }\r\n\r\n /**\r\n * Get the details view of a memo task\r\n */\r\n _bu(task) {\r\n let self = this;\r\n\r\n return html`
${t(task.Type)} ${_a1 && task.SubType ? html`
(${_a1.filter(t => t.code === task.SubType)[0]?.title || task.SubType})
` : nothing}
${dateFormat.format(new Date(task.DueDate))}
${task.OwnerUserId ? unsafeSVG('') : unsafeSVG('')}
${task.OwnerUserId ? t('Private') : t('Public')}
${task.Description}
`;\r\n }\r\n\r\n /**\r\n * Get the header text, which difffers on new, edit and detailview\r\n * @param {*} task\r\n * @returns {string} the header\r\n */\r\n _bq(task) {\r\n let self = this;\r\n\r\n return self._bc\r\n ? t('AddMemo')\r\n : self._bd\r\n ? t('EditMemo')\r\n : task.Title\r\n }\r\n\r\n /**\r\n * Get the buttons view, which depends on the mode we're in (edit, new, delete, complete)\r\n * @param {*} task\r\n * @returns {import(\"../types/lit-html\").TemplateResult} the buttons template\r\n */\r\n _bv(task) {\r\n let self = this;\r\n\r\n return self._bd\r\n ? html`${self._bw ? html`
${self._bw}
`: nothing} `\r\n : self._be\r\n ? html` `\r\n : self._bf\r\n ? html` `\r\n : self._bc\r\n ? html`${self._bw ? html`
${self._bw}
`: nothing} `\r\n : html` `\r\n }\r\n\r\n /**\r\n * Validate new/edited task data\r\n * @param {*} task\r\n * @returns\r\n */\r\n _bx(task) {\r\n let self = this;\r\n let valErrors = self._bl;\r\n let failed = self._bm;\r\n\r\n valErrors.dueDate = !task.DueDate;\r\n valErrors.title = !task.Title;\r\n valErrors.type = !task.Type;\r\n// TODO: Validate dueDate is in the future if changed\r\n// valErrors.dueDateInPast = true/false\r\n self._bm = (valErrors.dueDate || valErrors.title || valErrors.type);\r\n\r\n if (failed || self._bm) {\r\n self._bj();\r\n }\r\n\r\n return !self._bm;\r\n }\r\n\r\n /**\r\n * Get view of add/edit a memo task\r\n * @param {*} task\r\n * @returns\r\n */\r\n _br(task) {\r\n let self = this;\r\n\r\n return html`
${t('Yes')}
${t('No')}
{ task.Title = e.target.value; self._bm && self._bx(task); }}\" required> ${self._bm && self._bl.title ? html`
${t('TitleIsMandatory')}
` : nothing}
${\r\n DatePicker\r\n ? guard([task], () => {\r\n queueMicrotask(() => {\r\n let dateEl = document.getElementById('memoDueDate');\r\n\r\n self._bi = DatePicker(dateEl, { format: 'dd.mm.yyyy', firstDay: 1, triggerChangeOnEmpty: true})\r\n\r\n self._bi.on('change', (date) => {\r\n task.DueDate = self._bi.value();\r\n self._bm && self._bx(task);\r\n })\r\n\r\n // Hack to prevent bug in PowelUI DatePicker (missing .cal.min function).\r\n if (self._bi._native) {\r\n dateEl.min = getIsoDateStr (new Date());\r\n }\r\n else {\r\n self._bi.min(new Date());\r\n }\r\n\r\n self._bi.value(task.DueDate);\r\n })\r\n return html`
`})\r\n : html` { task.DueDate = e.target.value; self._bm && self._bx(task); }}\" required>`\r\n } ${self._bm && self._bl.dueDate ? html`
${t('MandatoryField')}
` : nothing}
`;\r\n }\r\n\r\n /**\r\n * Get the 'Are you sure...?' template for deleting a memo task\r\n * @param {*} task\r\n * @returns {import(\"../types/lit-html\").TemplateResult} the delete-memo-task template\r\n */\r\n _bs(task) {\r\n return html`
${t('DeleteMemo')}
${t('DeleteMemoAreYouSure')}
`;\r\n }\r\n\r\n /**\r\n * Get the 'Are you sure...?' template for completing a memo task\r\n *\r\n * @param {*} task\r\n * @returns {import(\"../types/lit-html\").TemplateResult} the complete-memo-task template\r\n */\r\n _bt(task) {\r\n return html`
${t('CompleteMemo')}
${t('CompleteMemoAreYouSure')}
`;\r\n }\r\n\r\n /**\r\n *\r\n * @param {string} taskType the task type (module)\r\n */\r\n _bk(taskType) {\r\n if(!taskType) {\r\n return;\r\n }\r\n\r\n let self = this;\r\n let index = Object.values(_aZ).filter(m => m.type === taskType)[0].domain;\r\n\r\n self._bA = _a1.filter(item => item.isActive && (item.domain === index || item.domain === null)).sort((a, b) => a.title < b.title ? -1 : 1);\r\n self._bj();\r\n }\r\n\r\n /**\r\n * Retrieves tasks based on memo filters\r\n */\r\n _a4() {\r\n let self = this;\r\n\r\n if (!((self._aY && self.userData) && self.memoType)) {\r\n return;\r\n }\r\n\r\n if (!(self.memoId || self.allowNoMemoId)) {\r\n return;\r\n }\r\n\r\n if (self._bB) {\r\n return;\r\n }\r\n\r\n self._bB = true;\r\n self._a2 = null;\r\n\r\n let tagFilter = 'extobj' + (self.memoId ? 'id' : '') + ':' + self.memoType + (self.memoId ? ':' + self.memoId : '');\r\n\r\n fetch(self._aY + '/api/memos?filter=' + tagFilter, {\r\n headers: {\r\n Authorization: 'Bearer ' + self.userData.accessToken\r\n }\r\n })\r\n .then(response => {\r\n if (response.status > 299 || response.status < 200) {\r\n throw {\r\n message: response.statusText ? response.statusText + ' (' + response.status + ')' : response.status + ' (unknown error)'\r\n }\r\n }\r\n\r\n return response.json()\r\n })\r\n .then(tasks => {\r\n self._a6 = null;\r\n self._a2 = tasks;\r\n\r\n tasks.forEach(task => task.SubType = (task.Tags.filter(tag => tag.startsWith('eventLogSubtype:'))[0] || '').substring(16) || null);\r\n })\r\n .catch(error => {\r\n self._a6 = error.message || 'Uknown error occured getting memos';\r\n self.requestRender('error');\r\n })\r\n .finally(_ => {\r\n self._bB = false;\r\n });\r\n }\r\n\r\n /**\r\n * Delete or complete a memo\r\n * @param {string} taskId the id of the memo to be completed/deleted\r\n * @param {'complete'|'delete'} cmd the command to execute, 'complete' or 'delete'\r\n */\r\n _bz(taskId, cmd) {\r\n let self = this;\r\n\r\n self._bo = true;\r\n self._bp = cmd === 'delete' ? 'Sletter huskelapp' : 'Fullfører huskelapp';\r\n\r\n self._bj();\r\n\r\n self.$triggerEvent(`wave-memo-${(cmd === 'delete' ? 'delete' : 'complete')}`, {\r\n data: self._a2.filter(t => t.Id === taskId)[0]\r\n });\r\n\r\n fetch(`${self._aY}/api/memos/${taskId}${(cmd === 'complete' ? '/setdone' : '')}`, {\r\n method: cmd === 'delete' ? 'DELETE' : 'PUT',\r\n headers: {\r\n Authorization: 'Bearer ' + self.userData.accessToken\r\n }\r\n })\r\n .then(response => {\r\n if (response.status > 299 || response.status < 200) {\r\n throw {\r\n message: response.statusText ? `${response.statusText} (${response.status})` : response.status + ' (unknown error)',\r\n response\r\n }\r\n }\r\n\r\n self._a6 = null;\r\n\r\n let indexOfTask = self._a2.findIndex(t => t.Id === taskId);\r\n\r\n self._a2.splice(indexOfTask, 1);\r\n self.requestRender('taskcomplete');\r\n self._bh();\r\n })\r\n .catch(error => {\r\n let response = error.response;\r\n\r\n if (response) {\r\n response.text().then(msg => {\r\n self._a6 = msg || `${(response.statusText ? response.statusText : 'Unknown error')} (${response.status})`;\r\n self.requestRender('error');\r\n });\r\n }\r\n else {\r\n self._a6 = error.message || 'Uknown error';\r\n self.requestRender('error');\r\n }\r\n })\r\n .finally(_ => {\r\n self._bo = false;\r\n });\r\n }\r\n\r\n /**\r\n *\r\n * @param {*} task\r\n */\r\n _by(task) {\r\n let self = this;\r\n\r\n self._bw = null;\r\n self._bo = true;\r\n self._bp = task.Id ? t('UpdateMemo') : t('AddMemo');\r\n task.Tags = task.Tags || [];\r\n\r\n if (task.Tags.indexOf('extobj:' + self.memoType) === -1) {\r\n task.Tags.push('extobj:' + self.memoType);\r\n\r\n if (self.memoId) {\r\n task.Tags.push(`extobjid:${self.memoType}:${self.memoId}`);\r\n }\r\n\r\n task.Url = location.href;\r\n }\r\n\r\n // Make sure subtype is updated\r\n task.Tags = task.Tags.filter(t => t.indexOf('eventLogSubtype:') === -1);\r\n task.SubType && task.Tags.push('eventLogSubtype:' + task.SubType);\r\n\r\n self._bj();\r\n\r\n self.$triggerEvent(`wave-memo-${(task.Id ? 'update' : 'add')}`, {\r\n data: task\r\n });\r\n\r\n if (!task.Id) {\r\n task.Data = self.memoData || [];\r\n }\r\n\r\n fetch(`${self._aY}/api/memos${(task.Id ? '/' + task.Id : '')}`, {\r\n method: task.Id ? 'PUT' : 'POST',\r\n headers: {\r\n Authorization: 'Bearer ' + self.userData.accessToken,\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(task)\r\n })\r\n .then(response => {\r\n if (response.status > 299 || response.status < 200) {\r\n throw {\r\n message: response.statusText ? `${response.statusText} (${response.status})` : response.status + ' (unknown error)',\r\n response\r\n }\r\n }\r\n\r\n return response.json();\r\n })\r\n .then(updTask => {\r\n self._bw = null;\r\n\r\n let indexOfTask = self._a2.findIndex(t => t.Id === updTask.Id);\r\n\r\n updTask.SubType = task.SubType;\r\n\r\n if (indexOfTask !== -1){\r\n self._a2.splice(indexOfTask, 1, updTask);\r\n }\r\n else {\r\n self._a2.push(updTask);\r\n }\r\n\r\n self.requestRender('taskcomplete');\r\n self._bj();\r\n self._bh();\r\n })\r\n .catch(error => {\r\n let response = error.response;\r\n\r\n if (response) {\r\n response.json().then(msg => {\r\n self._bw = msg || `${(response.statusText ? response.statusText : 'Unknown error')} (${response.status})`;\r\n self._bj();\r\n self.requestRender('error');\r\n });\r\n }\r\n else {\r\n self._bw = error.message || 'Uknown error';\r\n self._bj();\r\n self.requestRender('error');\r\n }\r\n })\r\n .finally(_ => {\r\n self._bo = false;\r\n self.requestRender('addupdatedone');\r\n });\r\n }\r\n\r\n /**\r\n * Get the style of the element\r\n * @returns {import(\"lit-html\").TemplateResult} the style TemplateResult\r\n */\r\n _a3 (a) {\r\n // INFO: spinner from https://projects.lukehaas.me/css-loaders/\r\n // https://cssloaders.github.io/\r\n // https://loading.io/css/\r\n return html``;\r\n }\r\n\r\n /**\r\n * Get the tasks API url\r\n * @param {string} tokenIssuerUrl the token issuer\r\n * @returns {string} the task API url\r\n */\r\n _a9(tokenIssuerUrl) {\r\n return `https://${(tokenIssuerUrl.indexOf('onpowel') > 0 || origin.indexOf('powel.net') > 0\r\n ? 'tasks.onpowel.com'\r\n : tokenIssuerUrl.indexOf('qaidsrv') > 0\r\n ? 'powelapiqatasks.azurewebsites.net'\r\n : 'powelapicitasks.azurewebsites.net')}`\r\n //: 'tasks.local.voluead.volue.com')\r\n }\r\n\r\n /**\r\n * Get the PF API url\r\n * @param {string} tokenIssuerUrl the token issuer\r\n * @returns {string} the PF API url\r\n */\r\n _bb(tokenIssuerUrl) {\r\n return `https://${(tokenIssuerUrl.indexOf('onpowel') > 0 || origin.indexOf('powel.net') > 0\r\n ? 'pfacilitiesapi.onpowel.com'\r\n : tokenIssuerUrl.indexOf('qaidsrv') > 0\r\n ? 'powelappqaprivatefacilitiesapi.azurewebsites.net'\r\n : 'powelappciprivatefacilitiesapi.azurewebsites.net')}`\r\n }\r\n}\r\n\r\n// Define the new web component\r\nif (!window.customElements.get(tag)) {\r\n window.customElements.define(tag, WaveMemoTasksElement);\r\n}"],"names":["$efd8c12dcbe977b1$var$_a0","$efd8c12dcbe977b1$var$_a1","$efd8c12dcbe977b1$var$DatePicker","html","$efd8c12dcbe977b1$var$html","nothing","$efd8c12dcbe977b1$var$nothing","render","$efd8c12dcbe977b1$var$render","guard","$efd8c12dcbe977b1$var$guard","unsafeSVG","$efd8c12dcbe977b1$var$unsafeSVG","repeat","$efd8c12dcbe977b1$var$repeat","keyed","$efd8c12dcbe977b1$var$keyed","CustomTokenHTMLElement","$efd8c12dcbe977b1$var$CustomTokenHTMLElement","on","$efd8c12dcbe977b1$var$on","translation","$efd8c12dcbe977b1$var$translation","utils","$efd8c12dcbe977b1$var$utils","lithtml","$efd8c12dcbe977b1$var$tag","$efd8c12dcbe977b1$var$version","$efd8c12dcbe977b1$var$propsTriggeringGettingTasks","_aY","userData","memoType","memoId","$efd8c12dcbe977b1$var$_aZ","Connection","type","domain","value","Customer","Backflow","Industry","Watermeter","Matrikkel","Sludge","Discharge","getIsoDateStr","$efd8c12dcbe977b1$var$getIsoDateStr","$efd8c12dcbe977b1$var$dateFormat","Intl","DateTimeFormat","day","month","year","$efd8c12dcbe977b1$var$t","init","add","Tasks","WaterConnectionMemo","PrivateFacilitiesCustomerMemo","PrivateFacilitiesBackflowMemo","PrivateFacilitiesIndustryMemo","PrivateFacilitiesWaterMeterMemo","PrivateFacilitiesMatrikkelMemo","PrivateFacilitiesSludgeMemo","PrivateFacilitiesDischargeMemo","ExcavationMemo","Private","Public","AddMemo","EditMemo","Save","Cancel","Edit","Delete","CompleteTask","YesDelete","YesComplete","PrivateTask","Yes","No","Module","ModuleType","DueDate","Title","Description","DeleteMemo","CompleteMemo","UpdateMemo","TitleIsMandatory","MandatoryField","DeleteMemoAreYouSure","CompleteMemoAreYouSure","load","language","$efd8c12dcbe977b1$var$WaveMemoTasksElement","tag","version","observedAttributes","observedProperties","onFirstConnected","super","self","this","css","_a3","strings","replace","$setShadowStyle","$attribs","onDisconnected","dialogEl","document","getElementById","remove","onPropertyChanged","name","oldValue","newValue","_a4","memoModule","Object","values","sort","a","b","_a5","reason","_a6","_a2","length","_a7","_a8","task","Id","format","Date","onUserData","token","JSON","parse","window","atob","accessToken","split","_a9","iss","_ba","_bb","e","_bc","_bd","_be","_bf","_bg","taskId","composedPath","filter","i","t","_bh","_bi","off","_bj","DatePicker","VolueUI","PowelUI","fetch","headers","Authorization","then","response","ok","json","data","_bk","Type","assign","create","_bl","dueDate","title","_bm","module","keyedId","now","_bn","_bo","_bp","_bq","_br","_bs","_bt","_bu","_bv","body","host","setTimeout","style","opacity","transform","SubType","code","OwnerUserId","_bw","_bx","_by","_bz","valErrors","failed","userInfo","target","queueMicrotask","dateEl","firstDay","triggerChangeOnEmpty","date","_native","min","disableModuleSelection","item","_bA","taskType","index","m","isActive","allowNoMemoId","_bB","tagFilter","status","message","statusText","tasks","forEach","Tags","startsWith","substring","catch","error","requestRender","finally","_","cmd","$triggerEvent","method","indexOfTask","findIndex","splice","text","msg","indexOf","push","Url","location","href","Data","memoData","stringify","updTask","tokenIssuerUrl","origin","constructor","customElements","get","define"],"version":3,"file":"wave-memo-tasks.js.map"}