diff --git a/Message/Notification/Browser/BrowserNotification.js b/Message/Notification/Browser/BrowserNotification.js index 6daf76e..8f62aee 100755 --- a/Message/Notification/Browser/BrowserNotification.js +++ b/Message/Notification/Browser/BrowserNotification.js @@ -48,7 +48,7 @@ export class BrowserNotification { /** global: Notification */ if (Notification.permission !== 'granted' && Notification.permission !== 'denied') { - Notification.requestPermission().then(function (permission) { }); + Notification.requestPermission(); } }; @@ -65,9 +65,12 @@ export class BrowserNotification { /** global: Notification */ if (Notification.permission === 'granted') { - const notification = new Notification(msg.title, { body: msg.message, vibrate: [msg.vibrate ? 200 : 0] }); - - setTimeout(notification.close.bind(notification), 5000); + registration.showNotification(msg.title, { + body: msg.message, + icon: "../images/touch/chrome-touch-icon-192x192.png", + vibrate: [msg.vibrate ? 200 : 0], + tag: "notification", + }); } }; }; diff --git a/Message/Request/Request.js b/Message/Request/Request.js index 5ca6aa5..c2acc84 100755 --- a/Message/Request/Request.js +++ b/Message/Request/Request.js @@ -10,6 +10,8 @@ import { RequestType } from './RequestType.js'; * @license OMS License 2.0 * @version 1.0.0 * @since 1.0.0 + * + * @question Consider to completely remove and replace with fetch */ export class Request { @@ -312,6 +314,7 @@ export class Request const self = this; + // @question Consider to change to fetch if (this.xhr.readyState !== 1) { if (this.type === RequestType.FORM_DATA) { // GET request doesn't allow body/payload. Therefor we have to put the data into the uri diff --git a/UI/Component/Form.js b/UI/Component/Form.js index 4969518..da041e5 100755 --- a/UI/Component/Form.js +++ b/UI/Component/Form.js @@ -575,7 +575,7 @@ export class Form /** @var {object} remoteUrls Texts and values which come from remote sources */ const remoteUrls = {}; - jsOMS.removeClass(element, 'hidden'); + jsOMS.removeClass(element, 'vh'); // todo bind failure here, if failure do cancel, if success to remove edit template self.forms[id].setSuccess(function (response, xhr) { @@ -728,19 +728,19 @@ export class Form let buttonLength = addButtons.length; for (let i = 0; i < buttonLength; ++i) { - jsOMS.removeClass(addButtons[i], 'hidden'); + jsOMS.removeClass(addButtons[i], 'vh'); } const saveButtons = self.forms[externalFormId].getSave(); buttonLength = saveButtons.length; for (let i = 0; i < buttonLength; ++i) { - jsOMS.addClass(saveButtons[i], 'hidden'); + jsOMS.addClass(saveButtons[i], 'vh'); } const cancelButtons = self.forms[externalFormId].getCancel(); buttonLength = cancelButtons.length; for (let i = 0; i < buttonLength; ++i) { - jsOMS.addClass(cancelButtons[i], 'hidden'); + jsOMS.addClass(cancelButtons[i], 'vh'); } } @@ -773,7 +773,7 @@ export class Form /** @var {Element} elementContainer Original element */ const element = uiContainer.querySelector('.hidden[data-id="' + elementContainer.getAttribute('data-id') + '"]'); - jsOMS.removeClass(element, 'hidden'); + jsOMS.removeClass(element, 'vh'); elementContainer.parentNode.removeChild(elementContainer); } @@ -792,19 +792,19 @@ export class Form const addButtons = self.forms[id].getAdd(); length = addButtons.length; for (let i = 0; i < length; ++i) { - jsOMS.removeClass(addButtons[i], 'hidden'); + jsOMS.removeClass(addButtons[i], 'vh'); } const saveButtons = self.forms[id].getSave(); length = saveButtons.length; for (let i = 0; i < length; ++i) { - jsOMS.addClass(saveButtons[i], 'hidden'); + jsOMS.addClass(saveButtons[i], 'vh'); } const cancelButtons = self.forms[id].getCancel(); length = cancelButtons.length; for (let i = 0; i < length; ++i) { - jsOMS.addClass(cancelButtons[i], 'hidden'); + jsOMS.addClass(cancelButtons[i], 'vh'); } } @@ -830,7 +830,7 @@ export class Form /** @var {Element} elementContainer Element container that holds the data that should get updated */ const elementContainer = event.target.closest(formElement.getAttribute('data-ui-element')); - jsOMS.addClass(elementContainer, 'hidden'); + jsOMS.addClass(elementContainer, 'vh'); /** @var {NodeListOf} values Value elements of the element to update */ const values = elementContainer.querySelectorAll('[data-tpl-value]'); @@ -880,13 +880,13 @@ export class Form const saveButtons = self.forms[id].getSave(); let buttonLength = saveButtons.length; for (let i = 0; i < buttonLength; ++i) { - jsOMS.removeClass(saveButtons[i], 'hidden'); + jsOMS.removeClass(saveButtons[i], 'vh'); } const cancelButtons = self.forms[id].getCancel(); buttonLength = cancelButtons.length; for (let i = 0; i < buttonLength; ++i) { - jsOMS.removeClass(cancelButtons[i], 'hidden'); + jsOMS.removeClass(cancelButtons[i], 'vh'); } // define remote response behavior @@ -937,19 +937,19 @@ export class Form const addButtons = self.forms[externalFormId].getAdd(); length = addButtons.length; for (let i = 0; i < length; ++i) { - jsOMS.addClass(addButtons[i], 'hidden'); + jsOMS.addClass(addButtons[i], 'vh'); } const saveButtons = self.forms[externalFormId].getSave(); length = saveButtons.length; for (let i = 0; i < length; ++i) { - jsOMS.removeClass(saveButtons[i], 'hidden'); + jsOMS.removeClass(saveButtons[i], 'vh'); } const cancelButtons = self.forms[externalFormId].getCancel(); length = cancelButtons.length; for (let i = 0; i < length; ++i) { - jsOMS.removeClass(cancelButtons[i], 'hidden'); + jsOMS.removeClass(cancelButtons[i], 'vh'); } /** @var {object} remoteUrls Texts and values which come from remote sources */ diff --git a/UI/Component/Table.js b/UI/Component/Table.js index 9d63177..c176ea8 100755 --- a/UI/Component/Table.js +++ b/UI/Component/Table.js @@ -182,7 +182,7 @@ export class Table const rows = header.parentElement.getElementsByTagName('tr'); const rowLength = rows.length; - if (state === '1' && !jsOMS.hasClass(columns[i], 'hidden')) { + if (state === '1' && !jsOMS.hasClass(columns[i], 'vh')) { for (let j = 0; j < rowLength; ++j) { const cols = rows[j].getElementsByTagName('td'); @@ -190,9 +190,9 @@ export class Table continue; } - jsOMS.addClass(cols[i], 'hidden'); + jsOMS.addClass(cols[i], 'vh'); } - } else if ((state === '0' || state === null) && jsOMS.hasClass(columns[i], 'hidden')) { + } else if ((state === '0' || state === null) && jsOMS.hasClass(columns[i], 'vh')) { for (let j = 0; j < rowLength; ++j) { const cols = rows[j].getElementsByTagName('td'); @@ -200,7 +200,7 @@ export class Table continue; } - jsOMS.removeClass(cols[i], 'hidden'); + jsOMS.removeClass(cols[i], 'vh'); } } } @@ -240,7 +240,7 @@ export class Table menuLine.firstElementChild.firstElementChild.setAttribute('id', lineId); menuLine.firstElementChild.appendChild(document.createTextNode(columns[i].firstElementChild.innerText.trim())); - const isHidden = jsOMS.hasClass(columns[i], 'hidden'); + const isHidden = jsOMS.hasClass(columns[i], 'vh'); menu.getElementsByTagName('ul')[0].appendChild(menuLine); menu.querySelector('ul').lastElementChild.querySelector('input[type="checkbox"]').checked = !isHidden; @@ -249,7 +249,7 @@ export class Table const rows = header.parentElement.getElementsByTagName('tr'); const rowLength = rows.length; - const isHidden = jsOMS.hasClass(columns[i], 'hidden'); + const isHidden = jsOMS.hasClass(columns[i], 'vh'); if (isHidden) { window.localStorage.setItem('ui-state-' + self.id + '-header-' + i, JSON.stringify('0')); @@ -261,9 +261,9 @@ export class Table const cols = rows[j].getElementsByTagName('td'); if (isHidden) { - jsOMS.removeClass(cols[i], 'hidden'); + jsOMS.removeClass(cols[i], 'vh'); } else { - jsOMS.addClass(cols[i], 'hidden'); + jsOMS.addClass(cols[i], 'vh'); } } });