eiam-user-preference 0.0.86 → 0.0.87
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/eiam-user-preference.cjs.entry.js +11 -47
- package/dist/cjs/eiam-user-preference.cjs.js +1 -1
- package/dist/cjs/eiam-user-preference.entry.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/my-component.cjs.entry.js +1 -1
- package/dist/collection/components/eiam-user-preference/eiam-user-preference.js +11 -49
- package/dist/collection/components/eiam-user-preference/eiam-user-preference.js.map +1 -1
- package/dist/collection/components/my-component/my-component.js +1 -1
- package/dist/components/eiam-user-preference.js +11 -49
- package/dist/components/eiam-user-preference.js.map +1 -1
- package/dist/components/my-component.js +1 -1
- package/dist/eiam-user-preference/eiam-user-preference.entry.esm.js.map +1 -1
- package/dist/eiam-user-preference/eiam-user-preference.esm.js +1 -1
- package/dist/eiam-user-preference/p-240b44d5.entry.js +2 -0
- package/dist/eiam-user-preference/{p-711eca4f.entry.js → p-295dde80.entry.js} +2 -2
- package/dist/eiam-user-preference/p-295dde80.entry.js.map +1 -0
- package/dist/esm/eiam-user-preference.entry.js +11 -47
- package/dist/esm/eiam-user-preference.entry.js.map +1 -1
- package/dist/esm/eiam-user-preference.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/my-component.entry.js +1 -1
- package/dist/types/components/eiam-user-preference/eiam-user-preference.d.ts +0 -6
- package/package.json +1 -1
- package/dist/eiam-user-preference/p-711eca4f.entry.js.map +0 -1
- package/dist/eiam-user-preference/p-f8571c93.entry.js +0 -2
- /package/dist/eiam-user-preference/{p-f8571c93.entry.js.map → p-240b44d5.entry.js.map} +0 -0
|
@@ -42,8 +42,6 @@ export class EiamUserPreference {
|
|
|
42
42
|
cultureCode;
|
|
43
43
|
applicationId;
|
|
44
44
|
apiUrl;
|
|
45
|
-
tempSelectedPage = { pageId: null, name: '' };
|
|
46
|
-
tempApplicationId = null;
|
|
47
45
|
async watchChanges() {
|
|
48
46
|
await this.fetchInitiateValue();
|
|
49
47
|
}
|
|
@@ -210,28 +208,20 @@ export class EiamUserPreference {
|
|
|
210
208
|
// }
|
|
211
209
|
changeApplication(e) {
|
|
212
210
|
const selectedId = e.target.value;
|
|
213
|
-
this.pageSearchQuery = '';
|
|
211
|
+
this.pageSearchQuery = ''; // ✅ clear search so all pages show
|
|
214
212
|
this.isPageDropdownOpen = false;
|
|
215
213
|
this.pages = [];
|
|
216
|
-
// reset only temp selection, not the saved one
|
|
217
|
-
this.tempSelectedPage = { pageId: null, name: '' };
|
|
218
214
|
if (selectedId) {
|
|
219
215
|
this.applicationId = selectedId;
|
|
220
|
-
this.getPagesSApplications()
|
|
216
|
+
this.getPagesSApplications().then(() => {
|
|
217
|
+
// After pages load, open dropdown automatically
|
|
218
|
+
this.isPageDropdownOpen = true;
|
|
219
|
+
});
|
|
221
220
|
}
|
|
222
221
|
else {
|
|
223
222
|
this.applicationId = null;
|
|
224
223
|
}
|
|
225
224
|
}
|
|
226
|
-
confirmPageSelection() {
|
|
227
|
-
// Apply temp to actual
|
|
228
|
-
this.selectedPage = { ...this.tempSelectedPage };
|
|
229
|
-
this.userPreferences.defaultLandingPageId = this.tempSelectedPage.pageId?.toString();
|
|
230
|
-
this.pageSearchQuery = this.tempSelectedPage.name || '';
|
|
231
|
-
this.pages = [];
|
|
232
|
-
this.isPageDropdownOpen = false;
|
|
233
|
-
this.isPageModalOpen = false;
|
|
234
|
-
}
|
|
235
225
|
async getPagesSApplications() {
|
|
236
226
|
try {
|
|
237
227
|
const response = await fetch(`${this.apiUrl}/api/Pages/GetPages`, {
|
|
@@ -324,39 +314,13 @@ export class EiamUserPreference {
|
|
|
324
314
|
toggleModal() {
|
|
325
315
|
this.isModalOpen = !this.isModalOpen;
|
|
326
316
|
}
|
|
327
|
-
// togglePageModal() {
|
|
328
|
-
// this.isPageModalOpen = !this.isPageModalOpen;
|
|
329
|
-
// }
|
|
330
317
|
togglePageModal() {
|
|
331
|
-
if (!this.isPageModalOpen) {
|
|
332
|
-
// Opening - save current values to temp
|
|
333
|
-
this.tempSelectedPage = { ...this.selectedPage };
|
|
334
|
-
this.tempApplicationId = this.applicationId;
|
|
335
|
-
this.pageSearchQuery = this.selectedPage?.name || '';
|
|
336
|
-
if (this.applicationId) {
|
|
337
|
-
this.getPagesSApplications(); // load pages for current app
|
|
338
|
-
}
|
|
339
|
-
}
|
|
340
|
-
else {
|
|
341
|
-
// Closing WITHOUT saving - restore previous values
|
|
342
|
-
this.applicationId = this.tempApplicationId;
|
|
343
|
-
this.selectedPage = { ...this.tempSelectedPage };
|
|
344
|
-
this.pageSearchQuery = this.tempSelectedPage?.name || '';
|
|
345
|
-
this.pages = [];
|
|
346
|
-
this.isPageDropdownOpen = false;
|
|
347
|
-
}
|
|
348
318
|
this.isPageModalOpen = !this.isPageModalOpen;
|
|
349
319
|
}
|
|
350
|
-
// selectPage(page) {
|
|
351
|
-
// this.selectedPage = page;
|
|
352
|
-
// this.userPreferences.defaultLandingPageId = page.pageId; // Update default landing page
|
|
353
|
-
// this.togglePageModal(); // Close the page selection modal
|
|
354
|
-
// }
|
|
355
320
|
selectPage(page) {
|
|
356
|
-
|
|
357
|
-
this.
|
|
358
|
-
this.
|
|
359
|
-
this.isPageDropdownOpen = false;
|
|
321
|
+
this.selectedPage = page;
|
|
322
|
+
this.userPreferences.defaultLandingPageId = page.pageId; // Update default landing page
|
|
323
|
+
this.togglePageModal(); // Close the page selection modal
|
|
360
324
|
}
|
|
361
325
|
get pagedPages() {
|
|
362
326
|
const start = (this.currentPage - 1) * this.pageSize;
|
|
@@ -367,17 +331,17 @@ export class EiamUserPreference {
|
|
|
367
331
|
return Math.ceil(this.pages.length / this.pageSize);
|
|
368
332
|
}
|
|
369
333
|
render() {
|
|
370
|
-
return (h(Host, { key: '8ea23eb7dedd6c2d3b9946c6dc2820d539428b78' }, h("div", { key: '4f2294df5b8847e8ef16f8cb3fa048b12a82d4eb', class: "container" }, h("svg", { key: 'd8771fcd8351ef687212cc5c60530153528f73ba', onClick: () => this.toggleModal(), xmlns: "http://www.w3.org/2000/svg", width: "28px", height: "28px", viewBox: "0 0 24 24", style: { cursor: 'pointer' } }, h("g", { key: '21729a737f592e268962c86bb4015631f51408f8', stroke: "none", fill: "none" }, h("rect", { key: 'f40f8e32a6ac2772d4e68acc545a9230803c260a', x: "0", y: "0", width: "24", height: "24" }), h("rect", { key: '4af4bae2975d33bb32433532d88c900f95dd78a6', fill: "#008fc7", x: "4", y: "4", width: "7", height: "7", rx: "1.5" }), h("path", { key: 'defec4a67669ef3baab730887d532a579f7284ef', d: "M5.5,13 L9.5,13 C10.3284271,13 11,13.6715729 11,14.5 L11,18.5 C11,19.3284271 10.3284271,20 9.5,20 L5.5,20 C4.67157288,20 4,19.3284271 4,18.5 L4,14.5 C4,13.6715729 4.67157288,13 5.5,13 Z M14.5,4 L18.5,4 C19.3284271,4 20,4.67157288 20,5.5 L20,9.5 C20,10.3284271 19.3284271,11 18.5,11 L14.5,11 C13.6715729,11 13,10.3284271 13,9.5 L13,5.5 C13,4.67157288 13.6715729,4 14.5,4 Z M14.5,13 L18.5,13 C19.3284271,13 20,13.6715729 20,14.5 L20,18.5 C20,19.3284271 19.3284271,20 18.5,20 L14.5,20 C13.6715729,20 13,19.3284271 13,18.5 L13,14.5 C13,13.6715729 13.6715729,13 14.5,13 Z", fill: "#008fc7", opacity: "0.3" }))), this.isModalOpen && (h("div", { key: 'd9287302ce3f70c6499933e846ff99547a3e3163', class: "kt-quick-panel kt-quick-panel--on" }, h("a", { key: 'c4d9baa3a43a8ec342ce258752b1b3bc9b3e31cb', onClick: () => this.toggleModal(), id: "kt_quick_panel_close_btn", class: "kt-quick-panel__close" }, h("svg", { key: '0673c95e8c6676f0f1d6cdb2c3e9a9a9bc375a43', xmlns: "http://www.w3.org/2000/svg", width: "25px", height: "25px", viewBox: "0 0 24 24", fill: "none" }, h("g", { key: '7a79888fcfec39d48df5bd1f96daa6166b07bd8c', id: "Menu / Close_SM" }, h("path", { key: 'c7298e580b3347af671fc0117c9fbc9a9e180d16', id: "Vector", d: "M16 16L12 12M12 12L8 8M12 12L16 8M12 12L8 16", stroke: "#000000", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h("div", { key: '846c74b489d508ae1aca06e6b652b163ff84a744', class: "kt-quick-panel__nav" }, h("ul", { key: 'ab1d7e695d7c2735dda036b70d6bae406e79ef6d', role: "tablist", class: "nav nav-tabs nav-tabs-line nav-tabs-bold nav-tabs-line-3x nav-tabs-line-brand kt-notification-item-padding-x" }, h("li", { key: 'de72304338e3e1d26d1733ff1928159b0d0bae86', class: "nav-item active" }, h("a", { key: 'bfb2547ffd22a2f687882a8ac1b65c9667806c51', "data-toggle": "tab", role: "tab", class: "nav-link active" }, "User Preference")))), h("div", { key: 'da12d4a71c303dde253b2369b262c6af35aea3bc', class: "kt-quick-panel__content" }, h("div", { key: 'fe84865f231a74c2228723ae2c46ac30a4849bcd', class: "tab-content" }, h("div", { key: '16ca693713734d2f123833633f48cbc4a0707c62', id: "kt_quick_panel_tab_notifications", role: "tabpanel", class: "tab-pane fade show kt-scroll active ps ps--active-y" }, h("div", { key: 'e890e15454b8ee3b0337cd6f11ace2f32cab3397', class: "kt-notification" }, h("div", { key: '86f8c663f26176457add034ec35327c15fd5b75b', class: "kt-portlet__body" }, h("div", { key: 'd584358c864bb0e68a3ccc50fd20ebe5416d4df3', class: "form-group" }, h("label", { key: 'c419282b80d2819ef8e1b975b303f4b9045fe422' }, "Date Format"), h("select", { key: '0007edd5e963577ef396b49c9eaaf5c0698a8e6c', onInput: e => (this.userPreferences.dateFormat = e.target.value) }, this.dateFormates.map(format => (h("option", { value: format, selected: this.userPreferences.dateFormat == format }, format))))), h("div", { key: '638a6ee74c548625279ae2a0ff6ebfdaea69eabc', class: "form-group" }, h("label", { key: '9a90b1b02d47b4247da655c849bb44d8cda71400' }, "Time Format"), h("select", { key: 'ee500361083148855b273bd040e5e051925f3054', onInput: e => (this.userPreferences.timeFormat = e.target.value) }, this.timeFormats.map(format => (h("option", { value: format, selected: this.userPreferences.timeFormat == format }, format))))), h("div", { key: '959424c5384abfe4e0b8fb036916b1d818bb676a', class: "form-group" }, h("label", { key: 'e2d7f109dadd13a90225051da86ded77d67f24a0' }, "Font Size"), h("select", { key: 'a494fcd73ea52151ab85a7e1ef93a287b559ae33', onInput: e => (this.userPreferences.fontSize = e.target.value) }, this.fontSizes.map(size => (h("option", { value: size.value, selected: this.userPreferences.fontSize == size.value }, size.label))))), h("div", { key: '1f77e28149fc697550736c463d56b43ca0fcdf5e', class: "form-group" }, h("label", { key: 'adc17c941d37b18b4af9198831088c79aaf92d08' }, "User Display Format"), h("select", { key: '25827778b86a4c2b412330630ca6046361724510', onInput: e => (this.userPreferences.displayFormat = parseInt(e.target.value)) }, this.displayFormats.map(format => (h("option", { value: format.value, selected: this.userPreferences.displayFormat == format.value }, format.label))))), h("div", { key: 'e0d8f96e3f89f99d690fe8d9f77c60a6e6a19765', class: "form-group" }, h("label", { key: '4bfb02001402890cd2fc165e83b59ae77fbf3033' }, "Default Landing Page"), h("div", { key: '9955ce875ca851138922c1416b1b205501dbc4fa', class: "input-group", onClick: () => this.togglePageModal() }, h("div", { key: 'f0d029fc9e0d867377cfffd7ebe2123d149fc638', class: "input-group-prepend" }, h("span", { key: '0083a0bdea15af7112944b547e0dcb5c00d17d37', class: "input-group-text" }, h("svg", { key: '4e532505163097dfb44ef2886f37bc7d7a8d0848', xmlns: "http://www.w3.org/2000/svg", fill: "#000000", height: "18px", width: "18px", version: "1.1", id: "Layer_1", viewBox: "0 0 64 64", "enable-background": "new 0 0 64 64" }, h("g", { key: '0143723c29215c27d909a22715accd82de8298c3', id: "Link-chains" }, h("path", { key: '076009ac8abe7c4ba7fa4c8eebefe50594d7201e', d: "M56.1697006,10.5212574C55.7126999,8.8132582,54.618,7.3864579,53.0876999,6.5036578l-9.7275009-5.6162 c-1.5303001-0.8838-3.3144989-1.1180999-5.0205994-0.6611c-1.7070007,0.458-3.1347008,1.5527-4.0185013,3.0840001 L21.9655991,24.7107582c-0.8838005,1.5301991-1.1191006,3.3134003-0.6611004,5.0205002 c0.4580002,1.7069988,1.5527,3.1338005,3.0839996,4.017498l7.5703011,4.3721008 c0.157198,0.0908012,0.3290997,0.1338005,0.4989986,0.1338005c0.3456993,0,0.6817017-0.1786995,0.8671989-0.5 c0.2764015-0.4785004,0.1123009-1.0898018-0.3661995-1.3661995l-7.5702991-4.3721008 c-1.0683994-0.6161995-1.8330002-1.612299-2.1523991-2.8027c-0.3192997-1.1903992-0.155201-2.4345989,0.4618988-3.5028992 L36.0534973,4.3103576c0.6172028-1.0683999,1.6123009-1.8329999,2.8037033-2.1523998 c1.1894989-0.3183,2.4355965-0.1552,3.5029984,0.4619l9.7275009,5.6162996 c1.0673981,0.6162004,1.8311005,1.6113005,2.1503983,2.8027c0.3193016,1.1914005,0.1553001,2.4355001-0.4618988,3.5039005 l-6.3652992,11.0243998c-0.2763023,0.4785004-0.1123009,1.0897999,0.3661995,1.3661995 c0.4755974,0.2754002,1.0888977,0.1123009,1.3662987-0.3661995l6.3652-11.0243998 C56.3923988,14.0124578,56.627697,12.2292576,56.1697006,10.5212574z" }), h("path", { key: 'fb44582eea71dffd697446668b6a5dfb6c972bc8', d: "M39.6082001,30.2507572l-8.8691006-5.1201c-0.4786015-0.2763996-1.089901-0.112299-1.3662014,0.3662014 c-0.2763996,0.4784985-0.1124001,1.0897999,0.3662014,1.3661995l8.8691006,5.1201 c2.2040977,1.2734985,2.9618988,4.1026001,1.6884995,6.3066978L27.9411983,59.690258 c-0.6161995,1.0682983-1.6112995,1.8320007-2.8027,2.1512985c-1.1894989,0.3184013-2.4335995,0.1562996-3.5019989-0.4608994 l-9.7275009-5.6161995c-2.2040997-1.2734985-2.9629002-4.1026001-1.6904001-6.3067017l6.365201-11.0243988 c0.2763996-0.4785004,0.112299-1.089798-0.3662014-1.3661995c-0.4775991-0.2764015-1.0898991-0.1133003-1.3661995,0.3661995 L8.4860983,48.457756c-1.8231997,3.1592026-0.7362995,7.2139015,2.4229002,9.0391006l9.7275009,5.6161995 c1.0195999,0.5879021,2.1504002,0.8886986,3.2958984,0.8886986c0.575201,0,1.1543007-0.0751953,1.7246017-0.2284966 c1.7070999-0.4570999,3.1337986-1.5527992,4.0165997-3.0830002L42.0290985,39.289856 C43.8532982,36.1316566,42.7673988,32.0769577,39.6082001,30.2507572z" }))))), h("input", { key: 'f8fdec07a80477aba33b9f723e6ff94a995eb2f9', type: "text", class: "form-control", readonly: true, value: this.selectedPage.name || 'Select page', placeholder: "Select page" })))), h("div", { key: 'b85f5defe97b678d93721fcd267773a99b2b94ac', class: "kt-portlet__foot" }, h("div", { key: '945368410fc9a2065fe984f538fe899e8ca7fcba', class: "kt-form__actions" }, h("button", { key: '95b71a242062b8f56cec97afb27ddaed1dd06fcd', class: "btn btn-primary", onClick: () => this.submitPreferences() }, "Save"), h("button", { key: '2c139b934b92761cdc2b020c2c7bb4e3aaa073f3', class: "btn btn-secondary", onClick: () => this.resetPreferences() }, "Reset"))))))))), this.showToastFlag && h("div", { key: '5a3da47cc441101482faafdfb77ab29b75652ed8', class: `toast ${this.toastType}` }, this.toastMessage), this.isPageModalOpen && (h("div", { key: '9d70b5d3d230272e242d2a65929bef5913703c5d', class: "modal-overlay" }, h("div", { key: '1baca1c7015fcb728785ed5f31091f57b709c37c', class: "modal-dialog modal-md landing-modal" }, h("div", { key: 'b707a0f44230e3ecf8dfd7e18982476bbbb1928e', class: "modal-content landing-page" }, h("div", { key: 'b0644d8fd2a52e5a639894e828044b1c5b214d15', class: "modal-header" }, h("h4", { key: 'a7593beda51181a62e341d69fe06960f92b71869', class: "modal-title pull-left" }, " Customize your default landing page "), h("button", { key: '212181c059e545b929de935358b235764df1aa04', onClick: () => this.togglePageModal(), type: "button", "aria-label": "Close", class: "close pull-right" }, h("span", { key: '5d2233a5b5e8940ff15bf4a85fdd8c3a9c234d9b' }, h("svg", { key: '5f31a70458301500de97c9cd95842d51c520eeab', xmlns: "http://www.w3.org/2000/svg", width: "15px", height: "15px", viewBox: "0 0 24 24", fill: "none" }, h("g", { key: 'b0313258efc1915e3da1c8a47cd2d0e7364c0dfe', id: "Menu / Close_SM" }, h("path", { key: '2919b316764a521a828a2b596a2e751edd811044', id: "Vector", d: "M16 16L12 12M12 12L8 8M12 12L16 8M12 12L8 16", stroke: "#000000", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })))))), h("div", { key: '124b318a0dc15c0e4ffe5c22bd155be1ac2abde8', class: "modal-body" }, h("div", { key: '1dc6ccfc8809d55d7b78958fde58cc80929697a9', class: "row" }, h("div", { key: 'ebceda730dc293a14b11296b14939e0fffc78b35', class: "col-12" }, h("div", { key: '8c9e85c64c637a8bf3d747df129e2beee238bbba', class: "row" }, h("div", { key: 'c9c37f2f7fd416fd15a0841a65bf3c48bcaca176', class: "form-group" }, h("label", { key: '399452562493935e22b08bb07b719e3db27ce867', htmlFor: "" }, " Default Landing Page "), h("select", { key: 'ef2a56d47c76fee6e5bc7f440b5ffc3c3d552e6b', class: "ng", onInput: e => this.changeApplication(e) }, h("option", { key: 'f8dd93f7ba7e82746bcf0a1074c481271ed956bd', value: "", selected: this.applicationId === null }, "-- Select Application --"), this.userApplications.map(application => (h("option", { value: application.applicationId, selected: this.applicationId === application.applicationId }, application.applicationName)))))), this.applicationId && (h("div", { key: '9b19a2d1ab46be3aa20191ffbe27fd13db716026', class: "form-group", style: { marginTop: '12px' } }, h("label", { key: '08d8cb0a289dcaec5e9ecc010e6264986a286e1e', htmlFor: "pageSearch" }, "Select Page"), h("div", { key: '11937df107fc776c1e7b06a519288a769bb3b89a', class: "search-select-wrapper" }, h("input", { key: '11974ecfcd264bc0cfd4f9fb3dc1fa8c217076a3', type: "text", class: "search-input", placeholder: "Search Pages...", value: this.pageSearchQuery, onInput: e => {
|
|
334
|
+
return (h(Host, { key: 'f3ceae491e305b570df2283bede2f8e0c4a9f82a' }, h("div", { key: 'b964d82c868d8ee82244ebc15f1f8d11727f0c1f', class: "container" }, h("svg", { key: '5ee877ae20173f1f57f32fb25fd87e14850d2c0c', onClick: () => this.toggleModal(), xmlns: "http://www.w3.org/2000/svg", width: "28px", height: "28px", viewBox: "0 0 24 24", style: { cursor: 'pointer' } }, h("g", { key: 'b4b426a90a134b77e7ebe4384e62d12b11107e83', stroke: "none", fill: "none" }, h("rect", { key: '499444161d3feea64504dabf70068f921a25b532', x: "0", y: "0", width: "24", height: "24" }), h("rect", { key: '6aa098d5dbf7a9ade6622abff5bb9bc909c12237', fill: "#008fc7", x: "4", y: "4", width: "7", height: "7", rx: "1.5" }), h("path", { key: '806ded617c108a2fe4ff99c4d5bbe45311625092', d: "M5.5,13 L9.5,13 C10.3284271,13 11,13.6715729 11,14.5 L11,18.5 C11,19.3284271 10.3284271,20 9.5,20 L5.5,20 C4.67157288,20 4,19.3284271 4,18.5 L4,14.5 C4,13.6715729 4.67157288,13 5.5,13 Z M14.5,4 L18.5,4 C19.3284271,4 20,4.67157288 20,5.5 L20,9.5 C20,10.3284271 19.3284271,11 18.5,11 L14.5,11 C13.6715729,11 13,10.3284271 13,9.5 L13,5.5 C13,4.67157288 13.6715729,4 14.5,4 Z M14.5,13 L18.5,13 C19.3284271,13 20,13.6715729 20,14.5 L20,18.5 C20,19.3284271 19.3284271,20 18.5,20 L14.5,20 C13.6715729,20 13,19.3284271 13,18.5 L13,14.5 C13,13.6715729 13.6715729,13 14.5,13 Z", fill: "#008fc7", opacity: "0.3" }))), this.isModalOpen && (h("div", { key: 'c7338042ebddd569a7af61e33c987faee8f3fa6c', class: "kt-quick-panel kt-quick-panel--on" }, h("a", { key: 'ab370b71013cd9118698b986359c90f8e9910fb2', onClick: () => this.toggleModal(), id: "kt_quick_panel_close_btn", class: "kt-quick-panel__close" }, h("svg", { key: '7db61b23e80906e1520c641822775c8f165b186b', xmlns: "http://www.w3.org/2000/svg", width: "25px", height: "25px", viewBox: "0 0 24 24", fill: "none" }, h("g", { key: 'ae8c06df2c6bf181939dd3f898eeef069ed3b28b', id: "Menu / Close_SM" }, h("path", { key: '9756fcd5d7af17daeb04486fc613c1789b181eb9', id: "Vector", d: "M16 16L12 12M12 12L8 8M12 12L16 8M12 12L8 16", stroke: "#000000", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h("div", { key: '77b510c156d893736db63f023928ad5872494772', class: "kt-quick-panel__nav" }, h("ul", { key: 'a3f9cb12b5d2ce80dd8a9a12489bbdf73c2a400a', role: "tablist", class: "nav nav-tabs nav-tabs-line nav-tabs-bold nav-tabs-line-3x nav-tabs-line-brand kt-notification-item-padding-x" }, h("li", { key: 'd366f09065b9cfdad8fa58a43fcc847d2079e23f', class: "nav-item active" }, h("a", { key: 'b8de6d4a3c2a996ee1346a483f2e6539f8aeda00', "data-toggle": "tab", role: "tab", class: "nav-link active" }, "User Preference")))), h("div", { key: '093c449010feef7f0049892e25ebbbb7b629ff8a', class: "kt-quick-panel__content" }, h("div", { key: 'bb866688ed8f54ded76bfdff8ca54437322dc73d', class: "tab-content" }, h("div", { key: 'd6c95e930437ae77172539849f456ff3c06c6cf9', id: "kt_quick_panel_tab_notifications", role: "tabpanel", class: "tab-pane fade show kt-scroll active ps ps--active-y" }, h("div", { key: '0761e2ab4c0b8f7374bedc98bec7f86cafa548a3', class: "kt-notification" }, h("div", { key: '18320551db1324886199a90681599d6ba44369fc', class: "kt-portlet__body" }, h("div", { key: '346c1a4355efac10d172dbe8b64ec36e9251e692', class: "form-group" }, h("label", { key: 'f4d9b0c4c52f01ff813ee86c2a9d954b1892eeaf' }, "Date Format"), h("select", { key: 'bf47c05ecf6ecbe76ea96f3bba9e312350e62927', onInput: e => (this.userPreferences.dateFormat = e.target.value) }, this.dateFormates.map(format => (h("option", { value: format, selected: this.userPreferences.dateFormat == format }, format))))), h("div", { key: 'd35105263e86026a27cad587f9425fb122b82c0e', class: "form-group" }, h("label", { key: 'e9972abacb4b7be2c71a37a499a869da72f0ba68' }, "Time Format"), h("select", { key: 'dd1c84ed206af39601466501079959e7bbca29b4', onInput: e => (this.userPreferences.timeFormat = e.target.value) }, this.timeFormats.map(format => (h("option", { value: format, selected: this.userPreferences.timeFormat == format }, format))))), h("div", { key: '4242b39d1e87c387f37120ce400ab14f439c6057', class: "form-group" }, h("label", { key: 'dfb9064fbeb87302234d23681b8627c4a7b2cba0' }, "Font Size"), h("select", { key: '414f7d94ac449ebc336d813507584247c7b0eedf', onInput: e => (this.userPreferences.fontSize = e.target.value) }, this.fontSizes.map(size => (h("option", { value: size.value, selected: this.userPreferences.fontSize == size.value }, size.label))))), h("div", { key: 'fbadcba9a51a782d477d5405209ae2f065d87993', class: "form-group" }, h("label", { key: 'dcbf281d317a3a8e62e0f33c65bf7d46b987c58f' }, "User Display Format"), h("select", { key: '644880ed67cbfd081f5df9e5fc00cc705ad025aa', onInput: e => (this.userPreferences.displayFormat = parseInt(e.target.value)) }, this.displayFormats.map(format => (h("option", { value: format.value, selected: this.userPreferences.displayFormat == format.value }, format.label))))), h("div", { key: '8b0b95ad31e60b1f116cba964fd8fa2bbb1ebcd6', class: "form-group" }, h("label", { key: '1e44d5a6cd89d30ec2e377d671701181c976baee' }, "Default Landing Page"), h("div", { key: '8696f19a4083b9206ab46f3fe1a9612cf6a756ae', class: "input-group", onClick: () => this.togglePageModal() }, h("div", { key: '484386a9ba0beef52e6b8ab6b682451c6727c9d9', class: "input-group-prepend" }, h("span", { key: '900dac026d56996e2ad462bf782e460180d867c6', class: "input-group-text" }, h("svg", { key: '670aecc63879a15d95aae467b16ded1d15b1996e', xmlns: "http://www.w3.org/2000/svg", fill: "#000000", height: "18px", width: "18px", version: "1.1", id: "Layer_1", viewBox: "0 0 64 64", "enable-background": "new 0 0 64 64" }, h("g", { key: 'ed4e98122b410f29a2b0105be7ca185b1e818af8', id: "Link-chains" }, h("path", { key: '4a283bb7fdbd6c2e2548a7ba94d2354c401d4977', d: "M56.1697006,10.5212574C55.7126999,8.8132582,54.618,7.3864579,53.0876999,6.5036578l-9.7275009-5.6162 c-1.5303001-0.8838-3.3144989-1.1180999-5.0205994-0.6611c-1.7070007,0.458-3.1347008,1.5527-4.0185013,3.0840001 L21.9655991,24.7107582c-0.8838005,1.5301991-1.1191006,3.3134003-0.6611004,5.0205002 c0.4580002,1.7069988,1.5527,3.1338005,3.0839996,4.017498l7.5703011,4.3721008 c0.157198,0.0908012,0.3290997,0.1338005,0.4989986,0.1338005c0.3456993,0,0.6817017-0.1786995,0.8671989-0.5 c0.2764015-0.4785004,0.1123009-1.0898018-0.3661995-1.3661995l-7.5702991-4.3721008 c-1.0683994-0.6161995-1.8330002-1.612299-2.1523991-2.8027c-0.3192997-1.1903992-0.155201-2.4345989,0.4618988-3.5028992 L36.0534973,4.3103576c0.6172028-1.0683999,1.6123009-1.8329999,2.8037033-2.1523998 c1.1894989-0.3183,2.4355965-0.1552,3.5029984,0.4619l9.7275009,5.6162996 c1.0673981,0.6162004,1.8311005,1.6113005,2.1503983,2.8027c0.3193016,1.1914005,0.1553001,2.4355001-0.4618988,3.5039005 l-6.3652992,11.0243998c-0.2763023,0.4785004-0.1123009,1.0897999,0.3661995,1.3661995 c0.4755974,0.2754002,1.0888977,0.1123009,1.3662987-0.3661995l6.3652-11.0243998 C56.3923988,14.0124578,56.627697,12.2292576,56.1697006,10.5212574z" }), h("path", { key: '036d7b66720edf891a843cf53178cb20fffa3c63', d: "M39.6082001,30.2507572l-8.8691006-5.1201c-0.4786015-0.2763996-1.089901-0.112299-1.3662014,0.3662014 c-0.2763996,0.4784985-0.1124001,1.0897999,0.3662014,1.3661995l8.8691006,5.1201 c2.2040977,1.2734985,2.9618988,4.1026001,1.6884995,6.3066978L27.9411983,59.690258 c-0.6161995,1.0682983-1.6112995,1.8320007-2.8027,2.1512985c-1.1894989,0.3184013-2.4335995,0.1562996-3.5019989-0.4608994 l-9.7275009-5.6161995c-2.2040997-1.2734985-2.9629002-4.1026001-1.6904001-6.3067017l6.365201-11.0243988 c0.2763996-0.4785004,0.112299-1.089798-0.3662014-1.3661995c-0.4775991-0.2764015-1.0898991-0.1133003-1.3661995,0.3661995 L8.4860983,48.457756c-1.8231997,3.1592026-0.7362995,7.2139015,2.4229002,9.0391006l9.7275009,5.6161995 c1.0195999,0.5879021,2.1504002,0.8886986,3.2958984,0.8886986c0.575201,0,1.1543007-0.0751953,1.7246017-0.2284966 c1.7070999-0.4570999,3.1337986-1.5527992,4.0165997-3.0830002L42.0290985,39.289856 C43.8532982,36.1316566,42.7673988,32.0769577,39.6082001,30.2507572z" }))))), h("input", { key: '690675e7452bb2328b91656bcc513470a5b8544d', type: "text", class: "form-control", readonly: true, value: this.selectedPage.name || 'Select page', placeholder: "Select page" })))), h("div", { key: '402aa2437d8cd798c53b2e5b156ae525b351d46f', class: "kt-portlet__foot" }, h("div", { key: 'ca52eb1479e524c10920d50e62fab8d4728b5d67', class: "kt-form__actions" }, h("button", { key: 'e78178f4dfb65c628d4520b02596f5fd1b0916d2', class: "btn btn-primary", onClick: () => this.submitPreferences() }, "Save"), h("button", { key: '3db5e06d90e6dc9add94b3eeb6515063247fc595', class: "btn btn-secondary", onClick: () => this.resetPreferences() }, "Reset"))))))))), this.showToastFlag && h("div", { key: '0fcb7cdd20ac86ce0f102514e8b0db211efb27c3', class: `toast ${this.toastType}` }, this.toastMessage), this.isPageModalOpen && (h("div", { key: 'd0507c42db04836cec8a6c77d90b9110c013a071', class: "modal-overlay" }, h("div", { key: '23dc1585dbc849459b8b59b0d6b74e163ac976ca', class: "modal-dialog modal-md landing-modal" }, h("div", { key: 'aaeae01cc9a731f4343ba60387b60b74174a03e9', class: "modal-content landing-page" }, h("div", { key: '219cc3bc8796fc546a8f0e5c998bbabb3a613460', class: "modal-header" }, h("h4", { key: 'd141f4d3fec64226572c8e84814ff8204211919f', class: "modal-title pull-left" }, " Customize your default landing page "), h("button", { key: 'e154b9e704f8a296ef889c1f3b390ba3d7cbaed9', onClick: () => this.togglePageModal(), type: "button", "aria-label": "Close", class: "close pull-right" }, h("span", { key: '9314da26828cc12430dc0008afb4c41c85b3a65c' }, h("svg", { key: '897f5e62aeb3d3965008aafc55e42017f0386b27', xmlns: "http://www.w3.org/2000/svg", width: "15px", height: "15px", viewBox: "0 0 24 24", fill: "none" }, h("g", { key: 'aa10c0ed845fcda26c570b927da89f10fc3f41d7', id: "Menu / Close_SM" }, h("path", { key: 'f7916c086a76da07ab1bee87467fba52f395fe69', id: "Vector", d: "M16 16L12 12M12 12L8 8M12 12L16 8M12 12L8 16", stroke: "#000000", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })))))), h("div", { key: 'b7bac9be2d04c38edca8b3ef0421181797b44d79', class: "modal-body" }, h("div", { key: 'bfb7faa6d7265b33c90bbd869a8c347795857138', class: "row" }, h("div", { key: '6a0ae1f10df8cc135c28c150ec8a11311d259995', class: "col-12" }, h("div", { key: 'fb9bdcc543738fd8d5120f441f5504716c5ebb71', class: "row" }, h("div", { key: 'cfde28c7dceffa7eea75f779202586a1457089b3', class: "form-group" }, h("label", { key: '00091541edfc6a4dd83ff678d2a90ad69847603a', htmlFor: "" }, " Default Landing Page "), h("select", { key: '4f6625fe558ea6007b2b0c679b1395ba18b781b1', class: "ng", onInput: e => this.changeApplication(e) }, h("option", { key: '46f4713cbfb1cd781a9898bf5eb23f1437e4e488', value: "", selected: this.applicationId === null }, "-- Select Application --"), this.userApplications.map(application => (h("option", { value: application.applicationId, selected: this.applicationId === application.applicationId }, application.applicationName)))))), this.applicationId && (h("div", { key: '7141ee4f3ed2baa426be5344f07be9066dbe4469', class: "form-group", style: { marginTop: '12px' } }, h("label", { key: 'bfe22ceec835387de7e28e6ef8162f4d253eaced', htmlFor: "pageSearch" }, "Select Page"), h("div", { key: '0a44b82f6f9ec0d12133cf94af48be985406203b', class: "search-select-wrapper" }, h("input", { key: '9ad1e36140bc3bde78641b12e21756773df289d5', type: "text", class: "search-input", placeholder: "Search Pages...", value: this.pageSearchQuery, onInput: e => {
|
|
371
335
|
this.pageSearchQuery = e.target.value;
|
|
372
336
|
this.isPageDropdownOpen = true;
|
|
373
|
-
}, onFocus: () => this.isPageDropdownOpen = true }), this.isPageDropdownOpen && (h("div", { key: '
|
|
337
|
+
}, onFocus: () => this.isPageDropdownOpen = true }), this.isPageDropdownOpen && (h("div", { key: 'b106ca4a91ea44294555defc5659d241add31dff', class: "search-dropdown" }, this.filteredPages.length === 0 ? (h("div", { class: "search-no-result" }, "No pages found")) : (this.filteredPages.map(page => (h("div", { class: `search-option ${this.selectedPage?.pageId === page.pageId ? 'selected' : ''}`, onClick: () => {
|
|
374
338
|
this.selectPage(page);
|
|
375
339
|
this.pageSearchQuery = page.name;
|
|
376
340
|
this.isPageDropdownOpen = false;
|
|
377
341
|
} }, h("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", style: { flexShrink: '0' } }, h("path", { d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z", stroke: "currentColor", "stroke-width": "2" }), h("path", { d: "M14 2v6h6", stroke: "currentColor", "stroke-width": "2" })), h("span", null, page.name), h("small", { class: {
|
|
378
342
|
'culture-unpublished': page.pageCultureStatus == 1,
|
|
379
343
|
'culture-published': page.pageCultureStatus == 2,
|
|
380
|
-
} }, page.cultureCode)))))))))))))
|
|
344
|
+
} }, page.cultureCode))))))))))))))))))));
|
|
381
345
|
}
|
|
382
346
|
static get is() { return "eiam-user-preference"; }
|
|
383
347
|
static get encapsulation() { return "shadow"; }
|
|
@@ -490,8 +454,6 @@ export class EiamUserPreference {
|
|
|
490
454
|
"showToastFlag": {},
|
|
491
455
|
"toastType": {},
|
|
492
456
|
"toastMessage": {},
|
|
493
|
-
"tempSelectedPage": {},
|
|
494
|
-
"tempApplicationId": {},
|
|
495
457
|
"pageSearchQuery": {},
|
|
496
458
|
"isPageDropdownOpen": {}
|
|
497
459
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eiam-user-preference.js","sourceRoot":"","sources":["../../../src/components/eiam-user-preference/eiam-user-preference.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, Prop, State, Watch, h, Element, EventEmitter, Event } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'eiam-user-preference',\r\n styleUrl: 'eiam-user-preference.css',\r\n shadow: true,\r\n})\r\nexport class EiamUserPreference {\r\n @Element() host: HTMLElement;\r\n @State() currentRouteSlug: string;\r\n @State() payload = {\r\n pagination: {\r\n pageIndex: 0,\r\n pageSize: 1000,\r\n },\r\n search: {\r\n pageName: '',\r\n },\r\n };\r\n @Event() preferencesChanged: EventEmitter<any>;\r\n @State() userPreferences = {\r\n dateFormat: 'dd/MM/yyyy',\r\n timeFormat: '',\r\n fontSize: null,\r\n displayFormat: 4,\r\n defaultLandingPageId: '',\r\n pageName: '',\r\n };\r\n\r\n @State() dateFormates: string[] = ['dd/MM/yyyy', 'MM/dd/yyyy', 'yyyy-MM-dd'];\r\n @State() timeFormats: string[] = ['h:mm a'];\r\n @State() fontSizes = [\r\n { label: 'Small', value: '14' },\r\n { label: 'Medium', value: '16' },\r\n { label: 'Large', value: '18' },\r\n ];\r\n @State() displayFormats: any[] = [];\r\n @State() userApplications: any[] = [];\r\n @State() pages: any[] = [];\r\n @State() isModalOpen = false;\r\n @State() currentPage: number = 1;\r\n @State() pageSize: number = 10;\r\n @State() isPageModalOpen: boolean = false; // Controls the visibility of the secondary modal\r\n @State() selectedPage: { pageId: number; name: string } = { pageId: null, name: '' }; // To store selected page\r\n @State() showToastFlag: any;\r\n @State() toastType: any;\r\n @State() toastMessage: any;\r\n @Prop() pageId: any;\r\n @Prop() cultureCode: string;\r\n @Prop() applicationId: string;\r\n @Prop() apiUrl: string;\r\n @State() tempSelectedPage: { pageId: number; name: string } = { pageId: null, name: '' };\r\n@State() tempApplicationId: string = null;\r\n @Watch('cultureCode')\r\n @Watch('applicationId')\r\n @Watch('pageId')\r\n @Watch('apiUrl')\r\n\r\n\r\nasync watchChanges() {\r\n await this.fetchInitiateValue();\r\n}\r\n\r\nasync componentWillLoad() {\r\n await this.fetchInitiateValue();\r\n}\r\n\r\nprivate isFetching = false;\r\nasync fetchInitiateValue() {\r\n if (!this.cultureCode || !this.applicationId || !this.apiUrl) {\r\n return; // wait until all props are ready\r\n }\r\n\r\n if (this.isFetching) return; // prevent duplicate calls\r\n this.isFetching = true;\r\n\r\n await this.getDisplayFormats();\r\n await this.getUserPreferences();\r\n await this.getUserApplications();\r\n\r\n this.isFetching = false;\r\n}\r\n\r\nprivate isFetchingDisplayFormats = false;\r\nprivate isFetchingUserPreferences = false;\r\nprivate isFetchingApplications = false;\r\n\r\n async getDisplayFormats() {\r\n if (this.isFetchingDisplayFormats) return;\r\n this.isFetchingDisplayFormats = true;\r\n try {\r\n const headers = {\r\n 'Content-Type': 'application/json',\r\n 'CultureCode': this.cultureCode,\r\n 'Source': '2',\r\n 'applicationId': this.applicationId,\r\n };\r\n\r\n const response = await fetch(`${this.apiUrl}/api/UserPreferences/DisplayFormats`, {\r\n method: 'GET', // Specify GET method\r\n headers: headers,\r\n credentials: 'include', // Include credentials (cookies) in the request\r\n });\r\n\r\n const data = await response.json();\r\n\r\n if (Array.isArray(data.content)) {\r\n this.displayFormats = data.content;\r\n } else {\r\n // console.error('Invalid response structure:', data);\r\n this.showToast('Something went wrong', 'error');\r\n }\r\n } catch (error) {\r\n // console.error('Error fetching display formats:', error);\r\n this.showToast('Something went wrong', 'error');\r\n }finally {\r\n this.isFetchingDisplayFormats = false;\r\n }\r\n }\r\n\r\n async getUserPreferences() {\r\n if (this.isFetchingUserPreferences) return;\r\n this.isFetchingUserPreferences = true;\r\n try {\r\n const headers = {\r\n 'Content-Type': 'application/json',\r\n 'CultureCode': this.cultureCode,\r\n 'Source': '2',\r\n 'applicationId': this.applicationId,\r\n };\r\n\r\n const response = await fetch(`${this.apiUrl}/api/UserPreferences/GetUserPreferences`, {\r\n method: 'GET',\r\n headers: headers,\r\n credentials: 'include',\r\n });\r\n\r\n let data = await response.json();\r\n if (data && typeof data !== 'string' && data.code == \"0000\") {\r\n console.log(data, ' data of user preferances');\r\n const fontSizeValue = parseInt(data.content.fontSize);\r\n console.log(fontSizeValue, ' fontSizeValue of user preferances');\r\n\r\n this.userPreferences = {\r\n ...this.userPreferences,\r\n dateFormat: data.content?.dateFormat || 'dd/MM/yyyy',\r\n timeFormat: data.content?.timeFormat || this.timeFormats[0], // fallback!\r\n fontSize: !isNaN(fontSizeValue) ? fontSizeValue : parseInt(this.fontSizes[0]?.value),\r\n displayFormat: data.content?.displayFormat || 1,\r\n defaultLandingPageId: data?.content?.defaultLandingPageId,\r\n pageName: data?.content?.defaultLandingPageDetails?.name || '',\r\n };\r\n // this.selectedPage.name = data.content?.defaultLandingPageDetails?.name;\r\n this.selectedPage = {\r\n ...this.selectedPage,\r\n name: data.content?.defaultLandingPageDetails?.name || '',\r\n pageId: data.content?.defaultLandingPageId, \r\n};\r\n\r\n\r\nthis.pageSearchQuery = data.content?.defaultLandingPageDetails?.name || '';\r\n }\r\n \r\n this.preferencesChanged.emit(data);\r\n } catch (error) {\r\n // console.error('Error fetching user preferences:', error);\r\n this.showToast('Something went wrong', 'error');\r\n }finally {\r\n this.isFetchingUserPreferences = false;\r\n }\r\n }\r\n private showToast(message: string, type: 'success' | 'error' = 'success') {\r\n this.toastMessage = message;\r\n this.toastType = type;\r\n this.showToastFlag = true;\r\n\r\n setTimeout(() => {\r\n this.showToastFlag = false;\r\n }, 3000);\r\n }\r\n\r\n async getUserApplications() {\r\n if (this.isFetchingApplications) return;\r\n this.isFetchingApplications = true;\r\n try {\r\n const headers = {\r\n 'Content-Type': 'application/json',\r\n 'IntegrationPermission': '0f5d983d203189bbffc5f686d01f6680bc6a83718a515fe42639347efc92478e',\r\n 'CultureCode': this.cultureCode,\r\n 'Source': '2',\r\n 'applicationId': this.applicationId,\r\n };\r\n\r\n const response = await fetch(`${this.apiUrl}/api/OrganizationApplicationsApi/GetAssigndApplicationForUser`, {\r\n method: 'GET',\r\n headers: headers,\r\n credentials: 'include',\r\n });\r\n\r\n const data = await response.json();\r\n\r\n if (data && Array.isArray(data.content)) {\r\n this.userApplications = data.content.filter(el => el.applicationId !== 1);\r\n } else {\r\n // console.error('Invalid response structure:', data);\r\n this.showToast('Something went wrong', 'error');\r\n }\r\n } catch (error) {\r\n // console.error('Error fetching applications:', error);\r\n this.showToast('Something went wrong', 'error');\r\n }finally{\r\n this.isFetchingApplications = false;\r\n }\r\n }\r\n @State() pageSearchQuery: string = '';\r\n@State() isPageDropdownOpen: boolean = false;\r\n\r\nget filteredPages() {\r\n const query = this.pageSearchQuery.toLowerCase();\r\n return this.pages.filter(page =>\r\n page.name.toLowerCase().includes(query)\r\n );\r\n}\r\n// changeApplication(e: Event) {\r\n// const selectedId = (e.target as HTMLSelectElement).value;\r\n// this.pageSearchQuery = ''; // ✅ reset search\r\n// this.isPageDropdownOpen = false;\r\n// this.selectedPage = { pageId: null, name: '' }; \r\n// if (selectedId) {\r\n// this.applicationId = selectedId;\r\n// // console.log(this.applicationId, 'this.applicationId on change');\r\n// this.getPagesSApplications();\r\n// } else {\r\n// this.applicationId = null;\r\n// }\r\n// }\r\nchangeApplication(e: Event) {\r\n const selectedId = (e.target as HTMLSelectElement).value;\r\n this.pageSearchQuery = '';\r\n this.isPageDropdownOpen = false;\r\n this.pages = [];\r\n // reset only temp selection, not the saved one\r\n this.tempSelectedPage = { pageId: null, name: '' };\r\n\r\n if (selectedId) {\r\n this.applicationId = selectedId;\r\n this.getPagesSApplications();\r\n } else {\r\n this.applicationId = null;\r\n }\r\n}\r\nconfirmPageSelection() {\r\n // Apply temp to actual\r\n this.selectedPage = { ...this.tempSelectedPage };\r\nthis.userPreferences.defaultLandingPageId = this.tempSelectedPage.pageId?.toString();\r\n this.pageSearchQuery = this.tempSelectedPage.name || '';\r\n this.pages = [];\r\n this.isPageDropdownOpen = false;\r\n this.isPageModalOpen = false;\r\n}\r\n async getPagesSApplications() {\r\n try {\r\n const response = await fetch(`${this.apiUrl}/api/Pages/GetPages`, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'CultureCode': this.cultureCode,\r\n 'Source': '2',\r\n 'applicationId': this.applicationId,\r\n },\r\n credentials: 'include',\r\n body: JSON.stringify(this.payload),\r\n });\r\n\r\n if (!response.ok) {\r\n // console.error('Failed to fetch pages');\r\n this.showToast('Something went wrong', 'error');\r\n return;\r\n }\r\n\r\n const data = await response.json();\r\n this.pages = data?.content?.data;\r\n // console.log(data, 'data of all pages ');\r\n } catch (error) {\r\n // console.error('Error fetching pages:', error);\r\n this.showToast('Something went wrong', 'error');\r\n }\r\n }\r\n\r\n async submitPreferences() {\r\n const fontSizeValue = parseFloat(this.userPreferences.fontSize);\r\n const fontSize = !isNaN(fontSizeValue) ? `${fontSizeValue}px` : null;\r\n let pageName = this.selectedPage.name;\r\n let defaultLandingPageId = this.selectedPage.pageId;\r\n const headers = {\r\n 'Content-Type': 'application/json',\r\n 'CultureCode': this.cultureCode,\r\n 'Source': '2',\r\n 'applicationId': this.applicationId,\r\n };\r\n // console.log(this.userPreferences, 'user preferancesss ');\r\n\r\n try {\r\n const response = await fetch(`${this.apiUrl}/api/UserPreferences/SaveUserPreferences`, {\r\n method: 'POST',\r\n headers,\r\n body: JSON.stringify({ ...this.userPreferences, fontSize, pageName: pageName, defaultLandingPageId: defaultLandingPageId }),\r\n credentials: 'include',\r\n });\r\n\r\n if (!response.ok) {\r\n // console.error('Failed to save preferences:', response.statusText);\r\n this.showToast('Something went wrong', 'error');\r\n\r\n return;\r\n }\r\n if (response.ok) {\r\n // Fetch updated preferences\r\n this.showToast('Preferences updated successfully!', 'success');\r\n\r\n const newPrefs: any = await this.getUserPreferences();\r\n if (!newPrefs || typeof newPrefs === 'string') return;\r\n }\r\n } catch (error) {\r\n this.showToast('Something went wrong', 'error');\r\n // console.error('Error submitting preferences:', error);\r\n }\r\n }\r\n\r\n async resetPreferences() {\r\n try {\r\n let res = await fetch(`${this.apiUrl}/api/UserPreferences/Delete`, {\r\n method: 'DELETE',\r\n credentials: 'include',\r\n });\r\n\r\n this.userPreferences = {\r\n dateFormat: 'dd/MM/yyyy',\r\n timeFormat: '',\r\n fontSize: '',\r\n displayFormat: 4,\r\n defaultLandingPageId: '',\r\n pageName: '',\r\n };\r\n if (res.ok) {\r\n // Fetch updated preferences\r\n this.showToast('Preferences updated successfully!', 'success');\r\n\r\n location.reload(); // If you want to refresh the UI\r\n }\r\n } catch (error) {\r\n // console.error('Failed to reset preferences', error);\r\n this.showToast('Something went wrong', 'error');\r\n }\r\n }\r\n toggleModal() {\r\n this.isModalOpen = !this.isModalOpen;\r\n }\r\n // togglePageModal() {\r\n // this.isPageModalOpen = !this.isPageModalOpen;\r\n // }\r\n togglePageModal() {\r\n if (!this.isPageModalOpen) {\r\n // Opening - save current values to temp\r\n this.tempSelectedPage = { ...this.selectedPage };\r\n this.tempApplicationId = this.applicationId;\r\n this.pageSearchQuery = this.selectedPage?.name || '';\r\n if (this.applicationId) {\r\n this.getPagesSApplications(); // load pages for current app\r\n }\r\n } else {\r\n // Closing WITHOUT saving - restore previous values\r\n this.applicationId = this.tempApplicationId;\r\n this.selectedPage = { ...this.tempSelectedPage };\r\n this.pageSearchQuery = this.tempSelectedPage?.name || '';\r\n this.pages = [];\r\n this.isPageDropdownOpen = false;\r\n }\r\n this.isPageModalOpen = !this.isPageModalOpen;\r\n}\r\n // selectPage(page) {\r\n // this.selectedPage = page;\r\n // this.userPreferences.defaultLandingPageId = page.pageId; // Update default landing page\r\n // this.togglePageModal(); // Close the page selection modal\r\n // }\r\n\r\n selectPage(page) {\r\n // Only update temp, not actual yet\r\n this.tempSelectedPage = { pageId: page.pageId, name: page.name };\r\n this.pageSearchQuery = page.name;\r\n this.isPageDropdownOpen = false;\r\n}\r\n get pagedPages() {\r\n const start = (this.currentPage - 1) * this.pageSize;\r\n const end = start + this.pageSize;\r\n return this.pages.slice(start, end);\r\n }\r\n\r\n get totalPages() {\r\n return Math.ceil(this.pages.length / this.pageSize);\r\n }\r\n\r\n render() {\r\n return (\r\n <Host>\r\n <div class=\"container\">\r\n <svg onClick={() => this.toggleModal()} xmlns=\"http://www.w3.org/2000/svg\" width=\"28px\" height=\"28px\" viewBox=\"0 0 24 24\" style={{ cursor: 'pointer' }}>\r\n <g stroke=\"none\" fill=\"none\">\r\n <rect x=\"0\" y=\"0\" width=\"24\" height=\"24\" />\r\n <rect fill=\"#008fc7\" x=\"4\" y=\"4\" width=\"7\" height=\"7\" rx=\"1.5\" />\r\n <path\r\n d=\"M5.5,13 L9.5,13 C10.3284271,13 11,13.6715729 11,14.5 L11,18.5 C11,19.3284271 10.3284271,20 9.5,20 L5.5,20 C4.67157288,20 4,19.3284271 4,18.5 L4,14.5 C4,13.6715729 4.67157288,13 5.5,13 Z M14.5,4 L18.5,4 C19.3284271,4 20,4.67157288 20,5.5 L20,9.5 C20,10.3284271 19.3284271,11 18.5,11 L14.5,11 C13.6715729,11 13,10.3284271 13,9.5 L13,5.5 C13,4.67157288 13.6715729,4 14.5,4 Z M14.5,13 L18.5,13 C19.3284271,13 20,13.6715729 20,14.5 L20,18.5 C20,19.3284271 19.3284271,20 18.5,20 L14.5,20 C13.6715729,20 13,19.3284271 13,18.5 L13,14.5 C13,13.6715729 13.6715729,13 14.5,13 Z\"\r\n fill=\"#008fc7\"\r\n opacity=\"0.3\"\r\n />\r\n </g>\r\n </svg>\r\n\r\n {/* Main Modal */}\r\n {this.isModalOpen && (\r\n <div class=\"kt-quick-panel kt-quick-panel--on\">\r\n <a onClick={() => this.toggleModal()} id=\"kt_quick_panel_close_btn\" class=\"kt-quick-panel__close\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"25px\" height=\"25px\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <g id=\"Menu / Close_SM\">\r\n <path id=\"Vector\" d=\"M16 16L12 12M12 12L8 8M12 12L16 8M12 12L8 16\" stroke=\"#000000\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n </svg>\r\n </a>\r\n <div class=\"kt-quick-panel__nav\">\r\n <ul role=\"tablist\" class=\"nav nav-tabs nav-tabs-line nav-tabs-bold nav-tabs-line-3x nav-tabs-line-brand kt-notification-item-padding-x\">\r\n <li class=\"nav-item active\">\r\n <a data-toggle=\"tab\" role=\"tab\" class=\"nav-link active\">\r\n User Preference\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n <div class=\"kt-quick-panel__content\">\r\n <div class=\"tab-content\">\r\n <div id=\"kt_quick_panel_tab_notifications\" role=\"tabpanel\" class=\"tab-pane fade show kt-scroll active ps ps--active-y\">\r\n <div class=\"kt-notification\">\r\n <div class=\"kt-portlet__body\">\r\n <div class=\"form-group\">\r\n <label>Date Format</label>\r\n <select onInput={e => (this.userPreferences.dateFormat = (e.target as HTMLSelectElement).value)}>\r\n {this.dateFormates.map(format => (\r\n <option value={format} selected={this.userPreferences.dateFormat == format}>\r\n {format}\r\n </option>\r\n ))}\r\n </select>\r\n </div>\r\n\r\n <div class=\"form-group\">\r\n <label>Time Format</label>\r\n <select onInput={e => (this.userPreferences.timeFormat = (e.target as HTMLSelectElement).value)}>\r\n {this.timeFormats.map(format => (\r\n <option value={format} selected={this.userPreferences.timeFormat == format}>\r\n {format}\r\n </option>\r\n ))}\r\n </select>\r\n </div>\r\n\r\n <div class=\"form-group\">\r\n <label>Font Size</label>\r\n <select onInput={e => (this.userPreferences.fontSize = (e.target as HTMLSelectElement).value)}>\r\n {this.fontSizes.map(size => (\r\n <option value={size.value} selected={this.userPreferences.fontSize == size.value}>\r\n {size.label}\r\n </option>\r\n ))}\r\n </select>\r\n </div>\r\n\r\n <div class=\"form-group\">\r\n <label>User Display Format</label>\r\n <select onInput={e => (this.userPreferences.displayFormat = parseInt((e.target as HTMLSelectElement).value))}>\r\n {this.displayFormats.map(format => (\r\n <option value={format.value} selected={this.userPreferences.displayFormat == format.value}>\r\n {format.label}\r\n </option>\r\n ))}\r\n </select>\r\n </div>\r\n\r\n <div class=\"form-group\">\r\n <label>Default Landing Page</label>\r\n <div class=\"input-group\" onClick={() => this.togglePageModal()}>\r\n <div class=\"input-group-prepend\">\r\n <span class=\"input-group-text\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"#000000\"\r\n height=\"18px\"\r\n width=\"18px\"\r\n version=\"1.1\"\r\n id=\"Layer_1\"\r\n viewBox=\"0 0 64 64\"\r\n enable-background=\"new 0 0 64 64\"\r\n >\r\n <g id=\"Link-chains\">\r\n <path d=\"M56.1697006,10.5212574C55.7126999,8.8132582,54.618,7.3864579,53.0876999,6.5036578l-9.7275009-5.6162 c-1.5303001-0.8838-3.3144989-1.1180999-5.0205994-0.6611c-1.7070007,0.458-3.1347008,1.5527-4.0185013,3.0840001 L21.9655991,24.7107582c-0.8838005,1.5301991-1.1191006,3.3134003-0.6611004,5.0205002 c0.4580002,1.7069988,1.5527,3.1338005,3.0839996,4.017498l7.5703011,4.3721008 c0.157198,0.0908012,0.3290997,0.1338005,0.4989986,0.1338005c0.3456993,0,0.6817017-0.1786995,0.8671989-0.5 c0.2764015-0.4785004,0.1123009-1.0898018-0.3661995-1.3661995l-7.5702991-4.3721008 c-1.0683994-0.6161995-1.8330002-1.612299-2.1523991-2.8027c-0.3192997-1.1903992-0.155201-2.4345989,0.4618988-3.5028992 L36.0534973,4.3103576c0.6172028-1.0683999,1.6123009-1.8329999,2.8037033-2.1523998 c1.1894989-0.3183,2.4355965-0.1552,3.5029984,0.4619l9.7275009,5.6162996 c1.0673981,0.6162004,1.8311005,1.6113005,2.1503983,2.8027c0.3193016,1.1914005,0.1553001,2.4355001-0.4618988,3.5039005 l-6.3652992,11.0243998c-0.2763023,0.4785004-0.1123009,1.0897999,0.3661995,1.3661995 c0.4755974,0.2754002,1.0888977,0.1123009,1.3662987-0.3661995l6.3652-11.0243998 C56.3923988,14.0124578,56.627697,12.2292576,56.1697006,10.5212574z\" />\r\n <path d=\"M39.6082001,30.2507572l-8.8691006-5.1201c-0.4786015-0.2763996-1.089901-0.112299-1.3662014,0.3662014 c-0.2763996,0.4784985-0.1124001,1.0897999,0.3662014,1.3661995l8.8691006,5.1201 c2.2040977,1.2734985,2.9618988,4.1026001,1.6884995,6.3066978L27.9411983,59.690258 c-0.6161995,1.0682983-1.6112995,1.8320007-2.8027,2.1512985c-1.1894989,0.3184013-2.4335995,0.1562996-3.5019989-0.4608994 l-9.7275009-5.6161995c-2.2040997-1.2734985-2.9629002-4.1026001-1.6904001-6.3067017l6.365201-11.0243988 c0.2763996-0.4785004,0.112299-1.089798-0.3662014-1.3661995c-0.4775991-0.2764015-1.0898991-0.1133003-1.3661995,0.3661995 L8.4860983,48.457756c-1.8231997,3.1592026-0.7362995,7.2139015,2.4229002,9.0391006l9.7275009,5.6161995 c1.0195999,0.5879021,2.1504002,0.8886986,3.2958984,0.8886986c0.575201,0,1.1543007-0.0751953,1.7246017-0.2284966 c1.7070999-0.4570999,3.1337986-1.5527992,4.0165997-3.0830002L42.0290985,39.289856 C43.8532982,36.1316566,42.7673988,32.0769577,39.6082001,30.2507572z\" />\r\n </g>\r\n </svg>\r\n </span>\r\n </div>\r\n <input type=\"text\" class=\"form-control\" readonly value={this.selectedPage.name || 'Select page'} placeholder=\"Select page\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"kt-portlet__foot\">\r\n <div class=\"kt-form__actions\">\r\n <button class=\"btn btn-primary\" onClick={() => this.submitPreferences()}>\r\n Save\r\n </button>\r\n <button class=\"btn btn-secondary\" onClick={() => this.resetPreferences()}>\r\n Reset\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n\r\n {this.showToastFlag && <div class={`toast ${this.toastType}`}>{this.toastMessage}</div>}\r\n\r\n {/* Page Selection Modal */}\r\n\r\n {this.isPageModalOpen && (\r\n <div class=\"modal-overlay\">\r\n <div class=\"modal-dialog modal-md landing-modal\">\r\n <div class=\"modal-content landing-page\">\r\n <div class=\"modal-header\">\r\n <h4 class=\"modal-title pull-left\"> Customize your default landing page </h4>\r\n <button onClick={() => this.togglePageModal()} type=\"button\" aria-label=\"Close\" class=\"close pull-right\">\r\n <span>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"15px\" height=\"15px\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <g id=\"Menu / Close_SM\">\r\n <path id=\"Vector\" d=\"M16 16L12 12M12 12L8 8M12 12L16 8M12 12L8 16\" stroke=\"#000000\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n </svg>\r\n </span>\r\n </button>\r\n </div>\r\n\r\n \r\n\r\n <div class=\"modal-body\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"row\">\r\n <div class=\"form-group\">\r\n <label htmlFor=\"\"> Default Landing Page </label>\r\n <select class=\"ng\" onInput={e => this.changeApplication(e)}>\r\n <option value=\"\" selected={this.applicationId === null}>\r\n -- Select Application --\r\n </option>\r\n {this.userApplications.map(application => (\r\n <option value={application.applicationId} selected={this.applicationId === application.applicationId}>\r\n {application.applicationName}\r\n </option>\r\n ))}\r\n </select>\r\n </div>\r\n </div>\r\n\r\n {/* ===== Page Searchable Dropdown (only shows after app is selected) ===== */}\r\n {this.applicationId && (\r\n <div class=\"form-group\" style={{ marginTop: '12px' }}>\r\n <label htmlFor=\"pageSearch\">Select Page</label>\r\n\r\n {/* Search input */}\r\n <div class=\"search-select-wrapper\">\r\n <input\r\n type=\"text\"\r\n class=\"search-input\"\r\n placeholder=\"Search Pages...\"\r\n value={this.pageSearchQuery}\r\n onInput={e => {\r\n this.pageSearchQuery = (e.target as HTMLInputElement).value;\r\n this.isPageDropdownOpen = true;\r\n }}\r\n onFocus={() => this.isPageDropdownOpen = true}\r\n />\r\n\r\n {/* Dropdown list */}\r\n {this.isPageDropdownOpen && (\r\n <div class=\"search-dropdown\">\r\n {this.filteredPages.length === 0 ? (\r\n <div class=\"search-no-result\">No pages found</div>\r\n ) : (\r\n this.filteredPages.map(page => (\r\n <div\r\n class={`search-option ${this.selectedPage?.pageId === page.pageId ? 'selected' : ''}`}\r\n onClick={() => {\r\n this.selectPage(page);\r\n this.pageSearchQuery = page.name;\r\n this.isPageDropdownOpen = false;\r\n }}>\r\n {/* Page icon */}\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" style={{ flexShrink: '0' }}>\r\n <path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"\r\n stroke=\"currentColor\" stroke-width=\"2\"/>\r\n <path d=\"M14 2v6h6\" stroke=\"currentColor\" stroke-width=\"2\"/>\r\n </svg>\r\n\r\n <span>{page.name}</span>\r\n\r\n {/* Culture badge */}\r\n <small class={{\r\n 'culture-unpublished': page.pageCultureStatus == 1,\r\n 'culture-published': page.pageCultureStatus == 2,\r\n }}>\r\n {page.cultureCode}\r\n </small>\r\n </div>\r\n ))\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n\r\n </div>\r\n )}\r\n {/* { <label>Select Page</label>\r\n <div style={{ maxHeight: '250px', overflowY: 'auto', overflowX: 'hidden' }}>\r\n {this.pagedPages.map(page => (\r\n <div class=\"slug-item\" onClick={() => this.selectPage(page)}>\r\n <div class=\"row\">\r\n <svg width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" >\r\n <path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\" stroke=\"currentColor\" ></path>\r\n <path d=\"M14 2v6h6\" stroke=\"currentColor\" ></path>\r\n</svg>\r\n <span class=\"text-brand\" style={{ fontWeight: '600', lineHeight: '1', padding: '5px' }}>\r\n {page.name}\r\n </span>\r\n <small\r\n class={{\r\n 'culture-unpublished': page.pageCultureStatus == 1,\r\n 'culture-published': page.pageCultureStatus == 2,\r\n }}\r\n >\r\n {page.cultureCode}\r\n </small>\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n\r\n {this.totalPages > 1 && (\r\n <div class=\"pagination-controls\">\r\n <button class=\"arrow-button\" disabled={this.currentPage === 1} onClick={() => this.currentPage--}>\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M15 18L9 12L15 6\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </button>\r\n <span>\r\n {this.currentPage} of {this.totalPages}\r\n </span>\r\n <button class=\"arrow-button\" disabled={this.currentPage === this.totalPages} onClick={() => this.currentPage++}>\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M9 6L15 12L9 18\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </button>\r\n </div>\r\n )}} */}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"modal-footer\">\r\n <button class=\"btn btn-primary\" onClick={() => this.confirmPageSelection()}>\r\n Confirm\r\n </button>\r\n <button class=\"btn btn-secondary\" onClick={() => this.togglePageModal()}>\r\n Cancel\r\n </button>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"eiam-user-preference.js","sourceRoot":"","sources":["../../../src/components/eiam-user-preference/eiam-user-preference.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, Prop, State, Watch, h, Element, EventEmitter, Event } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'eiam-user-preference',\r\n styleUrl: 'eiam-user-preference.css',\r\n shadow: true,\r\n})\r\nexport class EiamUserPreference {\r\n @Element() host: HTMLElement;\r\n @State() currentRouteSlug: string;\r\n @State() payload = {\r\n pagination: {\r\n pageIndex: 0,\r\n pageSize: 1000,\r\n },\r\n search: {\r\n pageName: '',\r\n },\r\n };\r\n @Event() preferencesChanged: EventEmitter<any>;\r\n @State() userPreferences = {\r\n dateFormat: 'dd/MM/yyyy',\r\n timeFormat: '',\r\n fontSize: null,\r\n displayFormat: 4,\r\n defaultLandingPageId: '',\r\n pageName: '',\r\n };\r\n\r\n @State() dateFormates: string[] = ['dd/MM/yyyy', 'MM/dd/yyyy', 'yyyy-MM-dd'];\r\n @State() timeFormats: string[] = ['h:mm a'];\r\n @State() fontSizes = [\r\n { label: 'Small', value: '14' },\r\n { label: 'Medium', value: '16' },\r\n { label: 'Large', value: '18' },\r\n ];\r\n @State() displayFormats: any[] = [];\r\n @State() userApplications: any[] = [];\r\n @State() pages: any[] = [];\r\n @State() isModalOpen = false;\r\n @State() currentPage: number = 1;\r\n @State() pageSize: number = 10;\r\n @State() isPageModalOpen: boolean = false; // Controls the visibility of the secondary modal\r\n @State() selectedPage: { pageId: number; name: string } = { pageId: null, name: '' }; // To store selected page\r\n @State() showToastFlag: any;\r\n @State() toastType: any;\r\n @State() toastMessage: any;\r\n @Prop() pageId: any;\r\n @Prop() cultureCode: string;\r\n @Prop() applicationId: string;\r\n @Prop() apiUrl: string;\r\n \r\n @Watch('cultureCode')\r\n @Watch('applicationId')\r\n @Watch('pageId')\r\n @Watch('apiUrl')\r\n\r\n\r\nasync watchChanges() {\r\n await this.fetchInitiateValue();\r\n}\r\n\r\nasync componentWillLoad() {\r\n await this.fetchInitiateValue();\r\n}\r\n\r\nprivate isFetching = false;\r\nasync fetchInitiateValue() {\r\n if (!this.cultureCode || !this.applicationId || !this.apiUrl) {\r\n return; // wait until all props are ready\r\n }\r\n\r\n if (this.isFetching) return; // prevent duplicate calls\r\n this.isFetching = true;\r\n\r\n await this.getDisplayFormats();\r\n await this.getUserPreferences();\r\n await this.getUserApplications();\r\n\r\n this.isFetching = false;\r\n}\r\n\r\nprivate isFetchingDisplayFormats = false;\r\nprivate isFetchingUserPreferences = false;\r\nprivate isFetchingApplications = false;\r\n\r\n async getDisplayFormats() {\r\n if (this.isFetchingDisplayFormats) return;\r\n this.isFetchingDisplayFormats = true;\r\n try {\r\n const headers = {\r\n 'Content-Type': 'application/json',\r\n 'CultureCode': this.cultureCode,\r\n 'Source': '2',\r\n 'applicationId': this.applicationId,\r\n };\r\n\r\n const response = await fetch(`${this.apiUrl}/api/UserPreferences/DisplayFormats`, {\r\n method: 'GET', // Specify GET method\r\n headers: headers,\r\n credentials: 'include', // Include credentials (cookies) in the request\r\n });\r\n\r\n const data = await response.json();\r\n\r\n if (Array.isArray(data.content)) {\r\n this.displayFormats = data.content;\r\n } else {\r\n // console.error('Invalid response structure:', data);\r\n this.showToast('Something went wrong', 'error');\r\n }\r\n } catch (error) {\r\n // console.error('Error fetching display formats:', error);\r\n this.showToast('Something went wrong', 'error');\r\n }finally {\r\n this.isFetchingDisplayFormats = false;\r\n }\r\n }\r\n\r\n async getUserPreferences() {\r\n if (this.isFetchingUserPreferences) return;\r\n this.isFetchingUserPreferences = true;\r\n try {\r\n const headers = {\r\n 'Content-Type': 'application/json',\r\n 'CultureCode': this.cultureCode,\r\n 'Source': '2',\r\n 'applicationId': this.applicationId,\r\n };\r\n\r\n const response = await fetch(`${this.apiUrl}/api/UserPreferences/GetUserPreferences`, {\r\n method: 'GET',\r\n headers: headers,\r\n credentials: 'include',\r\n });\r\n\r\n let data = await response.json();\r\n if (data && typeof data !== 'string' && data.code == \"0000\") {\r\n console.log(data, ' data of user preferances');\r\n const fontSizeValue = parseInt(data.content.fontSize);\r\n console.log(fontSizeValue, ' fontSizeValue of user preferances');\r\n\r\n this.userPreferences = {\r\n ...this.userPreferences,\r\n dateFormat: data.content?.dateFormat || 'dd/MM/yyyy',\r\n timeFormat: data.content?.timeFormat || this.timeFormats[0], // fallback!\r\n fontSize: !isNaN(fontSizeValue) ? fontSizeValue : parseInt(this.fontSizes[0]?.value),\r\n displayFormat: data.content?.displayFormat || 1,\r\n defaultLandingPageId: data?.content?.defaultLandingPageId,\r\n pageName: data?.content?.defaultLandingPageDetails?.name || '',\r\n };\r\n // this.selectedPage.name = data.content?.defaultLandingPageDetails?.name;\r\n this.selectedPage = {\r\n ...this.selectedPage,\r\n name: data.content?.defaultLandingPageDetails?.name || '',\r\n pageId: data.content?.defaultLandingPageId, \r\n};\r\n\r\n\r\nthis.pageSearchQuery = data.content?.defaultLandingPageDetails?.name || '';\r\n }\r\n \r\n this.preferencesChanged.emit(data);\r\n } catch (error) {\r\n // console.error('Error fetching user preferences:', error);\r\n this.showToast('Something went wrong', 'error');\r\n }finally {\r\n this.isFetchingUserPreferences = false;\r\n }\r\n }\r\n private showToast(message: string, type: 'success' | 'error' = 'success') {\r\n this.toastMessage = message;\r\n this.toastType = type;\r\n this.showToastFlag = true;\r\n\r\n setTimeout(() => {\r\n this.showToastFlag = false;\r\n }, 3000);\r\n }\r\n\r\n async getUserApplications() {\r\n if (this.isFetchingApplications) return;\r\n this.isFetchingApplications = true;\r\n try {\r\n const headers = {\r\n 'Content-Type': 'application/json',\r\n 'IntegrationPermission': '0f5d983d203189bbffc5f686d01f6680bc6a83718a515fe42639347efc92478e',\r\n 'CultureCode': this.cultureCode,\r\n 'Source': '2',\r\n 'applicationId': this.applicationId,\r\n };\r\n\r\n const response = await fetch(`${this.apiUrl}/api/OrganizationApplicationsApi/GetAssigndApplicationForUser`, {\r\n method: 'GET',\r\n headers: headers,\r\n credentials: 'include',\r\n });\r\n\r\n const data = await response.json();\r\n\r\n if (data && Array.isArray(data.content)) {\r\n this.userApplications = data.content.filter(el => el.applicationId !== 1);\r\n } else {\r\n // console.error('Invalid response structure:', data);\r\n this.showToast('Something went wrong', 'error');\r\n }\r\n } catch (error) {\r\n // console.error('Error fetching applications:', error);\r\n this.showToast('Something went wrong', 'error');\r\n }finally{\r\n this.isFetchingApplications = false;\r\n }\r\n }\r\n @State() pageSearchQuery: string = '';\r\n@State() isPageDropdownOpen: boolean = false;\r\n\r\nget filteredPages() {\r\n const query = this.pageSearchQuery.toLowerCase();\r\n return this.pages.filter(page =>\r\n page.name.toLowerCase().includes(query)\r\n );\r\n}\r\n// changeApplication(e: Event) {\r\n// const selectedId = (e.target as HTMLSelectElement).value;\r\n// this.pageSearchQuery = ''; // ✅ reset search\r\n// this.isPageDropdownOpen = false;\r\n// this.selectedPage = { pageId: null, name: '' }; \r\n// if (selectedId) {\r\n// this.applicationId = selectedId;\r\n// // console.log(this.applicationId, 'this.applicationId on change');\r\n// this.getPagesSApplications();\r\n// } else {\r\n// this.applicationId = null;\r\n// }\r\n// }\r\nchangeApplication(e: Event) {\r\n const selectedId = (e.target as HTMLSelectElement).value;\r\n this.pageSearchQuery = ''; // ✅ clear search so all pages show\r\n this.isPageDropdownOpen = false;\r\n this.pages = [];\r\n\r\n if (selectedId) {\r\n this.applicationId = selectedId;\r\n this.getPagesSApplications().then(() => {\r\n // After pages load, open dropdown automatically\r\n this.isPageDropdownOpen = true;\r\n });\r\n } else {\r\n this.applicationId = null;\r\n }\r\n}\r\n async getPagesSApplications() {\r\n try {\r\n const response = await fetch(`${this.apiUrl}/api/Pages/GetPages`, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'CultureCode': this.cultureCode,\r\n 'Source': '2',\r\n 'applicationId': this.applicationId,\r\n },\r\n credentials: 'include',\r\n body: JSON.stringify(this.payload),\r\n });\r\n\r\n if (!response.ok) {\r\n // console.error('Failed to fetch pages');\r\n this.showToast('Something went wrong', 'error');\r\n return;\r\n }\r\n\r\n const data = await response.json();\r\n this.pages = data?.content?.data;\r\n // console.log(data, 'data of all pages ');\r\n } catch (error) {\r\n // console.error('Error fetching pages:', error);\r\n this.showToast('Something went wrong', 'error');\r\n }\r\n }\r\n\r\n async submitPreferences() {\r\n const fontSizeValue = parseFloat(this.userPreferences.fontSize);\r\n const fontSize = !isNaN(fontSizeValue) ? `${fontSizeValue}px` : null;\r\n let pageName = this.selectedPage.name;\r\n let defaultLandingPageId = this.selectedPage.pageId;\r\n const headers = {\r\n 'Content-Type': 'application/json',\r\n 'CultureCode': this.cultureCode,\r\n 'Source': '2',\r\n 'applicationId': this.applicationId,\r\n };\r\n // console.log(this.userPreferences, 'user preferancesss ');\r\n\r\n try {\r\n const response = await fetch(`${this.apiUrl}/api/UserPreferences/SaveUserPreferences`, {\r\n method: 'POST',\r\n headers,\r\n body: JSON.stringify({ ...this.userPreferences, fontSize, pageName: pageName, defaultLandingPageId: defaultLandingPageId }),\r\n credentials: 'include',\r\n });\r\n\r\n if (!response.ok) {\r\n // console.error('Failed to save preferences:', response.statusText);\r\n this.showToast('Something went wrong', 'error');\r\n\r\n return;\r\n }\r\n if (response.ok) {\r\n // Fetch updated preferences\r\n this.showToast('Preferences updated successfully!', 'success');\r\n\r\n const newPrefs: any = await this.getUserPreferences();\r\n if (!newPrefs || typeof newPrefs === 'string') return;\r\n }\r\n } catch (error) {\r\n this.showToast('Something went wrong', 'error');\r\n // console.error('Error submitting preferences:', error);\r\n }\r\n }\r\n\r\n async resetPreferences() {\r\n try {\r\n let res = await fetch(`${this.apiUrl}/api/UserPreferences/Delete`, {\r\n method: 'DELETE',\r\n credentials: 'include',\r\n });\r\n\r\n this.userPreferences = {\r\n dateFormat: 'dd/MM/yyyy',\r\n timeFormat: '',\r\n fontSize: '',\r\n displayFormat: 4,\r\n defaultLandingPageId: '',\r\n pageName: '',\r\n };\r\n if (res.ok) {\r\n // Fetch updated preferences\r\n this.showToast('Preferences updated successfully!', 'success');\r\n\r\n location.reload(); // If you want to refresh the UI\r\n }\r\n } catch (error) {\r\n // console.error('Failed to reset preferences', error);\r\n this.showToast('Something went wrong', 'error');\r\n }\r\n }\r\n toggleModal() {\r\n this.isModalOpen = !this.isModalOpen;\r\n }\r\n togglePageModal() {\r\n this.isPageModalOpen = !this.isPageModalOpen;\r\n }\r\n selectPage(page) {\r\n this.selectedPage = page;\r\n this.userPreferences.defaultLandingPageId = page.pageId; // Update default landing page\r\n this.togglePageModal(); // Close the page selection modal\r\n }\r\n\r\n get pagedPages() {\r\n const start = (this.currentPage - 1) * this.pageSize;\r\n const end = start + this.pageSize;\r\n return this.pages.slice(start, end);\r\n }\r\n\r\n get totalPages() {\r\n return Math.ceil(this.pages.length / this.pageSize);\r\n }\r\n\r\n render() {\r\n return (\r\n <Host>\r\n <div class=\"container\">\r\n <svg onClick={() => this.toggleModal()} xmlns=\"http://www.w3.org/2000/svg\" width=\"28px\" height=\"28px\" viewBox=\"0 0 24 24\" style={{ cursor: 'pointer' }}>\r\n <g stroke=\"none\" fill=\"none\">\r\n <rect x=\"0\" y=\"0\" width=\"24\" height=\"24\" />\r\n <rect fill=\"#008fc7\" x=\"4\" y=\"4\" width=\"7\" height=\"7\" rx=\"1.5\" />\r\n <path\r\n d=\"M5.5,13 L9.5,13 C10.3284271,13 11,13.6715729 11,14.5 L11,18.5 C11,19.3284271 10.3284271,20 9.5,20 L5.5,20 C4.67157288,20 4,19.3284271 4,18.5 L4,14.5 C4,13.6715729 4.67157288,13 5.5,13 Z M14.5,4 L18.5,4 C19.3284271,4 20,4.67157288 20,5.5 L20,9.5 C20,10.3284271 19.3284271,11 18.5,11 L14.5,11 C13.6715729,11 13,10.3284271 13,9.5 L13,5.5 C13,4.67157288 13.6715729,4 14.5,4 Z M14.5,13 L18.5,13 C19.3284271,13 20,13.6715729 20,14.5 L20,18.5 C20,19.3284271 19.3284271,20 18.5,20 L14.5,20 C13.6715729,20 13,19.3284271 13,18.5 L13,14.5 C13,13.6715729 13.6715729,13 14.5,13 Z\"\r\n fill=\"#008fc7\"\r\n opacity=\"0.3\"\r\n />\r\n </g>\r\n </svg>\r\n\r\n {/* Main Modal */}\r\n {this.isModalOpen && (\r\n <div class=\"kt-quick-panel kt-quick-panel--on\">\r\n <a onClick={() => this.toggleModal()} id=\"kt_quick_panel_close_btn\" class=\"kt-quick-panel__close\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"25px\" height=\"25px\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <g id=\"Menu / Close_SM\">\r\n <path id=\"Vector\" d=\"M16 16L12 12M12 12L8 8M12 12L16 8M12 12L8 16\" stroke=\"#000000\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n </svg>\r\n </a>\r\n <div class=\"kt-quick-panel__nav\">\r\n <ul role=\"tablist\" class=\"nav nav-tabs nav-tabs-line nav-tabs-bold nav-tabs-line-3x nav-tabs-line-brand kt-notification-item-padding-x\">\r\n <li class=\"nav-item active\">\r\n <a data-toggle=\"tab\" role=\"tab\" class=\"nav-link active\">\r\n User Preference\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n <div class=\"kt-quick-panel__content\">\r\n <div class=\"tab-content\">\r\n <div id=\"kt_quick_panel_tab_notifications\" role=\"tabpanel\" class=\"tab-pane fade show kt-scroll active ps ps--active-y\">\r\n <div class=\"kt-notification\">\r\n <div class=\"kt-portlet__body\">\r\n <div class=\"form-group\">\r\n <label>Date Format</label>\r\n <select onInput={e => (this.userPreferences.dateFormat = (e.target as HTMLSelectElement).value)}>\r\n {this.dateFormates.map(format => (\r\n <option value={format} selected={this.userPreferences.dateFormat == format}>\r\n {format}\r\n </option>\r\n ))}\r\n </select>\r\n </div>\r\n\r\n <div class=\"form-group\">\r\n <label>Time Format</label>\r\n <select onInput={e => (this.userPreferences.timeFormat = (e.target as HTMLSelectElement).value)}>\r\n {this.timeFormats.map(format => (\r\n <option value={format} selected={this.userPreferences.timeFormat == format}>\r\n {format}\r\n </option>\r\n ))}\r\n </select>\r\n </div>\r\n\r\n <div class=\"form-group\">\r\n <label>Font Size</label>\r\n <select onInput={e => (this.userPreferences.fontSize = (e.target as HTMLSelectElement).value)}>\r\n {this.fontSizes.map(size => (\r\n <option value={size.value} selected={this.userPreferences.fontSize == size.value}>\r\n {size.label}\r\n </option>\r\n ))}\r\n </select>\r\n </div>\r\n\r\n <div class=\"form-group\">\r\n <label>User Display Format</label>\r\n <select onInput={e => (this.userPreferences.displayFormat = parseInt((e.target as HTMLSelectElement).value))}>\r\n {this.displayFormats.map(format => (\r\n <option value={format.value} selected={this.userPreferences.displayFormat == format.value}>\r\n {format.label}\r\n </option>\r\n ))}\r\n </select>\r\n </div>\r\n\r\n <div class=\"form-group\">\r\n <label>Default Landing Page</label>\r\n <div class=\"input-group\" onClick={() => this.togglePageModal()}>\r\n <div class=\"input-group-prepend\">\r\n <span class=\"input-group-text\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"#000000\"\r\n height=\"18px\"\r\n width=\"18px\"\r\n version=\"1.1\"\r\n id=\"Layer_1\"\r\n viewBox=\"0 0 64 64\"\r\n enable-background=\"new 0 0 64 64\"\r\n >\r\n <g id=\"Link-chains\">\r\n <path d=\"M56.1697006,10.5212574C55.7126999,8.8132582,54.618,7.3864579,53.0876999,6.5036578l-9.7275009-5.6162 c-1.5303001-0.8838-3.3144989-1.1180999-5.0205994-0.6611c-1.7070007,0.458-3.1347008,1.5527-4.0185013,3.0840001 L21.9655991,24.7107582c-0.8838005,1.5301991-1.1191006,3.3134003-0.6611004,5.0205002 c0.4580002,1.7069988,1.5527,3.1338005,3.0839996,4.017498l7.5703011,4.3721008 c0.157198,0.0908012,0.3290997,0.1338005,0.4989986,0.1338005c0.3456993,0,0.6817017-0.1786995,0.8671989-0.5 c0.2764015-0.4785004,0.1123009-1.0898018-0.3661995-1.3661995l-7.5702991-4.3721008 c-1.0683994-0.6161995-1.8330002-1.612299-2.1523991-2.8027c-0.3192997-1.1903992-0.155201-2.4345989,0.4618988-3.5028992 L36.0534973,4.3103576c0.6172028-1.0683999,1.6123009-1.8329999,2.8037033-2.1523998 c1.1894989-0.3183,2.4355965-0.1552,3.5029984,0.4619l9.7275009,5.6162996 c1.0673981,0.6162004,1.8311005,1.6113005,2.1503983,2.8027c0.3193016,1.1914005,0.1553001,2.4355001-0.4618988,3.5039005 l-6.3652992,11.0243998c-0.2763023,0.4785004-0.1123009,1.0897999,0.3661995,1.3661995 c0.4755974,0.2754002,1.0888977,0.1123009,1.3662987-0.3661995l6.3652-11.0243998 C56.3923988,14.0124578,56.627697,12.2292576,56.1697006,10.5212574z\" />\r\n <path d=\"M39.6082001,30.2507572l-8.8691006-5.1201c-0.4786015-0.2763996-1.089901-0.112299-1.3662014,0.3662014 c-0.2763996,0.4784985-0.1124001,1.0897999,0.3662014,1.3661995l8.8691006,5.1201 c2.2040977,1.2734985,2.9618988,4.1026001,1.6884995,6.3066978L27.9411983,59.690258 c-0.6161995,1.0682983-1.6112995,1.8320007-2.8027,2.1512985c-1.1894989,0.3184013-2.4335995,0.1562996-3.5019989-0.4608994 l-9.7275009-5.6161995c-2.2040997-1.2734985-2.9629002-4.1026001-1.6904001-6.3067017l6.365201-11.0243988 c0.2763996-0.4785004,0.112299-1.089798-0.3662014-1.3661995c-0.4775991-0.2764015-1.0898991-0.1133003-1.3661995,0.3661995 L8.4860983,48.457756c-1.8231997,3.1592026-0.7362995,7.2139015,2.4229002,9.0391006l9.7275009,5.6161995 c1.0195999,0.5879021,2.1504002,0.8886986,3.2958984,0.8886986c0.575201,0,1.1543007-0.0751953,1.7246017-0.2284966 c1.7070999-0.4570999,3.1337986-1.5527992,4.0165997-3.0830002L42.0290985,39.289856 C43.8532982,36.1316566,42.7673988,32.0769577,39.6082001,30.2507572z\" />\r\n </g>\r\n </svg>\r\n </span>\r\n </div>\r\n <input type=\"text\" class=\"form-control\" readonly value={this.selectedPage.name || 'Select page'} placeholder=\"Select page\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"kt-portlet__foot\">\r\n <div class=\"kt-form__actions\">\r\n <button class=\"btn btn-primary\" onClick={() => this.submitPreferences()}>\r\n Save\r\n </button>\r\n <button class=\"btn btn-secondary\" onClick={() => this.resetPreferences()}>\r\n Reset\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n\r\n {this.showToastFlag && <div class={`toast ${this.toastType}`}>{this.toastMessage}</div>}\r\n\r\n {/* Page Selection Modal */}\r\n\r\n {this.isPageModalOpen && (\r\n <div class=\"modal-overlay\">\r\n <div class=\"modal-dialog modal-md landing-modal\">\r\n <div class=\"modal-content landing-page\">\r\n <div class=\"modal-header\">\r\n <h4 class=\"modal-title pull-left\"> Customize your default landing page </h4>\r\n <button onClick={() => this.togglePageModal()} type=\"button\" aria-label=\"Close\" class=\"close pull-right\">\r\n <span>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"15px\" height=\"15px\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <g id=\"Menu / Close_SM\">\r\n <path id=\"Vector\" d=\"M16 16L12 12M12 12L8 8M12 12L16 8M12 12L8 16\" stroke=\"#000000\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n </svg>\r\n </span>\r\n </button>\r\n </div>\r\n\r\n {/* \r\n <div class=\"modal-body\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"row\">\r\n <div class=\"form-group\">\r\n <label htmlFor=\"\"> Default Landing Page </label>\r\n <select class=\"ng\" onInput={e => this.changeApplication(e)}>\r\n <option value=\"\" selected={this.applicationId === null}>\r\n -- Select Application --\r\n </option>\r\n {this.userApplications.map(application => (\r\n <option value={application.applicationId} selected={this.applicationId === application.applicationId}>\r\n {application.applicationName}\r\n </option>\r\n ))}\r\n </select>\r\n </div>\r\n </div>\r\n\r\n <label>Select Page</label>\r\n <div style={{ maxHeight: '300px', overflowY: 'auto', overflowX: 'hidden' }}>\r\n {this.pagedPages.map(page => (\r\n <div class=\"slug-item\" onClick={() => this.selectPage(page)}>\r\n <div class=\"row\">\r\n <span class=\"text-brand\" style={{ fontWeight: '600', lineHeight: '1' }}>\r\n {page.name}\r\n </span>\r\n <small\r\n class={{\r\n 'culture-unpublished': page.pageCultureStatus == 1,\r\n 'culture-published': page.pageCultureStatus == 2,\r\n }}\r\n >\r\n {page.cultureCode}\r\n </small>\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n\r\n {this.totalPages > 1 && (\r\n <div class=\"pagination-controls\">\r\n <button class=\"arrow-button\" disabled={this.currentPage === 1} onClick={() => this.currentPage--}>\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M15 18L9 12L15 6\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </button>\r\n <span>\r\n {this.currentPage} of {this.totalPages}\r\n </span>\r\n <button class=\"arrow-button\" disabled={this.currentPage === this.totalPages} onClick={() => this.currentPage++}>\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M9 6L15 12L9 18\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </button>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div> */}\r\n\r\n <div class=\"modal-body\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"row\">\r\n <div class=\"form-group\">\r\n <label htmlFor=\"\"> Default Landing Page </label>\r\n <select class=\"ng\" onInput={e => this.changeApplication(e)}>\r\n <option value=\"\" selected={this.applicationId === null}>\r\n -- Select Application --\r\n </option>\r\n {this.userApplications.map(application => (\r\n <option value={application.applicationId} selected={this.applicationId === application.applicationId}>\r\n {application.applicationName}\r\n </option>\r\n ))}\r\n </select>\r\n </div>\r\n </div>\r\n\r\n {/* ===== Page Searchable Dropdown (only shows after app is selected) ===== */}\r\n {this.applicationId && (\r\n <div class=\"form-group\" style={{ marginTop: '12px' }}>\r\n <label htmlFor=\"pageSearch\">Select Page</label>\r\n\r\n {/* Search input */}\r\n <div class=\"search-select-wrapper\">\r\n <input\r\n type=\"text\"\r\n class=\"search-input\"\r\n placeholder=\"Search Pages...\"\r\n value={this.pageSearchQuery}\r\n onInput={e => {\r\n this.pageSearchQuery = (e.target as HTMLInputElement).value;\r\n this.isPageDropdownOpen = true;\r\n }}\r\n onFocus={() => this.isPageDropdownOpen = true}\r\n />\r\n\r\n {/* Dropdown list */}\r\n {this.isPageDropdownOpen && (\r\n <div class=\"search-dropdown\">\r\n {this.filteredPages.length === 0 ? (\r\n <div class=\"search-no-result\">No pages found</div>\r\n ) : (\r\n this.filteredPages.map(page => (\r\n <div\r\n class={`search-option ${this.selectedPage?.pageId === page.pageId ? 'selected' : ''}`}\r\n onClick={() => {\r\n this.selectPage(page);\r\n this.pageSearchQuery = page.name;\r\n this.isPageDropdownOpen = false;\r\n }}>\r\n {/* Page icon */}\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" style={{ flexShrink: '0' }}>\r\n <path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"\r\n stroke=\"currentColor\" stroke-width=\"2\"/>\r\n <path d=\"M14 2v6h6\" stroke=\"currentColor\" stroke-width=\"2\"/>\r\n </svg>\r\n\r\n <span>{page.name}</span>\r\n\r\n {/* Culture badge */}\r\n <small class={{\r\n 'culture-unpublished': page.pageCultureStatus == 1,\r\n 'culture-published': page.pageCultureStatus == 2,\r\n }}>\r\n {page.cultureCode}\r\n </small>\r\n </div>\r\n ))\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n\r\n </div>\r\n )}\r\n {/* { <label>Select Page</label>\r\n <div style={{ maxHeight: '250px', overflowY: 'auto', overflowX: 'hidden' }}>\r\n {this.pagedPages.map(page => (\r\n <div class=\"slug-item\" onClick={() => this.selectPage(page)}>\r\n <div class=\"row\">\r\n <svg width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" >\r\n <path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\" stroke=\"currentColor\" ></path>\r\n <path d=\"M14 2v6h6\" stroke=\"currentColor\" ></path>\r\n</svg>\r\n <span class=\"text-brand\" style={{ fontWeight: '600', lineHeight: '1', padding: '5px' }}>\r\n {page.name}\r\n </span>\r\n <small\r\n class={{\r\n 'culture-unpublished': page.pageCultureStatus == 1,\r\n 'culture-published': page.pageCultureStatus == 2,\r\n }}\r\n >\r\n {page.cultureCode}\r\n </small>\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n\r\n {this.totalPages > 1 && (\r\n <div class=\"pagination-controls\">\r\n <button class=\"arrow-button\" disabled={this.currentPage === 1} onClick={() => this.currentPage--}>\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M15 18L9 12L15 6\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </button>\r\n <span>\r\n {this.currentPage} of {this.totalPages}\r\n </span>\r\n <button class=\"arrow-button\" disabled={this.currentPage === this.totalPages} onClick={() => this.currentPage++}>\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M9 6L15 12L9 18\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </button>\r\n </div>\r\n )}} */}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
|
|
@@ -17,7 +17,7 @@ export class MyComponent {
|
|
|
17
17
|
return format(this.first, this.middle, this.last);
|
|
18
18
|
}
|
|
19
19
|
render() {
|
|
20
|
-
return h("div", { key: '
|
|
20
|
+
return h("div", { key: '864ca04664ee789c54a060b6875fb7fd8a7ef2ec' }, "Hello, World! I'm ", this.getText());
|
|
21
21
|
}
|
|
22
22
|
static get is() { return "my-component"; }
|
|
23
23
|
static get encapsulation() { return "shadow"; }
|