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.
@@ -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: '19d648150555501634f0ddd5d1ff1bbd8a6e8f7b' }, index.h("div", { key: '503bbe31b40f8927a8727de73b820626bfe62522' }, (() => {
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.notificationPosition !== "right" && 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 ?
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.notificationPosition === "right" && this.renderNotificationComponent()));
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: 'c18a187a01d2196210d1c20d3bc682f8479e3700', id: "appListModal", class: "modal" }, index.h("div", { key: '0b12b0b6928895900a74e878e47a345a5e6371fd', class: "modal-content" }, index.h("span", { key: 'b259933b44d186bdd756bb6108cc85748194f5ca', onClick: this.closeModal.bind(this), class: "close" }, "\u00D7"), index.h("div", { key: '56eb24767120a0732335efb6eb316504b63e95d2', class: "box" }, index.h("input", { key: '27567441136d750dbcf7958aecaada63102fc8ea', type: "radio", class: "tab-toggle", name: "tab-toggle", id: "tab1", checked: true }), index.h("ul", { key: '5d65e1c4b3f37f408c115d108c91f3f6c4dcfb0d', class: "tab-list" }, index.h("li", { key: '76b9322c5d01cdccf2c0ccdf47982163185b4538', class: "tab-item" }, index.h("label", { key: '1e3945d0370cfda6c30e4adf2f94937176317666', class: "tab-trigger", htmlFor: "tab1" }, index.h("i", { key: '22622e208b826be62d6fdef561aab0684945405a', class: "fa-solid fa-table-list menu-bar-icons" }), " ", this.config.menu.local.name))), index.h("div", { key: 'ab62210a80547521d860fe63e103e45001055080', class: "tab-container" }, index.h("div", { key: 'dc76a572864c07f5abf67d0625b8c21eeaacba74', class: "tab-content" }, index.h("div", { key: '10b8a6cdb0db43950a524becdb6372b82dab3129', class: "modal-body" }, !this.config?.menu?.local?.enableCustomLocalMenu ? (
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: '56e11d4950282c74727e5ddc6bd7b97908e7f31d', id: "appPermissionErrorModal", class: "modal" }, index.h("div", { key: '64766ad4104269fe9a866aa4816ad66142b8fdd2', class: "modal-content" }, index.h("img", { key: '41079a1a2dca0505a553b6f1890bd67f892a0c43', src: "data:image/png;base64,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" }), index.h("h2", { key: 'fc0b1ca5d770164bed603441ffe34d3701bb84c7', class: "green-text margin-b" }, "You don't have permission to access this application."), index.h("h3", { key: '17ae8656a89ccbdbaf88030110895e8e92e37c9a', class: "green-text" }, "Please contact the administration."), (this.config.defaultLink.url && this.showUnauthorizedModal) ?
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
  }
@@ -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: '19d648150555501634f0ddd5d1ff1bbd8a6e8f7b' }, h("div", { key: '503bbe31b40f8927a8727de73b820626bfe62522' }, (() => {
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.notificationPosition !== "right" && 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 ?
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.notificationPosition === "right" && this.renderNotificationComponent()));
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: 'c18a187a01d2196210d1c20d3bc682f8479e3700', id: "appListModal", class: "modal" }, h("div", { key: '0b12b0b6928895900a74e878e47a345a5e6371fd', class: "modal-content" }, h("span", { key: 'b259933b44d186bdd756bb6108cc85748194f5ca', onClick: this.closeModal.bind(this), class: "close" }, "\u00D7"), h("div", { key: '56eb24767120a0732335efb6eb316504b63e95d2', class: "box" }, h("input", { key: '27567441136d750dbcf7958aecaada63102fc8ea', type: "radio", class: "tab-toggle", name: "tab-toggle", id: "tab1", checked: true }), h("ul", { key: '5d65e1c4b3f37f408c115d108c91f3f6c4dcfb0d', class: "tab-list" }, h("li", { key: '76b9322c5d01cdccf2c0ccdf47982163185b4538', class: "tab-item" }, h("label", { key: '1e3945d0370cfda6c30e4adf2f94937176317666', class: "tab-trigger", htmlFor: "tab1" }, h("i", { key: '22622e208b826be62d6fdef561aab0684945405a', class: "fa-solid fa-table-list menu-bar-icons" }), " ", this.config.menu.local.name))), h("div", { key: 'ab62210a80547521d860fe63e103e45001055080', class: "tab-container" }, h("div", { key: 'dc76a572864c07f5abf67d0625b8c21eeaacba74', class: "tab-content" }, h("div", { key: '10b8a6cdb0db43950a524becdb6372b82dab3129', class: "modal-body" }, !this.config?.menu?.local?.enableCustomLocalMenu ? (
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: '56e11d4950282c74727e5ddc6bd7b97908e7f31d', id: "appPermissionErrorModal", class: "modal" }, h("div", { key: '64766ad4104269fe9a866aa4816ad66142b8fdd2', class: "modal-content" }, h("img", { key: '41079a1a2dca0505a553b6f1890bd67f892a0c43', src: "data:image/png;base64,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" }), h("h2", { key: 'fc0b1ca5d770164bed603441ffe34d3701bb84c7', class: "green-text margin-b" }, "You don't have permission to access this application."), h("h3", { key: '17ae8656a89ccbdbaf88030110895e8e92e37c9a', class: "green-text" }, "Please contact the administration."), (this.config.defaultLink.url && this.showUnauthorizedModal) ?
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,