dash-button-web 0.0.23-beta.3 → 0.0.23-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/dash-button_4.cjs.entry.js +30 -5
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/web-compnont.cjs.js +1 -1
- package/dist/collection/components/my-component/dash-button.js +50 -5
- package/dist/components/dash-button.js +1 -1
- package/dist/esm/dash-button_4.entry.js +30 -5
- package/dist/esm/loader.js +1 -1
- package/dist/esm/web-compnont.js +1 -1
- package/dist/types/components/my-component/dash-button.d.ts +4 -0
- package/dist/types/components.d.ts +9 -0
- package/dist/web-compnont/{p-a0a0ebc6.entry.js → p-51ba5339.entry.js} +1 -1
- package/dist/web-compnont/web-compnont.esm.js +1 -1
- package/package.json +1 -1
|
@@ -4072,6 +4072,7 @@ const DashButtonComponent = class {
|
|
|
4072
4072
|
showUnauthorizedModal = false;
|
|
4073
4073
|
primaryColor = "";
|
|
4074
4074
|
accentColor = "";
|
|
4075
|
+
showNotification = true;
|
|
4075
4076
|
notificationPosition = "left";
|
|
4076
4077
|
keycloak = null;
|
|
4077
4078
|
isAuth = false;
|
|
@@ -4084,6 +4085,26 @@ const DashButtonComponent = class {
|
|
|
4084
4085
|
localMenuLinks;
|
|
4085
4086
|
organizationUrl;
|
|
4086
4087
|
isRestricted = false;
|
|
4088
|
+
componentDidLoad() {
|
|
4089
|
+
document.addEventListener('click', this.handleNotificationLinkClick, true);
|
|
4090
|
+
}
|
|
4091
|
+
disconnectedCallback() {
|
|
4092
|
+
document.removeEventListener('click', this.handleNotificationLinkClick, true);
|
|
4093
|
+
}
|
|
4094
|
+
// Fix notification home icon click not opening a new tab
|
|
4095
|
+
// (workaround for ice-notification-component shadow DOM click bug)
|
|
4096
|
+
handleNotificationLinkClick = (event) => {
|
|
4097
|
+
const path = event.composedPath();
|
|
4098
|
+
const insideNotification = path.some((node) => node.tagName === 'NOTIFICATION-COMPONENT');
|
|
4099
|
+
if (!insideNotification)
|
|
4100
|
+
return;
|
|
4101
|
+
const anchor = path.find((node) => node.tagName === 'A' && node.target === '_blank');
|
|
4102
|
+
if (!anchor || !anchor.href)
|
|
4103
|
+
return;
|
|
4104
|
+
event.preventDefault();
|
|
4105
|
+
event.stopPropagation();
|
|
4106
|
+
window.open(anchor.href, '_blank', 'noopener');
|
|
4107
|
+
};
|
|
4087
4108
|
async componentWillLoad() {
|
|
4088
4109
|
// Fetch config from API
|
|
4089
4110
|
this.config = await configService.fetchConfig(this.portalApiUrl);
|
|
@@ -4230,7 +4251,7 @@ const DashButtonComponent = class {
|
|
|
4230
4251
|
return orgHost && owner ? (index.h("notification-component", { owner: owner, "max-records": 10, "display-type": "icon", "notification-url": `https://notifications.${orgHost}/notifications-api`, "socket-connect": true, "socket-url": `wss://repository.${orgHost}/socket`, "list-url": `https://notifications.${orgHost}/notifications` })) : null;
|
|
4231
4252
|
}
|
|
4232
4253
|
render() {
|
|
4233
|
-
return index.h("div", { key: '
|
|
4254
|
+
return index.h("div", { key: '57c4d43eaceef73591cf34d4f0159ee50d8bd467' }, index.h("div", { key: '78c10961f08f22abb23a43ec53de76fd464fdfe2' }, (() => {
|
|
4234
4255
|
// GLOBAL LOADING SPINNER
|
|
4235
4256
|
if (this.isLoading) {
|
|
4236
4257
|
return (index.h("a", { id: "login-btn", class: "button button-link" }, index.h("div", { class: "lds-ring" }, index.h("div", null), index.h("div", null), index.h("div", null), index.h("div", null))));
|
|
@@ -4242,7 +4263,9 @@ const DashButtonComponent = class {
|
|
|
4242
4263
|
return (index.h("a", { style: { background: this.primaryColor != undefined ? this.primaryColor : "" }, href: this.redirectUri, id: "login-btn", class: "button button-link" }, index.h("span", { style: { color: this.accentColor != undefined ? this.accentColor : "" }, class: "button-text button-text-full-width" }, "Go to Dashboard")));
|
|
4243
4264
|
}
|
|
4244
4265
|
else if (this.isAuth) {
|
|
4245
|
-
return (index.h("div", { class: "profile-actions", style: { display: "inline-flex", alignItems: "center", gap: "15px" } }, this.
|
|
4266
|
+
return (index.h("div", { class: "profile-actions", style: { display: "inline-flex", alignItems: "center", gap: "15px" } }, this.showNotification &&
|
|
4267
|
+
this.notificationPosition !== "right" &&
|
|
4268
|
+
this.renderNotificationComponent(), index.h("div", { id: "profile-btn", class: "dropdown" }, index.h("button", { style: { background: this.primaryColor != undefined ? this.primaryColor : "" }, type: "button", class: "button" }, index.h("span", { class: "button-profile" }, JSON.parse(localStorage.getItem('keycloak') ?? '{}').idTokenParsed.imageUrl ?
|
|
4246
4269
|
index.h("img", { class: "profile-image", src: "https://s-damith.github.io/test-avatar/images/e24da9c5-0b1f-46fa-82cd-7c711c77b5c7.png" })
|
|
4247
4270
|
:
|
|
4248
4271
|
index.h("div", { innerHTML: this.avatarSvg })), index.h("span", { style: { color: this.accentColor != undefined ? this.accentColor : "" }, id: "given-name", class: "button-text" }, this.givenUserName), index.h("div", { class: "button-icon" }, (this.config.menuViewType == "grid") ? index.h("i", { class: "fa-solid fa-grip-vertical" }) : index.h("i", { class: "fa-solid fa-bars" }))), index.h("div", { class: "dropdown-content" }, index.h("div", { class: "dropdown-user-profile" }, index.h("div", { class: "username" }, "@", this.givenUserName), index.h("div", { class: "first-last-name" }, JSON.parse(localStorage.getItem('keycloak') ?? '{}').idTokenParsed.name)), (this.config.menuViewType == "grid") ? (index.h("div", null, index.h("div", { class: "grid-view-menu" }, this.config.menu.global.links.map(item => {
|
|
@@ -4253,12 +4276,14 @@ const DashButtonComponent = class {
|
|
|
4253
4276
|
// List View
|
|
4254
4277
|
index.h("div", { class: "dropdown-content-link" }, this.config.menu.global.links.map(item => {
|
|
4255
4278
|
return (index.h("a", { href: item.url, target: '_blank', id: "applications-btn" }, index.h("i", { class: item.icon + " menu-bar-icons" }), item.name));
|
|
4256
|
-
}), index.h("a", { onClick: this.showModal.bind(this), id: "applications-btn" }, index.h("i", { class: "fa-regular fa-window-restore menu-bar-icons" }), "Modules"), index.h("a", { href: this.config.defaultLink.url, target: '_blank', id: "applications-btn" }, index.h("i", { class: "fa-solid fa-globe menu-bar-icons" }), this.config.defaultLink.name), index.h("a", { onClick: this.logout.bind(this), id: "logout-btn" }, index.h("i", { class: "fa-solid fa-right-from-bracket menu-bar-icons" }), "Logout"))))), this.
|
|
4279
|
+
}), index.h("a", { onClick: this.showModal.bind(this), id: "applications-btn" }, index.h("i", { class: "fa-regular fa-window-restore menu-bar-icons" }), "Modules"), index.h("a", { href: this.config.defaultLink.url, target: '_blank', id: "applications-btn" }, index.h("i", { class: "fa-solid fa-globe menu-bar-icons" }), this.config.defaultLink.name), index.h("a", { onClick: this.logout.bind(this), id: "logout-btn" }, index.h("i", { class: "fa-solid fa-right-from-bracket menu-bar-icons" }), "Logout"))))), this.showNotification &&
|
|
4280
|
+
this.notificationPosition === "right" &&
|
|
4281
|
+
this.renderNotificationComponent()));
|
|
4257
4282
|
}
|
|
4258
4283
|
else {
|
|
4259
4284
|
return (index.h("button", { style: { background: this.primaryColor != undefined ? this.primaryColor : "" }, onClick: this.login.bind(this), id: "login-btn", type: "button", class: "button" }, index.h("span", { style: { color: this.accentColor != undefined ? this.accentColor : "" }, class: "button-text" }, "Login")));
|
|
4260
4285
|
}
|
|
4261
|
-
})()), index.h("div", { key: '
|
|
4286
|
+
})()), index.h("div", { key: 'bc2a9cd3ac9953abe129881d4f97ae2871b647e8', id: "appListModal", class: "modal" }, index.h("div", { key: 'b2baf53915465fe352bedbd3bf914581e62017c3', class: "modal-content" }, index.h("span", { key: 'bc0eaa43c6a072fe38207565ca3c290a45e273ea', onClick: this.closeModal.bind(this), class: "close" }, "\u00D7"), index.h("div", { key: 'f539acd9a1cf03f97eb022e1e83f8e1d2f2f5a05', class: "box" }, index.h("input", { key: '51217c86dc2b31f2a72c90e25f54cc4ab99528e4', type: "radio", class: "tab-toggle", name: "tab-toggle", id: "tab1", checked: true }), index.h("ul", { key: '1f695d6dba7e5d93ba560f5f99e147756bffd497', class: "tab-list" }, index.h("li", { key: '7c6434c1db2a6438cb85c70983fd1046247f1502', class: "tab-item" }, index.h("label", { key: '41ad73e88dac4cdbbdc1adc537c116a49e13a403', class: "tab-trigger", htmlFor: "tab1" }, index.h("i", { key: '386b1ce6270159bcdc38addd2be188d1c37ef495', class: "fa-solid fa-table-list menu-bar-icons" }), " ", this.config.menu.local.name))), index.h("div", { key: '3fc2153186d90c6a3f2fb59677090194727b3427', class: "tab-container" }, index.h("div", { key: '334e78b9eeaac1dccae605feedfe3d2876347c0b', class: "tab-content" }, index.h("div", { key: 'af361f67124f44792b02c959617e8ea4a7ff88b7', class: "modal-body" }, !this.config?.menu?.local?.enableCustomLocalMenu ? (
|
|
4262
4287
|
// <div>{this.localMenuLinks}</div>
|
|
4263
4288
|
this.localMenuLinks?.map((app, index$1) => {
|
|
4264
4289
|
const isDisabled = !app.url;
|
|
@@ -4266,7 +4291,7 @@ const DashButtonComponent = class {
|
|
|
4266
4291
|
})) : (this.config.menu.local.links?.map((app, index$1) => (index.h("a", { key: index$1, class: "external-app-link", target: "_blank", rel: "noopener noreferrer", href: app.url }, index.h("div", { class: "modal-app" }, index.h("div", null, app.name)))))), !this.organizationUrl ? (index.h("div", null, index.h("h3", { class: "gray-text" }, "Organization Domain URL not set"), index.h("p", { class: "gray-text" }, "Please set your Organization Domain URL on the Portal profile page."))) : (((!this.config?.menu?.local?.enableCustomLocalMenu &&
|
|
4267
4292
|
(this.localMenuLinks?.length ?? 0) === 0) ||
|
|
4268
4293
|
(this.config?.menu?.local?.enableCustomLocalMenu &&
|
|
4269
|
-
(this.config?.menu?.local?.links?.length ?? 0) === 0)) && (index.h("div", null, index.h("h3", { class: "gray-text" }, "No installed ", this.config?.menu?.local?.name || "menu", " found."), index.h("p", { class: "gray-text" }, "Please contact administration.")))))))))), index.h("div", { key: '
|
|
4294
|
+
(this.config?.menu?.local?.links?.length ?? 0) === 0)) && (index.h("div", null, index.h("h3", { class: "gray-text" }, "No installed ", this.config?.menu?.local?.name || "menu", " found."), index.h("p", { class: "gray-text" }, "Please contact administration.")))))))))), index.h("div", { key: 'ac29533cc89280c4b34e6bd5869cfcd046282cf3', id: "appPermissionErrorModal", class: "modal" }, index.h("div", { key: '04352162a42ccfcfb72a248bd354b2c335259cfd', class: "modal-content" }, index.h("img", { key: 'e5bf9daaa64f7364443b20744b5463e95d25b907', src: "data:image/png;base64,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" }), index.h("h2", { key: '594d479cb58442aea1db9827c290541b092692f5', class: "green-text margin-b" }, "You don't have permission to access this application."), index.h("h3", { key: '27f9de9cb6f34c6e2f6a09201bcd512f02e83143', class: "green-text" }, "Please contact the administration."), (this.config.defaultLink.url && this.showUnauthorizedModal) ?
|
|
4270
4295
|
index.h("div", null, index.h("h4", { class: "gray-text" }, "You will be automatically redirected to the portal."), index.h("div", { id: "countdown" }, index.h("div", { id: "countdown-number" }), index.h("svg", null, index.h("circle", { r: "18", cx: "20", cy: "20" }))))
|
|
4271
4296
|
: index.h("div", null))));
|
|
4272
4297
|
}
|
package/dist/cjs/loader.cjs.js
CHANGED
|
@@ -6,7 +6,7 @@ var appGlobals = require('./app-globals-V2Kpy_OQ.js');
|
|
|
6
6
|
const defineCustomElements = async (win, options) => {
|
|
7
7
|
if (typeof window === 'undefined') return undefined;
|
|
8
8
|
await appGlobals.globalScripts();
|
|
9
|
-
return index.bootstrapLazy([["dash-button_4.cjs",[[513,"dash-button",{"showPostLoginText":[4,"show-post-login-text"],"silentCheckSso":[4,"silent-check-sso"],"redirectUri":[1,"redirect-uri"],"authMethod":[1,"auth-method"],"portalApiUrl":[1,"portal-api-url"],"plmUrl":[1,"plm-url"],"showUnauthorizedModal":[4,"show-unauthorized-modal"],"primaryColor":[1,"primary-color"],"accentColor":[1,"accent-color"],"notificationPosition":[1,"notification-position"],"keycloak":[32],"isAuth":[32],"givenUserName":[32],"silentCheckSsoRedirectUri":[32],"appList":[32],"avatarSvg":[32],"isLoading":[32],"config":[32],"localMenuLinks":[32],"organizationUrl":[32],"isRestricted":[32]}],[513,"notification-component",{"owner":[1],"applicationId":[1,"application-id"],"maxRecords":[2,"max-records"],"listUrl":[1,"list-url"],"displayType":[1,"display-type"],"notificationUrl":[1,"notification-url"],"socketConnect":[4,"socket-connect"],"socketUrl":[1,"socket-url"],"showModal":[32]},null,{"showModal":[{"ownerChanged":0}]}],[513,"notification-table",{"owner":[1],"applicationId":[1,"application-id"],"maxRecords":[2,"max-records"],"listUrl":[1,"list-url"],"displayType":[1,"display-type"],"notificationUrl":[1,"notification-url"],"socketConnect":[4,"socket-connect"],"socketUrl":[1,"socket-url"],"showTable":[32],"loading":[32],"newCount":[32],"notificationList":[32],"markingRead":[32],"pageNumber":[32],"totalRecords":[32],"search":[32],"searching":[32],"showSearchBar":[32],"categoryList":[32],"statusList":[32]},null,{"owner":[{"ownerChanged":0}]}],[513,"loading-component",{"show":[4],"size":[1]}]]]], options);
|
|
9
|
+
return index.bootstrapLazy([["dash-button_4.cjs",[[513,"dash-button",{"showPostLoginText":[4,"show-post-login-text"],"silentCheckSso":[4,"silent-check-sso"],"redirectUri":[1,"redirect-uri"],"authMethod":[1,"auth-method"],"portalApiUrl":[1,"portal-api-url"],"plmUrl":[1,"plm-url"],"showUnauthorizedModal":[4,"show-unauthorized-modal"],"primaryColor":[1,"primary-color"],"accentColor":[1,"accent-color"],"showNotification":[4,"show-notification"],"notificationPosition":[1,"notification-position"],"keycloak":[32],"isAuth":[32],"givenUserName":[32],"silentCheckSsoRedirectUri":[32],"appList":[32],"avatarSvg":[32],"isLoading":[32],"config":[32],"localMenuLinks":[32],"organizationUrl":[32],"isRestricted":[32]}],[513,"notification-component",{"owner":[1],"applicationId":[1,"application-id"],"maxRecords":[2,"max-records"],"listUrl":[1,"list-url"],"displayType":[1,"display-type"],"notificationUrl":[1,"notification-url"],"socketConnect":[4,"socket-connect"],"socketUrl":[1,"socket-url"],"showModal":[32]},null,{"showModal":[{"ownerChanged":0}]}],[513,"notification-table",{"owner":[1],"applicationId":[1,"application-id"],"maxRecords":[2,"max-records"],"listUrl":[1,"list-url"],"displayType":[1,"display-type"],"notificationUrl":[1,"notification-url"],"socketConnect":[4,"socket-connect"],"socketUrl":[1,"socket-url"],"showTable":[32],"loading":[32],"newCount":[32],"notificationList":[32],"markingRead":[32],"pageNumber":[32],"totalRecords":[32],"search":[32],"searching":[32],"showSearchBar":[32],"categoryList":[32],"statusList":[32]},null,{"owner":[{"ownerChanged":0}]}],[513,"loading-component",{"show":[4],"size":[1]}]]]], options);
|
|
10
10
|
};
|
|
11
11
|
|
|
12
12
|
exports.setNonce = index.setNonce;
|
|
@@ -19,7 +19,7 @@ var patchBrowser = () => {
|
|
|
19
19
|
|
|
20
20
|
patchBrowser().then(async (options) => {
|
|
21
21
|
await appGlobals.globalScripts();
|
|
22
|
-
return index.bootstrapLazy([["dash-button_4.cjs",[[513,"dash-button",{"showPostLoginText":[4,"show-post-login-text"],"silentCheckSso":[4,"silent-check-sso"],"redirectUri":[1,"redirect-uri"],"authMethod":[1,"auth-method"],"portalApiUrl":[1,"portal-api-url"],"plmUrl":[1,"plm-url"],"showUnauthorizedModal":[4,"show-unauthorized-modal"],"primaryColor":[1,"primary-color"],"accentColor":[1,"accent-color"],"notificationPosition":[1,"notification-position"],"keycloak":[32],"isAuth":[32],"givenUserName":[32],"silentCheckSsoRedirectUri":[32],"appList":[32],"avatarSvg":[32],"isLoading":[32],"config":[32],"localMenuLinks":[32],"organizationUrl":[32],"isRestricted":[32]}],[513,"notification-component",{"owner":[1],"applicationId":[1,"application-id"],"maxRecords":[2,"max-records"],"listUrl":[1,"list-url"],"displayType":[1,"display-type"],"notificationUrl":[1,"notification-url"],"socketConnect":[4,"socket-connect"],"socketUrl":[1,"socket-url"],"showModal":[32]},null,{"showModal":[{"ownerChanged":0}]}],[513,"notification-table",{"owner":[1],"applicationId":[1,"application-id"],"maxRecords":[2,"max-records"],"listUrl":[1,"list-url"],"displayType":[1,"display-type"],"notificationUrl":[1,"notification-url"],"socketConnect":[4,"socket-connect"],"socketUrl":[1,"socket-url"],"showTable":[32],"loading":[32],"newCount":[32],"notificationList":[32],"markingRead":[32],"pageNumber":[32],"totalRecords":[32],"search":[32],"searching":[32],"showSearchBar":[32],"categoryList":[32],"statusList":[32]},null,{"owner":[{"ownerChanged":0}]}],[513,"loading-component",{"show":[4],"size":[1]}]]]], options);
|
|
22
|
+
return index.bootstrapLazy([["dash-button_4.cjs",[[513,"dash-button",{"showPostLoginText":[4,"show-post-login-text"],"silentCheckSso":[4,"silent-check-sso"],"redirectUri":[1,"redirect-uri"],"authMethod":[1,"auth-method"],"portalApiUrl":[1,"portal-api-url"],"plmUrl":[1,"plm-url"],"showUnauthorizedModal":[4,"show-unauthorized-modal"],"primaryColor":[1,"primary-color"],"accentColor":[1,"accent-color"],"showNotification":[4,"show-notification"],"notificationPosition":[1,"notification-position"],"keycloak":[32],"isAuth":[32],"givenUserName":[32],"silentCheckSsoRedirectUri":[32],"appList":[32],"avatarSvg":[32],"isLoading":[32],"config":[32],"localMenuLinks":[32],"organizationUrl":[32],"isRestricted":[32]}],[513,"notification-component",{"owner":[1],"applicationId":[1,"application-id"],"maxRecords":[2,"max-records"],"listUrl":[1,"list-url"],"displayType":[1,"display-type"],"notificationUrl":[1,"notification-url"],"socketConnect":[4,"socket-connect"],"socketUrl":[1,"socket-url"],"showModal":[32]},null,{"showModal":[{"ownerChanged":0}]}],[513,"notification-table",{"owner":[1],"applicationId":[1,"application-id"],"maxRecords":[2,"max-records"],"listUrl":[1,"list-url"],"displayType":[1,"display-type"],"notificationUrl":[1,"notification-url"],"socketConnect":[4,"socket-connect"],"socketUrl":[1,"socket-url"],"showTable":[32],"loading":[32],"newCount":[32],"notificationList":[32],"markingRead":[32],"pageNumber":[32],"totalRecords":[32],"search":[32],"searching":[32],"showSearchBar":[32],"categoryList":[32],"statusList":[32]},null,{"owner":[{"ownerChanged":0}]}],[513,"loading-component",{"show":[4],"size":[1]}]]]], options);
|
|
23
23
|
});
|
|
24
24
|
|
|
25
25
|
exports.setNonce = index.setNonce;
|
|
@@ -15,6 +15,7 @@ export class DashButtonComponent {
|
|
|
15
15
|
showUnauthorizedModal = false;
|
|
16
16
|
primaryColor = "";
|
|
17
17
|
accentColor = "";
|
|
18
|
+
showNotification = true;
|
|
18
19
|
notificationPosition = "left";
|
|
19
20
|
keycloak = null;
|
|
20
21
|
isAuth = false;
|
|
@@ -27,6 +28,26 @@ export class DashButtonComponent {
|
|
|
27
28
|
localMenuLinks;
|
|
28
29
|
organizationUrl;
|
|
29
30
|
isRestricted = false;
|
|
31
|
+
componentDidLoad() {
|
|
32
|
+
document.addEventListener('click', this.handleNotificationLinkClick, true);
|
|
33
|
+
}
|
|
34
|
+
disconnectedCallback() {
|
|
35
|
+
document.removeEventListener('click', this.handleNotificationLinkClick, true);
|
|
36
|
+
}
|
|
37
|
+
// Fix notification home icon click not opening a new tab
|
|
38
|
+
// (workaround for ice-notification-component shadow DOM click bug)
|
|
39
|
+
handleNotificationLinkClick = (event) => {
|
|
40
|
+
const path = event.composedPath();
|
|
41
|
+
const insideNotification = path.some((node) => node.tagName === 'NOTIFICATION-COMPONENT');
|
|
42
|
+
if (!insideNotification)
|
|
43
|
+
return;
|
|
44
|
+
const anchor = path.find((node) => node.tagName === 'A' && node.target === '_blank');
|
|
45
|
+
if (!anchor || !anchor.href)
|
|
46
|
+
return;
|
|
47
|
+
event.preventDefault();
|
|
48
|
+
event.stopPropagation();
|
|
49
|
+
window.open(anchor.href, '_blank', 'noopener');
|
|
50
|
+
};
|
|
30
51
|
async componentWillLoad() {
|
|
31
52
|
// Fetch config from API
|
|
32
53
|
this.config = await configService.fetchConfig(this.portalApiUrl);
|
|
@@ -173,7 +194,7 @@ export class DashButtonComponent {
|
|
|
173
194
|
return orgHost && owner ? (h("notification-component", { owner: owner, "max-records": 10, "display-type": "icon", "notification-url": `https://notifications.${orgHost}/notifications-api`, "socket-connect": true, "socket-url": `wss://repository.${orgHost}/socket`, "list-url": `https://notifications.${orgHost}/notifications` })) : null;
|
|
174
195
|
}
|
|
175
196
|
render() {
|
|
176
|
-
return h("div", { key: '
|
|
197
|
+
return h("div", { key: '57c4d43eaceef73591cf34d4f0159ee50d8bd467' }, h("div", { key: '78c10961f08f22abb23a43ec53de76fd464fdfe2' }, (() => {
|
|
177
198
|
// GLOBAL LOADING SPINNER
|
|
178
199
|
if (this.isLoading) {
|
|
179
200
|
return (h("a", { id: "login-btn", class: "button button-link" }, h("div", { class: "lds-ring" }, h("div", null), h("div", null), h("div", null), h("div", null))));
|
|
@@ -185,7 +206,9 @@ export class DashButtonComponent {
|
|
|
185
206
|
return (h("a", { style: { background: this.primaryColor != undefined ? this.primaryColor : "" }, href: this.redirectUri, id: "login-btn", class: "button button-link" }, h("span", { style: { color: this.accentColor != undefined ? this.accentColor : "" }, class: "button-text button-text-full-width" }, "Go to Dashboard")));
|
|
186
207
|
}
|
|
187
208
|
else if (this.isAuth) {
|
|
188
|
-
return (h("div", { class: "profile-actions", style: { display: "inline-flex", alignItems: "center", gap: "15px" } }, this.
|
|
209
|
+
return (h("div", { class: "profile-actions", style: { display: "inline-flex", alignItems: "center", gap: "15px" } }, this.showNotification &&
|
|
210
|
+
this.notificationPosition !== "right" &&
|
|
211
|
+
this.renderNotificationComponent(), h("div", { id: "profile-btn", class: "dropdown" }, h("button", { style: { background: this.primaryColor != undefined ? this.primaryColor : "" }, type: "button", class: "button" }, h("span", { class: "button-profile" }, JSON.parse(localStorage.getItem('keycloak') ?? '{}').idTokenParsed.imageUrl ?
|
|
189
212
|
h("img", { class: "profile-image", src: "https://s-damith.github.io/test-avatar/images/e24da9c5-0b1f-46fa-82cd-7c711c77b5c7.png" })
|
|
190
213
|
:
|
|
191
214
|
h("div", { innerHTML: this.avatarSvg })), h("span", { style: { color: this.accentColor != undefined ? this.accentColor : "" }, id: "given-name", class: "button-text" }, this.givenUserName), h("div", { class: "button-icon" }, (this.config.menuViewType == "grid") ? h("i", { class: "fa-solid fa-grip-vertical" }) : h("i", { class: "fa-solid fa-bars" }))), h("div", { class: "dropdown-content" }, h("div", { class: "dropdown-user-profile" }, h("div", { class: "username" }, "@", this.givenUserName), h("div", { class: "first-last-name" }, JSON.parse(localStorage.getItem('keycloak') ?? '{}').idTokenParsed.name)), (this.config.menuViewType == "grid") ? (h("div", null, h("div", { class: "grid-view-menu" }, this.config.menu.global.links.map(item => {
|
|
@@ -196,12 +219,14 @@ export class DashButtonComponent {
|
|
|
196
219
|
// List View
|
|
197
220
|
h("div", { class: "dropdown-content-link" }, this.config.menu.global.links.map(item => {
|
|
198
221
|
return (h("a", { href: item.url, target: '_blank', id: "applications-btn" }, h("i", { class: item.icon + " menu-bar-icons" }), item.name));
|
|
199
|
-
}), h("a", { onClick: this.showModal.bind(this), id: "applications-btn" }, h("i", { class: "fa-regular fa-window-restore menu-bar-icons" }), "Modules"), h("a", { href: this.config.defaultLink.url, target: '_blank', id: "applications-btn" }, h("i", { class: "fa-solid fa-globe menu-bar-icons" }), this.config.defaultLink.name), h("a", { onClick: this.logout.bind(this), id: "logout-btn" }, h("i", { class: "fa-solid fa-right-from-bracket menu-bar-icons" }), "Logout"))))), this.
|
|
222
|
+
}), h("a", { onClick: this.showModal.bind(this), id: "applications-btn" }, h("i", { class: "fa-regular fa-window-restore menu-bar-icons" }), "Modules"), h("a", { href: this.config.defaultLink.url, target: '_blank', id: "applications-btn" }, h("i", { class: "fa-solid fa-globe menu-bar-icons" }), this.config.defaultLink.name), h("a", { onClick: this.logout.bind(this), id: "logout-btn" }, h("i", { class: "fa-solid fa-right-from-bracket menu-bar-icons" }), "Logout"))))), this.showNotification &&
|
|
223
|
+
this.notificationPosition === "right" &&
|
|
224
|
+
this.renderNotificationComponent()));
|
|
200
225
|
}
|
|
201
226
|
else {
|
|
202
227
|
return (h("button", { style: { background: this.primaryColor != undefined ? this.primaryColor : "" }, onClick: this.login.bind(this), id: "login-btn", type: "button", class: "button" }, h("span", { style: { color: this.accentColor != undefined ? this.accentColor : "" }, class: "button-text" }, "Login")));
|
|
203
228
|
}
|
|
204
|
-
})()), h("div", { key: '
|
|
229
|
+
})()), h("div", { key: 'bc2a9cd3ac9953abe129881d4f97ae2871b647e8', id: "appListModal", class: "modal" }, h("div", { key: 'b2baf53915465fe352bedbd3bf914581e62017c3', class: "modal-content" }, h("span", { key: 'bc0eaa43c6a072fe38207565ca3c290a45e273ea', onClick: this.closeModal.bind(this), class: "close" }, "\u00D7"), h("div", { key: 'f539acd9a1cf03f97eb022e1e83f8e1d2f2f5a05', class: "box" }, h("input", { key: '51217c86dc2b31f2a72c90e25f54cc4ab99528e4', type: "radio", class: "tab-toggle", name: "tab-toggle", id: "tab1", checked: true }), h("ul", { key: '1f695d6dba7e5d93ba560f5f99e147756bffd497', class: "tab-list" }, h("li", { key: '7c6434c1db2a6438cb85c70983fd1046247f1502', class: "tab-item" }, h("label", { key: '41ad73e88dac4cdbbdc1adc537c116a49e13a403', class: "tab-trigger", htmlFor: "tab1" }, h("i", { key: '386b1ce6270159bcdc38addd2be188d1c37ef495', class: "fa-solid fa-table-list menu-bar-icons" }), " ", this.config.menu.local.name))), h("div", { key: '3fc2153186d90c6a3f2fb59677090194727b3427', class: "tab-container" }, h("div", { key: '334e78b9eeaac1dccae605feedfe3d2876347c0b', class: "tab-content" }, h("div", { key: 'af361f67124f44792b02c959617e8ea4a7ff88b7', class: "modal-body" }, !this.config?.menu?.local?.enableCustomLocalMenu ? (
|
|
205
230
|
// <div>{this.localMenuLinks}</div>
|
|
206
231
|
this.localMenuLinks?.map((app, index) => {
|
|
207
232
|
const isDisabled = !app.url;
|
|
@@ -209,7 +234,7 @@ export class DashButtonComponent {
|
|
|
209
234
|
})) : (this.config.menu.local.links?.map((app, index) => (h("a", { key: index, class: "external-app-link", target: "_blank", rel: "noopener noreferrer", href: app.url }, h("div", { class: "modal-app" }, h("div", null, app.name)))))), !this.organizationUrl ? (h("div", null, h("h3", { class: "gray-text" }, "Organization Domain URL not set"), h("p", { class: "gray-text" }, "Please set your Organization Domain URL on the Portal profile page."))) : (((!this.config?.menu?.local?.enableCustomLocalMenu &&
|
|
210
235
|
(this.localMenuLinks?.length ?? 0) === 0) ||
|
|
211
236
|
(this.config?.menu?.local?.enableCustomLocalMenu &&
|
|
212
|
-
(this.config?.menu?.local?.links?.length ?? 0) === 0)) && (h("div", null, h("h3", { class: "gray-text" }, "No installed ", this.config?.menu?.local?.name || "menu", " found."), h("p", { class: "gray-text" }, "Please contact administration.")))))))))), h("div", { key: '
|
|
237
|
+
(this.config?.menu?.local?.links?.length ?? 0) === 0)) && (h("div", null, h("h3", { class: "gray-text" }, "No installed ", this.config?.menu?.local?.name || "menu", " found."), h("p", { class: "gray-text" }, "Please contact administration.")))))))))), h("div", { key: 'ac29533cc89280c4b34e6bd5869cfcd046282cf3', id: "appPermissionErrorModal", class: "modal" }, h("div", { key: '04352162a42ccfcfb72a248bd354b2c335259cfd', class: "modal-content" }, h("img", { key: 'e5bf9daaa64f7364443b20744b5463e95d25b907', src: "data:image/png;base64,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" }), h("h2", { key: '594d479cb58442aea1db9827c290541b092692f5', class: "green-text margin-b" }, "You don't have permission to access this application."), h("h3", { key: '27f9de9cb6f34c6e2f6a09201bcd512f02e83143', class: "green-text" }, "Please contact the administration."), (this.config.defaultLink.url && this.showUnauthorizedModal) ?
|
|
213
238
|
h("div", null, h("h4", { class: "gray-text" }, "You will be automatically redirected to the portal."), h("div", { id: "countdown" }, h("div", { id: "countdown-number" }), h("svg", null, h("circle", { r: "18", cx: "20", cy: "20" }))))
|
|
214
239
|
: h("div", null))));
|
|
215
240
|
}
|
|
@@ -406,6 +431,26 @@ export class DashButtonComponent {
|
|
|
406
431
|
"attribute": "accent-color",
|
|
407
432
|
"defaultValue": "\"\""
|
|
408
433
|
},
|
|
434
|
+
"showNotification": {
|
|
435
|
+
"type": "boolean",
|
|
436
|
+
"mutable": false,
|
|
437
|
+
"complexType": {
|
|
438
|
+
"original": "boolean",
|
|
439
|
+
"resolved": "boolean",
|
|
440
|
+
"references": {}
|
|
441
|
+
},
|
|
442
|
+
"required": false,
|
|
443
|
+
"optional": false,
|
|
444
|
+
"docs": {
|
|
445
|
+
"tags": [],
|
|
446
|
+
"text": ""
|
|
447
|
+
},
|
|
448
|
+
"getter": false,
|
|
449
|
+
"setter": false,
|
|
450
|
+
"reflect": false,
|
|
451
|
+
"attribute": "show-notification",
|
|
452
|
+
"defaultValue": "true"
|
|
453
|
+
},
|
|
409
454
|
"notificationPosition": {
|
|
410
455
|
"type": "string",
|
|
411
456
|
"mutable": false,
|