dash-button-web 0.0.4 → 0.0.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.cjs.entry.js +95 -31
- package/dist/cjs/dash-button.cjs.entry.js.map +1 -1
- package/dist/cjs/{index-d91975cd.js → index-991e75df.js} +13 -13
- package/dist/cjs/index-991e75df.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/web-compnont.cjs.js +2 -2
- package/dist/collection/components/my-component/dash-button.css +10 -0
- package/dist/collection/components/my-component/dash-button.js +130 -29
- package/dist/collection/components/my-component/dash-button.js.map +1 -1
- package/dist/components/dash-button.js +98 -31
- package/dist/components/dash-button.js.map +1 -1
- package/dist/esm/dash-button.entry.js +95 -31
- package/dist/esm/dash-button.entry.js.map +1 -1
- package/dist/esm/{index-1c7e21da.js → index-8310c457.js} +13 -13
- package/dist/{web-compnont/p-aa686508.js.map → esm/index-8310c457.js.map} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/web-compnont.js +3 -3
- package/dist/types/components/my-component/dash-button.d.ts +6 -2
- package/dist/types/components.d.ts +4 -0
- package/dist/web-compnont/p-4bd42d49.js +3 -0
- package/dist/web-compnont/p-4bd42d49.js.map +1 -0
- package/dist/web-compnont/{p-ccad140c.entry.js → p-89ceb862.entry.js} +3 -3
- package/dist/web-compnont/p-89ceb862.entry.js.map +1 -0
- package/dist/web-compnont/web-compnont.esm.js +1 -1
- package/dist/web-compnont/web-compnont.esm.js.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/index-d91975cd.js.map +0 -1
- package/dist/esm/index-1c7e21da.js.map +0 -1
- package/dist/web-compnont/p-aa686508.js +0 -3
- package/dist/web-compnont/p-ccad140c.entry.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as registerInstance, h, g as getElement } from './index-
|
|
1
|
+
import { r as registerInstance, h, g as getElement } from './index-8310c457.js';
|
|
2
2
|
|
|
3
3
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
4
4
|
|
|
@@ -2473,7 +2473,7 @@ function Keycloak (config) {
|
|
|
2473
2473
|
}
|
|
2474
2474
|
}
|
|
2475
2475
|
|
|
2476
|
-
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%}.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}.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}}";
|
|
2476
|
+
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}}";
|
|
2477
2477
|
const DashButtonStyle0 = dashButtonCss;
|
|
2478
2478
|
|
|
2479
2479
|
const DashButtonComponent = class {
|
|
@@ -2488,6 +2488,8 @@ const DashButtonComponent = class {
|
|
|
2488
2488
|
this.clientId = "";
|
|
2489
2489
|
this.appId = "";
|
|
2490
2490
|
this.portalUrl = "";
|
|
2491
|
+
this.marketplaceUrl = "";
|
|
2492
|
+
this.showUnauthorizedModal = false;
|
|
2491
2493
|
this.keycloak = new Keycloak({
|
|
2492
2494
|
url: this.keycloakUri,
|
|
2493
2495
|
realm: this.realm,
|
|
@@ -2496,37 +2498,86 @@ const DashButtonComponent = class {
|
|
|
2496
2498
|
this.isAuth = false;
|
|
2497
2499
|
this.givenName = "";
|
|
2498
2500
|
this.silentCheckSsoRedirectUri = window.location.origin + '/assets/verificar-sso.html';
|
|
2501
|
+
this.appList = [];
|
|
2499
2502
|
}
|
|
2500
2503
|
;
|
|
2501
|
-
|
|
2502
|
-
|
|
2503
|
-
|
|
2504
|
-
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
|
|
2510
|
-
|
|
2511
|
-
|
|
2512
|
-
|
|
2513
|
-
|
|
2514
|
-
|
|
2515
|
-
|
|
2516
|
-
|
|
2517
|
-
|
|
2518
|
-
|
|
2519
|
-
|
|
2520
|
-
|
|
2521
|
-
|
|
2504
|
+
componentWillLoad() {
|
|
2505
|
+
this.initKeycloak().then(() => {
|
|
2506
|
+
// Check if the user is authenticated
|
|
2507
|
+
if (this.isAuth) {
|
|
2508
|
+
this.getAppList().then(res => {
|
|
2509
|
+
this.appList = res;
|
|
2510
|
+
// If the user has set an app ID, check if they have permission to access
|
|
2511
|
+
if (this.appId) {
|
|
2512
|
+
// Retrieve the list of buttons that are configured to set the app ID
|
|
2513
|
+
const appIdList = this.appId.replace(/'/g, '').split(',');
|
|
2514
|
+
// Remote appID list parsed from object
|
|
2515
|
+
const tempAppList = this.appList.map(obj => obj['shortname']);
|
|
2516
|
+
// Check if the user has permission to access the selected application
|
|
2517
|
+
if (appIdList.filter(id => tempAppList.includes(id)).length == 0) {
|
|
2518
|
+
// Show modal
|
|
2519
|
+
const appErrorModal = this.el.shadowRoot.querySelector('#appPermissionErrorModal');
|
|
2520
|
+
appErrorModal.style.display = "block";
|
|
2521
|
+
// If a redirect URL is provided, show the loading spinner
|
|
2522
|
+
if (this.portalUrl && this.showUnauthorizedModal) {
|
|
2523
|
+
var countdownNumberEl = this.el.shadowRoot.getElementById('countdown-number');
|
|
2524
|
+
var countdown = 6;
|
|
2525
|
+
countdownNumberEl.textContent = countdown.toString();
|
|
2526
|
+
setInterval(() => {
|
|
2527
|
+
countdown = --countdown <= 0 ? 6 : countdown;
|
|
2528
|
+
countdownNumberEl.textContent = countdown.toString();
|
|
2529
|
+
// Once the countdown finishes, redirect to the provided URL
|
|
2530
|
+
if (countdown == 1) {
|
|
2531
|
+
// appErrorModal.style.display = "none";
|
|
2532
|
+
window.location.replace(this.portalUrl.toString());
|
|
2533
|
+
}
|
|
2534
|
+
}, 1000);
|
|
2535
|
+
}
|
|
2522
2536
|
}
|
|
2523
|
-
}
|
|
2524
|
-
}
|
|
2537
|
+
}
|
|
2538
|
+
});
|
|
2525
2539
|
}
|
|
2526
|
-
}
|
|
2527
|
-
|
|
2528
|
-
|
|
2529
|
-
|
|
2540
|
+
});
|
|
2541
|
+
// // Get all application data associated with organization ID
|
|
2542
|
+
// const appIdList = this.appId.replace(/'/g, '').split(',');
|
|
2543
|
+
// var appListIds:Array<string> = []
|
|
2544
|
+
// if(this.appId) {
|
|
2545
|
+
// // const appList:Array<string> = JSON.parse(localStorage.getItem('keycloak')).idTokenParsed.APP_ID;
|
|
2546
|
+
// // Get app ID from marketplace (Compare product_id with app_id)
|
|
2547
|
+
// this.getAppList().then((response: Response) => response.json())
|
|
2548
|
+
// .then(response => {
|
|
2549
|
+
// // Save application data to a global array
|
|
2550
|
+
// if(this.appList.length <= 0 ) {
|
|
2551
|
+
// this.appList = response
|
|
2552
|
+
// }
|
|
2553
|
+
// // Save application IDs to a local array
|
|
2554
|
+
// appListIds.push(...this.appList.map(obj => obj['product_id']))
|
|
2555
|
+
// // Check if the user has permission to access the selected application
|
|
2556
|
+
// if(appIdList.filter(id => appListIds.includes(id)).length == 0) {
|
|
2557
|
+
// // Show modal
|
|
2558
|
+
// const appErrorModal = this.el.shadowRoot.querySelector('#appPermissionErrorModal');
|
|
2559
|
+
// appErrorModal.style.display = "block";
|
|
2560
|
+
// // If a redirect URL is provided, show the loading spinner
|
|
2561
|
+
// if (this.portalUrl) {
|
|
2562
|
+
// var countdownNumberEl = this.el.shadowRoot.getElementById('countdown-number');
|
|
2563
|
+
// var countdown = 6;
|
|
2564
|
+
// countdownNumberEl.textContent = countdown.toString();
|
|
2565
|
+
// setInterval(() => {
|
|
2566
|
+
// countdown = --countdown <= 0 ? 6 : countdown;
|
|
2567
|
+
// countdownNumberEl.textContent = countdown.toString();
|
|
2568
|
+
// // Once the countdown finishes, redirect to the provided URL
|
|
2569
|
+
// if(countdown == 1) {
|
|
2570
|
+
// // appErrorModal.style.display = "none";
|
|
2571
|
+
// window.location.replace(this.portalUrl.toString());
|
|
2572
|
+
// }
|
|
2573
|
+
// }, 1000);
|
|
2574
|
+
// }
|
|
2575
|
+
// }
|
|
2576
|
+
// })
|
|
2577
|
+
// }
|
|
2578
|
+
}
|
|
2579
|
+
async initKeycloak() {
|
|
2580
|
+
await this.keycloak.init({
|
|
2530
2581
|
onLoad: this.authMethod,
|
|
2531
2582
|
checkLoginIframe: false,
|
|
2532
2583
|
silentCheckSsoRedirectUri: this.silentCheckSso ? this.silentCheckSsoRedirectUri : '',
|
|
@@ -2539,6 +2590,17 @@ const DashButtonComponent = class {
|
|
|
2539
2590
|
}
|
|
2540
2591
|
});
|
|
2541
2592
|
}
|
|
2593
|
+
async getAppList() {
|
|
2594
|
+
// const token = await JSON.parse(localStorage.getItem('keycloak')).token;
|
|
2595
|
+
// const response = await fetch(this.marketplaceUrl + '/api/v1/product/nameAndShortName', {
|
|
2596
|
+
// headers: new Headers({
|
|
2597
|
+
// 'Authorization': 'Bearer ' + token,
|
|
2598
|
+
// }),
|
|
2599
|
+
// })
|
|
2600
|
+
const response = await fetch(this.marketplaceUrl + '/api/v1/product/nameAndShortName');
|
|
2601
|
+
const jsonObj = await response.json();
|
|
2602
|
+
return jsonObj;
|
|
2603
|
+
}
|
|
2542
2604
|
login() {
|
|
2543
2605
|
this.keycloak.login();
|
|
2544
2606
|
}
|
|
@@ -2556,7 +2618,7 @@ const DashButtonComponent = class {
|
|
|
2556
2618
|
appModal.style.display = "none";
|
|
2557
2619
|
}
|
|
2558
2620
|
render() {
|
|
2559
|
-
return h("div", { key: '
|
|
2621
|
+
return h("div", { key: '518e0da154542073e372b6befd2a8e7e174af702' }, h("div", { key: '97353368ee021f8a2343f12950287978ba4af8c9' }, (() => {
|
|
2560
2622
|
if (this.isAuth && this.showPostLoginText) {
|
|
2561
2623
|
return (h("a", { href: this.redirectUri, id: "login-btn", class: "button button-link" }, h("span", { class: "button-text button-text-full-width" }, "Go to Dashboard")));
|
|
2562
2624
|
}
|
|
@@ -2566,7 +2628,9 @@ const DashButtonComponent = class {
|
|
|
2566
2628
|
else {
|
|
2567
2629
|
return (h("button", { onClick: this.login.bind(this), id: "login-btn", type: "button", class: "button" }, h("span", { class: "button-text" }, "Login")));
|
|
2568
2630
|
}
|
|
2569
|
-
})()), h("div", { key: '
|
|
2631
|
+
})()), h("div", { key: 'f0171bcfecf92c61280a7e5af8bac5a89b29c997', id: "appListModal", class: "modal" }, h("div", { key: '29db22476317b8c76e09769eda047ada47a8ddee', class: "modal-content" }, h("span", { key: '1632ec033b67f1fc059027739022b64077e5f651', onClick: this.closeModal.bind(this), class: "close" }, "\u00D7"), h("h3", { key: '9d5e4048ac0ea51a4fef045c5546aec65822990e' }, "Applications"), h("div", { key: 'c983f0617428ec20581d6d69ad2df492a213f366', class: "modal-body" }, this.appList.length > 0 ? this.appList.map(app => {
|
|
2632
|
+
return (h("a", { class: "external-app-link", target: '_blank', href: "https://" + app.shortname + "-zdzw." + this.portalUrl.replace(/(^\w+:|^)\/\//, '') }, h("div", { class: "modal-app" }, h("div", null, app.name))));
|
|
2633
|
+
}) : h("div", null, h("h3", { class: "gray-text" }, "Not installed application found."), " ", h("p", { class: "gray-text" }, "Please contact administration."))))), h("div", { key: 'fb01669525955798b4aaf2b9e88d35efe78693da', id: "appPermissionErrorModal", class: "modal" }, h("div", { key: '6e06bc1824b0a1641795f69d30f6c68dad1930a6', class: "modal-content" }, h("img", { key: '5cb3d79f1abcc875188586e720b0ce5135fa80d1', src: "data:image/png;base64,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" }), h("h2", { key: '7698274b668f8681cbc232dcab0c6ae93b8b2be5', class: "green-text margin-b" }, "You don't have permission to access this application."), h("h3", { key: 'dbafa7836eb959c051af3acb6883955f66ea64d7', class: "green-text" }, "Please contact the administration."), (this.portalUrl && this.showUnauthorizedModal) ?
|
|
2570
2634
|
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" }))))
|
|
2571
2635
|
: h("div", null))));
|
|
2572
2636
|
}
|