dash-button-web 0.0.5 → 0.0.7

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.
Files changed (30) hide show
  1. package/dist/cjs/dash-button.cjs.entry.js +39 -45
  2. package/dist/cjs/dash-button.cjs.entry.js.map +1 -1
  3. package/dist/cjs/{index-991e75df.js → index-065225eb.js} +5 -1
  4. package/dist/{esm/index-8310c457.js.map → cjs/index-065225eb.js.map} +1 -1
  5. package/dist/cjs/loader.cjs.js +2 -2
  6. package/dist/cjs/web-compnont.cjs.js +2 -2
  7. package/dist/collection/components/my-component/dash-button.css +40 -0
  8. package/dist/collection/components/my-component/dash-button.js +56 -44
  9. package/dist/collection/components/my-component/dash-button.js.map +1 -1
  10. package/dist/components/dash-button.js +41 -45
  11. package/dist/components/dash-button.js.map +1 -1
  12. package/dist/esm/dash-button.entry.js +39 -45
  13. package/dist/esm/dash-button.entry.js.map +1 -1
  14. package/dist/esm/{index-8310c457.js → index-2b1034cf.js} +5 -1
  15. package/dist/esm/index-2b1034cf.js.map +1 -0
  16. package/dist/esm/loader.js +3 -3
  17. package/dist/esm/web-compnont.js +3 -3
  18. package/dist/types/components/my-component/dash-button.d.ts +2 -0
  19. package/dist/types/components.d.ts +2 -0
  20. package/dist/web-compnont/p-bdb5725e.js +3 -0
  21. package/dist/web-compnont/p-bdb5725e.js.map +1 -0
  22. package/dist/web-compnont/{p-89ceb862.entry.js → p-e4d4f568.entry.js} +3 -3
  23. package/dist/web-compnont/p-e4d4f568.entry.js.map +1 -0
  24. package/dist/web-compnont/web-compnont.esm.js +1 -1
  25. package/dist/web-compnont/web-compnont.esm.js.map +1 -1
  26. package/package.json +1 -1
  27. package/dist/cjs/index-991e75df.js.map +0 -1
  28. package/dist/web-compnont/p-4bd42d49.js +0 -3
  29. package/dist/web-compnont/p-4bd42d49.js.map +0 -1
  30. package/dist/web-compnont/p-89ceb862.entry.js.map +0 -1
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-991e75df.js');
5
+ const index = require('./index-065225eb.js');
6
6
 
7
7
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
8
8
 
@@ -2477,7 +2477,7 @@ function Keycloak (config) {
2477
2477
  }
2478
2478
  }
2479
2479
 
