eiam-user-preference 0.0.13
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/LICENSE +22 -0
- package/dist/cjs/app-globals-V2Kpy_OQ.js +8 -0
- package/dist/cjs/app-globals-V2Kpy_OQ.js.map +1 -0
- package/dist/cjs/eiam-user-preference.cjs.entry.js +380 -0
- package/dist/cjs/eiam-user-preference.cjs.entry.js.map +1 -0
- package/dist/cjs/eiam-user-preference.cjs.js +28 -0
- package/dist/cjs/eiam-user-preference.cjs.js.map +1 -0
- package/dist/cjs/eiam-user-preference.entry.cjs.js.map +1 -0
- package/dist/cjs/index-CpBvGZoy.js +1355 -0
- package/dist/cjs/index-CpBvGZoy.js.map +1 -0
- package/dist/cjs/index.cjs.js +10 -0
- package/dist/cjs/index.cjs.js.map +1 -0
- package/dist/cjs/loader.cjs.js +16 -0
- package/dist/cjs/loader.cjs.js.map +1 -0
- package/dist/cjs/my-component.cjs.entry.js +36 -0
- package/dist/cjs/my-component.cjs.entry.js.map +1 -0
- package/dist/cjs/my-component.entry.cjs.js.map +1 -0
- package/dist/collection/collection-manifest.json +13 -0
- package/dist/collection/components/eiam-user-preference/eiam-user-preference.css +34 -0
- package/dist/collection/components/eiam-user-preference/eiam-user-preference.js +446 -0
- package/dist/collection/components/eiam-user-preference/eiam-user-preference.js.map +1 -0
- package/dist/collection/components/my-component/my-component.css +3 -0
- package/dist/collection/components/my-component/my-component.js +96 -0
- package/dist/collection/components/my-component/my-component.js.map +1 -0
- package/dist/collection/index.js +11 -0
- package/dist/collection/index.js.map +1 -0
- package/dist/collection/utils/utils.js +4 -0
- package/dist/collection/utils/utils.js.map +1 -0
- package/dist/components/eiam-user-preference.d.ts +11 -0
- package/dist/components/eiam-user-preference.js +418 -0
- package/dist/components/eiam-user-preference.js.map +1 -0
- package/dist/components/index.d.ts +33 -0
- package/dist/components/index.js +10 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/my-component.d.ts +11 -0
- package/dist/components/my-component.js +57 -0
- package/dist/components/my-component.js.map +1 -0
- package/dist/components/p-CkpXNKI5.js +1150 -0
- package/dist/components/p-CkpXNKI5.js.map +1 -0
- package/dist/eiam-user-preference/eiam-user-preference.entry.esm.js.map +1 -0
- package/dist/eiam-user-preference/eiam-user-preference.esm.js +2 -0
- package/dist/eiam-user-preference/eiam-user-preference.esm.js.map +1 -0
- package/dist/eiam-user-preference/index.esm.js +2 -0
- package/dist/eiam-user-preference/index.esm.js.map +1 -0
- package/dist/eiam-user-preference/loader.esm.js.map +1 -0
- package/dist/eiam-user-preference/my-component.entry.esm.js.map +1 -0
- package/dist/eiam-user-preference/p-92b5e823.entry.js +2 -0
- package/dist/eiam-user-preference/p-92b5e823.entry.js.map +1 -0
- package/dist/eiam-user-preference/p-Chl3oIcU.js +3 -0
- package/dist/eiam-user-preference/p-Chl3oIcU.js.map +1 -0
- package/dist/eiam-user-preference/p-DQuL1Twl.js +2 -0
- package/dist/eiam-user-preference/p-DQuL1Twl.js.map +1 -0
- package/dist/eiam-user-preference/p-d0510b8c.entry.js +2 -0
- package/dist/eiam-user-preference/p-d0510b8c.entry.js.map +1 -0
- package/dist/esm/app-globals-DQuL1Twl.js +6 -0
- package/dist/esm/app-globals-DQuL1Twl.js.map +1 -0
- package/dist/esm/eiam-user-preference.entry.js +378 -0
- package/dist/esm/eiam-user-preference.entry.js.map +1 -0
- package/dist/esm/eiam-user-preference.js +24 -0
- package/dist/esm/eiam-user-preference.js.map +1 -0
- package/dist/esm/index-Chl3oIcU.js +1347 -0
- package/dist/esm/index-Chl3oIcU.js.map +1 -0
- package/dist/esm/index.js +8 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/loader.js +14 -0
- package/dist/esm/loader.js.map +1 -0
- package/dist/esm/my-component.entry.js +34 -0
- package/dist/esm/my-component.entry.js.map +1 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.js +1 -0
- package/dist/types/components/eiam-user-preference/eiam-user-preference.d.ts +68 -0
- package/dist/types/components/my-component/my-component.d.ts +16 -0
- package/dist/types/components.d.ts +78 -0
- package/dist/types/index.d.ts +11 -0
- package/dist/types/stencil-public-runtime.d.ts +1683 -0
- package/dist/types/utils/utils.d.ts +1 -0
- package/loader/cdn.js +1 -0
- package/loader/index.cjs.js +1 -0
- package/loader/index.d.ts +24 -0
- package/loader/index.es2017.js +1 -0
- package/loader/index.js +2 -0
- package/package.json +53 -0
- package/readme.md +111 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["eiamUserPreferenceCss","EiamUserPreference","apiUrl","window","currentRouteSlug","payload","pagination","pageIndex","pageSize","search","pageName","userPreferences","dateFormate","timeFormate","fontSize","displayFormat","defaultLandingPageId","dateFormates","timeFormats","fontSizes","label","value","displayFormats","userApplications","pages","totalPages","isModalOpen","isPageModalOpen","selectedPage","id","name","pageParams","status","pageCategory","cultureId","cultureCode","pageNumber","applicationId","searchText","pageId","componentWillLoad","this","getDisplayFormats","getUserPreferences","getUserApplications","componentDidLoad","host","shadowRoot","existingLink","querySelector","link","document","createElement","rel","href","appendChild","console","log","warn","headers","IntegrationPermission","CultureCode","Source","response","fetch","method","credentials","data","json","Array","isArray","content","error","fontSizeValue","parseFloat","isNaN","defaultLandingPageDetails","changeApplication","application","getPagesSApplications","requestBody","body","JSON","stringify","ok","submitPreferences","statusText","newPrefs","newFontSize","localStorage","setItem","setAttribute","resetPreferences","removeItem","location","reload","toggleModal","togglePageModal","selectPage","page","render","h","Host","key","class","onClick","style","cursor","role","onInput","e","target","map","format","selected","size","parseInt","type","readonly","placeholder","htmlFor","applicationName","maxHeight","overflowY","overflowX","fontWeight","lineHeight","pageCultureStatus"],"sources":["src/components/eiam-user-preference/eiam-user-preference.css?tag=eiam-user-preference&encapsulation=shadow","src/components/eiam-user-preference/eiam-user-preference.tsx"],"sourcesContent":["\r\n.kt-quick-panel.kt-quick-panel--on {\r\n -webkit-transition: left 0.3s ease, right 0.3s ease;\r\n transition: left 0.3s ease, right 0.3s ease;\r\n right: 0;\r\n left: auto;\r\n }\r\n \r\n .kt-quick-panel-close {\r\n width: 25px;\r\n height: 25px;\r\n top: 1px;\r\n z-index: 1002;\r\n -webkit-transition: left 0.3s ease, right 0.3s ease;\r\n transition: left 0.3s ease, right 0.3s ease;\r\n position: fixed;\r\n border: 0;\r\n -webkit-box-shadow: none;\r\n box-shadow: none;\r\n border-radius: 3px;\r\n cursor: pointer;\r\n outline: none !important;\r\n display: -webkit-box;\r\n display: -ms-flexbox;\r\n display: flex;\r\n -webkit-box-pack: center;\r\n -ms-flex-pack: center;\r\n justify-content: center;\r\n -webkit-box-align: center;\r\n -ms-flex-align: center;\r\n align-items: center;\r\n left: -25px;\r\n }\r\n ","import { Component, Host, Prop, State, Watch, h, Element } 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 apiUrl = window['config']?.apiUrl || 'http://localhost:5000';\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 @State() userPreferences = {\r\n dateFormate: 'dd/MM/yyyy',\r\n timeFormate: '',\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() totalPages: number = 0;\r\n @State() isModalOpen = false;\r\n @State() isPageModalOpen: boolean = false; // Controls the visibility of the secondary modal\r\n @State() selectedPage: { id: number; name: string } = { id: null, name: '' }; // To store selected page\r\n\r\n @State() pageParams = {\r\n pageName: '',\r\n status: 0,\r\n pageCategory: 0,\r\n cultureId: 0,\r\n cultureCode: '',\r\n pageNumber: 0,\r\n pageSize: 10,\r\n applicationId: 0,\r\n searchText: '',\r\n };\r\n @State() pageId: any;\r\n @Prop() cultureCode: string;\r\n @Prop() applicationId: string;\r\n\r\n @Watch('cultureCode')\r\n @Watch('applicationId')\r\n async componentWillLoad() {\r\n await this.getDisplayFormats();\r\n await this.getUserPreferences();\r\n await this.getUserApplications();\r\n }\r\n componentDidLoad() {\r\n if (this.host.shadowRoot) {\r\n const existingLink = this.host.shadowRoot.querySelector('link[rel=\"stylesheet\"]');\r\n if (!existingLink) {\r\n const link = document.createElement('link');\r\n link.rel = 'stylesheet';\r\n link.href = 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css';\r\n this.host.shadowRoot.appendChild(link);\r\n // console.log('FontAwesome added to shadow DOM');\r\n } else {\r\n console.log('FontAwesome already added to shadow DOM');\r\n }\r\n } else {\r\n console.warn('shadowRoot is null');\r\n }\r\n }\r\n async getDisplayFormats() {\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/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 }\r\n } catch (error) {\r\n console.error('Error fetching display formats:', error);\r\n }\r\n }\r\n\r\n async getUserPreferences() {\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/UserPreferences/GetUserPreferences`, {\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 && typeof data !== 'string') {\r\n const fontSizeValue = parseFloat(data.fontSize);\r\n this.userPreferences = {\r\n ...this.userPreferences,\r\n dateFormate: data.dateFormate || 'dd/MM/yyyy',\r\n timeFormate: data.timeFormate || this.timeFormats[0], // fallback!\r\n fontSize: !isNaN(fontSizeValue) ? fontSizeValue : this.fontSizes[0]?.value,\r\n displayFormat: data.displayFormat || 1,\r\n defaultLandingPageId: data.defaultLandingPageId,\r\n pageName: data?.defaultLandingPageDetails?.name || '',\r\n };\r\n }\r\n } catch (error) {\r\n console.error('Error fetching user preferences:', error);\r\n }\r\n }\r\n\r\n async getUserApplications() {\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;\r\n } else {\r\n console.error('Invalid response structure:', data);\r\n }\r\n } catch (error) {\r\n console.error('Error fetching applications:', error);\r\n }\r\n }\r\n changeApplication(application) {\r\n if (application.applicationId) {\r\n this.pageParams.applicationId = application.applicationId;\r\n this.getPagesSApplications();\r\n }\r\n }\r\n\r\n async getPagesSApplications() {\r\n const requestBody = {}; // Create the request body (you can modify based on your needs)\r\n\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 'IntegrationPermission': '0f5d983d203189bbffc5f686d01f6680bc6a83718a515fe42639347efc92478e',\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(requestBody),\r\n });\r\n\r\n if (!response.ok) {\r\n console.error('Failed to fetch pages');\r\n return;\r\n }\r\n\r\n const data = await response.json();\r\n console.log(data, 'data of all pages ');\r\n } catch (error) {\r\n console.error('Error fetching pages:', error);\r\n }\r\n }\r\n\r\n // async submitPreferences() {\r\n // const fontSize = this.userPreferences.fontSize ? this.userPreferences.fontSize + 'px' : null;\r\n\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 // try {\r\n // const response = await fetch(`${this.apiUrl}/api/UserPreferences/SaveUserPreferences`, {\r\n // method: 'POST',\r\n // headers: headers,\r\n // body: JSON.stringify({ ...this.userPreferences, fontSize }),\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 // return;\r\n // }\r\n\r\n // await this.getUserPreferences();\r\n // } catch (error) {\r\n // console.error('Error submitting preferences:', error);\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\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 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 }),\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 return;\r\n }\r\n\r\n // Fetch updated preferences\r\n const newPrefs: any = await this.getUserPreferences();\r\n if (!newPrefs || typeof newPrefs === 'string') return;\r\n\r\n // Apply updated preferences like Angular code\r\n const { displayFormat, fontSize: newFontSize, dateFormate, timeFormate } = newPrefs;\r\n\r\n if (displayFormat) {\r\n localStorage.setItem('displayFormat', displayFormat);\r\n // this.emit('displayFormatUpdated', displayFormat);\r\n }\r\n\r\n if (newFontSize) {\r\n document.body.setAttribute('style', `font-size: ${newFontSize} !important`);\r\n }\r\n\r\n localStorage.setItem('dateFormat', dateFormate || 'dd/MM/yyyy');\r\n localStorage.setItem('timeFormat', timeFormate || '');\r\n\r\n // this.emit('dateFormatUpdated', dateFormate || 'dd/MM/yyyy');\r\n // this.emit('timeFormatUpdated', timeFormate || '');\r\n } catch (error) {\r\n console.error('Error submitting preferences:', error);\r\n }\r\n }\r\n\r\n async resetPreferences() {\r\n try {\r\n 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 dateFormate: 'dd/MM/yyyy',\r\n timeFormate: '',\r\n fontSize: '',\r\n displayFormat: 4,\r\n defaultLandingPageId: '',\r\n pageName: '',\r\n };\r\n\r\n localStorage.removeItem('dateFormat');\r\n localStorage.removeItem('displayFormat');\r\n localStorage.removeItem('fontSize');\r\n\r\n location.reload(); // If you want to refresh the UI\r\n } catch (error) {\r\n console.error('Failed to reset preferences', 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: { id: any; name: string }) {\r\n this.selectedPage = page;\r\n this.userPreferences.defaultLandingPageId = page.id; // Update default landing page\r\n this.togglePageModal(); // Close the page selection modal\r\n }\r\n\r\n // render() {\r\n // return (\r\n // <Host>\r\n // <div>\r\n // <i class=\"fas fa-cogs\" onClick={() => this.toggleModal()} style={{ cursor: 'pointer', fontSize: '24px' }}></i>\r\n\r\n // {/* Modal */}\r\n // {this.isModalOpen && (\r\n // <div class=\"modal\">\r\n // <div class=\"modal-content\">\r\n // <span class=\"close\" onClick={() => this.toggleModal()}>\r\n // ×\r\n // </span>\r\n // <h2>User Preferences</h2>\r\n // <div>\r\n // <label>Date Format</label>\r\n // <select onInput={e => (this.userPreferences.dateFormate = (e.target as HTMLSelectElement).value)}>\r\n // {this.dateFormates.map(format => (\r\n // <option value={format} selected={this.userPreferences.dateFormate === format}>\r\n // {format}\r\n // </option>\r\n // ))}\r\n // </select>\r\n\r\n // <label>Time Format</label>\r\n // <select onInput={e => (this.userPreferences.timeFormate = (e.target as HTMLSelectElement).value)}>\r\n // {this.timeFormats.map(format => (\r\n // <option value={format} selected={this.userPreferences.timeFormate === format}>\r\n // {format}\r\n // </option>\r\n // ))}\r\n // </select>\r\n\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\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\r\n // <label>Default Landing Page</label>\r\n // <select onInput={e => (this.userPreferences.defaultLandingPageId = (e.target as HTMLSelectElement).value)}>\r\n // {this.pages.map(page => (\r\n // <option value={page.id} selected={this.userPreferences.defaultLandingPageId === page.id}>\r\n // {page.name}\r\n // </option>\r\n // ))}\r\n // </select>\r\n\r\n // <button onClick={() => this.submitPreferences()}>Save</button>\r\n // <button onClick={() => this.resetPreferences()}>Reset</button>\r\n // </div>\r\n // </div>\r\n // </div>\r\n // )}\r\n // </div>\r\n // </Host>\r\n // );\r\n // }\r\n render() {\r\n return (\r\n <Host>\r\n <div>\r\n {/* User Preferences Modal Trigger */}\r\n <i class=\"fas fa-cogs\" onClick={() => this.toggleModal()} style={{ cursor: 'pointer', fontSize: '24px' }}></i>\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 <i class=\"fas fa-times\"></i>\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.dateFormate = (e.target as HTMLSelectElement).value)}>\r\n {this.dateFormates.map(format => (\r\n <option value={format} selected={this.userPreferences.dateFormate === 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.timeFormate = (e.target as HTMLSelectElement).value)}>\r\n {this.timeFormats.map(format => (\r\n <option value={format} selected={this.userPreferences.timeFormate === 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 <i class=\"fas fa-link\"></i>\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 {/* Page Selection Modal */}\r\n\r\n {this.isPageModalOpen && (\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\"> Default Landing Page </h4>\r\n <button onClick={() => this.togglePageModal()} type=\"button\" aria-label=\"Close\" class=\"close pull-right\">\r\n <span>\r\n <i class=\"fas fa-times\"></i>\r\n </span>\r\n </button>\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 onInput={e => this.changeApplication(e)}>\r\n {this.userApplications.map(application => (\r\n <option value={application.applicationId}>{application.applicationName}</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.pages.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 <div class=\"d-flex justify-content-center mt-2 pagination-class\">\r\n {/* <pagination\r\n totalItems={this.totalPages}\r\n maxSize={10}\r\n itemsPerPage={this.pageParams.pageSize}\r\n boundaryLinks={true}\r\n onPageChanged={event => this.changePage(event)}\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"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-globals-DQuL1Twl.js","sources":["@stencil/core/internal/app-globals"],"sourcesContent":["export const globalScripts = () => {};\n"],"names":[],"mappings":"AAAY,MAAC,aAAa,GAAG,MAAM;;;;"}
|
|
@@ -0,0 +1,378 @@
|
|
|
1
|
+
import { r as registerInstance, g as getElement, h, H as Host } from './index-Chl3oIcU.js';
|
|
2
|
+
|
|
3
|
+
const eiamUserPreferenceCss = ".kt-quick-panel.kt-quick-panel--on{-webkit-transition:left 0.3s ease, right 0.3s ease;transition:left 0.3s ease, right 0.3s ease;right:0;left:auto}.kt-quick-panel-close{width:25px;height:25px;top:1px;z-index:1002;-webkit-transition:left 0.3s ease, right 0.3s ease;transition:left 0.3s ease, right 0.3s ease;position:fixed;border:0;-webkit-box-shadow:none;box-shadow:none;border-radius:3px;cursor:pointer;outline:none !important;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;left:-25px}";
|
|
4
|
+
|
|
5
|
+
const EiamUserPreference = class {
|
|
6
|
+
constructor(hostRef) {
|
|
7
|
+
registerInstance(this, hostRef);
|
|
8
|
+
}
|
|
9
|
+
get host() { return getElement(this); }
|
|
10
|
+
apiUrl = window['config']?.apiUrl || 'http://localhost:5000';
|
|
11
|
+
currentRouteSlug;
|
|
12
|
+
payload = {
|
|
13
|
+
pagination: {
|
|
14
|
+
pageIndex: 0,
|
|
15
|
+
pageSize: 1000,
|
|
16
|
+
},
|
|
17
|
+
search: {
|
|
18
|
+
pageName: '',
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
userPreferences = {
|
|
22
|
+
dateFormate: 'dd/MM/yyyy',
|
|
23
|
+
timeFormate: '',
|
|
24
|
+
fontSize: null,
|
|
25
|
+
displayFormat: 4,
|
|
26
|
+
defaultLandingPageId: '',
|
|
27
|
+
pageName: '',
|
|
28
|
+
};
|
|
29
|
+
dateFormates = ['dd/MM/yyyy', 'MM/dd/yyyy', 'yyyy-MM-dd'];
|
|
30
|
+
timeFormats = ['h:mm a'];
|
|
31
|
+
fontSizes = [
|
|
32
|
+
{ label: 'Small', value: '14' },
|
|
33
|
+
{ label: 'Medium', value: '16' },
|
|
34
|
+
{ label: 'Large', value: '18' },
|
|
35
|
+
];
|
|
36
|
+
displayFormats = [];
|
|
37
|
+
userApplications = [];
|
|
38
|
+
pages = [];
|
|
39
|
+
totalPages = 0;
|
|
40
|
+
isModalOpen = false;
|
|
41
|
+
isPageModalOpen = false; // Controls the visibility of the secondary modal
|
|
42
|
+
selectedPage = { id: null, name: '' }; // To store selected page
|
|
43
|
+
pageParams = {
|
|
44
|
+
pageName: '',
|
|
45
|
+
status: 0,
|
|
46
|
+
pageCategory: 0,
|
|
47
|
+
cultureId: 0,
|
|
48
|
+
cultureCode: '',
|
|
49
|
+
pageNumber: 0,
|
|
50
|
+
pageSize: 10,
|
|
51
|
+
applicationId: 0,
|
|
52
|
+
searchText: '',
|
|
53
|
+
};
|
|
54
|
+
pageId;
|
|
55
|
+
cultureCode;
|
|
56
|
+
applicationId;
|
|
57
|
+
async componentWillLoad() {
|
|
58
|
+
await this.getDisplayFormats();
|
|
59
|
+
await this.getUserPreferences();
|
|
60
|
+
await this.getUserApplications();
|
|
61
|
+
}
|
|
62
|
+
componentDidLoad() {
|
|
63
|
+
if (this.host.shadowRoot) {
|
|
64
|
+
const existingLink = this.host.shadowRoot.querySelector('link[rel="stylesheet"]');
|
|
65
|
+
if (!existingLink) {
|
|
66
|
+
const link = document.createElement('link');
|
|
67
|
+
link.rel = 'stylesheet';
|
|
68
|
+
link.href = 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css';
|
|
69
|
+
this.host.shadowRoot.appendChild(link);
|
|
70
|
+
// console.log('FontAwesome added to shadow DOM');
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
console.log('FontAwesome already added to shadow DOM');
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
console.warn('shadowRoot is null');
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
async getDisplayFormats() {
|
|
81
|
+
try {
|
|
82
|
+
const headers = {
|
|
83
|
+
'Content-Type': 'application/json',
|
|
84
|
+
'IntegrationPermission': '0f5d983d203189bbffc5f686d01f6680bc6a83718a515fe42639347efc92478e',
|
|
85
|
+
'CultureCode': this.cultureCode,
|
|
86
|
+
'Source': '2',
|
|
87
|
+
'applicationId': this.applicationId,
|
|
88
|
+
};
|
|
89
|
+
const response = await fetch(`${this.apiUrl}/api/UserPreferences/DisplayFormats`, {
|
|
90
|
+
method: 'GET', // Specify GET method
|
|
91
|
+
headers: headers,
|
|
92
|
+
credentials: 'include', // Include credentials (cookies) in the request
|
|
93
|
+
});
|
|
94
|
+
const data = await response.json();
|
|
95
|
+
if (Array.isArray(data.content)) {
|
|
96
|
+
this.displayFormats = data.content;
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
console.error('Invalid response structure:', data);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
catch (error) {
|
|
103
|
+
console.error('Error fetching display formats:', error);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
async getUserPreferences() {
|
|
107
|
+
try {
|
|
108
|
+
const headers = {
|
|
109
|
+
'Content-Type': 'application/json',
|
|
110
|
+
'IntegrationPermission': '0f5d983d203189bbffc5f686d01f6680bc6a83718a515fe42639347efc92478e',
|
|
111
|
+
'CultureCode': this.cultureCode,
|
|
112
|
+
'Source': '2',
|
|
113
|
+
'applicationId': this.applicationId,
|
|
114
|
+
};
|
|
115
|
+
const response = await fetch(`${this.apiUrl}/api/UserPreferences/GetUserPreferences`, {
|
|
116
|
+
method: 'GET',
|
|
117
|
+
headers: headers,
|
|
118
|
+
credentials: 'include',
|
|
119
|
+
});
|
|
120
|
+
const data = await response.json();
|
|
121
|
+
if (data && typeof data !== 'string') {
|
|
122
|
+
const fontSizeValue = parseFloat(data.fontSize);
|
|
123
|
+
this.userPreferences = {
|
|
124
|
+
...this.userPreferences,
|
|
125
|
+
dateFormate: data.dateFormate || 'dd/MM/yyyy',
|
|
126
|
+
timeFormate: data.timeFormate || this.timeFormats[0], // fallback!
|
|
127
|
+
fontSize: !isNaN(fontSizeValue) ? fontSizeValue : this.fontSizes[0]?.value,
|
|
128
|
+
displayFormat: data.displayFormat || 1,
|
|
129
|
+
defaultLandingPageId: data.defaultLandingPageId,
|
|
130
|
+
pageName: data?.defaultLandingPageDetails?.name || '',
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
catch (error) {
|
|
135
|
+
console.error('Error fetching user preferences:', error);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
async getUserApplications() {
|
|
139
|
+
try {
|
|
140
|
+
const headers = {
|
|
141
|
+
'Content-Type': 'application/json',
|
|
142
|
+
'IntegrationPermission': '0f5d983d203189bbffc5f686d01f6680bc6a83718a515fe42639347efc92478e',
|
|
143
|
+
'CultureCode': this.cultureCode,
|
|
144
|
+
'Source': '2',
|
|
145
|
+
'applicationId': this.applicationId,
|
|
146
|
+
};
|
|
147
|
+
const response = await fetch(`${this.apiUrl}/api/OrganizationApplicationsApi/GetAssigndApplicationForUser`, {
|
|
148
|
+
method: 'GET',
|
|
149
|
+
headers: headers,
|
|
150
|
+
credentials: 'include',
|
|
151
|
+
});
|
|
152
|
+
const data = await response.json();
|
|
153
|
+
if (data && Array.isArray(data.content)) {
|
|
154
|
+
this.userApplications = data.content;
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
console.error('Invalid response structure:', data);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
catch (error) {
|
|
161
|
+
console.error('Error fetching applications:', error);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
changeApplication(application) {
|
|
165
|
+
if (application.applicationId) {
|
|
166
|
+
this.pageParams.applicationId = application.applicationId;
|
|
167
|
+
this.getPagesSApplications();
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
async getPagesSApplications() {
|
|
171
|
+
const requestBody = {}; // Create the request body (you can modify based on your needs)
|
|
172
|
+
try {
|
|
173
|
+
const response = await fetch(`${this.apiUrl}/api/Pages/GetPages`, {
|
|
174
|
+
method: 'POST',
|
|
175
|
+
headers: {
|
|
176
|
+
'Content-Type': 'application/json',
|
|
177
|
+
'IntegrationPermission': '0f5d983d203189bbffc5f686d01f6680bc6a83718a515fe42639347efc92478e',
|
|
178
|
+
'CultureCode': this.cultureCode,
|
|
179
|
+
'Source': '2',
|
|
180
|
+
'applicationId': this.applicationId,
|
|
181
|
+
},
|
|
182
|
+
credentials: 'include',
|
|
183
|
+
body: JSON.stringify(requestBody),
|
|
184
|
+
});
|
|
185
|
+
if (!response.ok) {
|
|
186
|
+
console.error('Failed to fetch pages');
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
const data = await response.json();
|
|
190
|
+
console.log(data, 'data of all pages ');
|
|
191
|
+
}
|
|
192
|
+
catch (error) {
|
|
193
|
+
console.error('Error fetching pages:', error);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
// async submitPreferences() {
|
|
197
|
+
// const fontSize = this.userPreferences.fontSize ? this.userPreferences.fontSize + 'px' : null;
|
|
198
|
+
// const headers = {
|
|
199
|
+
// 'Content-Type': 'application/json',
|
|
200
|
+
// 'IntegrationPermission': '0f5d983d203189bbffc5f686d01f6680bc6a83718a515fe42639347efc92478e',
|
|
201
|
+
// 'CultureCode': this.cultureCode,
|
|
202
|
+
// 'Source': '2',
|
|
203
|
+
// 'applicationId': this.applicationId,
|
|
204
|
+
// };
|
|
205
|
+
// try {
|
|
206
|
+
// const response = await fetch(`${this.apiUrl}/api/UserPreferences/SaveUserPreferences`, {
|
|
207
|
+
// method: 'POST',
|
|
208
|
+
// headers: headers,
|
|
209
|
+
// body: JSON.stringify({ ...this.userPreferences, fontSize }),
|
|
210
|
+
// credentials: 'include',
|
|
211
|
+
// });
|
|
212
|
+
// if (!response.ok) {
|
|
213
|
+
// console.error('Failed to save preferences:', response.statusText);
|
|
214
|
+
// return;
|
|
215
|
+
// }
|
|
216
|
+
// await this.getUserPreferences();
|
|
217
|
+
// } catch (error) {
|
|
218
|
+
// console.error('Error submitting preferences:', error);
|
|
219
|
+
// }
|
|
220
|
+
// }
|
|
221
|
+
async submitPreferences() {
|
|
222
|
+
const fontSizeValue = parseFloat(this.userPreferences.fontSize);
|
|
223
|
+
const fontSize = !isNaN(fontSizeValue) ? `${fontSizeValue}px` : null;
|
|
224
|
+
const headers = {
|
|
225
|
+
'Content-Type': 'application/json',
|
|
226
|
+
'IntegrationPermission': '0f5d983d203189bbffc5f686d01f6680bc6a83718a515fe42639347efc92478e',
|
|
227
|
+
'CultureCode': this.cultureCode,
|
|
228
|
+
'Source': '2',
|
|
229
|
+
'applicationId': this.applicationId,
|
|
230
|
+
};
|
|
231
|
+
try {
|
|
232
|
+
const response = await fetch(`${this.apiUrl}/api/UserPreferences/SaveUserPreferences`, {
|
|
233
|
+
method: 'POST',
|
|
234
|
+
headers,
|
|
235
|
+
body: JSON.stringify({ ...this.userPreferences, fontSize }),
|
|
236
|
+
credentials: 'include',
|
|
237
|
+
});
|
|
238
|
+
if (!response.ok) {
|
|
239
|
+
console.error('Failed to save preferences:', response.statusText);
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
// Fetch updated preferences
|
|
243
|
+
const newPrefs = await this.getUserPreferences();
|
|
244
|
+
if (!newPrefs || typeof newPrefs === 'string')
|
|
245
|
+
return;
|
|
246
|
+
// Apply updated preferences like Angular code
|
|
247
|
+
const { displayFormat, fontSize: newFontSize, dateFormate, timeFormate } = newPrefs;
|
|
248
|
+
if (displayFormat) {
|
|
249
|
+
localStorage.setItem('displayFormat', displayFormat);
|
|
250
|
+
// this.emit('displayFormatUpdated', displayFormat);
|
|
251
|
+
}
|
|
252
|
+
if (newFontSize) {
|
|
253
|
+
document.body.setAttribute('style', `font-size: ${newFontSize} !important`);
|
|
254
|
+
}
|
|
255
|
+
localStorage.setItem('dateFormat', dateFormate || 'dd/MM/yyyy');
|
|
256
|
+
localStorage.setItem('timeFormat', timeFormate || '');
|
|
257
|
+
// this.emit('dateFormatUpdated', dateFormate || 'dd/MM/yyyy');
|
|
258
|
+
// this.emit('timeFormatUpdated', timeFormate || '');
|
|
259
|
+
}
|
|
260
|
+
catch (error) {
|
|
261
|
+
console.error('Error submitting preferences:', error);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
async resetPreferences() {
|
|
265
|
+
try {
|
|
266
|
+
await fetch(`${this.apiUrl}/api/UserPreferences/Delete`, {
|
|
267
|
+
method: 'DELETE',
|
|
268
|
+
credentials: 'include',
|
|
269
|
+
});
|
|
270
|
+
this.userPreferences = {
|
|
271
|
+
dateFormate: 'dd/MM/yyyy',
|
|
272
|
+
timeFormate: '',
|
|
273
|
+
fontSize: '',
|
|
274
|
+
displayFormat: 4,
|
|
275
|
+
defaultLandingPageId: '',
|
|
276
|
+
pageName: '',
|
|
277
|
+
};
|
|
278
|
+
localStorage.removeItem('dateFormat');
|
|
279
|
+
localStorage.removeItem('displayFormat');
|
|
280
|
+
localStorage.removeItem('fontSize');
|
|
281
|
+
location.reload(); // If you want to refresh the UI
|
|
282
|
+
}
|
|
283
|
+
catch (error) {
|
|
284
|
+
console.error('Failed to reset preferences', error);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
toggleModal() {
|
|
288
|
+
this.isModalOpen = !this.isModalOpen;
|
|
289
|
+
}
|
|
290
|
+
togglePageModal() {
|
|
291
|
+
this.isPageModalOpen = !this.isPageModalOpen;
|
|
292
|
+
}
|
|
293
|
+
selectPage(page) {
|
|
294
|
+
this.selectedPage = page;
|
|
295
|
+
this.userPreferences.defaultLandingPageId = page.id; // Update default landing page
|
|
296
|
+
this.togglePageModal(); // Close the page selection modal
|
|
297
|
+
}
|
|
298
|
+
// render() {
|
|
299
|
+
// return (
|
|
300
|
+
// <Host>
|
|
301
|
+
// <div>
|
|
302
|
+
// <i class="fas fa-cogs" onClick={() => this.toggleModal()} style={{ cursor: 'pointer', fontSize: '24px' }}></i>
|
|
303
|
+
// {/* Modal */}
|
|
304
|
+
// {this.isModalOpen && (
|
|
305
|
+
// <div class="modal">
|
|
306
|
+
// <div class="modal-content">
|
|
307
|
+
// <span class="close" onClick={() => this.toggleModal()}>
|
|
308
|
+
// ×
|
|
309
|
+
// </span>
|
|
310
|
+
// <h2>User Preferences</h2>
|
|
311
|
+
// <div>
|
|
312
|
+
// <label>Date Format</label>
|
|
313
|
+
// <select onInput={e => (this.userPreferences.dateFormate = (e.target as HTMLSelectElement).value)}>
|
|
314
|
+
// {this.dateFormates.map(format => (
|
|
315
|
+
// <option value={format} selected={this.userPreferences.dateFormate === format}>
|
|
316
|
+
// {format}
|
|
317
|
+
// </option>
|
|
318
|
+
// ))}
|
|
319
|
+
// </select>
|
|
320
|
+
// <label>Time Format</label>
|
|
321
|
+
// <select onInput={e => (this.userPreferences.timeFormate = (e.target as HTMLSelectElement).value)}>
|
|
322
|
+
// {this.timeFormats.map(format => (
|
|
323
|
+
// <option value={format} selected={this.userPreferences.timeFormate === format}>
|
|
324
|
+
// {format}
|
|
325
|
+
// </option>
|
|
326
|
+
// ))}
|
|
327
|
+
// </select>
|
|
328
|
+
// <label>Font Size</label>
|
|
329
|
+
// <select onInput={e => (this.userPreferences.fontSize = (e.target as HTMLSelectElement).value)}>
|
|
330
|
+
// {this.fontSizes.map(size => (
|
|
331
|
+
// <option value={size.value} selected={this.userPreferences.fontSize === size.value}>
|
|
332
|
+
// {size.label}
|
|
333
|
+
// </option>
|
|
334
|
+
// ))}
|
|
335
|
+
// </select>
|
|
336
|
+
// <label>User Display Format</label>
|
|
337
|
+
// <select onInput={e => (this.userPreferences.displayFormat = parseInt((e.target as HTMLSelectElement).value))}>
|
|
338
|
+
// {this.displayFormats.map(format => (
|
|
339
|
+
// <option value={format.value} selected={this.userPreferences.displayFormat === format.value}>
|
|
340
|
+
// {format.label}
|
|
341
|
+
// </option>
|
|
342
|
+
// ))}
|
|
343
|
+
// </select>
|
|
344
|
+
// <label>Default Landing Page</label>
|
|
345
|
+
// <select onInput={e => (this.userPreferences.defaultLandingPageId = (e.target as HTMLSelectElement).value)}>
|
|
346
|
+
// {this.pages.map(page => (
|
|
347
|
+
// <option value={page.id} selected={this.userPreferences.defaultLandingPageId === page.id}>
|
|
348
|
+
// {page.name}
|
|
349
|
+
// </option>
|
|
350
|
+
// ))}
|
|
351
|
+
// </select>
|
|
352
|
+
// <button onClick={() => this.submitPreferences()}>Save</button>
|
|
353
|
+
// <button onClick={() => this.resetPreferences()}>Reset</button>
|
|
354
|
+
// </div>
|
|
355
|
+
// </div>
|
|
356
|
+
// </div>
|
|
357
|
+
// )}
|
|
358
|
+
// </div>
|
|
359
|
+
// </Host>
|
|
360
|
+
// );
|
|
361
|
+
// }
|
|
362
|
+
render() {
|
|
363
|
+
return (h(Host, { key: '73268d667553094939f061bcb072bda06c14b214' }, h("div", { key: '9eb1fd24078089437f64a4840f738a1f942452b0' }, h("i", { key: '8ad9ea93263a7695eed25fb3fe33893c22e2a989', class: "fas fa-cogs", onClick: () => this.toggleModal(), style: { cursor: 'pointer', fontSize: '24px' } }), this.isModalOpen && (h("div", { key: '988a1a24b362afc61f0e9398a6c401dacfc42837', class: "kt-quick-panel kt-quick-panel--on" }, h("a", { key: 'd969cf578cab9d74ce3bc9203beab91d7d47f1b2', onClick: () => this.toggleModal(), id: "kt_quick_panel_close_btn", class: "kt-quick-panel__close" }, h("i", { key: 'a575b9ee906bd938bfb324835e56b04f9ce256f1', class: "fas fa-times" })), h("div", { key: 'e35452dc147593b9b10707c8efa15e600d8b38c2', class: "kt-quick-panel__nav" }, h("ul", { key: 'b5eb70a8f79b795e53dd364e6c518f623ea0680c', 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: '2a4efe276341c924f7c3437643c9aa23f2739ca6', class: "nav-item active" }, h("a", { key: 'a301c57cc56e752b21881037f02abbaf5e721060', "data-toggle": "tab", role: "tab", class: "nav-link active" }, "User Preference")))), h("div", { key: '2a2a0a8df42f12ae43290fa82649492faf118a1a', class: "kt-quick-panel__content" }, h("div", { key: 'df7abede8ff8e7c6219939f32bb097e4126b513c', class: "tab-content" }, h("div", { key: 'aef7806fef44acb6179007e5af991ec1a9ef1148', id: "kt_quick_panel_tab_notifications", role: "tabpanel", class: "tab-pane fade show kt-scroll active ps ps--active-y" }, h("div", { key: 'ceb62ff2e5d97947c7746cc3ba8359a903106261', class: "kt-notification" }, h("div", { key: '345c04d2b76a353e6336d87d6cf7fb0ba831183f', class: "kt-portlet__body" }, h("div", { key: 'e8f3b6eaacea413e7f8fa9a05d7e4a1ecd4f3abf', class: "form-group" }, h("label", { key: '7f4f8b89e8bb8fce52da354579c305edfdbfbd7b' }, "Date Format"), h("select", { key: '802e4604185a71450e19fe0ff80091c11aa607aa', onInput: e => (this.userPreferences.dateFormate = e.target.value) }, this.dateFormates.map(format => (h("option", { value: format, selected: this.userPreferences.dateFormate === format }, format))))), h("div", { key: 'da29120fb40a409f143a212b592455ee0a3e9486', class: "form-group" }, h("label", { key: 'db8adfe511a9647822add835b2e79b35551e8ae8' }, "Time Format"), h("select", { key: 'aa335e039c7509388ae5b0ebb95e38a2dd26dd84', onInput: e => (this.userPreferences.timeFormate = e.target.value) }, this.timeFormats.map(format => (h("option", { value: format, selected: this.userPreferences.timeFormate === format }, format))))), h("div", { key: '95591ac88b995c9a2bc9c7e85dc4d86fabd49111', class: "form-group" }, h("label", { key: 'abcc1107a38ab88df414cb6e0b0f89d30db14edb' }, "Font Size"), h("select", { key: '2500ac6ead59cdfd696fb70de46d80395f09b7ba', 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: '8e28e4ea701c85a9df01c6e377ff41e0775d217f', class: "form-group" }, h("label", { key: '63a1fca56a0bdae7c4aa91f97e00e764d130b61d' }, "User Display Format"), h("select", { key: 'd637292ae9df0ad9694119d3ed9eb653aa318350', 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: 'a05f5a4620222485b3d70e662675f79a344cbfc6', class: "form-group" }, h("label", { key: '163feb5c4c8707d3b5de2e7ece82d725de954814' }, "Default Landing Page"), h("div", { key: 'f45690926ace8996450fc90856d725c49ad87efd', class: "input-group", onClick: () => this.togglePageModal() }, h("div", { key: '96be1b6688f8b8d354662e2978d5d767c2d097b5', class: "input-group-prepend" }, h("span", { key: '71f477fe498f90e3b440fdde31fb17e7ffa6743e', class: "input-group-text" }, h("i", { key: '5491f0b4b917a953590e9d3b40ac04fcf767a357', class: "fas fa-link" }))), h("input", { key: '8ab0f12f72e0a2911a8803c79409de0fdbc9a935', type: "text", class: "form-control", readonly: true, value: this.selectedPage.name || 'Select page', placeholder: "Select page" })))), h("div", { key: 'd031e47045efa5108f70e7d1e97700b348c34654', class: "kt-portlet__foot" }, h("div", { key: 'fc41e360f1331381d73bac4f9bb0c6c89ae3262c', class: "kt-form__actions" }, h("button", { key: 'f6e0948a440fbd83885bd20549ddc2bbddf3219c', class: "btn btn-primary", onClick: () => this.submitPreferences() }, "Save"), h("button", { key: 'db3e6b974e20adb93c7dcca03fa52dfdbea57d82', class: "btn btn-secondary", onClick: () => this.resetPreferences() }, "Reset"))))))))), this.isPageModalOpen && (h("div", { key: '36ed3547d24490064ad098ff6893f64abafa612f', class: "modal-dialog modal-md landing-modal" }, h("div", { key: '425a4cdbe00179fb0628ddd46f1ea8699c52aa8b', class: "modal-content landing-page" }, h("div", { key: '0ea6be6c543941262e28a029990bf3d5a3d65f6b', class: "modal-header" }, h("h4", { key: '36644da5cf638a4c24179cc553ec74db1705315e', class: "modal-title pull-left" }, " Default Landing Page "), h("button", { key: 'e59f82a9c151a80ae4300e432172d767e819ba9a', onClick: () => this.togglePageModal(), type: "button", "aria-label": "Close", class: "close pull-right" }, h("span", { key: '6c36480c025d8c7a9ddbee1ca2c3d8c15b01b917' }, h("i", { key: '22e67e915e5dc2cdee997c48b548710c9038941f', class: "fas fa-times" })))), h("div", { key: '5afc1b174e337ac3656d7f2a268d245acb65a8a2', class: "modal-body" }, h("div", { key: '08b55625de4683aad5c3eeede962029701b7d8c6', class: "row" }, h("div", { key: 'f7eebf3e41024676b42c956addef734e18aa2d05', class: "col-12" }, h("div", { key: '2e4bec9be8c15162b43e202623ebf79367783ff0', class: "row" }, h("div", { key: 'd10ec0ce280235ad7bdad74d65f1158e53966519', class: "form-group" }, h("label", { key: 'c67179f8a27436aeec5a209a4b6a169f31bc367b', htmlFor: "" }, " Default Landing Page "), h("select", { key: 'bf0f2664891f7b581ee60cba7c14296e25f2e218', onInput: e => this.changeApplication(e) }, this.userApplications.map(application => (h("option", { value: application.applicationId }, application.applicationName)))))), h("label", { key: '17fa28c79845986510a0d2a538251673cdde4dc6' }, "Select Page"), h("div", { key: 'ceaf84ad32062d5b3a6c125b77f4b8c37c82ca37', style: { maxHeight: '300px', overflowY: 'auto', overflowX: 'hidden' } }, this.pages.map(page => (h("div", { class: "slug-item", onClick: () => this.selectPage(page) }, h("div", { class: "row" }, h("span", { class: "text-brand", style: { fontWeight: '600', lineHeight: '1' } }, page.name), h("small", { class: {
|
|
364
|
+
'culture-unpublished': page.pageCultureStatus == 1,
|
|
365
|
+
'culture-published': page.pageCultureStatus == 2,
|
|
366
|
+
} }, "| ", page.cultureCode)))))), h("div", { key: 'fe6fd591d3f70ed1903b49d927b6efd3006d82cf', class: "d-flex justify-content-center mt-2 pagination-class" }))))))))));
|
|
367
|
+
}
|
|
368
|
+
static get watchers() { return {
|
|
369
|
+
"cultureCode": ["componentWillLoad"],
|
|
370
|
+
"applicationId": ["componentWillLoad"]
|
|
371
|
+
}; }
|
|
372
|
+
};
|
|
373
|
+
EiamUserPreference.style = eiamUserPreferenceCss;
|
|
374
|
+
|
|
375
|
+
export { EiamUserPreference as eiam_user_preference };
|
|
376
|
+
//# sourceMappingURL=eiam-user-preference.entry.js.map
|
|
377
|
+
|
|
378
|
+
//# sourceMappingURL=eiam-user-preference.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eiam-user-preference.entry.js","sources":["src/components/eiam-user-preference/eiam-user-preference.css?tag=eiam-user-preference&encapsulation=shadow","src/components/eiam-user-preference/eiam-user-preference.tsx"],"sourcesContent":["\r\n.kt-quick-panel.kt-quick-panel--on {\r\n -webkit-transition: left 0.3s ease, right 0.3s ease;\r\n transition: left 0.3s ease, right 0.3s ease;\r\n right: 0;\r\n left: auto;\r\n }\r\n \r\n .kt-quick-panel-close {\r\n width: 25px;\r\n height: 25px;\r\n top: 1px;\r\n z-index: 1002;\r\n -webkit-transition: left 0.3s ease, right 0.3s ease;\r\n transition: left 0.3s ease, right 0.3s ease;\r\n position: fixed;\r\n border: 0;\r\n -webkit-box-shadow: none;\r\n box-shadow: none;\r\n border-radius: 3px;\r\n cursor: pointer;\r\n outline: none !important;\r\n display: -webkit-box;\r\n display: -ms-flexbox;\r\n display: flex;\r\n -webkit-box-pack: center;\r\n -ms-flex-pack: center;\r\n justify-content: center;\r\n -webkit-box-align: center;\r\n -ms-flex-align: center;\r\n align-items: center;\r\n left: -25px;\r\n }\r\n ","import { Component, Host, Prop, State, Watch, h, Element } 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 apiUrl = window['config']?.apiUrl || 'http://localhost:5000';\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 @State() userPreferences = {\r\n dateFormate: 'dd/MM/yyyy',\r\n timeFormate: '',\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() totalPages: number = 0;\r\n @State() isModalOpen = false;\r\n @State() isPageModalOpen: boolean = false; // Controls the visibility of the secondary modal\r\n @State() selectedPage: { id: number; name: string } = { id: null, name: '' }; // To store selected page\r\n\r\n @State() pageParams = {\r\n pageName: '',\r\n status: 0,\r\n pageCategory: 0,\r\n cultureId: 0,\r\n cultureCode: '',\r\n pageNumber: 0,\r\n pageSize: 10,\r\n applicationId: 0,\r\n searchText: '',\r\n };\r\n @State() pageId: any;\r\n @Prop() cultureCode: string;\r\n @Prop() applicationId: string;\r\n\r\n @Watch('cultureCode')\r\n @Watch('applicationId')\r\n async componentWillLoad() {\r\n await this.getDisplayFormats();\r\n await this.getUserPreferences();\r\n await this.getUserApplications();\r\n }\r\n componentDidLoad() {\r\n if (this.host.shadowRoot) {\r\n const existingLink = this.host.shadowRoot.querySelector('link[rel=\"stylesheet\"]');\r\n if (!existingLink) {\r\n const link = document.createElement('link');\r\n link.rel = 'stylesheet';\r\n link.href = 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css';\r\n this.host.shadowRoot.appendChild(link);\r\n // console.log('FontAwesome added to shadow DOM');\r\n } else {\r\n console.log('FontAwesome already added to shadow DOM');\r\n }\r\n } else {\r\n console.warn('shadowRoot is null');\r\n }\r\n }\r\n async getDisplayFormats() {\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/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 }\r\n } catch (error) {\r\n console.error('Error fetching display formats:', error);\r\n }\r\n }\r\n\r\n async getUserPreferences() {\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/UserPreferences/GetUserPreferences`, {\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 && typeof data !== 'string') {\r\n const fontSizeValue = parseFloat(data.fontSize);\r\n this.userPreferences = {\r\n ...this.userPreferences,\r\n dateFormate: data.dateFormate || 'dd/MM/yyyy',\r\n timeFormate: data.timeFormate || this.timeFormats[0], // fallback!\r\n fontSize: !isNaN(fontSizeValue) ? fontSizeValue : this.fontSizes[0]?.value,\r\n displayFormat: data.displayFormat || 1,\r\n defaultLandingPageId: data.defaultLandingPageId,\r\n pageName: data?.defaultLandingPageDetails?.name || '',\r\n };\r\n }\r\n } catch (error) {\r\n console.error('Error fetching user preferences:', error);\r\n }\r\n }\r\n\r\n async getUserApplications() {\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;\r\n } else {\r\n console.error('Invalid response structure:', data);\r\n }\r\n } catch (error) {\r\n console.error('Error fetching applications:', error);\r\n }\r\n }\r\n changeApplication(application) {\r\n if (application.applicationId) {\r\n this.pageParams.applicationId = application.applicationId;\r\n this.getPagesSApplications();\r\n }\r\n }\r\n\r\n async getPagesSApplications() {\r\n const requestBody = {}; // Create the request body (you can modify based on your needs)\r\n\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 'IntegrationPermission': '0f5d983d203189bbffc5f686d01f6680bc6a83718a515fe42639347efc92478e',\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(requestBody),\r\n });\r\n\r\n if (!response.ok) {\r\n console.error('Failed to fetch pages');\r\n return;\r\n }\r\n\r\n const data = await response.json();\r\n console.log(data, 'data of all pages ');\r\n } catch (error) {\r\n console.error('Error fetching pages:', error);\r\n }\r\n }\r\n\r\n // async submitPreferences() {\r\n // const fontSize = this.userPreferences.fontSize ? this.userPreferences.fontSize + 'px' : null;\r\n\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 // try {\r\n // const response = await fetch(`${this.apiUrl}/api/UserPreferences/SaveUserPreferences`, {\r\n // method: 'POST',\r\n // headers: headers,\r\n // body: JSON.stringify({ ...this.userPreferences, fontSize }),\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 // return;\r\n // }\r\n\r\n // await this.getUserPreferences();\r\n // } catch (error) {\r\n // console.error('Error submitting preferences:', error);\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\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 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 }),\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 return;\r\n }\r\n\r\n // Fetch updated preferences\r\n const newPrefs: any = await this.getUserPreferences();\r\n if (!newPrefs || typeof newPrefs === 'string') return;\r\n\r\n // Apply updated preferences like Angular code\r\n const { displayFormat, fontSize: newFontSize, dateFormate, timeFormate } = newPrefs;\r\n\r\n if (displayFormat) {\r\n localStorage.setItem('displayFormat', displayFormat);\r\n // this.emit('displayFormatUpdated', displayFormat);\r\n }\r\n\r\n if (newFontSize) {\r\n document.body.setAttribute('style', `font-size: ${newFontSize} !important`);\r\n }\r\n\r\n localStorage.setItem('dateFormat', dateFormate || 'dd/MM/yyyy');\r\n localStorage.setItem('timeFormat', timeFormate || '');\r\n\r\n // this.emit('dateFormatUpdated', dateFormate || 'dd/MM/yyyy');\r\n // this.emit('timeFormatUpdated', timeFormate || '');\r\n } catch (error) {\r\n console.error('Error submitting preferences:', error);\r\n }\r\n }\r\n\r\n async resetPreferences() {\r\n try {\r\n 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 dateFormate: 'dd/MM/yyyy',\r\n timeFormate: '',\r\n fontSize: '',\r\n displayFormat: 4,\r\n defaultLandingPageId: '',\r\n pageName: '',\r\n };\r\n\r\n localStorage.removeItem('dateFormat');\r\n localStorage.removeItem('displayFormat');\r\n localStorage.removeItem('fontSize');\r\n\r\n location.reload(); // If you want to refresh the UI\r\n } catch (error) {\r\n console.error('Failed to reset preferences', 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: { id: any; name: string }) {\r\n this.selectedPage = page;\r\n this.userPreferences.defaultLandingPageId = page.id; // Update default landing page\r\n this.togglePageModal(); // Close the page selection modal\r\n }\r\n\r\n // render() {\r\n // return (\r\n // <Host>\r\n // <div>\r\n // <i class=\"fas fa-cogs\" onClick={() => this.toggleModal()} style={{ cursor: 'pointer', fontSize: '24px' }}></i>\r\n\r\n // {/* Modal */}\r\n // {this.isModalOpen && (\r\n // <div class=\"modal\">\r\n // <div class=\"modal-content\">\r\n // <span class=\"close\" onClick={() => this.toggleModal()}>\r\n // ×\r\n // </span>\r\n // <h2>User Preferences</h2>\r\n // <div>\r\n // <label>Date Format</label>\r\n // <select onInput={e => (this.userPreferences.dateFormate = (e.target as HTMLSelectElement).value)}>\r\n // {this.dateFormates.map(format => (\r\n // <option value={format} selected={this.userPreferences.dateFormate === format}>\r\n // {format}\r\n // </option>\r\n // ))}\r\n // </select>\r\n\r\n // <label>Time Format</label>\r\n // <select onInput={e => (this.userPreferences.timeFormate = (e.target as HTMLSelectElement).value)}>\r\n // {this.timeFormats.map(format => (\r\n // <option value={format} selected={this.userPreferences.timeFormate === format}>\r\n // {format}\r\n // </option>\r\n // ))}\r\n // </select>\r\n\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\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\r\n // <label>Default Landing Page</label>\r\n // <select onInput={e => (this.userPreferences.defaultLandingPageId = (e.target as HTMLSelectElement).value)}>\r\n // {this.pages.map(page => (\r\n // <option value={page.id} selected={this.userPreferences.defaultLandingPageId === page.id}>\r\n // {page.name}\r\n // </option>\r\n // ))}\r\n // </select>\r\n\r\n // <button onClick={() => this.submitPreferences()}>Save</button>\r\n // <button onClick={() => this.resetPreferences()}>Reset</button>\r\n // </div>\r\n // </div>\r\n // </div>\r\n // )}\r\n // </div>\r\n // </Host>\r\n // );\r\n // }\r\n render() {\r\n return (\r\n <Host>\r\n <div>\r\n {/* User Preferences Modal Trigger */}\r\n <i class=\"fas fa-cogs\" onClick={() => this.toggleModal()} style={{ cursor: 'pointer', fontSize: '24px' }}></i>\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 <i class=\"fas fa-times\"></i>\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.dateFormate = (e.target as HTMLSelectElement).value)}>\r\n {this.dateFormates.map(format => (\r\n <option value={format} selected={this.userPreferences.dateFormate === 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.timeFormate = (e.target as HTMLSelectElement).value)}>\r\n {this.timeFormats.map(format => (\r\n <option value={format} selected={this.userPreferences.timeFormate === 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 <i class=\"fas fa-link\"></i>\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 {/* Page Selection Modal */}\r\n\r\n {this.isPageModalOpen && (\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\"> Default Landing Page </h4>\r\n <button onClick={() => this.togglePageModal()} type=\"button\" aria-label=\"Close\" class=\"close pull-right\">\r\n <span>\r\n <i class=\"fas fa-times\"></i>\r\n </span>\r\n </button>\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 onInput={e => this.changeApplication(e)}>\r\n {this.userApplications.map(application => (\r\n <option value={application.applicationId}>{application.applicationName}</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.pages.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 <div class=\"d-flex justify-content-center mt-2 pagination-class\">\r\n {/* <pagination\r\n totalItems={this.totalPages}\r\n maxSize={10}\r\n itemsPerPage={this.pageParams.pageSize}\r\n boundaryLinks={true}\r\n onPageChanged={event => this.changePage(event)}\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"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { p as promiseResolve, b as bootstrapLazy } from './index-Chl3oIcU.js';
|
|
2
|
+
export { s as setNonce } from './index-Chl3oIcU.js';
|
|
3
|
+
import { g as globalScripts } from './app-globals-DQuL1Twl.js';
|
|
4
|
+
|
|
5
|
+
/*
|
|
6
|
+
Stencil Client Patch Browser v4.29.1 | MIT Licensed | https://stenciljs.com
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
var patchBrowser = () => {
|
|
10
|
+
const importMeta = import.meta.url;
|
|
11
|
+
const opts = {};
|
|
12
|
+
if (importMeta !== "") {
|
|
13
|
+
opts.resourcesUrl = new URL(".", importMeta).href;
|
|
14
|
+
}
|
|
15
|
+
return promiseResolve(opts);
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
patchBrowser().then(async (options) => {
|
|
19
|
+
await globalScripts();
|
|
20
|
+
return bootstrapLazy([["eiam-user-preference",[[1,"eiam-user-preference",{"cultureCode":[1,"culture-code"],"applicationId":[1,"application-id"],"currentRouteSlug":[32],"payload":[32],"userPreferences":[32],"dateFormates":[32],"timeFormats":[32],"fontSizes":[32],"displayFormats":[32],"userApplications":[32],"pages":[32],"totalPages":[32],"isModalOpen":[32],"isPageModalOpen":[32],"selectedPage":[32],"pageParams":[32],"pageId":[32]},null,{"cultureCode":["componentWillLoad"],"applicationId":["componentWillLoad"]}]]],["my-component",[[1,"my-component",{"first":[1],"middle":[1],"last":[1]}]]]], options);
|
|
21
|
+
});
|
|
22
|
+
//# sourceMappingURL=eiam-user-preference.js.map
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=eiam-user-preference.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eiam-user-preference.js","sources":["node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"sourcesContent":["/*\n Stencil Client Patch Browser v4.29.1 | MIT Licensed | https://stenciljs.com\n */\n\n// src/client/client-patch-browser.ts\nimport { BUILD, NAMESPACE } from \"@stencil/core/internal/app-data\";\nimport { consoleDevInfo, H, promiseResolve, win } from \"@stencil/core\";\nvar patchBrowser = () => {\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo(\"Running in development mode.\");\n }\n if (BUILD.cloneNodeFix) {\n patchCloneNodeFix(H.prototype);\n }\n const scriptElm = BUILD.scriptDataOpts ? win.document && Array.from(win.document.querySelectorAll(\"script\")).find(\n (s) => new RegExp(`/${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) || s.getAttribute(\"data-stencil-namespace\") === NAMESPACE\n ) : null;\n const importMeta = import.meta.url;\n const opts = BUILD.scriptDataOpts ? (scriptElm || {})[\"data-opts\"] || {} : {};\n if (importMeta !== \"\") {\n opts.resourcesUrl = new URL(\".\", importMeta).href;\n }\n return promiseResolve(opts);\n};\nvar patchCloneNodeFix = (HTMLElementPrototype) => {\n const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;\n HTMLElementPrototype.cloneNode = function(deep) {\n if (this.nodeName === \"TEMPLATE\") {\n return nativeCloneNodeFn.call(this, deep);\n }\n const clonedNode = nativeCloneNodeFn.call(this, false);\n const srcChildNodes = this.childNodes;\n if (deep) {\n for (let i = 0; i < srcChildNodes.length; i++) {\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nexport {\n patchBrowser\n};\n","export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { patchBrowser } from '@stencil/core/internal/client/patch-browser';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\npatchBrowser().then(async (options) => {\n await globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n});\n"],"names":[],"mappings":";;;;AAAA;AACA;AACA;;AAKA,IAAI,YAAY,GAAG,MAAM;AAUzB,EAAE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG;AACpC,EAAE,MAAM,IAAI,GAAiE,EAAE;AAC/E,EAAE,IAAI,UAAU,KAAK,EAAE,EAAE;AACzB,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,IAAI;AACrD;AACA,EAAE,OAAO,cAAc,CAAC,IAAI,CAAC;AAC7B,CAAC;;ACnBD,YAAY,EAAE,CAAC,IAAI,CAAC,OAAO,OAAO,KAAK;AACvC,EAAE,MAAM,aAAa,EAAE;AACvB,EAAE,OAAO,aAAa,CAAC,4BAA4B,EAAE,OAAO,CAAC;AAC7D,CAAC,CAAC","x_google_ignoreList":[0]}
|