2480
- const dashButtonCss = ".button{display:flex;height:50px;padding:0;background:#3e7671;border:none;outline:none;border-radius:5px;overflow:hidden;font-size:16px;font-weight:500;cursor:pointer;min-width:220px;max-width:220px}.button:hover{background:#008168}.button:active{background:#3e7671}.button-text{display:block;margin:auto;padding:0 24px;color:#fff;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;width:80px}.button-icon{margin:auto;padding:10px}.button-profile{display:inline-flex;align-items:center;color:#fff}.button-profile img{height:50px}.button-text-full-width{width:auto!important}.button-link{text-decoration:none!important}.gg-menu-grid-r{color:#fff;box-sizing:border-box;position:relative;display:block;transform:scale(var(--ggs,1));width:16px;height:16px}.gg-menu-grid-r::before{content:\"\";display:block;box-sizing:border-box;position:absolute;width:4px;height:4px;background:currentColor;box-shadow:0 6px 0,\n 6px 6px 0,\n 12px 6px 0,\n 6px 12px 0,\n 12px 12px 0,\n 6px 0 0,\n 12px 0 0,\n 0 12px 0}.dropdown{position:relative;display:inline-block}.dropdown-content{display:none;position:absolute;right:0;background-color:#f9f9f9;min-width:180px;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);z-index:1;border-radius:5px}.dropdown-content a{color:#71797E;padding:16px 20px;text-decoration:none;display:block;cursor:pointer}.dropdown-content a:hover{background-color:#f1f1f1;color:#000;opacity:0.7}.dropdown:hover .dropdown-content{display:block}.modal{display:none;position:fixed;z-index:1;padding-top:100px;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgb(0,0,0);background-color:rgba(0,0,0,0.4);text-align:center}.modal-content{background-color:#fefefe;margin:auto;padding:20px;border:1px solid #888;width:40%}.modal-body{max-height:50vh;overflow-y:auto}.close{color:#aaaaaa;float:right;font-size:28px;font-weight:bold}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer}.modal-app{background-color:#c3e9bc;padding:15px;margin:10px;border-radius:5px}.external-app-link{text-decoration:none;color:#000}.gray-text{color:#606060}.green-text{color:#3e7671}#countdown{position:relative;margin:auto;margin-top:30px;height:40px;width:40px;text-align:center}#countdown-number{color:#2e2e2e;display:inline-block;line-height:40px}svg{position:absolute;top:0;right:0;width:40px;height:40px;transform:rotateY(-180deg) rotateZ(-90deg)}svg circle{stroke-dasharray:113px;stroke-dashoffset:0px;stroke-linecap:round;stroke-width:4px;stroke:#008168;fill:none;animation:countdown 6s linear infinite forwards}@keyframes countdown{from{stroke-dashoffset:0px}to{stroke-dashoffset:113px}}";
2480
+ const dashButtonCss = ".button{display:flex;height:50px;padding:0;background:#3e7671;border:none;outline:none;border-radius:5px;overflow:hidden;font-size:16px;font-weight:500;cursor:pointer;min-width:220px;max-width:220px}.button:hover{background:#008168}.button:active{background:#3e7671}.button-text{display:block;margin:auto;padding:0 24px;color:#fff;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;width:80px}.button-icon{margin:auto;padding:10px}.button-profile{display:inline-flex;align-items:center;color:#fff}.button-profile img{height:50px}.button-text-full-width{width:auto!important}.button-link{text-decoration:none!important}.gg-menu-grid-r{color:#fff;box-sizing:border-box;position:relative;display:block;transform:scale(var(--ggs,1));width:16px;height:16px}.gg-menu-grid-r::before{content:\"\";display:block;box-sizing:border-box;position:absolute;width:4px;height:4px;background:currentColor;box-shadow:0 6px 0,\n 6px 6px 0,\n 12px 6px 0,\n 6px 12px 0,\n 12px 12px 0,\n 6px 0 0,\n 12px 0 0,\n 0 12px 0}.dropdown{position:relative;display:inline-block}.dropdown-content{display:none;position:absolute;right:0;background-color:#f9f9f9;min-width:180px;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);z-index:1;border-radius:5px}.dropdown-content a{color:#71797E;padding:16px 20px;text-decoration:none;display:block;cursor:pointer}.dropdown-content a:hover{background-color:#f1f1f1;color:#000;opacity:0.7}.dropdown:hover .dropdown-content{display:block}.modal{display:none;position:fixed;z-index:1;padding-top:100px;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgb(0,0,0);background-color:rgba(0,0,0,0.4);text-align:center}.modal-content{background-color:#fefefe;margin:auto;padding:20px;border:1px solid #888;width:40%}.modal-body{max-height:50vh;overflow-y:auto}.close{color:#aaaaaa;float:right;font-size:28px;font-weight:bold}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer}.modal-app{background-color:#c3e9bc;padding:15px;margin:10px;border-radius:5px}.external-app-link{text-decoration:none;color:#000}.gray-text{color:#606060}.green-text{color:#3e7671}#countdown{position:relative;margin:auto;margin-top:30px;height:40px;width:40px;text-align:center}#countdown-number{color:#2e2e2e;display:inline-block;line-height:40px}svg{position:absolute;top:0;right:0;width:40px;height:40px;transform:rotateY(-180deg) rotateZ(-90deg)}svg circle{stroke-dasharray:113px;stroke-dashoffset:0px;stroke-linecap:round;stroke-width:4px;stroke:#008168;fill:none;animation:countdown 6s linear infinite forwards}@keyframes countdown{from{stroke-dashoffset:0px}to{stroke-dashoffset:113px}}.lds-ring{color:#fff}.lds-ring{display:flex;justify-content:center;align-items:center;margin:auto;position:relative}.lds-ring div{box-sizing:border-box;display:block;position:absolute;width:30px;height:30px;margin:3px;border:3px solid currentColor;border-radius:50%;animation:lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;border-color:currentColor transparent transparent transparent}.lds-ring div:nth-child(1){animation-delay:-0.45s}.lds-ring div:nth-child(2){animation-delay:-0.3s}.lds-ring div:nth-child(3){animation-delay:-0.15s}@keyframes lds-ring{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}";
2481
2481
  const DashButtonStyle0 = dashButtonCss;
2482
2482
 
2483
2483
  const DashButtonComponent = class {
@@ -2494,6 +2494,7 @@ const DashButtonComponent = class {
2494
2494
  this.portalUrl = "";
2495
2495
  this.marketplaceUrl = "";
2496
2496
  this.showUnauthorizedModal = false;
2497
+ this.postTextDelayDuration = undefined;
2497
2498
  this.keycloak = new Keycloak({
2498
2499
  url: this.keycloakUri,
2499
2500
  realm: this.realm,
@@ -2503,9 +2504,24 @@ const DashButtonComponent = class {
2503
2504
  this.givenName = "";
2504
2505
  this.silentCheckSsoRedirectUri = window.location.origin + '/assets/verificar-sso.html';
2505
2506
  this.appList = [];
2507
+ this.showPostLoginLoadingSpinner = false;
2506
2508
  }
2507
2509
  ;
2508
2510
  componentWillLoad() {
2511
+ //
2512
+ // User set post-text-delay-duration for displaying loading spinner
2513
+ //
2514
+ if (this.postTextDelayDuration > 0) {
2515
+ // Show loading spinner
2516
+ this.showPostLoginLoadingSpinner = true;
2517
+ // Removing a loading spinner after the delay period ending
2518
+ setTimeout(() => {
2519
+ this.showPostLoginLoadingSpinner = false;
2520
+ }, this.postTextDelayDuration);
2521
+ }
2522
+ //
2523
+ // Init Keycloak
2524
+ //
2509
2525
  this.initKeycloak().then(() => {
2510
2526
  // Check if the user is authenticated
2511
2527
  if (this.isAuth) {
@@ -2519,6 +2535,8 @@ const DashButtonComponent = class {
2519
2535
  const tempAppList = this.appList.map(obj => obj['shortname']);
2520
2536
  // Check if the user has permission to access the selected application
2521
2537
  if (appIdList.filter(id => tempAppList.includes(id)).length == 0) {
2538
+ // Update local storage app permission
2539
+ localStorage.setItem("ZDZW_app_permission", JSON.stringify(false));
2522
2540
  // Show modal
2523
2541
  const appErrorModal = this.el.shadowRoot.querySelector('#appPermissionErrorModal');
2524
2542
  appErrorModal.style.display = "block";
@@ -2538,49 +2556,19 @@ const DashButtonComponent = class {
2538
2556
  }, 1000);
2539
2557
  }
2540
2558
  }
2559
+ else {
2560
+ // The user is authenticated and has the necessary permissions
2561
+ // Update local storage app permission
2562
+ localStorage.setItem("ZDZW_app_permission", JSON.stringify(true));
2563
+ }
2541
2564
  }
2542
2565
  });
2543
2566
  }
2544
2567
  });
2545
- // // Get all application data associated with organization ID
2546
- // const appIdList = this.appId.replace(/'/g, '').split(',');
2547
- // var appListIds:Array<string> = []
2548
- // if(this.appId) {
2549
- // // const appList:Array<string> = JSON.parse(localStorage.getItem('keycloak')).idTokenParsed.APP_ID;
2550
- // // Get app ID from marketplace (Compare product_id with app_id)
2551
- // this.getAppList().then((response: Response) => response.json())
2552
- // .then(response => {
2553
- // // Save application data to a global array
2554
- // if(this.appList.length <= 0 ) {
2555
- // this.appList = response
2556
- // }
2557
- // // Save application IDs to a local array
2558
- // appListIds.push(...this.appList.map(obj => obj['product_id']))
2559
- // // Check if the user has permission to access the selected application
2560
- // if(appIdList.filter(id => appListIds.includes(id)).length == 0) {
2561
- // // Show modal
2562
- // const appErrorModal = this.el.shadowRoot.querySelector('#appPermissionErrorModal');
2563
- // appErrorModal.style.display = "block";
2564
- // // If a redirect URL is provided, show the loading spinner
2565
- // if (this.portalUrl) {
2566
- // var countdownNumberEl = this.el.shadowRoot.getElementById('countdown-number');
2567
- // var countdown = 6;
2568
- // countdownNumberEl.textContent = countdown.toString();
2569
- // setInterval(() => {
2570
- // countdown = --countdown <= 0 ? 6 : countdown;
2571
- // countdownNumberEl.textContent = countdown.toString();
2572
- // // Once the countdown finishes, redirect to the provided URL
2573
- // if(countdown == 1) {
2574
- // // appErrorModal.style.display = "none";
2575
- // window.location.replace(this.portalUrl.toString());
2576
- // }
2577
- // }, 1000);
2578
- // }
2579
- // }
2580
- // })
2581
- // }
2582
2568
  }
2583
2569
  async initKeycloak() {
2570
+ // Remove the initiation time permission localstorage object
2571
+ localStorage.removeItem("ZDZW_app_permission");
2584
2572
  await this.keycloak.init({
2585
2573
  onLoad: this.authMethod,
2586
2574
  checkLoginIframe: false,
@@ -2622,19 +2610,25 @@ const DashButtonComponent = class {
2622
2610
  appModal.style.display = "none";
2623
2611
  }
2624
2612
  render() {
2625
- return index.h("div", { key: '518e0da154542073e372b6befd2a8e7e174af702' }, index.h("div", { key: '97353368ee021f8a2343f12950287978ba4af8c9' }, (() => {
2613
+ return index.h("div", { key: '2d24aa9842755844cff0091432697b28dbe3719a' }, index.h("div", { key: '99991837185cd9d0cb6785828ce18ec59cdb6659' }, (() => {
2626
2614
  if (this.isAuth && this.showPostLoginText) {
2627
- return (index.h("a", { href: this.redirectUri, id: "login-btn", class: "button button-link" }, index.h("span", { class: "button-text button-text-full-width" }, "Go to Dashboard")));
2615
+ // User set post-text-delay-duration for displaying loading spinner
2616
+ if (this.showPostLoginLoadingSpinner) {
2617
+ 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))));
2618
+ }
2619
+ else {
2620
+ return (index.h("a", { href: this.redirectUri, id: "login-btn", class: "button button-link" }, index.h("span", { class: "button-text button-text-full-width" }, "Go to Dashboard")));
2621
+ }
2628
2622
  }
2629
2623
  else if (this.isAuth) {
2630
- return (index.h("div", { id: "profile-btn", class: "dropdown" }, index.h("button", { type: "button", class: "button" }, index.h("span", { class: "button-profile" }, index.h("img", { src: "https://i.pravatar.cc/100?img=32", alt: "" })), index.h("span", { id: "given-name", class: "button-text" }, this.givenName), index.h("div", { class: "button-icon" }, index.h("span", { class: "gg-menu-grid-r" }))), index.h("div", { class: "dropdown-content" }, index.h("a", { onClick: this.showModal.bind(this), id: "applications-btn" }, "Applications"), index.h("a", { onClick: this.logout.bind(this), id: "logout-btn" }, "Logout"))));
2624
+ return (index.h("div", { id: "profile-btn", class: "dropdown" }, index.h("button", { type: "button", class: "button" }, index.h("span", { class: "button-profile" }, index.h("img", { src: "https://i.pravatar.cc/100?img=32", alt: "" })), index.h("span", { id: "given-name", class: "button-text" }, this.givenName), index.h("div", { class: "button-icon" }, index.h("span", { class: "gg-menu-grid-r" }))), index.h("div", { class: "dropdown-content" }, index.h("a", { onClick: this.showModal.bind(this), id: "applications-btn" }, "Applications"), index.h("a", { href: this.portalUrl, target: '_blank', id: "applications-btn" }, "Portal"), index.h("a", { href: this.marketplaceUrl, target: '_blank', id: "applications-btn" }, "Marketplace"), index.h("a", { onClick: this.logout.bind(this), id: "logout-btn" }, "Logout"))));
2631
2625
  }
2632
2626
  else {
2633
2627
  return (index.h("button", { onClick: this.login.bind(this), id: "login-btn", type: "button", class: "button" }, index.h("span", { class: "button-text" }, "Login")));
2634
2628
  }
2635
- })()), index.h("div", { key: 'f0171bcfecf92c61280a7e5af8bac5a89b29c997', id: "appListModal", class: "modal" }, index.h("div", { key: '29db22476317b8c76e09769eda047ada47a8ddee', class: "modal-content" }, index.h("span", { key: '1632ec033b67f1fc059027739022b64077e5f651', onClick: this.closeModal.bind(this), class: "close" }, "\u00D7"), index.h("h3", { key: '9d5e4048ac0ea51a4fef045c5546aec65822990e' }, "Applications"), index.h("div", { key: 'c983f0617428ec20581d6d69ad2df492a213f366', class: "modal-body" }, this.appList.length > 0 ? this.appList.map(app => {
2636
- return (index.h("a", { class: "external-app-link", target: '_blank', href: "https://" + app.shortname + "-zdzw." + this.portalUrl.replace(/(^\w+:|^)\/\//, '') }, index.h("div", { class: "modal-app" }, index.h("div", null, app.name))));
2637
- }) : index.h("div", null, index.h("h3", { class: "gray-text" }, "Not installed application found."), " ", index.h("p", { class: "gray-text" }, "Please contact administration."))))), index.h("div", { key: 'fb01669525955798b4aaf2b9e88d35efe78693da', id: "appPermissionErrorModal", class: "modal" }, index.h("div", { key: '6e06bc1824b0a1641795f69d30f6c68dad1930a6', class: "modal-content" }, index.h("img", { key: '5cb3d79f1abcc875188586e720b0ce5135fa80d1', src: "data:image/png;base64,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" }), index.h("h2", { key: '7698274b668f8681cbc232dcab0c6ae93b8b2be5', class: "green-text margin-b" }, "You don't have permission to access this application."), index.h("h3", { key: 'dbafa7836eb959c051af3acb6883955f66ea64d7', class: "green-text" }, "Please contact the administration."), (this.portalUrl && this.showUnauthorizedModal) ?
2629
+ })()), index.h("div", { key: '38c4054577687e6af7222d5633b4191c8d63efab', id: "appListModal", class: "modal" }, index.h("div", { key: 'aabb2b68614c0897b88a907979419f584388f60a', class: "modal-content" }, index.h("span", { key: '42696988b0954589250e4a6f212bf00954d4e2d0', onClick: this.closeModal.bind(this), class: "close" }, "\u00D7"), index.h("h3", { key: '08eb82158bfe231595c79e131b161b3066553d33' }, "Applications"), index.h("div", { key: 'e838130cfa6cdf222cc7455fb1d4b01ab9105492', class: "modal-body" }, this.appList.length > 0 ? this.appList.map(app => {
2630
+ return (index.h("a", { class: "external-app-link", target: '_blank', href: "https://" + app.shortname + "-zdzw" + this.portalUrl.replace(/(^\w+:|^)\/\//, '').replace('.portal-frontend-zdzw', '') }, index.h("div", { class: "modal-app" }, index.h("div", null, app.name))));
2631
+ }) : index.h("div", null, index.h("h3", { class: "gray-text" }, "Not installed application found."), " ", index.h("p", { class: "gray-text" }, "Please contact administration."))))), index.h("div", { key: '6b350ae02d908c7272a87ca967080b5d64ec0590', id: "appPermissionErrorModal", class: "modal" }, index.h("div", { key: 'df481e3196372ab1477503bb53c9a149874cc020', class: "modal-content" }, index.h("img", { key: 'eb31969132393cef988ab6904634617cbd8a7627', src: "data:image/png;base64,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" }), index.h("h2", { key: 'dbc50750de599994e5623a6f8596aae96280ad45', class: "green-text margin-b" }, "You don't have permission to access this application."), index.h("h3", { key: '950f04d0e34e57b99a1cddb5cf2156755572020a', class: "green-text" }, "Please contact the administration."), (this.portalUrl && this.showUnauthorizedModal) ?
2638
2632
  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" }))))
2639
2633
  : index.h("div", null))));
2640
2634
  }