aril 1.1.73 → 1.1.74
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/README.md +62 -62
- package/boot/config/api/src/api.service.d.ts +12 -0
- package/boot/config/api/src/interfaces.d.ts +39 -0
- package/boot/config/api.sample.json +8 -0
- package/boot/config/apps/src/apps.service.d.ts +13 -0
- package/boot/config/apps/src/auth.guard.d.ts +9 -0
- package/boot/config/apps/src/interfaces.d.ts +50 -0
- package/boot/config/apps/src/reuse-strategy.d.ts +4 -0
- package/boot/config/apps/src/showdowDOMWrapper.d.ts +10 -0
- package/boot/config/plugins/src/getNgZone.d.ts +5 -0
- package/boot/config/plugins/src/interfaces.d.ts +55 -0
- package/boot/config/plugins/src/plugins.service.d.ts +5 -0
- package/boot/config/translate/constants.d.ts +4 -0
- package/boot/config/translate/primeng/i18n/tr.d.ts +46 -0
- package/boot/host/src/app.component.d.ts +10 -0
- package/boot/host/src/bootstrap.d.ts +4 -0
- package/boot/index.d.ts +1 -0
- package/boot/mfe/src/app.component.d.ts +17 -0
- package/boot/mfe/src/appComponentLoader.d.ts +1 -0
- package/boot/mfe/src/bootstrap.d.ts +5 -0
- package/boot/mfe/src/loadStyles.d.ts +3 -0
- package/boot/mfe/src/monaco.config.d.ts +7 -0
- package/esm2022/aril.mjs +5 -0
- package/esm2022/boot/aril-boot.mjs +5 -0
- package/esm2022/boot/config/api/aril-boot-config-api.mjs +5 -0
- package/esm2022/boot/config/api/index.mjs +2 -0
- package/esm2022/boot/config/api/src/api.service.mjs +59 -0
- package/esm2022/boot/config/api/src/interfaces.mjs +61 -0
- package/esm2022/boot/config/apps/aril-boot-config-apps.mjs +5 -0
- package/esm2022/boot/config/apps/index.mjs +4 -0
- package/esm2022/boot/config/apps/src/apps.service.mjs +53 -0
- package/esm2022/boot/config/apps/src/auth.guard.mjs +22 -0
- package/esm2022/boot/config/apps/src/interfaces.mjs +21 -0
- package/esm2022/boot/config/apps/src/reuse-strategy.mjs +9 -0
- package/esm2022/boot/config/apps/src/showdowDOMWrapper.mjs +35 -0
- package/esm2022/boot/config/plugins/aril-boot-config-plugins.mjs +5 -0
- package/esm2022/boot/config/plugins/index.mjs +3 -0
- package/esm2022/boot/config/plugins/src/getNgZone.mjs +9 -0
- package/esm2022/boot/config/plugins/src/interfaces.mjs +62 -0
- package/esm2022/boot/config/plugins/src/plugins.service.mjs +84 -0
- package/esm2022/boot/config/translate/aril-boot-config-translate.mjs +5 -0
- package/esm2022/boot/config/translate/constants.mjs +6 -0
- package/esm2022/boot/config/translate/index.mjs +3 -0
- package/esm2022/boot/config/translate/primeng/i18n/tr.mjs +60 -0
- package/esm2022/boot/host/aril-boot-host.mjs +5 -0
- package/esm2022/boot/host/index.mjs +2 -0
- package/esm2022/boot/host/src/app.component.mjs +49 -0
- package/esm2022/boot/host/src/bootstrap.mjs +55 -0
- package/esm2022/boot/index.mjs +2 -0
- package/esm2022/boot/mfe/aril-boot-mfe.mjs +5 -0
- package/esm2022/boot/mfe/index.mjs +2 -0
- package/esm2022/boot/mfe/src/app.component.mjs +63 -0
- package/esm2022/boot/mfe/src/appComponentLoader.mjs +5 -0
- package/esm2022/boot/mfe/src/bootstrap.mjs +76 -0
- package/esm2022/boot/mfe/src/loadStyles.mjs +37 -0
- package/esm2022/boot/mfe/src/monaco.config.mjs +247 -0
- package/esm2022/http/aril-http.mjs +5 -0
- package/esm2022/http/index.mjs +12 -0
- package/esm2022/http/lib/enums.mjs +35 -0
- package/esm2022/http/lib/interfaces.mjs +16 -0
- package/esm2022/http/src/httpBackend.mjs +17 -0
- package/esm2022/http/src/httpClient.mjs +16 -0
- package/esm2022/http/src/interceptor/accept-language.interceptor.mjs +21 -0
- package/esm2022/http/src/serviceBase.mjs +140 -0
- package/esm2022/http/src/serviceMockBase.mjs +4 -0
- package/esm2022/http/src/serviceRequest.mjs +23 -0
- package/esm2022/http/src/serviceStateMethods.mjs +167 -0
- package/esm2022/i18n/aril-i18n.mjs +5 -0
- package/esm2022/i18n/index.mjs +6 -0
- package/esm2022/i18n/src/folder-name-token.mjs +3 -0
- package/esm2022/i18n/src/i18n.module.mjs +17 -0
- package/esm2022/i18n/src/loader.mjs +18 -0
- package/esm2022/i18n/src/provideI18n.mjs +16 -0
- package/esm2022/i18n/src/provideScope.mjs +18 -0
- package/esm2022/keycloak/aril-keycloak.mjs +5 -0
- package/esm2022/keycloak/index.mjs +2 -0
- package/esm2022/keycloak/src/auth.interceptor.mjs +92 -0
- package/esm2022/provider/aril-provider.mjs +5 -0
- package/esm2022/provider/index.mjs +2 -0
- package/esm2022/provider/src/index.mjs +5 -0
- package/esm2022/provider/src/prodiveHost.mjs +9 -0
- package/esm2022/provider/src/prodiveHostRouter.mjs +12 -0
- package/esm2022/provider/src/provideHostKeycloak.mjs +28 -0
- package/esm2022/provider/src/provideLocaleId.mjs +20 -0
- package/esm2022/public-api.mjs +3 -0
- package/esm2022/theme/aril-theme.mjs +5 -0
- package/esm2022/theme/index.mjs +2 -0
- package/esm2022/theme/layout/app/breadcrumb/app.breadcrumb.component.mjs +106 -0
- package/esm2022/theme/layout/app/chatbot/app.chatbot.component.mjs +140 -0
- package/esm2022/theme/layout/app/expandableMenu/expandable-menu.component.mjs +250 -0
- package/esm2022/theme/layout/app/favorite-pages/favorite-pages-sidebar.component.mjs +217 -0
- package/esm2022/theme/layout/app/favorite-pages/favorite-pages.service.mjs +60 -0
- package/esm2022/theme/layout/app/favorite-pages/modals/add-edit-favorite-modal/add-edit-favorite-modal.component.mjs +129 -0
- package/esm2022/theme/layout/app/general-search/general-search.component.mjs +75 -0
- package/esm2022/theme/layout/app/general-search/helpers.mjs +92 -0
- package/esm2022/theme/layout/app/general-search/models.mjs +50 -0
- package/esm2022/theme/layout/app/history/history-sidebar.component.mjs +133 -0
- package/esm2022/theme/layout/app/history/history.service.mjs +131 -0
- package/esm2022/theme/layout/app/layout/app.layout.component.mjs +160 -0
- package/esm2022/theme/layout/app/layout/mfe.layout.component.mjs +64 -0
- package/esm2022/theme/layout/app/notifications/notifications-sidebar.component.mjs +191 -0
- package/esm2022/theme/layout/app/profileSidebar/app.profilesidebar.component.mjs +122 -0
- package/esm2022/theme/layout/app/profileSidebar/modals/change-password-modal/change-password-modal.component.mjs +142 -0
- package/esm2022/theme/layout/app/profileSidebar/modals/edit-profile-modal/edit-profile-modal.component.mjs +202 -0
- package/esm2022/theme/layout/app/profileSidebar/profile.service.mjs +66 -0
- package/esm2022/theme/layout/app/site-map/site-map-sidebar.component.mjs +166 -0
- package/esm2022/theme/layout/app/static-sidebar/static-sidebar.component.mjs +228 -0
- package/esm2022/theme/layout/app/topbar/app.topbar.component.mjs +155 -0
- package/esm2022/theme/layout/aril-theme-layout.mjs +5 -0
- package/esm2022/theme/layout/index.mjs +8 -0
- package/esm2022/theme/layout/service/app.layout.service.mjs +231 -0
- package/esm2022/theme/layout/service/app.menu.service.mjs +46 -0
- package/esm2022/theme/layout/service/breadcrumb.service.mjs +20 -0
- package/esm2022/theme/layout/service/interfaces/enum.mjs +16 -0
- package/esm2022/theme/layout/service/interfaces/interfaces.mjs +2 -0
- package/esm2022/theme/layout/service/menuchangeevent.mjs +2 -0
- package/esm2022/theme/layout/service/notifications.service.mjs +30 -0
- package/esm2022/theme/layout/service/search.service.mjs +25 -0
- package/esm2022/theme/layout/service/selection-group.service.mjs +65 -0
- package/esm2022/ui/aril-ui.mjs +5 -0
- package/esm2022/ui/autoComplete/aril-ui-autoComplete.mjs +5 -0
- package/esm2022/ui/autoComplete/index.mjs +2 -0
- package/esm2022/ui/autoComplete/src/auto-complete.component.mjs +109 -0
- package/esm2022/ui/autoComplete/src/interfaces.mjs +2 -0
- package/esm2022/ui/badge/aril-ui-badge.mjs +5 -0
- package/esm2022/ui/badge/index.mjs +2 -0
- package/esm2022/ui/badge/src/badge.component.mjs +59 -0
- package/esm2022/ui/button/aril-ui-button.mjs +5 -0
- package/esm2022/ui/button/index.mjs +3 -0
- package/esm2022/ui/button/src/button.component.mjs +40 -0
- package/esm2022/ui/button/src/split-button.component.mjs +18 -0
- package/esm2022/ui/calendar/aril-ui-calendar.mjs +5 -0
- package/esm2022/ui/calendar/index.mjs +2 -0
- package/esm2022/ui/calendar/src/calendar.component.mjs +224 -0
- package/esm2022/ui/charts/aril-ui-charts.mjs +5 -0
- package/esm2022/ui/charts/index.mjs +13 -0
- package/esm2022/ui/charts/src/amCharts/column/column-chart.component.mjs +124 -0
- package/esm2022/ui/charts/src/amCharts/line/line-chart.component.mjs +164 -0
- package/esm2022/ui/charts/src/amCharts/pie/pie-chart.component.mjs +116 -0
- package/esm2022/ui/charts/src/highCharts/area/area-chart.component.mjs +114 -0
- package/esm2022/ui/charts/src/highCharts/bar/bar-chart.component.mjs +100 -0
- package/esm2022/ui/charts/src/highCharts/column/column-chart.component.mjs +117 -0
- package/esm2022/ui/charts/src/highCharts/gauge/solid-gauge.component.mjs +180 -0
- package/esm2022/ui/charts/src/highCharts/heatmap/heatMap-chart.component.mjs +252 -0
- package/esm2022/ui/charts/src/highCharts/line/line-chart-datetime-axis.component.mjs +187 -0
- package/esm2022/ui/charts/src/highCharts/line/line-chart-series.component.mjs +89 -0
- package/esm2022/ui/charts/src/highCharts/line/line-chart.component.mjs +82 -0
- package/esm2022/ui/charts/src/highCharts/pie/pie-chart.component.mjs +137 -0
- package/esm2022/ui/charts/src/theme/theme.mjs +54 -0
- package/esm2022/ui/checkbox/aril-ui-checkbox.mjs +5 -0
- package/esm2022/ui/checkbox/index.mjs +3 -0
- package/esm2022/ui/checkbox/src/check-box.component.mjs +27 -0
- package/esm2022/ui/checkbox/src/tri-state-checkbox.component.mjs +24 -0
- package/esm2022/ui/chip/aril-ui-chip.mjs +5 -0
- package/esm2022/ui/chip/index.mjs +2 -0
- package/esm2022/ui/chip/src/chip.component.mjs +129 -0
- package/esm2022/ui/collapse-reorder-list/aril-ui-collapse-reorder-list.mjs +5 -0
- package/esm2022/ui/collapse-reorder-list/index.mjs +2 -0
- package/esm2022/ui/collapse-reorder-list/src/collapse-reorder-list.component.mjs +53 -0
- package/esm2022/ui/dxEditor/aril-ui-dxEditor.mjs +5 -0
- package/esm2022/ui/dxEditor/index.mjs +2 -0
- package/esm2022/ui/dxEditor/src/dx-editor.component.mjs +26 -0
- package/esm2022/ui/dxField/aril-ui-dxField.mjs +5 -0
- package/esm2022/ui/dxField/index.mjs +2 -0
- package/esm2022/ui/dxField/src/dx-field.component.mjs +19 -0
- package/esm2022/ui/editor/aril-ui-editor.mjs +5 -0
- package/esm2022/ui/editor/index.mjs +3 -0
- package/esm2022/ui/editor/src/aril-editor.component.mjs +171 -0
- package/esm2022/ui/editor/src/types.mjs +26 -0
- package/esm2022/ui/field/aril-ui-field.mjs +5 -0
- package/esm2022/ui/field/index.mjs +2 -0
- package/esm2022/ui/field/src/field.component.mjs +45 -0
- package/esm2022/ui/fileUpload/aril-ui-fileUpload.mjs +5 -0
- package/esm2022/ui/fileUpload/index.mjs +2 -0
- package/esm2022/ui/fileUpload/src/file-upload.component.mjs +73 -0
- package/esm2022/ui/form/aril-ui-form.mjs +5 -0
- package/esm2022/ui/form/index.mjs +22 -0
- package/esm2022/ui/form/src/form-submit-button.component.mjs +40 -0
- package/esm2022/ui/form/src/form.component.mjs +27 -0
- package/esm2022/ui/img-viewer/aril-ui-img-viewer.mjs +5 -0
- package/esm2022/ui/img-viewer/index.mjs +2 -0
- package/esm2022/ui/img-viewer/src/img-viewer.component.mjs +57 -0
- package/esm2022/ui/index.mjs +2 -0
- package/esm2022/ui/json-diff-comparison/aril-ui-json-diff-comparison.mjs +5 -0
- package/esm2022/ui/json-diff-comparison/index.mjs +2 -0
- package/esm2022/ui/json-diff-comparison/src/json-diff.component.mjs +49 -0
- package/esm2022/ui/lib/aril-ui-lib.mjs +5 -0
- package/esm2022/ui/lib/index.mjs +16 -0
- package/esm2022/ui/lib/src/form/form-error-message.component.mjs +33 -0
- package/esm2022/ui/lib/src/form/form-error-message.directive.mjs +34 -0
- package/esm2022/ui/lib/src/form/form-field-builder.mjs +23 -0
- package/esm2022/ui/lib/src/form/form-validation.mjs +14 -0
- package/esm2022/ui/lib/src/grid/enum-color-picker.pipe.mjs +35 -0
- package/esm2022/ui/lib/src/grid/flex-grid.directive.mjs +21 -0
- package/esm2022/ui/lib/src/input/baseInput.mjs +24 -0
- package/esm2022/ui/lib/src/input/common-input-validators.service.mjs +49 -0
- package/esm2022/ui/lib/src/input/dx-input-error-message.pipe.mjs +22 -0
- package/esm2022/ui/lib/src/input/input-disabled.directive.mjs +25 -0
- package/esm2022/ui/lib/src/input/input-error-message.pipe.mjs +63 -0
- package/esm2022/ui/lib/src/input/input-transforms.mjs +8 -0
- package/esm2022/ui/lib/src/input/value-accessor.directive.mjs +38 -0
- package/esm2022/ui/loader/aril-ui-loader.mjs +5 -0
- package/esm2022/ui/loader/index.mjs +2 -0
- package/esm2022/ui/loader/src/loader.component.mjs +14 -0
- package/esm2022/ui/mask/aril-ui-mask.mjs +5 -0
- package/esm2022/ui/mask/index.mjs +2 -0
- package/esm2022/ui/mask/src/mask.component.mjs +35 -0
- package/esm2022/ui/multiSelect/aril-ui-multiSelect.mjs +5 -0
- package/esm2022/ui/multiSelect/index.mjs +2 -0
- package/esm2022/ui/multiSelect/src/interfaces.mjs +2 -0
- package/esm2022/ui/multiSelect/src/multi-select.component.mjs +57 -0
- package/esm2022/ui/number/aril-ui-number.mjs +5 -0
- package/esm2022/ui/number/index.mjs +2 -0
- package/esm2022/ui/number/src/number.component.mjs +38 -0
- package/esm2022/ui/operation-types-dialog/aril-ui-operation-types-dialog.mjs +5 -0
- package/esm2022/ui/operation-types-dialog/index.mjs +2 -0
- package/esm2022/ui/operation-types-dialog/src/operation-types-dialog.component.mjs +91 -0
- package/esm2022/ui/overlayPanel/aril-ui-overlayPanel.mjs +5 -0
- package/esm2022/ui/overlayPanel/index.mjs +2 -0
- package/esm2022/ui/overlayPanel/src/overlay-panel.component.mjs +20 -0
- package/esm2022/ui/panel/aril-ui-panel.mjs +5 -0
- package/esm2022/ui/panel/index.mjs +2 -0
- package/esm2022/ui/panel/src/panel.component.mjs +33 -0
- package/esm2022/ui/password/aril-ui-password.mjs +5 -0
- package/esm2022/ui/password/index.mjs +2 -0
- package/esm2022/ui/password/src/password.component.mjs +29 -0
- package/esm2022/ui/pdf-viewer/aril-ui-pdf-viewer.mjs +5 -0
- package/esm2022/ui/pdf-viewer/index.mjs +2 -0
- package/esm2022/ui/pdf-viewer/src/pdf-viewer.component.mjs +27 -0
- package/esm2022/ui/progressbar/aril-ui-progressbar.mjs +5 -0
- package/esm2022/ui/progressbar/index.mjs +2 -0
- package/esm2022/ui/progressbar/src/progressbar.component.mjs +18 -0
- package/esm2022/ui/radioButton/aril-ui-radioButton.mjs +5 -0
- package/esm2022/ui/radioButton/index.mjs +2 -0
- package/esm2022/ui/radioButton/src/radio-button.component.mjs +30 -0
- package/esm2022/ui/relativeDateSelector/aril-ui-relativeDateSelector.mjs +5 -0
- package/esm2022/ui/relativeDateSelector/index.mjs +2 -0
- package/esm2022/ui/relativeDateSelector/src/enum.mjs +31 -0
- package/esm2022/ui/relativeDateSelector/src/relative-date-selector.component.mjs +248 -0
- package/esm2022/ui/selectBox/aril-ui-selectBox.mjs +5 -0
- package/esm2022/ui/selectBox/index.mjs +2 -0
- package/esm2022/ui/selectBox/src/interfaces.mjs +2 -0
- package/esm2022/ui/selectBox/src/select-box.component.mjs +67 -0
- package/esm2022/ui/switch/aril-ui-switch.mjs +5 -0
- package/esm2022/ui/switch/index.mjs +2 -0
- package/esm2022/ui/switch/src/switch.component.mjs +23 -0
- package/esm2022/ui/table/aril-ui-table.mjs +5 -0
- package/esm2022/ui/table/index.mjs +131 -0
- package/esm2022/ui/table/src/export-overlay-panel.component.mjs +321 -0
- package/esm2022/ui/table/src/interfaces.mjs +44 -0
- package/esm2022/ui/table/src/table-column.component.mjs +31 -0
- package/esm2022/ui/table/src/table.component.mjs +334 -0
- package/esm2022/ui/table-expand/aril-ui-table-expand.mjs +5 -0
- package/esm2022/ui/table-expand/index.mjs +61 -0
- package/esm2022/ui/table-expand/src/table-column.component.mjs +25 -0
- package/esm2022/ui/table-expand/src/table-expand-area.component.mjs +17 -0
- package/esm2022/ui/table-expand/src/table.component.mjs +99 -0
- package/esm2022/ui/tag/aril-ui-tag.mjs +5 -0
- package/esm2022/ui/tag/index.mjs +2 -0
- package/esm2022/ui/tag/src/interface.mjs +2 -0
- package/esm2022/ui/tag/src/tag.component.mjs +20 -0
- package/esm2022/ui/tagBox/aril-ui-tagBox.mjs +5 -0
- package/esm2022/ui/tagBox/index.mjs +2 -0
- package/esm2022/ui/tagBox/src/tag-box.component.mjs +55 -0
- package/esm2022/ui/text/aril-ui-text.mjs +5 -0
- package/esm2022/ui/text/index.mjs +2 -0
- package/esm2022/ui/text/src/text.component.mjs +47 -0
- package/esm2022/ui/textArea/aril-ui-textArea.mjs +5 -0
- package/esm2022/ui/textArea/index.mjs +2 -0
- package/esm2022/ui/textArea/src/text-area.component.mjs +27 -0
- package/esm2022/ui/toggle-button/aril-ui-toggle-button.mjs +5 -0
- package/esm2022/ui/toggle-button/index.mjs +2 -0
- package/esm2022/ui/toggle-button/src/toggle-button.component.mjs +25 -0
- package/esm2022/ui/tooltip/aril-ui-tooltip.mjs +5 -0
- package/esm2022/ui/tooltip/index.mjs +2 -0
- package/esm2022/ui/tooltip/src/tooltip-component.mjs +23 -0
- package/esm2022/ui/translate-input/aril-ui-translate-input.mjs +5 -0
- package/esm2022/ui/translate-input/index.mjs +2 -0
- package/esm2022/ui/translate-input/src/aril-lang-modal/aril-lang-modal.component.mjs +64 -0
- package/esm2022/ui/translate-input/src/aril-lang-modal/constants.mjs +15 -0
- package/esm2022/ui/translate-input/src/aril-translate-input.component.mjs +128 -0
- package/esm2022/ui/translate-input/src/interface.mjs +2 -0
- package/esm2022/ui/tree/aril-ui-tree.mjs +5 -0
- package/esm2022/ui/tree/index.mjs +2 -0
- package/esm2022/ui/tree/src/tree.component.mjs +53 -0
- package/esm2022/ui/treeSelect/aril-ui-treeSelect.mjs +5 -0
- package/esm2022/ui/treeSelect/index.mjs +2 -0
- package/esm2022/ui/treeSelect/src/treeSelect.component.mjs +41 -0
- package/esm2022/ui/treeTable/aril-ui-treeTable.mjs +5 -0
- package/esm2022/ui/treeTable/index.mjs +2 -0
- package/esm2022/ui/treeTable/src/tree-table.component.mjs +55 -0
- package/esm2022/ui/value/aril-ui-value.mjs +5 -0
- package/esm2022/ui/value/index.mjs +2 -0
- package/esm2022/ui/value/src/value.component.mjs +207 -0
- package/esm2022/ui-business/aril-ui-business.mjs +5 -0
- package/esm2022/ui-business/assetPicker/aril-ui-business-assetPicker.mjs +5 -0
- package/esm2022/ui-business/assetPicker/index.mjs +2 -0
- package/esm2022/ui-business/assetPicker/src/asset-picker.component.mjs +182 -0
- package/esm2022/ui-business/assetPicker/src/interface.mjs +2 -0
- package/esm2022/ui-business/detailed-overlay-panel/aril-ui-business-detailed-overlay-panel.mjs +5 -0
- package/esm2022/ui-business/detailed-overlay-panel/index.mjs +2 -0
- package/esm2022/ui-business/detailed-overlay-panel/src/detailed-overlay-panel.component.mjs +61 -0
- package/esm2022/ui-business/detailed-overlay-panel/src/interface.mjs +19 -0
- package/esm2022/ui-business/enumPicker/aril-ui-business-enumPicker.mjs +5 -0
- package/esm2022/ui-business/enumPicker/index.mjs +2 -0
- package/esm2022/ui-business/enumPicker/src/enum-picker.component.mjs +124 -0
- package/esm2022/ui-business/enumPicker/src/interface.mjs +2 -0
- package/esm2022/ui-business/image-viewer/aril-ui-business-image-viewer.mjs +5 -0
- package/esm2022/ui-business/image-viewer/index.mjs +2 -0
- package/esm2022/ui-business/image-viewer/src/aril-image-viewer.component.mjs +111 -0
- package/esm2022/ui-business/index.mjs +2 -0
- package/esm2022/ui-business/multiple-ref-value/aril-ui-business-multiple-ref-value.mjs +5 -0
- package/esm2022/ui-business/multiple-ref-value/index.mjs +2 -0
- package/esm2022/ui-business/multiple-ref-value/src/multiple-ref-value.component.mjs +23 -0
- package/esm2022/ui-business/notification-templates-dialog/aril-ui-business-notification-templates-dialog.mjs +5 -0
- package/esm2022/ui-business/notification-templates-dialog/index.mjs +2 -0
- package/esm2022/ui-business/notification-templates-dialog/src/interface.mjs +8 -0
- package/esm2022/ui-business/notification-templates-dialog/src/notification-templates-dialog.component.mjs +56 -0
- package/esm2022/ui-business/operation-types-dialog/aril-ui-business-operation-types-dialog.mjs +5 -0
- package/esm2022/ui-business/operation-types-dialog/index.mjs +2 -0
- package/esm2022/ui-business/operation-types-dialog/src/operation-types-dialog.component.mjs +76 -0
- package/esm2022/ui-business/ref-value/aril-ui-business-ref-value.mjs +5 -0
- package/esm2022/ui-business/ref-value/index.mjs +2 -0
- package/esm2022/ui-business/ref-value/src/ref-value.component.mjs +39 -0
- package/esm2022/ui-business/rolePicker/aril-ui-business-rolePicker.mjs +5 -0
- package/esm2022/ui-business/rolePicker/index.mjs +2 -0
- package/esm2022/ui-business/rolePicker/src/interface.mjs +2 -0
- package/esm2022/ui-business/rolePicker/src/role-picker.component.mjs +71 -0
- package/esm2022/ui-business/userPicker/aril-ui-business-userPicker.mjs +5 -0
- package/esm2022/ui-business/userPicker/index.mjs +2 -0
- package/esm2022/ui-business/userPicker/src/interface.mjs +2 -0
- package/esm2022/ui-business/userPicker/src/user-picker.component.mjs +43 -0
- package/esm2022/util/aril-util.mjs +5 -0
- package/esm2022/util/block/aril-util-block.mjs +5 -0
- package/esm2022/util/block/index.mjs +2 -0
- package/esm2022/util/block/src/block.mjs +64 -0
- package/esm2022/util/custom_pages/aril-util-custom_pages.mjs +5 -0
- package/esm2022/util/custom_pages/index.mjs +2 -0
- package/esm2022/util/custom_pages/src/notFound.component.mjs +65 -0
- package/esm2022/util/directives/aril-util-directives.mjs +5 -0
- package/esm2022/util/directives/index.mjs +4 -0
- package/esm2022/util/directives/src/detail-page-customization/detail-page-customization.directive.mjs +298 -0
- package/esm2022/util/directives/src/detail-page-customization/index.mjs +3 -0
- package/esm2022/util/directives/src/detail-page-customization/models.mjs +4 -0
- package/esm2022/util/directives/src/dialog-component/plugin-dialog.component.mjs +26 -0
- package/esm2022/util/directives/src/dialog-service/plugin-dialog.service.mjs +16 -0
- package/esm2022/util/index.mjs +2 -0
- package/esm2022/util/lib/aril-util-lib.mjs +5 -0
- package/esm2022/util/lib/index.mjs +5 -0
- package/esm2022/util/lib/src/interfaces.mjs +4 -0
- package/esm2022/util/lib/src/module-router.mjs +16 -0
- package/esm2022/util/lib/src/types.mjs +6 -0
- package/esm2022/util/lib/src/validators/iban.validator.mjs +189 -0
- package/esm2022/util/lib/src/validators/index.mjs +5 -0
- package/esm2022/util/lib/src/validators/max-array-length.validator.mjs +16 -0
- package/esm2022/util/lib/src/validators/min-array-length.validator.mjs +16 -0
- package/esm2022/util/lib/src/validators/tckn.validator.mjs +39 -0
- package/esm2022/util/lib/src/validators/validators.mjs +16 -0
- package/esm2022/util/loaders/aril-util-loaders.mjs +5 -0
- package/esm2022/util/loaders/index.mjs +2 -0
- package/esm2022/util/loaders/style/style.loader.service.mjs +61 -0
- package/esm2022/util/pipes/aril-util-pipes.mjs +5 -0
- package/esm2022/util/pipes/index.mjs +7 -0
- package/esm2022/util/pipes/src/distance-to-now.pipe.mjs +38 -0
- package/esm2022/util/pipes/src/get-column-by-field.pipe.mjs +17 -0
- package/esm2022/util/pipes/src/parse.pipe.mjs +22 -0
- package/esm2022/util/pipes/src/round-number.pipe.mjs +65 -0
- package/esm2022/util/pipes/src/safe.pipe.mjs +34 -0
- package/esm2022/util/pipes/src/translate-json/index.mjs +2 -0
- package/esm2022/util/pipes/src/translate-json/translate-json.pipe.mjs +41 -0
- package/esm2022/util/primitive-extensions/aril-util-primitive-extensions.mjs +5 -0
- package/esm2022/util/primitive-extensions/index.mjs +5 -0
- package/esm2022/util/primitive-extensions/src/boolean.extensions.mjs +2 -0
- package/esm2022/util/primitive-extensions/src/date.extensions.mjs +116 -0
- package/esm2022/util/primitive-extensions/src/number.extensions.mjs +39 -0
- package/esm2022/util/primitive-extensions/src/string.extensions.mjs +23 -0
- package/esm2022/util/pub-sub/aril-util-pub-sub.mjs +5 -0
- package/esm2022/util/pub-sub/index.mjs +2 -0
- package/esm2022/util/pub-sub/src/pub-sub.service.mjs +30 -0
- package/esm2022/util/sync-active-tab-route/aril-util-sync-active-tab-route.mjs +5 -0
- package/esm2022/util/sync-active-tab-route/index.mjs +2 -0
- package/esm2022/util/sync-active-tab-route/src/sync-active-tab-route.directive.mjs +45 -0
- package/esm2022/util/unwrap/aril-util-unwrap.mjs +5 -0
- package/esm2022/util/unwrap/index.mjs +2 -0
- package/esm2022/util/unwrap/src/unwrap-tag.directive.mjs +24 -0
- package/fesm2022/aril-app.component-hxaLgwmC.mjs +81 -0
- package/fesm2022/aril-app.component-hxaLgwmC.mjs.map +1 -0
- package/fesm2022/aril-boot-config-api.mjs +126 -0
- package/fesm2022/aril-boot-config-api.mjs.map +1 -0
- package/fesm2022/aril-boot-config-apps.mjs +138 -0
- package/fesm2022/aril-boot-config-apps.mjs.map +1 -0
- package/fesm2022/aril-boot-config-plugins.mjs +159 -0
- package/fesm2022/aril-boot-config-plugins.mjs.map +1 -0
- package/fesm2022/aril-boot-config-translate.mjs +72 -0
- package/fesm2022/aril-boot-config-translate.mjs.map +1 -0
- package/fesm2022/aril-boot-host.mjs +108 -0
- package/fesm2022/aril-boot-host.mjs.map +1 -0
- package/fesm2022/aril-boot-mfe-app.component-s1a-tkOD.mjs +80 -0
- package/fesm2022/aril-boot-mfe-app.component-s1a-tkOD.mjs.map +1 -0
- package/fesm2022/aril-boot-mfe-aril-boot-mfe-wLTqwDtz.mjs +369 -0
- package/fesm2022/aril-boot-mfe-aril-boot-mfe-wLTqwDtz.mjs.map +1 -0
- package/fesm2022/aril-boot-mfe.mjs +19 -0
- package/fesm2022/aril-boot-mfe.mjs.map +1 -0
- package/fesm2022/aril-boot.mjs +8 -0
- package/fesm2022/aril-boot.mjs.map +1 -0
- package/fesm2022/aril-http.mjs +437 -0
- package/fesm2022/aril-http.mjs.map +1 -0
- package/fesm2022/aril-i18n.mjs +71 -0
- package/fesm2022/aril-i18n.mjs.map +1 -0
- package/fesm2022/aril-keycloak.mjs +99 -0
- package/fesm2022/aril-keycloak.mjs.map +1 -0
- package/fesm2022/aril-provider.mjs +74 -0
- package/fesm2022/aril-provider.mjs.map +1 -0
- package/fesm2022/aril-theme-layout.mjs +3015 -0
- package/fesm2022/aril-theme-layout.mjs.map +1 -0
- package/fesm2022/aril-theme.mjs +8 -0
- package/fesm2022/aril-theme.mjs.map +1 -0
- package/fesm2022/aril-ui-autoComplete.mjs +116 -0
- package/fesm2022/aril-ui-autoComplete.mjs.map +1 -0
- package/fesm2022/aril-ui-badge.mjs +66 -0
- package/fesm2022/aril-ui-badge.mjs.map +1 -0
- package/fesm2022/aril-ui-business-assetPicker.mjs +189 -0
- package/fesm2022/aril-ui-business-assetPicker.mjs.map +1 -0
- package/fesm2022/aril-ui-business-detailed-overlay-panel.mjs +68 -0
- package/fesm2022/aril-ui-business-detailed-overlay-panel.mjs.map +1 -0
- package/fesm2022/aril-ui-business-enumPicker.mjs +131 -0
- package/fesm2022/aril-ui-business-enumPicker.mjs.map +1 -0
- package/fesm2022/aril-ui-business-image-viewer.mjs +118 -0
- package/fesm2022/aril-ui-business-image-viewer.mjs.map +1 -0
- package/fesm2022/aril-ui-business-multiple-ref-value.mjs +30 -0
- package/fesm2022/aril-ui-business-multiple-ref-value.mjs.map +1 -0
- package/fesm2022/aril-ui-business-notification-templates-dialog.mjs +70 -0
- package/fesm2022/aril-ui-business-notification-templates-dialog.mjs.map +1 -0
- package/fesm2022/aril-ui-business-operation-types-dialog.mjs +83 -0
- package/fesm2022/aril-ui-business-operation-types-dialog.mjs.map +1 -0
- package/fesm2022/aril-ui-business-ref-value.mjs +46 -0
- package/fesm2022/aril-ui-business-ref-value.mjs.map +1 -0
- package/fesm2022/aril-ui-business-rolePicker.mjs +78 -0
- package/fesm2022/aril-ui-business-rolePicker.mjs.map +1 -0
- package/fesm2022/aril-ui-business-userPicker.mjs +50 -0
- package/fesm2022/aril-ui-business-userPicker.mjs.map +1 -0
- package/fesm2022/aril-ui-business.mjs +8 -0
- package/fesm2022/aril-ui-business.mjs.map +1 -0
- package/fesm2022/aril-ui-button.mjs +62 -0
- package/fesm2022/aril-ui-button.mjs.map +1 -0
- package/fesm2022/aril-ui-calendar.mjs +231 -0
- package/fesm2022/aril-ui-calendar.mjs.map +1 -0
- package/fesm2022/aril-ui-charts.mjs +1666 -0
- package/fesm2022/aril-ui-charts.mjs.map +1 -0
- package/fesm2022/aril-ui-checkbox.mjs +50 -0
- package/fesm2022/aril-ui-checkbox.mjs.map +1 -0
- package/fesm2022/aril-ui-chip.mjs +136 -0
- package/fesm2022/aril-ui-chip.mjs.map +1 -0
- package/fesm2022/aril-ui-collapse-reorder-list.mjs +60 -0
- package/fesm2022/aril-ui-collapse-reorder-list.mjs.map +1 -0
- package/fesm2022/aril-ui-dxEditor.mjs +33 -0
- package/fesm2022/aril-ui-dxEditor.mjs.map +1 -0
- package/fesm2022/aril-ui-dxField.mjs +26 -0
- package/fesm2022/aril-ui-dxField.mjs.map +1 -0
- package/fesm2022/aril-ui-editor.mjs +203 -0
- package/fesm2022/aril-ui-editor.mjs.map +1 -0
- package/fesm2022/aril-ui-field.mjs +52 -0
- package/fesm2022/aril-ui-field.mjs.map +1 -0
- package/fesm2022/aril-ui-fileUpload.mjs +80 -0
- package/fesm2022/aril-ui-fileUpload.mjs.map +1 -0
- package/fesm2022/aril-ui-form.mjs +86 -0
- package/fesm2022/aril-ui-form.mjs.map +1 -0
- package/fesm2022/aril-ui-img-viewer.mjs +64 -0
- package/fesm2022/aril-ui-img-viewer.mjs.map +1 -0
- package/fesm2022/aril-ui-json-diff-comparison.mjs +56 -0
- package/fesm2022/aril-ui-json-diff-comparison.mjs.map +1 -0
- package/fesm2022/aril-ui-lib.mjs +376 -0
- package/fesm2022/aril-ui-lib.mjs.map +1 -0
- package/fesm2022/aril-ui-loader.mjs +21 -0
- package/fesm2022/aril-ui-loader.mjs.map +1 -0
- package/fesm2022/aril-ui-mask.mjs +42 -0
- package/fesm2022/aril-ui-mask.mjs.map +1 -0
- package/fesm2022/aril-ui-multiSelect.mjs +64 -0
- package/fesm2022/aril-ui-multiSelect.mjs.map +1 -0
- package/fesm2022/aril-ui-number.mjs +45 -0
- package/fesm2022/aril-ui-number.mjs.map +1 -0
- package/fesm2022/aril-ui-operation-types-dialog.mjs +98 -0
- package/fesm2022/aril-ui-operation-types-dialog.mjs.map +1 -0
- package/fesm2022/aril-ui-overlayPanel.mjs +27 -0
- package/fesm2022/aril-ui-overlayPanel.mjs.map +1 -0
- package/fesm2022/aril-ui-panel.mjs +40 -0
- package/fesm2022/aril-ui-panel.mjs.map +1 -0
- package/fesm2022/aril-ui-password.mjs +36 -0
- package/fesm2022/aril-ui-password.mjs.map +1 -0
- package/fesm2022/aril-ui-pdf-viewer.mjs +34 -0
- package/fesm2022/aril-ui-pdf-viewer.mjs.map +1 -0
- package/fesm2022/aril-ui-progressbar.mjs +25 -0
- package/fesm2022/aril-ui-progressbar.mjs.map +1 -0
- package/fesm2022/aril-ui-radioButton.mjs +37 -0
- package/fesm2022/aril-ui-radioButton.mjs.map +1 -0
- package/fesm2022/aril-ui-relativeDateSelector.mjs +285 -0
- package/fesm2022/aril-ui-relativeDateSelector.mjs.map +1 -0
- package/fesm2022/aril-ui-selectBox.mjs +74 -0
- package/fesm2022/aril-ui-selectBox.mjs.map +1 -0
- package/fesm2022/aril-ui-switch.mjs +30 -0
- package/fesm2022/aril-ui-switch.mjs.map +1 -0
- package/fesm2022/aril-ui-table-expand.mjs +194 -0
- package/fesm2022/aril-ui-table-expand.mjs.map +1 -0
- package/fesm2022/aril-ui-table.mjs +833 -0
- package/fesm2022/aril-ui-table.mjs.map +1 -0
- package/fesm2022/aril-ui-tag.mjs +27 -0
- package/fesm2022/aril-ui-tag.mjs.map +1 -0
- package/fesm2022/aril-ui-tagBox.mjs +62 -0
- package/fesm2022/aril-ui-tagBox.mjs.map +1 -0
- package/fesm2022/aril-ui-text.mjs +54 -0
- package/fesm2022/aril-ui-text.mjs.map +1 -0
- package/fesm2022/aril-ui-textArea.mjs +34 -0
- package/fesm2022/aril-ui-textArea.mjs.map +1 -0
- package/fesm2022/aril-ui-toggle-button.mjs +32 -0
- package/fesm2022/aril-ui-toggle-button.mjs.map +1 -0
- package/fesm2022/aril-ui-tooltip.mjs +30 -0
- package/fesm2022/aril-ui-tooltip.mjs.map +1 -0
- package/fesm2022/aril-ui-translate-input.mjs +207 -0
- package/fesm2022/aril-ui-translate-input.mjs.map +1 -0
- package/fesm2022/aril-ui-tree.mjs +60 -0
- package/fesm2022/aril-ui-tree.mjs.map +1 -0
- package/fesm2022/aril-ui-treeSelect.mjs +48 -0
- package/fesm2022/aril-ui-treeSelect.mjs.map +1 -0
- package/fesm2022/aril-ui-treeTable.mjs +62 -0
- package/fesm2022/aril-ui-treeTable.mjs.map +1 -0
- package/fesm2022/aril-ui-value.mjs +214 -0
- package/fesm2022/aril-ui-value.mjs.map +1 -0
- package/fesm2022/aril-ui.mjs +8 -0
- package/fesm2022/aril-ui.mjs.map +1 -0
- package/fesm2022/aril-util-block.mjs +71 -0
- package/fesm2022/aril-util-block.mjs.map +1 -0
- package/fesm2022/aril-util-custom_pages.mjs +72 -0
- package/fesm2022/aril-util-custom_pages.mjs.map +1 -0
- package/fesm2022/aril-util-directives.mjs +344 -0
- package/fesm2022/aril-util-directives.mjs.map +1 -0
- package/fesm2022/aril-util-lib.mjs +307 -0
- package/fesm2022/aril-util-lib.mjs.map +1 -0
- package/fesm2022/aril-util-loaders.mjs +68 -0
- package/fesm2022/aril-util-loaders.mjs.map +1 -0
- package/fesm2022/aril-util-pipes.mjs +213 -0
- package/fesm2022/aril-util-pipes.mjs.map +1 -0
- package/fesm2022/aril-util-primitive-extensions.mjs +179 -0
- package/fesm2022/aril-util-primitive-extensions.mjs.map +1 -0
- package/fesm2022/aril-util-pub-sub.mjs +37 -0
- package/fesm2022/aril-util-pub-sub.mjs.map +1 -0
- package/fesm2022/aril-util-sync-active-tab-route.mjs +52 -0
- package/fesm2022/aril-util-sync-active-tab-route.mjs.map +1 -0
- package/fesm2022/aril-util-unwrap.mjs +31 -0
- package/fesm2022/aril-util-unwrap.mjs.map +1 -0
- package/fesm2022/aril-util.mjs +8 -0
- package/fesm2022/aril-util.mjs.map +1 -0
- package/fesm2022/aril.mjs +456 -0
- package/fesm2022/aril.mjs.map +1 -0
- package/http/index.d.ts +8 -0
- package/http/lib/enums.d.ts +31 -0
- package/http/lib/interfaces.d.ts +27 -0
- package/http/src/httpBackend.d.ts +8 -0
- package/http/src/httpClient.d.ts +9 -0
- package/http/src/interceptor/accept-language.interceptor.d.ts +2 -0
- package/http/src/serviceBase.d.ts +8 -0
- package/http/src/serviceMockBase.d.ts +6 -0
- package/http/src/serviceRequest.d.ts +4 -0
- package/http/src/serviceStateMethods.d.ts +17 -0
- package/i18n/src/folder-name-token.d.ts +2 -0
- package/i18n/src/i18n.module.d.ts +7 -0
- package/i18n/src/loader.d.ts +8 -0
- package/i18n/src/provideI18n.d.ts +2 -0
- package/i18n/src/provideScope.d.ts +5 -0
- package/index.d.ts +5 -0
- package/keycloak/index.d.ts +1 -0
- package/keycloak/src/auth.interceptor.d.ts +3 -0
- package/package.json +528 -43
- package/provider/src/index.d.ts +4 -0
- package/provider/src/prodiveHost.d.ts +3 -0
- package/provider/src/prodiveHostRouter.d.ts +2 -0
- package/provider/src/provideHostKeycloak.d.ts +5 -0
- package/provider/src/provideLocaleId.d.ts +2 -0
- package/scripts/util/blockui.min.js +7 -0
- package/styles/ui/ui.common.scss +42 -0
- package/styles/util/blockui.css +56 -0
- package/theme/index.d.ts +1 -0
- package/theme/index.ts +1 -1
- package/theme/layout/app/breadcrumb/app.breadcrumb.component.d.ts +25 -0
- package/theme/layout/app/breadcrumb/app.breadcrumb.component.html +8 -8
- package/theme/layout/app/breadcrumb/app.breadcrumb.component.ts +126 -126
- package/theme/layout/app/chatbot/app.chatbot.component.d.ts +35 -0
- package/theme/layout/app/chatbot/app.chatbot.component.html +108 -108
- package/theme/layout/app/chatbot/app.chatbot.component.scss +34 -34
- package/theme/layout/app/chatbot/app.chatbot.component.ts +151 -151
- package/theme/layout/app/config/app.config.component.html +146 -146
- package/theme/layout/app/config/app.config.component.ts +143 -143
- package/theme/layout/app/expandableMenu/expandable-menu.component.d.ts +72 -0
- package/theme/layout/app/expandableMenu/expandable-menu.component.html +89 -89
- package/theme/layout/app/expandableMenu/expandable-menu.component.ts +295 -295
- package/theme/layout/app/favorite-pages/favorite-pages-sidebar.component.d.ts +2031 -0
- package/theme/layout/app/favorite-pages/favorite-pages-sidebar.component.html +110 -110
- package/theme/layout/app/favorite-pages/favorite-pages-sidebar.component.scss +181 -181
- package/theme/layout/app/favorite-pages/favorite-pages-sidebar.component.ts +260 -260
- package/theme/layout/app/favorite-pages/favorite-pages.service.d.ts +56 -0
- package/theme/layout/app/favorite-pages/favorite-pages.service.ts +95 -95
- package/theme/layout/app/favorite-pages/modals/add-edit-favorite-modal/add-edit-favorite-modal.component.d.ts +36 -0
- package/theme/layout/app/favorite-pages/modals/add-edit-favorite-modal/add-edit-favorite-modal.component.html +27 -27
- package/theme/layout/app/favorite-pages/modals/add-edit-favorite-modal/add-edit-favorite-modal.component.ts +165 -165
- package/theme/layout/app/general-search/general-search.component.d.ts +22 -0
- package/theme/layout/app/general-search/general-search.component.html +57 -57
- package/theme/layout/app/general-search/general-search.component.scss +27 -27
- package/theme/layout/app/general-search/general-search.component.ts +93 -93
- package/theme/layout/app/general-search/helpers.d.ts +7 -0
- package/theme/layout/app/general-search/helpers.spec.ts +527 -527
- package/theme/layout/app/general-search/helpers.ts +106 -106
- package/theme/layout/app/general-search/models.d.ts +131 -0
- package/theme/layout/app/general-search/models.ts +142 -142
- package/theme/layout/app/history/history-sidebar.component.d.ts +2018 -0
- package/theme/layout/app/history/history-sidebar.component.html +87 -87
- package/theme/layout/app/history/history-sidebar.component.scss +182 -182
- package/theme/layout/app/history/history-sidebar.component.ts +143 -143
- package/theme/layout/app/history/history.service.d.ts +36 -0
- package/theme/layout/app/history/history.service.ts +154 -154
- package/theme/layout/app/layout/app.layout.component.d.ts +47 -0
- package/theme/layout/app/layout/app.layout.component.html +27 -27
- package/theme/layout/app/layout/app.layout.component.ts +171 -171
- package/theme/layout/app/layout/mfe.layout.component.d.ts +10 -0
- package/theme/layout/app/layout/mfe.layout.component.ts +59 -59
- package/theme/layout/app/notifications/notifications-sidebar.component.d.ts +2306 -0
- package/theme/layout/app/notifications/notifications-sidebar.component.html +104 -104
- package/theme/layout/app/notifications/notifications-sidebar.component.scss +237 -237
- package/theme/layout/app/notifications/notifications-sidebar.component.ts +221 -221
- package/theme/layout/app/profileSidebar/app.profilesidebar.component.d.ts +29 -0
- package/theme/layout/app/profileSidebar/app.profilesidebar.component.html +122 -122
- package/theme/layout/app/profileSidebar/app.profilesidebar.component.scss +151 -151
- package/theme/layout/app/profileSidebar/app.profilesidebar.component.ts +141 -141
- package/theme/layout/app/profileSidebar/modals/change-password-modal/change-password-modal.component.d.ts +30 -0
- package/theme/layout/app/profileSidebar/modals/change-password-modal/change-password-modal.component.html +48 -48
- package/theme/layout/app/profileSidebar/modals/change-password-modal/change-password-modal.component.scss +27 -27
- package/theme/layout/app/profileSidebar/modals/change-password-modal/change-password-modal.component.ts +178 -178
- package/theme/layout/app/profileSidebar/modals/edit-profile-modal/edit-profile-modal.component.d.ts +52 -0
- package/theme/layout/app/profileSidebar/modals/edit-profile-modal/edit-profile-modal.component.html +71 -71
- package/theme/layout/app/profileSidebar/modals/edit-profile-modal/edit-profile-modal.component.ts +251 -251
- package/theme/layout/app/profileSidebar/profile.service.d.ts +72 -0
- package/theme/layout/app/profileSidebar/profile.service.ts +116 -116
- package/theme/layout/app/site-map/site-map-sidebar.component.d.ts +2025 -0
- package/theme/layout/app/site-map/site-map-sidebar.component.html +121 -121
- package/theme/layout/app/site-map/site-map-sidebar.component.scss +178 -178
- package/theme/layout/app/site-map/site-map-sidebar.component.ts +193 -193
- package/theme/layout/app/static-sidebar/static-sidebar.component.d.ts +57 -0
- package/theme/layout/app/static-sidebar/static-sidebar.component.html +123 -123
- package/theme/layout/app/static-sidebar/static-sidebar.component.scss +411 -411
- package/theme/layout/app/static-sidebar/static-sidebar.component.ts +276 -276
- package/theme/layout/app/topbar/app.topbar.component.d.ts +35 -0
- package/theme/layout/app/topbar/app.topbar.component.html +85 -85
- package/theme/layout/app/topbar/app.topbar.component.scss +193 -193
- package/theme/layout/app/topbar/app.topbar.component.ts +172 -172
- package/theme/layout/index.d.ts +7 -0
- package/theme/layout/index.ts +7 -7
- package/theme/layout/ng-package.json +6 -6
- package/theme/layout/service/app.layout.service.d.ts +69 -0
- package/theme/layout/service/app.layout.service.ts +307 -307
- package/theme/layout/service/app.menu.service.d.ts +22 -0
- package/theme/layout/service/app.menu.service.ts +53 -53
- package/theme/layout/service/breadcrumb.service.d.ts +10 -0
- package/theme/layout/service/breadcrumb.service.ts +14 -14
- package/theme/layout/service/interfaces/enum.d.ts +12 -0
- package/theme/layout/service/interfaces/enum.ts +13 -13
- package/theme/layout/service/interfaces/interfaces.d.ts +131 -0
- package/theme/layout/service/interfaces/interfaces.ts +150 -150
- package/theme/layout/service/menuchangeevent.d.ts +4 -0
- package/theme/layout/service/menuchangeevent.ts +4 -4
- package/theme/layout/service/notifications.service.d.ts +12 -0
- package/theme/layout/service/notifications.service.ts +26 -26
- package/theme/layout/service/search.service.d.ts +11 -0
- package/theme/layout/service/search.service.ts +22 -22
- package/theme/layout/service/selection-group.service.d.ts +17 -0
- package/theme/layout/service/selection-group.service.ts +73 -73
- package/theme/ng-package.json +6 -6
- package/theme/styles/layout/_animation.scss +53 -53
- package/theme/styles/layout/_breadcrumb.scss +31 -31
- package/theme/styles/layout/_config.scss +42 -42
- package/theme/styles/layout/_content.scss +61 -61
- package/theme/styles/layout/_expanded_sidebar.scss +486 -486
- package/theme/styles/layout/_fonts.scss +93 -93
- package/theme/styles/layout/_layout_dark.scss +5 -5
- package/theme/styles/layout/_layout_dim.scss +5 -5
- package/theme/styles/layout/_layout_light.scss +5 -5
- package/theme/styles/layout/_main.scss +28 -28
- package/theme/styles/layout/_profile.scss +10 -10
- package/theme/styles/layout/_responsive.scss +153 -153
- package/theme/styles/layout/_sidebar_drawer.scss +234 -234
- package/theme/styles/layout/_sidebar_horizontal.scss +163 -163
- package/theme/styles/layout/_sidebar_reveal.scss +201 -201
- package/theme/styles/layout/_sidebar_slim.scss +144 -144
- package/theme/styles/layout/_sidebar_slim_plus.scss +168 -168
- package/theme/styles/layout/_sidebar_vertical.scss +156 -156
- package/theme/styles/layout/_topbar.scss +140 -140
- package/theme/styles/layout/_typography.scss +68 -68
- package/theme/styles/layout/_utils.scss +24 -24
- package/theme/styles/layout/layout.scss +25 -25
- package/theme/styles/layout/menutheme/_colorscheme.scss +11 -11
- package/theme/styles/layout/menutheme/_menutheme.scss +3 -3
- package/theme/styles/layout/menutheme/_primarycolor.scss +16 -16
- package/theme/styles/layout/menutheme/_transparent.scss +26 -26
- package/theme/styles/layout/preloading.scss +84 -84
- package/theme/styles/theme/base/_colors.scss +17 -17
- package/theme/styles/theme/base/_common.scss +89 -89
- package/theme/styles/theme/base/_components.scss +108 -108
- package/theme/styles/theme/base/_mixins.scss +337 -337
- package/theme/styles/theme/base/components/button/_button.scss +576 -576
- package/theme/styles/theme/base/components/button/_speeddial.scss +96 -96
- package/theme/styles/theme/base/components/button/_splitbutton.scss +348 -348
- package/theme/styles/theme/base/components/data/_carousel.scss +37 -37
- package/theme/styles/theme/base/components/data/_datatable.scss +338 -338
- package/theme/styles/theme/base/components/data/_dataview.scss +46 -46
- package/theme/styles/theme/base/components/data/_filter.scss +137 -137
- package/theme/styles/theme/base/components/data/_orderlist.scss +114 -114
- package/theme/styles/theme/base/components/data/_organizationchart.scss +50 -50
- package/theme/styles/theme/base/components/data/_paginator.scss +92 -92
- package/theme/styles/theme/base/components/data/_picklist.scss +114 -114
- package/theme/styles/theme/base/components/data/_table.scss +16 -16
- package/theme/styles/theme/base/components/data/_timeline.scss +35 -35
- package/theme/styles/theme/base/components/data/_tree.scss +150 -150
- package/theme/styles/theme/base/components/data/_treetable.scss +255 -255
- package/theme/styles/theme/base/components/data/_virtualscroller.scss +28 -28
- package/theme/styles/theme/base/components/file/_fileupload.scss +64 -64
- package/theme/styles/theme/base/components/input/_autocomplete.scss +141 -141
- package/theme/styles/theme/base/components/input/_calendar.scss +267 -267
- package/theme/styles/theme/base/components/input/_cascadeselect.scss +135 -135
- package/theme/styles/theme/base/components/input/_checkbox.scss +99 -99
- package/theme/styles/theme/base/components/input/_chips.scss +67 -67
- package/theme/styles/theme/base/components/input/_colorpicker.scss +19 -19
- package/theme/styles/theme/base/components/input/_dropdown.scss +151 -151
- package/theme/styles/theme/base/components/input/_editor.scss +122 -122
- package/theme/styles/theme/base/components/input/_inputgroup.scss +75 -75
- package/theme/styles/theme/base/components/input/_inputmask.scss +16 -16
- package/theme/styles/theme/base/components/input/_inputnumber.scss +28 -28
- package/theme/styles/theme/base/components/input/_inputswitch.scss +60 -60
- package/theme/styles/theme/base/components/input/_inputtext.scss +100 -100
- package/theme/styles/theme/base/components/input/_listbox.scss +97 -97
- package/theme/styles/theme/base/components/input/_multiselect.scss +177 -177
- package/theme/styles/theme/base/components/input/_password.scss +52 -52
- package/theme/styles/theme/base/components/input/_radiobutton.scss +78 -78
- package/theme/styles/theme/base/components/input/_rating.scss +60 -60
- package/theme/styles/theme/base/components/input/_selectbutton.scss +50 -50
- package/theme/styles/theme/base/components/input/_slider.scss +75 -75
- package/theme/styles/theme/base/components/input/_togglebutton.scss +48 -48
- package/theme/styles/theme/base/components/input/_treeselect.scss +139 -139
- package/theme/styles/theme/base/components/menu/_breadcrumb.scss +43 -43
- package/theme/styles/theme/base/components/menu/_contextmenu.scss +39 -39
- package/theme/styles/theme/base/components/menu/_dock.scss +95 -95
- package/theme/styles/theme/base/components/menu/_megamenu.scss +55 -55
- package/theme/styles/theme/base/components/menu/_menu.scss +37 -37
- package/theme/styles/theme/base/components/menu/_menubar.scss +140 -140
- package/theme/styles/theme/base/components/menu/_panelmenu.scss +153 -153
- package/theme/styles/theme/base/components/menu/_slidemenu.scss +59 -59
- package/theme/styles/theme/base/components/menu/_steps.scss +56 -56
- package/theme/styles/theme/base/components/menu/_tabmenu.scss +73 -73
- package/theme/styles/theme/base/components/menu/_tieredmenu.scss +43 -43
- package/theme/styles/theme/base/components/messages/_inlinemessage.scss +69 -69
- package/theme/styles/theme/base/components/messages/_message.scss +107 -107
- package/theme/styles/theme/base/components/messages/_toast.scss +99 -99
- package/theme/styles/theme/base/components/misc/_avatar.scss +30 -30
- package/theme/styles/theme/base/components/misc/_badge.scss +48 -48
- package/theme/styles/theme/base/components/misc/_chip.scss +42 -42
- package/theme/styles/theme/base/components/misc/_inplace.scss +16 -16
- package/theme/styles/theme/base/components/misc/_progressbar.scss +17 -17
- package/theme/styles/theme/base/components/misc/_scrolltop.scss +25 -25
- package/theme/styles/theme/base/components/misc/_skeleton.scss +8 -8
- package/theme/styles/theme/base/components/misc/_tag.scss +45 -45
- package/theme/styles/theme/base/components/misc/_terminal.scss +12 -12
- package/theme/styles/theme/base/components/multimedia/_galleria.scss +155 -155
- package/theme/styles/theme/base/components/multimedia/_image.scss +49 -49
- package/theme/styles/theme/base/components/overlay/_confirmpopup.scss +70 -70
- package/theme/styles/theme/base/components/overlay/_dialog.scss +69 -69
- package/theme/styles/theme/base/components/overlay/_overlaypanel.scss +62 -62
- package/theme/styles/theme/base/components/overlay/_sidebar.scss +28 -28
- package/theme/styles/theme/base/components/overlay/_tooltip.scss +33 -33
- package/theme/styles/theme/base/components/panel/_accordion.scss +119 -119
- package/theme/styles/theme/base/components/panel/_card.scss +30 -30
- package/theme/styles/theme/base/components/panel/_divider.scss +31 -31
- package/theme/styles/theme/base/components/panel/_fieldset.scss +47 -47
- package/theme/styles/theme/base/components/panel/_panel.scss +77 -77
- package/theme/styles/theme/base/components/panel/_scrollpanel.scss +6 -6
- package/theme/styles/theme/base/components/panel/_splitter.scss +19 -19
- package/theme/styles/theme/base/components/panel/_stepper.scss +200 -200
- package/theme/styles/theme/base/components/panel/_tabview.scss +91 -91
- package/theme/styles/theme/base/components/panel/_toolbar.scss +11 -11
- package/theme/styles/theme/dark/_extensions.scss +134 -134
- package/theme/styles/theme/dark/_variables.scss +933 -933
- package/theme/styles/theme/dark/indigo/theme.scss +14 -14
- package/theme/styles/theme/light/_extensions.scss +116 -116
- package/theme/styles/theme/light/_variables.scss +940 -940
- package/theme/styles/theme/light/custom/theme.scss +16 -16
- package/theme/styles/theme/light/indigo/theme.scss +14 -14
- package/ui/autoComplete/src/auto-complete.component.d.ts +31 -0
- package/ui/autoComplete/src/interfaces.d.ts +28 -0
- package/ui/badge/src/badge.component.d.ts +32 -0
- package/ui/button/src/button.component.d.ts +28 -0
- package/ui/button/src/split-button.component.d.ts +8 -0
- package/ui/calendar/src/calendar.component.d.ts +63 -0
- package/ui/charts/index.d.ts +12 -0
- package/ui/charts/src/amCharts/column/column-chart.component.d.ts +25 -0
- package/ui/charts/src/amCharts/line/line-chart.component.d.ts +26 -0
- package/ui/charts/src/amCharts/pie/pie-chart.component.d.ts +24 -0
- package/ui/charts/src/highCharts/area/area-chart.component.d.ts +20 -0
- package/ui/charts/src/highCharts/bar/bar-chart.component.d.ts +26 -0
- package/ui/charts/src/highCharts/column/column-chart.component.d.ts +28 -0
- package/ui/charts/src/highCharts/gauge/solid-gauge.component.d.ts +38 -0
- package/ui/charts/src/highCharts/heatmap/heatMap-chart.component.d.ts +32 -0
- package/ui/charts/src/highCharts/line/line-chart-datetime-axis.component.d.ts +24 -0
- package/ui/charts/src/highCharts/line/line-chart-series.component.d.ts +21 -0
- package/ui/charts/src/highCharts/line/line-chart.component.d.ts +21 -0
- package/ui/charts/src/highCharts/pie/pie-chart.component.d.ts +27 -0
- package/ui/charts/src/theme/theme.d.ts +5 -0
- package/ui/checkbox/src/check-box.component.d.ts +12 -0
- package/ui/checkbox/src/tri-state-checkbox.component.d.ts +9 -0
- package/ui/chip/index.d.ts +1 -0
- package/ui/chip/src/chip.component.d.ts +34 -0
- package/ui/collapse-reorder-list/index.d.ts +1 -0
- package/ui/collapse-reorder-list/src/collapse-reorder-list.component.d.ts +21 -0
- package/ui/dxEditor/src/dx-editor.component.d.ts +11 -0
- package/ui/dxField/src/dx-field.component.d.ts +10 -0
- package/ui/editor/src/aril-editor.component.d.ts +28 -0
- package/ui/editor/src/types.d.ts +23 -0
- package/ui/field/src/field.component.d.ts +30 -0
- package/ui/fileUpload/src/file-upload.component.d.ts +49 -0
- package/ui/form/index.d.ts +11 -0
- package/ui/form/src/form-submit-button.component.d.ts +14 -0
- package/ui/form/src/form.component.d.ts +8 -0
- package/ui/img-viewer/index.d.ts +1 -0
- package/ui/img-viewer/src/img-viewer.component.d.ts +13 -0
- package/ui/index.d.ts +1 -0
- package/ui/json-diff-comparison/src/json-diff.component.d.ts +13 -0
- package/ui/lib/index.d.ts +12 -0
- package/ui/lib/src/form/form-error-message.component.d.ts +9 -0
- package/ui/lib/src/form/form-error-message.directive.d.ts +14 -0
- package/ui/lib/src/form/form-field-builder.d.ts +8 -0
- package/ui/lib/src/form/form-validation.d.ts +2 -0
- package/ui/lib/src/grid/enum-color-picker.pipe.d.ts +9 -0
- package/ui/lib/src/grid/flex-grid.directive.d.ts +6 -0
- package/ui/lib/src/input/baseInput.d.ts +7 -0
- package/ui/lib/src/input/common-input-validators.service.d.ts +20 -0
- package/ui/lib/src/input/dx-input-error-message.pipe.d.ts +11 -0
- package/ui/lib/src/input/input-disabled.directive.d.ts +9 -0
- package/ui/lib/src/input/input-error-message.pipe.d.ts +10 -0
- package/ui/lib/src/input/input-transforms.d.ts +5 -0
- package/ui/lib/src/input/value-accessor.directive.d.ts +9 -0
- package/ui/loader/src/loader.component.d.ts +5 -0
- package/ui/mask/src/mask.component.d.ts +21 -0
- package/ui/multiSelect/src/interfaces.d.ts +32 -0
- package/ui/multiSelect/src/multi-select.component.d.ts +28 -0
- package/ui/number/src/number.component.d.ts +29 -0
- package/ui/operation-types-dialog/src/operation-types-dialog.component.d.ts +33 -0
- package/ui/overlayPanel/src/overlay-panel.component.d.ts +8 -0
- package/ui/panel/src/panel.component.d.ts +14 -0
- package/ui/password/src/password.component.d.ts +11 -0
- package/ui/pdf-viewer/src/pdf-viewer.component.d.ts +19 -0
- package/ui/progressbar/src/progressbar.component.d.ts +8 -0
- package/ui/radioButton/src/radio-button.component.d.ts +22 -0
- package/ui/relativeDateSelector/index.d.ts +1 -0
- package/ui/relativeDateSelector/src/enum.d.ts +26 -0
- package/ui/relativeDateSelector/src/relative-date-selector.component.d.ts +61 -0
- package/ui/selectBox/src/interfaces.d.ts +32 -0
- package/ui/selectBox/src/select-box.component.d.ts +30 -0
- package/ui/switch/src/switch.component.d.ts +8 -0
- package/ui/table/index.d.ts +35 -0
- package/ui/table/src/export-overlay-panel.component.d.ts +39 -0
- package/ui/table/src/interfaces.d.ts +145 -0
- package/ui/table/src/table-column.component.d.ts +19 -0
- package/ui/table/src/table.component.d.ts +107 -0
- package/ui/table-expand/index.d.ts +20 -0
- package/ui/table-expand/src/table-column.component.d.ts +28 -0
- package/ui/table-expand/src/table-expand-area.component.d.ts +14 -0
- package/ui/table-expand/src/table.component.d.ts +47 -0
- package/ui/tag/index.d.ts +1 -0
- package/ui/tag/src/interface.d.ts +1 -0
- package/ui/tag/src/tag.component.d.ts +15 -0
- package/ui/tagBox/src/tag-box.component.d.ts +17 -0
- package/ui/text/src/text.component.d.ts +18 -0
- package/ui/textArea/src/text-area.component.d.ts +12 -0
- package/ui/toggle-button/index.d.ts +1 -0
- package/ui/toggle-button/src/toggle-button.component.d.ts +10 -0
- package/ui/tooltip/src/tooltip-component.d.ts +14 -0
- package/ui/translate-input/src/aril-lang-modal/aril-lang-modal.component.d.ts +21 -0
- package/ui/translate-input/src/aril-lang-modal/constants.d.ts +2 -0
- package/ui/translate-input/src/aril-translate-input.component.d.ts +26 -0
- package/ui/translate-input/src/interface.d.ts +12 -0
- package/ui/tree/src/tree.component.d.ts +23 -0
- package/ui/treeSelect/src/treeSelect.component.d.ts +23 -0
- package/ui/treeTable/src/tree-table.component.d.ts +21 -0
- package/ui/value/src/value.component.d.ts +43 -0
- package/ui-business/assetPicker/index.d.ts +1 -0
- package/ui-business/assetPicker/src/asset-picker.component.d.ts +48 -0
- package/ui-business/assetPicker/src/interface.d.ts +74 -0
- package/ui-business/detailed-overlay-panel/src/detailed-overlay-panel.component.d.ts +31 -0
- package/ui-business/detailed-overlay-panel/src/interface.d.ts +54 -0
- package/ui-business/enumPicker/index.d.ts +1 -0
- package/ui-business/enumPicker/src/enum-picker.component.d.ts +47 -0
- package/ui-business/enumPicker/src/interface.d.ts +34 -0
- package/ui-business/image-viewer/index.d.ts +1 -0
- package/ui-business/image-viewer/src/aril-image-viewer.component.d.ts +20 -0
- package/ui-business/index.d.ts +1 -0
- package/ui-business/multiple-ref-value/src/multiple-ref-value.component.d.ts +16 -0
- package/ui-business/notification-templates-dialog/src/interface.d.ts +17 -0
- package/ui-business/notification-templates-dialog/src/notification-templates-dialog.component.d.ts +18 -0
- package/ui-business/operation-types-dialog/src/operation-types-dialog.component.d.ts +28 -0
- package/ui-business/ref-value/src/ref-value.component.d.ts +20 -0
- package/ui-business/rolePicker/src/interface.d.ts +44 -0
- package/ui-business/rolePicker/src/role-picker.component.d.ts +25 -0
- package/ui-business/userPicker/index.d.ts +1 -0
- package/ui-business/userPicker/src/interface.d.ts +25 -0
- package/ui-business/userPicker/src/user-picker.component.d.ts +18 -0
- package/util/block/src/block.d.ts +28 -0
- package/util/custom_pages/src/notFound.component.d.ts +5 -0
- package/util/directives/src/detail-page-customization/detail-page-customization.directive.d.ts +26 -0
- package/util/directives/src/detail-page-customization/index.d.ts +2 -0
- package/util/directives/src/detail-page-customization/models.d.ts +53 -0
- package/util/directives/src/dialog-component/plugin-dialog.component.d.ts +11 -0
- package/util/directives/src/dialog-service/plugin-dialog.service.d.ts +7 -0
- package/util/index.d.ts +1 -0
- package/util/lib/src/interfaces.d.ts +41 -0
- package/util/lib/src/module-router.d.ts +5 -0
- package/util/lib/src/types.d.ts +2290 -0
- package/util/lib/src/validators/iban.validator.d.ts +7 -0
- package/util/lib/src/validators/max-array-length.validator.d.ts +7 -0
- package/util/lib/src/validators/min-array-length.validator.d.ts +7 -0
- package/util/lib/src/validators/tckn.validator.d.ts +7 -0
- package/util/lib/src/validators/validators.d.ts +7 -0
- package/util/loaders/index.d.ts +1 -0
- package/util/loaders/style/style.loader.service.d.ts +13 -0
- package/util/pipes/src/distance-to-now.pipe.d.ts +11 -0
- package/util/pipes/src/get-column-by-field.pipe.d.ts +11 -0
- package/util/pipes/src/parse.pipe.d.ts +7 -0
- package/util/pipes/src/round-number.pipe.d.ts +11 -0
- package/util/pipes/src/safe.pipe.d.ts +10 -0
- package/util/pipes/src/translate-json/index.d.ts +1 -0
- package/util/pipes/src/translate-json/translate-json.pipe.d.ts +10 -0
- package/util/primitive-extensions/src/date.extensions.d.ts +8 -0
- package/util/primitive-extensions/src/number.extensions.d.ts +12 -0
- package/util/primitive-extensions/src/string.extensions.d.ts +11 -0
- package/util/pub-sub/src/pub-sub.service.d.ts +21 -0
- package/util/sync-active-tab-route/src/sync-active-tab-route.directive.d.ts +17 -0
- package/util/unwrap/src/unwrap-tag.directive.d.ts +9 -0
- package/.eslintrc.json +0 -41
- package/boot/config/api/ng-package.json +0 -6
- package/boot/config/api/src/api.sample.json +0 -8
- package/boot/config/api/src/api.service.ts +0 -91
- package/boot/config/api/src/interfaces.ts +0 -65
- package/boot/config/apps/ng-package.json +0 -6
- package/boot/config/apps/src/apps.service.ts +0 -62
- package/boot/config/apps/src/auth.guard.ts +0 -22
- package/boot/config/apps/src/interfaces.ts +0 -58
- package/boot/config/apps/src/reuse-strategy.ts +0 -10
- package/boot/config/apps/src/showdowDOMWrapper.ts +0 -28
- package/boot/config/plugins/ng-package.json +0 -6
- package/boot/config/plugins/src/getNgZone.ts +0 -7
- package/boot/config/plugins/src/interfaces.ts +0 -75
- package/boot/config/plugins/src/plugins.service.ts +0 -110
- package/boot/config/translate/constants.ts +0 -4
- package/boot/config/translate/ng-package.json +0 -6
- package/boot/config/translate/primeng/i18n/tr.ts +0 -59
- package/boot/host/ng-package.json +0 -6
- package/boot/host/src/app.component.ts +0 -51
- package/boot/host/src/bootstrap.ts +0 -87
- package/boot/index.ts +0 -1
- package/boot/mfe/ng-package.json +0 -6
- package/boot/mfe/src/app.component.ts +0 -63
- package/boot/mfe/src/appComponentLoader.ts +0 -4
- package/boot/mfe/src/bootstrap.ts +0 -97
- package/boot/mfe/src/loadStyles.ts +0 -42
- package/boot/mfe/src/monaco.config.ts +0 -266
- package/boot/ng-package.json +0 -6
- package/http/index.ts +0 -13
- package/http/lib/enums.ts +0 -31
- package/http/lib/interfaces.ts +0 -46
- package/http/ng-package.json +0 -6
- package/http/src/httpBackend.ts +0 -12
- package/http/src/httpClient.ts +0 -20
- package/http/src/interceptor/accept-language.interceptor.ts +0 -32
- package/http/src/serviceBase.ts +0 -175
- package/http/src/serviceMockBase.ts +0 -12
- package/http/src/serviceRequest.ts +0 -28
- package/http/src/serviceStateMethods.ts +0 -211
- package/i18n/ng-package.json +0 -6
- package/i18n/src/folder-name-token.ts +0 -3
- package/i18n/src/i18n.module.ts +0 -11
- package/i18n/src/loader.ts +0 -13
- package/i18n/src/provideI18n.ts +0 -18
- package/i18n/src/provideScope.ts +0 -20
- package/keycloak/index.ts +0 -1
- package/keycloak/ng-package.json +0 -6
- package/keycloak/src/auth.interceptor.ts +0 -103
- package/ng-package.json +0 -16
- package/project.json +0 -39
- package/provider/ng-package.json +0 -6
- package/provider/src/index.ts +0 -5
- package/provider/src/prodiveHost.ts +0 -15
- package/provider/src/prodiveHostRouter.ts +0 -21
- package/provider/src/provideHostKeycloak.ts +0 -34
- package/provider/src/provideLocaleId.ts +0 -22
- package/tsconfig.lib.json +0 -12
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -9
- package/ui/autoComplete/ng-package.json +0 -6
- package/ui/autoComplete/src/auto-complete.component.html +0 -14
- package/ui/autoComplete/src/auto-complete.component.ts +0 -130
- package/ui/autoComplete/src/interfaces.ts +0 -35
- package/ui/badge/ng-package.json +0 -6
- package/ui/badge/src/badge.component.html +0 -11
- package/ui/badge/src/badge.component.ts +0 -63
- package/ui/button/ng-package.json +0 -6
- package/ui/button/src/button.component.html +0 -12
- package/ui/button/src/button.component.ts +0 -47
- package/ui/button/src/split-button.component.html +0 -2
- package/ui/button/src/split-button.component.ts +0 -17
- package/ui/calendar/ng-package.json +0 -6
- package/ui/calendar/src/calendar.component.html +0 -48
- package/ui/calendar/src/calendar.component.ts +0 -257
- package/ui/charts/index.ts +0 -13
- package/ui/charts/ng-package.json +0 -6
- package/ui/charts/src/amCharts/column/column-chart.component.ts +0 -144
- package/ui/charts/src/amCharts/line/line-chart.component.ts +0 -194
- package/ui/charts/src/amCharts/pie/pie-chart.component.ts +0 -132
- package/ui/charts/src/highCharts/area/area-chart.component.ts +0 -112
- package/ui/charts/src/highCharts/bar/bar-chart.component.ts +0 -100
- package/ui/charts/src/highCharts/bar/bar-chart.components.scss +0 -50
- package/ui/charts/src/highCharts/column/column-chart.component copy.ts +0 -50
- package/ui/charts/src/highCharts/column/column-chart.component.ts +0 -125
- package/ui/charts/src/highCharts/column/column-chart.components.scss +0 -50
- package/ui/charts/src/highCharts/gauge/solid-gauge.component.ts +0 -199
- package/ui/charts/src/highCharts/heatmap/heatMap-chart.component.ts +0 -279
- package/ui/charts/src/highCharts/line/line-chart-datetime-axis.component.ts +0 -185
- package/ui/charts/src/highCharts/line/line-chart-series.component.ts +0 -92
- package/ui/charts/src/highCharts/line/line-chart.component.ts +0 -85
- package/ui/charts/src/highCharts/pie/pie-chart.component.ts +0 -139
- package/ui/charts/src/theme/theme.ts +0 -55
- package/ui/checkbox/ng-package.json +0 -6
- package/ui/checkbox/src/check-box.component.html +0 -15
- package/ui/checkbox/src/check-box.component.ts +0 -24
- package/ui/checkbox/src/tri-state-checkbox.component.html +0 -7
- package/ui/checkbox/src/tri-state-checkbox.component.ts +0 -20
- package/ui/chip/index.ts +0 -1
- package/ui/chip/ng-package.json +0 -6
- package/ui/chip/src/chip.component.html +0 -33
- package/ui/chip/src/chip.component.ts +0 -144
- package/ui/collapse-reorder-list/index.ts +0 -1
- package/ui/collapse-reorder-list/ng-package.json +0 -6
- package/ui/collapse-reorder-list/src/collapse-reorder-list.component.html +0 -42
- package/ui/collapse-reorder-list/src/collapse-reorder-list.component.scss +0 -24
- package/ui/collapse-reorder-list/src/collapse-reorder-list.component.ts +0 -56
- package/ui/dxEditor/ng-package.json +0 -6
- package/ui/dxEditor/src/dx-editor.component.html +0 -67
- package/ui/dxEditor/src/dx-editor.component.ts +0 -19
- package/ui/dxField/ng-package.json +0 -6
- package/ui/dxField/src/dx-field.component.html +0 -15
- package/ui/dxField/src/dx-field.component.ts +0 -17
- package/ui/editor/ng-package.json +0 -6
- package/ui/editor/src/aril-editor.component.html +0 -16
- package/ui/editor/src/aril-editor.component.scss +0 -18
- package/ui/editor/src/aril-editor.component.ts +0 -176
- package/ui/editor/src/types.ts +0 -24
- package/ui/field/ng-package.json +0 -6
- package/ui/field/src/field.component.html +0 -27
- package/ui/field/src/field.component.ts +0 -53
- package/ui/fileUpload/ng-package.json +0 -6
- package/ui/fileUpload/src/file-upload.component.html +0 -76
- package/ui/fileUpload/src/file-upload.component.ts +0 -90
- package/ui/form/index.ts +0 -18
- package/ui/form/ng-package.json +0 -6
- package/ui/form/src/form-submit-button.component.html +0 -12
- package/ui/form/src/form-submit-button.component.ts +0 -36
- package/ui/form/src/form.component.ts +0 -20
- package/ui/img-viewer/index.ts +0 -2
- package/ui/img-viewer/ng-package.json +0 -6
- package/ui/img-viewer/src/img-viewer.component.html +0 -12
- package/ui/img-viewer/src/img-viewer.component.scss +0 -8
- package/ui/img-viewer/src/img-viewer.component.ts +0 -59
- package/ui/index.ts +0 -1
- package/ui/json-diff-comparison/ng-package.json +0 -6
- package/ui/json-diff-comparison/src/json-diff.component.html +0 -5
- package/ui/json-diff-comparison/src/json-diff.component.ts +0 -45
- package/ui/lib/index.ts +0 -17
- package/ui/lib/ng-package.json +0 -6
- package/ui/lib/src/form/form-error-message.component.ts +0 -25
- package/ui/lib/src/form/form-error-message.directive.ts +0 -32
- package/ui/lib/src/form/form-field-builder.ts +0 -31
- package/ui/lib/src/form/form-validation.ts +0 -14
- package/ui/lib/src/grid/enum-color-picker.pipe.ts +0 -33
- package/ui/lib/src/grid/flex-grid.directive.ts +0 -10
- package/ui/lib/src/input/baseInput.ts +0 -30
- package/ui/lib/src/input/common-input-validators.service.ts +0 -57
- package/ui/lib/src/input/dx-input-error-message.pipe.ts +0 -16
- package/ui/lib/src/input/input-disabled.directive.ts +0 -15
- package/ui/lib/src/input/input-error-message.pipe.ts +0 -71
- package/ui/lib/src/input/input-transforms.ts +0 -11
- package/ui/lib/src/input/value-accessor.directive.ts +0 -31
- package/ui/loader/ng-package.json +0 -6
- package/ui/loader/src/loader.component.html +0 -7
- package/ui/loader/src/loader.component.scss +0 -6
- package/ui/loader/src/loader.component.ts +0 -14
- package/ui/mask/ng-package.json +0 -6
- package/ui/mask/src/mask.component.css +0 -23
- package/ui/mask/src/mask.component.html +0 -17
- package/ui/mask/src/mask.component.ts +0 -34
- package/ui/multiSelect/ng-package.json +0 -6
- package/ui/multiSelect/src/interfaces.ts +0 -41
- package/ui/multiSelect/src/multi-select.component.html +0 -14
- package/ui/multiSelect/src/multi-select.component.ts +0 -66
- package/ui/ng-package.json +0 -6
- package/ui/number/ng-package.json +0 -6
- package/ui/number/src/number.component.html +0 -26
- package/ui/number/src/number.component.ts +0 -36
- package/ui/operation-types-dialog/ng-package.json +0 -6
- package/ui/operation-types-dialog/src/operation-types-dialog.component.ts +0 -98
- package/ui/overlayPanel/ng-package.json +0 -6
- package/ui/overlayPanel/src/overlay-panel.component.html +0 -5
- package/ui/overlayPanel/src/overlay-panel.component.ts +0 -16
- package/ui/panel/ng-package.json +0 -6
- package/ui/panel/src/panel.component.css +0 -38
- package/ui/panel/src/panel.component.html +0 -44
- package/ui/panel/src/panel.component.ts +0 -31
- package/ui/password/ng-package.json +0 -6
- package/ui/password/src/password.component.html +0 -25
- package/ui/password/src/password.component.ts +0 -22
- package/ui/pdf-viewer/ng-package.json +0 -6
- package/ui/pdf-viewer/src/pdf-viewer.component.html +0 -16
- package/ui/pdf-viewer/src/pdf-viewer.component.scss +0 -8
- package/ui/pdf-viewer/src/pdf-viewer.component.ts +0 -28
- package/ui/progressbar/dist/index.js +0 -13
- package/ui/progressbar/ng-package.json +0 -6
- package/ui/progressbar/src/dist/progressbar.component.js +0 -28
- package/ui/progressbar/src/progressbar.component.html +0 -1
- package/ui/progressbar/src/progressbar.component.ts +0 -18
- package/ui/radioButton/ng-package.json +0 -6
- package/ui/radioButton/src/radio-button.component.html +0 -23
- package/ui/radioButton/src/radio-button.component.scss +0 -17
- package/ui/radioButton/src/radio-button.component.ts +0 -39
- package/ui/relativeDateSelector/index.ts +0 -1
- package/ui/relativeDateSelector/ng-package.json +0 -6
- package/ui/relativeDateSelector/src/enum.ts +0 -29
- package/ui/relativeDateSelector/src/relative-date-selector.component.html +0 -118
- package/ui/relativeDateSelector/src/relative-date-selector.component.scss +0 -154
- package/ui/relativeDateSelector/src/relative-date-selector.component.ts +0 -291
- package/ui/selectBox/ng-package.json +0 -6
- package/ui/selectBox/src/interfaces.ts +0 -41
- package/ui/selectBox/src/select-box.component.html +0 -19
- package/ui/selectBox/src/select-box.component.ts +0 -79
- package/ui/styles/ui.common.scss +0 -42
- package/ui/switch/ng-package.json +0 -6
- package/ui/switch/src/switch.component.html +0 -7
- package/ui/switch/src/switch.component.ts +0 -18
- package/ui/table/index.ts +0 -76
- package/ui/table/ng-package.json +0 -6
- package/ui/table/src/export-overlay-panel.component.ts +0 -330
- package/ui/table/src/interfaces.ts +0 -162
- package/ui/table/src/table-column.component.ts +0 -22
- package/ui/table/src/table.component.html +0 -404
- package/ui/table/src/table.component.scss +0 -15
- package/ui/table/src/table.component.ts +0 -368
- package/ui/table-expand/index.ts +0 -41
- package/ui/table-expand/ng-package.json +0 -6
- package/ui/table-expand/src/table-column.component.ts +0 -32
- package/ui/table-expand/src/table-expand-area.component.ts +0 -18
- package/ui/table-expand/src/table.component.html +0 -101
- package/ui/table-expand/src/table.component.ts +0 -92
- package/ui/tag/index.ts +0 -1
- package/ui/tag/ng-package.json +0 -6
- package/ui/tag/src/interface.ts +0 -1
- package/ui/tag/src/tag.component.html +0 -9
- package/ui/tag/src/tag.component.ts +0 -17
- package/ui/tagBox/ng-package.json +0 -6
- package/ui/tagBox/src/tag-box.component.html +0 -26
- package/ui/tagBox/src/tag-box.component.ts +0 -56
- package/ui/text/ng-package.json +0 -6
- package/ui/text/src/text.component.html +0 -21
- package/ui/text/src/text.component.ts +0 -55
- package/ui/textArea/ng-package.json +0 -6
- package/ui/textArea/src/text-area.component.html +0 -12
- package/ui/textArea/src/text-area.component.ts +0 -22
- package/ui/toggle-button/index.ts +0 -1
- package/ui/toggle-button/ng-package.json +0 -6
- package/ui/toggle-button/src/toggle-button.component.html +0 -13
- package/ui/toggle-button/src/toggle-button.component.scss +0 -19
- package/ui/toggle-button/src/toggle-button.component.ts +0 -22
- package/ui/tooltip/ng-package.json +0 -6
- package/ui/tooltip/src/tooltip-component.html +0 -10
- package/ui/tooltip/src/tooltip-component.ts +0 -20
- package/ui/translate-input/ng-package.json +0 -6
- package/ui/translate-input/src/aril-lang-modal/aril-lang-modal.component.html +0 -46
- package/ui/translate-input/src/aril-lang-modal/aril-lang-modal.component.scss +0 -9
- package/ui/translate-input/src/aril-lang-modal/aril-lang-modal.component.ts +0 -74
- package/ui/translate-input/src/aril-lang-modal/constants.ts +0 -16
- package/ui/translate-input/src/aril-translate-input.component.ts +0 -152
- package/ui/translate-input/src/interface.ts +0 -14
- package/ui/tree/ng-package.json +0 -6
- package/ui/tree/src/tree.component.html +0 -17
- package/ui/tree/src/tree.component.ts +0 -65
- package/ui/treeSelect/ng-package.json +0 -6
- package/ui/treeSelect/src/treeSelect.component.html +0 -18
- package/ui/treeSelect/src/treeSelect.component.ts +0 -43
- package/ui/treeTable/ng-package.json +0 -6
- package/ui/treeTable/src/tree-table.component.html +0 -88
- package/ui/treeTable/src/tree-table.component.ts +0 -57
- package/ui/value/ng-package.json +0 -6
- package/ui/value/src/value.component.html +0 -94
- package/ui/value/src/value.component.scss +0 -6
- package/ui/value/src/value.component.ts +0 -268
- package/ui-business/assetPicker/index.ts +0 -1
- package/ui-business/assetPicker/ng-package.json +0 -6
- package/ui-business/assetPicker/src/asset-picker.component.html +0 -29
- package/ui-business/assetPicker/src/asset-picker.component.ts +0 -259
- package/ui-business/assetPicker/src/interface.ts +0 -83
- package/ui-business/detailed-overlay-panel/ng-package.json +0 -6
- package/ui-business/detailed-overlay-panel/src/detailed-overlay-panel.component.html +0 -52
- package/ui-business/detailed-overlay-panel/src/detailed-overlay-panel.component.scss +0 -19
- package/ui-business/detailed-overlay-panel/src/detailed-overlay-panel.component.ts +0 -66
- package/ui-business/detailed-overlay-panel/src/interface.ts +0 -62
- package/ui-business/enumPicker/index.ts +0 -1
- package/ui-business/enumPicker/ng-package.json +0 -6
- package/ui-business/enumPicker/src/enum-picker.component.html +0 -39
- package/ui-business/enumPicker/src/enum-picker.component.ts +0 -147
- package/ui-business/enumPicker/src/interface.ts +0 -44
- package/ui-business/image-viewer/index.ts +0 -1
- package/ui-business/image-viewer/ng-package.json +0 -6
- package/ui-business/image-viewer/src/aril-image-viewer.component.ts +0 -92
- package/ui-business/index.ts +0 -1
- package/ui-business/multiple-ref-value/ng-package.json +0 -6
- package/ui-business/multiple-ref-value/src/multiple-ref-value.component.html +0 -26
- package/ui-business/multiple-ref-value/src/multiple-ref-value.component.ts +0 -21
- package/ui-business/ng-package.json +0 -6
- package/ui-business/notification-templates-dialog/ng-package.json +0 -6
- package/ui-business/notification-templates-dialog/src/interface.ts +0 -18
- package/ui-business/notification-templates-dialog/src/notification-templates-dialog.component.html +0 -31
- package/ui-business/notification-templates-dialog/src/notification-templates-dialog.component.ts +0 -69
- package/ui-business/operation-types-dialog/ng-package.json +0 -6
- package/ui-business/operation-types-dialog/src/operation-types-dialog.component.ts +0 -78
- package/ui-business/ref-value/ng-package.json +0 -6
- package/ui-business/ref-value/src/ref-value.component.html +0 -29
- package/ui-business/ref-value/src/ref-value.component.ts +0 -41
- package/ui-business/rolePicker/ng-package.json +0 -6
- package/ui-business/rolePicker/src/interface.ts +0 -56
- package/ui-business/rolePicker/src/role-picker.component.html +0 -21
- package/ui-business/rolePicker/src/role-picker.component.ts +0 -88
- package/ui-business/userPicker/index.ts +0 -1
- package/ui-business/userPicker/ng-package.json +0 -6
- package/ui-business/userPicker/src/interface.ts +0 -27
- package/ui-business/userPicker/src/user-picker.component.html +0 -20
- package/ui-business/userPicker/src/user-picker.component.ts +0 -52
- package/util/block/ng-package.json +0 -6
- package/util/block/src/block.ts +0 -65
- package/util/block/src/blockui.css +0 -56
- package/util/block/src/blockui.min.js +0 -7
- package/util/custom_pages/ng-package.json +0 -6
- package/util/custom_pages/src/notFound.component.ts +0 -34
- package/util/directives/ng-package.json +0 -6
- package/util/directives/src/detail-page-customization/detail-page-customization.directive.md +0 -199
- package/util/directives/src/detail-page-customization/detail-page-customization.directive.ts +0 -343
- package/util/directives/src/detail-page-customization/index.ts +0 -2
- package/util/directives/src/detail-page-customization/models.ts +0 -61
- package/util/directives/src/dialog-component/plugin-dialog.component.ts +0 -22
- package/util/directives/src/dialog-service/plugin-dialog.service.ts +0 -12
- package/util/index.ts +0 -1
- package/util/lib/ng-package.json +0 -6
- package/util/lib/src/interfaces.ts +0 -44
- package/util/lib/src/module-router.ts +0 -9
- package/util/lib/src/types.ts +0 -61
- package/util/lib/src/validators/iban.validator.ts +0 -202
- package/util/lib/src/validators/max-array-length.validator.ts +0 -18
- package/util/lib/src/validators/min-array-length.validator.ts +0 -18
- package/util/lib/src/validators/tckn.validator.ts +0 -55
- package/util/lib/src/validators/validators.ts +0 -21
- package/util/loaders/index.ts +0 -1
- package/util/loaders/ng-package.json +0 -6
- package/util/loaders/style/style.loader.service.ts +0 -69
- package/util/ng-package.json +0 -6
- package/util/pipes/ng-package.json +0 -6
- package/util/pipes/src/distance-to-now.pipe.ts +0 -37
- package/util/pipes/src/get-column-by-field.pipe.ts +0 -11
- package/util/pipes/src/parse.pipe.ts +0 -15
- package/util/pipes/src/round-number.pipe.ts +0 -75
- package/util/pipes/src/safe.pipe.ts +0 -27
- package/util/pipes/src/translate-json/index.ts +0 -1
- package/util/pipes/src/translate-json/translate-json.pipe.ts +0 -34
- package/util/primitive-extensions/ng-package.json +0 -6
- package/util/primitive-extensions/src/date.extensions.ts +0 -135
- package/util/primitive-extensions/src/number.extensions.ts +0 -57
- package/util/primitive-extensions/src/string.extensions.ts +0 -39
- package/util/pub-sub/ng-package.json +0 -6
- package/util/pub-sub/src/pub-sub.service.ts +0 -35
- package/util/sync-active-tab-route/ng-package.json +0 -6
- package/util/sync-active-tab-route/src/sync-active-tab-route.directive.ts +0 -47
- package/util/unwrap/ng-package.json +0 -6
- package/util/unwrap/src/unwrap-tag.directive.ts +0 -18
- /package/boot/config/api/{index.ts → index.d.ts} +0 -0
- /package/boot/config/apps/{index.ts → index.d.ts} +0 -0
- /package/boot/config/plugins/{index.ts → index.d.ts} +0 -0
- /package/boot/config/translate/{index.ts → index.d.ts} +0 -0
- /package/boot/host/{index.ts → index.d.ts} +0 -0
- /package/boot/mfe/{index.ts → index.d.ts} +0 -0
- /package/i18n/{index.ts → index.d.ts} +0 -0
- /package/provider/{index.ts → index.d.ts} +0 -0
- /package/{public-api.ts → public-api.d.ts} +0 -0
- /package/ui/autoComplete/{index.ts → index.d.ts} +0 -0
- /package/ui/badge/{index.ts → index.d.ts} +0 -0
- /package/ui/button/{index.ts → index.d.ts} +0 -0
- /package/ui/calendar/{index.ts → index.d.ts} +0 -0
- /package/ui/checkbox/{index.ts → index.d.ts} +0 -0
- /package/ui/dxEditor/{index.ts → index.d.ts} +0 -0
- /package/ui/dxField/{index.ts → index.d.ts} +0 -0
- /package/ui/editor/{index.ts → index.d.ts} +0 -0
- /package/ui/field/{index.ts → index.d.ts} +0 -0
- /package/ui/fileUpload/{index.ts → index.d.ts} +0 -0
- /package/ui/json-diff-comparison/{index.ts → index.d.ts} +0 -0
- /package/ui/loader/{index.ts → index.d.ts} +0 -0
- /package/ui/mask/{index.ts → index.d.ts} +0 -0
- /package/ui/multiSelect/{index.ts → index.d.ts} +0 -0
- /package/ui/number/{index.ts → index.d.ts} +0 -0
- /package/ui/operation-types-dialog/{index.ts → index.d.ts} +0 -0
- /package/ui/overlayPanel/{index.ts → index.d.ts} +0 -0
- /package/ui/panel/{index.ts → index.d.ts} +0 -0
- /package/ui/password/{index.ts → index.d.ts} +0 -0
- /package/ui/pdf-viewer/{index.ts → index.d.ts} +0 -0
- /package/ui/progressbar/{index.ts → index.d.ts} +0 -0
- /package/ui/radioButton/{index.ts → index.d.ts} +0 -0
- /package/ui/selectBox/{index.ts → index.d.ts} +0 -0
- /package/ui/switch/{index.ts → index.d.ts} +0 -0
- /package/ui/tagBox/{index.ts → index.d.ts} +0 -0
- /package/ui/text/{index.ts → index.d.ts} +0 -0
- /package/ui/textArea/{index.ts → index.d.ts} +0 -0
- /package/ui/tooltip/{index.ts → index.d.ts} +0 -0
- /package/ui/translate-input/{index.ts → index.d.ts} +0 -0
- /package/ui/tree/{index.ts → index.d.ts} +0 -0
- /package/ui/treeSelect/{index.ts → index.d.ts} +0 -0
- /package/ui/treeTable/{index.ts → index.d.ts} +0 -0
- /package/ui/value/{index.ts → index.d.ts} +0 -0
- /package/ui-business/detailed-overlay-panel/{index.ts → index.d.ts} +0 -0
- /package/ui-business/multiple-ref-value/{index.ts → index.d.ts} +0 -0
- /package/ui-business/notification-templates-dialog/{index.ts → index.d.ts} +0 -0
- /package/ui-business/operation-types-dialog/{index.ts → index.d.ts} +0 -0
- /package/ui-business/ref-value/{index.ts → index.d.ts} +0 -0
- /package/ui-business/rolePicker/{index.ts → index.d.ts} +0 -0
- /package/util/block/{index.ts → index.d.ts} +0 -0
- /package/util/custom_pages/{index.ts → index.d.ts} +0 -0
- /package/util/directives/{index.ts → index.d.ts} +0 -0
- /package/util/lib/{index.ts → index.d.ts} +0 -0
- /package/util/lib/src/validators/{index.ts → index.d.ts} +0 -0
- /package/util/pipes/{index.ts → index.d.ts} +0 -0
- /package/util/primitive-extensions/{index.ts → index.d.ts} +0 -0
- /package/util/primitive-extensions/src/{boolean.extensions.ts → boolean.extensions.d.ts} +0 -0
- /package/util/pub-sub/{index.ts → index.d.ts} +0 -0
- /package/util/sync-active-tab-route/{index.ts → index.d.ts} +0 -0
- /package/util/unwrap/{index.ts → index.d.ts} +0 -0
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { Component, effect, signal, computed } from '@angular/core';
|
|
3
|
+
import { toSignal } from '@angular/core/rxjs-interop';
|
|
4
|
+
import { ConfirmationService } from 'primeng/api';
|
|
5
|
+
import { ConfirmDialogModule } from 'primeng/confirmdialog';
|
|
6
|
+
import { DialogService, DynamicDialogModule } from 'primeng/dynamicdialog';
|
|
7
|
+
import { PaginatorModule } from 'primeng/paginator';
|
|
8
|
+
import { ScrollPanelModule } from 'primeng/scrollpanel';
|
|
9
|
+
import { SidebarModule } from 'primeng/sidebar';
|
|
10
|
+
import { TooltipModule } from 'primeng/tooltip';
|
|
11
|
+
import { TranslocoModule } from '@ngneat/transloco';
|
|
12
|
+
import { Subject, switchMap } from 'rxjs';
|
|
13
|
+
import { ButtonComponent } from 'aril/ui/button';
|
|
14
|
+
import { AddEditFavoriteModalComponent } from './modals/add-edit-favorite-modal/add-edit-favorite-modal.component';
|
|
15
|
+
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
|
|
16
|
+
import { solidIcons } from 'aril/util/lib';
|
|
17
|
+
import * as i0 from "@angular/core";
|
|
18
|
+
import * as i1 from "../../service/app.layout.service";
|
|
19
|
+
import * as i2 from "./favorite-pages.service";
|
|
20
|
+
import * as i3 from "primeng/api";
|
|
21
|
+
import * as i4 from "primeng/dynamicdialog";
|
|
22
|
+
import * as i5 from "@ngneat/transloco";
|
|
23
|
+
import * as i6 from "primeng/sidebar";
|
|
24
|
+
import * as i7 from "primeng/scrollpanel";
|
|
25
|
+
import * as i8 from "primeng/confirmdialog";
|
|
26
|
+
import * as i9 from "primeng/paginator";
|
|
27
|
+
import * as i10 from "primeng/tooltip";
|
|
28
|
+
import * as i11 from "@fortawesome/angular-fontawesome";
|
|
29
|
+
export class FavoritePagesSidebarComponent {
|
|
30
|
+
constructor(layoutService, favoritePagesService, confirmationService, messageService, dialogService, translocoService) {
|
|
31
|
+
this.layoutService = layoutService;
|
|
32
|
+
this.favoritePagesService = favoritePagesService;
|
|
33
|
+
this.confirmationService = confirmationService;
|
|
34
|
+
this.messageService = messageService;
|
|
35
|
+
this.dialogService = dialogService;
|
|
36
|
+
this.translocoService = translocoService;
|
|
37
|
+
this.favoritePages = signal([]);
|
|
38
|
+
this.isCurrentPageFavorited = signal(false);
|
|
39
|
+
this.solidIcons = solidIcons;
|
|
40
|
+
this.currentPage = signal(1);
|
|
41
|
+
this.pageSize = signal(10);
|
|
42
|
+
this.totalItems = signal(0);
|
|
43
|
+
this.totalPages = signal(0);
|
|
44
|
+
this.allFavoritePages = computed(() => this.favoritePagesService.allFavoritePages());
|
|
45
|
+
this.subjects = {
|
|
46
|
+
loadAllFavorites: new Subject(),
|
|
47
|
+
deleteFavorite: new Subject()
|
|
48
|
+
};
|
|
49
|
+
this.loadAllFavoritesService = toSignal(this.subjects.loadAllFavorites.pipe(switchMap(() => this.favoritePagesService.filterFavoritePages({
|
|
50
|
+
pageSize: 1000,
|
|
51
|
+
pageNumber: 1
|
|
52
|
+
}))));
|
|
53
|
+
this.deleteFavoriteService = toSignal(this.subjects.deleteFavorite.pipe(switchMap((id) => this.favoritePagesService.deleteFavoritePage(id))));
|
|
54
|
+
this.initializeEffects();
|
|
55
|
+
}
|
|
56
|
+
ngOnInit() {
|
|
57
|
+
this.loadFavoritePages();
|
|
58
|
+
this.checkCurrentPageStatus();
|
|
59
|
+
}
|
|
60
|
+
initializeEffects() {
|
|
61
|
+
effect(() => {
|
|
62
|
+
const service = this.loadAllFavoritesService();
|
|
63
|
+
if (service?.response) {
|
|
64
|
+
this.favoritePagesService.allFavoritePages.set(service.response.result);
|
|
65
|
+
this.totalItems.set(service.response.result.length);
|
|
66
|
+
this.updateClientSidePagination();
|
|
67
|
+
this.checkCurrentPageStatus();
|
|
68
|
+
}
|
|
69
|
+
}, { allowSignalWrites: true });
|
|
70
|
+
effect(() => {
|
|
71
|
+
const service = this.deleteFavoriteService();
|
|
72
|
+
if (service?.response) {
|
|
73
|
+
this.loadFavoritePages();
|
|
74
|
+
this.messageService.add({
|
|
75
|
+
severity: 'success',
|
|
76
|
+
summary: this.translocoService.translate('favoritePages.success'),
|
|
77
|
+
detail: this.translocoService.translate('favoritePages.deletedSuccessfully'),
|
|
78
|
+
key: 'toast-root'
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
}, { allowSignalWrites: true });
|
|
82
|
+
}
|
|
83
|
+
get visible() {
|
|
84
|
+
return this.layoutService.state.favoritePagesSidebarVisible;
|
|
85
|
+
}
|
|
86
|
+
set visible(value) {
|
|
87
|
+
this.layoutService.state.favoritePagesSidebarVisible = value;
|
|
88
|
+
if (value) {
|
|
89
|
+
this.checkCurrentPageStatus();
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
loadFavoritePages() {
|
|
93
|
+
this.subjects.loadAllFavorites.next();
|
|
94
|
+
}
|
|
95
|
+
updateClientSidePagination() {
|
|
96
|
+
const allFavorites = this.allFavoritePages();
|
|
97
|
+
const totalItems = allFavorites.length;
|
|
98
|
+
const pageSize = this.pageSize();
|
|
99
|
+
const currentPage = this.currentPage();
|
|
100
|
+
const totalPages = Math.ceil(totalItems / pageSize);
|
|
101
|
+
this.totalPages.set(totalPages);
|
|
102
|
+
const startIndex = (currentPage - 1) * pageSize;
|
|
103
|
+
const endIndex = Math.min(startIndex + pageSize, totalItems);
|
|
104
|
+
const currentPageData = allFavorites.slice(startIndex, endIndex);
|
|
105
|
+
this.favoritePages.set(currentPageData);
|
|
106
|
+
}
|
|
107
|
+
checkCurrentPageStatus() {
|
|
108
|
+
const currentPath = this.favoritePagesService.getCurrentRoutePath();
|
|
109
|
+
const allFavorites = this.allFavoritePages();
|
|
110
|
+
const isFound = allFavorites.some((fav) => fav.url === currentPath);
|
|
111
|
+
this.isCurrentPageFavorited.set(isFound);
|
|
112
|
+
}
|
|
113
|
+
addCurrentPageToFavorites() {
|
|
114
|
+
const currentPath = this.favoritePagesService.getCurrentRoutePath();
|
|
115
|
+
const ref = this.dialogService.open(AddEditFavoriteModalComponent, {
|
|
116
|
+
header: this.translocoService.translate('favoritePages.addToFavorites'),
|
|
117
|
+
width: '500px',
|
|
118
|
+
modal: true,
|
|
119
|
+
closable: true,
|
|
120
|
+
data: {
|
|
121
|
+
mode: 'add',
|
|
122
|
+
url: currentPath
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
ref.onClose.subscribe((result) => {
|
|
126
|
+
if (result?.status === 'success') {
|
|
127
|
+
this.loadFavoritePages();
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
removeCurrentPageFromFavorites() {
|
|
132
|
+
const currentPath = this.favoritePagesService.getCurrentRoutePath();
|
|
133
|
+
const favorites = this.favoritePages();
|
|
134
|
+
const currentFavorite = favorites.find((fav) => fav.url === currentPath);
|
|
135
|
+
if (currentFavorite) {
|
|
136
|
+
this.confirmationService.confirm({
|
|
137
|
+
message: `'${currentFavorite.label}' ` + this.translocoService.translate('favoritePages.confirmDelete'),
|
|
138
|
+
header: this.translocoService.translate('favoritePages.deleteConfirmTitle'),
|
|
139
|
+
icon: 'pi pi-info-circle',
|
|
140
|
+
acceptLabel: this.translocoService.translate('acceptButtonLabel'),
|
|
141
|
+
rejectLabel: this.translocoService.translate('rejectButtonLabel'),
|
|
142
|
+
acceptButtonStyleClass: 'p-button-success',
|
|
143
|
+
rejectButtonStyleClass: 'p-button-danger',
|
|
144
|
+
accept: () => {
|
|
145
|
+
this.subjects.deleteFavorite.next(currentFavorite.id);
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
editFavorite(favorite, event) {
|
|
151
|
+
event.stopPropagation();
|
|
152
|
+
const ref = this.dialogService.open(AddEditFavoriteModalComponent, {
|
|
153
|
+
header: this.translocoService.translate('favoritePages.editFavorite'),
|
|
154
|
+
width: '500px',
|
|
155
|
+
modal: true,
|
|
156
|
+
closable: true,
|
|
157
|
+
data: {
|
|
158
|
+
mode: 'edit',
|
|
159
|
+
favorite: favorite
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
ref.onClose.subscribe((result) => {
|
|
163
|
+
if (result?.status === 'success') {
|
|
164
|
+
this.loadFavoritePages();
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
deleteFavorite(favorite, event) {
|
|
169
|
+
event.stopPropagation();
|
|
170
|
+
this.confirmationService.confirm({
|
|
171
|
+
target: event.target,
|
|
172
|
+
message: `'${favorite.label}' ` + this.translocoService.translate('favoritePages.confirmDelete'),
|
|
173
|
+
header: this.translocoService.translate('favoritePages.deleteConfirmTitle'),
|
|
174
|
+
icon: 'pi pi-info-circle',
|
|
175
|
+
acceptLabel: this.translocoService.translate('acceptButtonLabel'),
|
|
176
|
+
rejectLabel: this.translocoService.translate('rejectButtonLabel'),
|
|
177
|
+
acceptButtonStyleClass: 'p-button-success',
|
|
178
|
+
rejectButtonStyleClass: 'p-button-danger',
|
|
179
|
+
accept: () => {
|
|
180
|
+
this.subjects.deleteFavorite.next(favorite.id);
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
navigateToFavorite(favorite) {
|
|
185
|
+
this.favoritePagesService.navigateToFavoritePage(favorite);
|
|
186
|
+
this.visible = false;
|
|
187
|
+
}
|
|
188
|
+
trackByFavoriteId(index, favorite) {
|
|
189
|
+
return favorite.id;
|
|
190
|
+
}
|
|
191
|
+
onPageChange(event) {
|
|
192
|
+
this.currentPage.set(event.page + 1);
|
|
193
|
+
this.pageSize.set(event.rows);
|
|
194
|
+
this.updateClientSidePagination(); // Update pagination client-side, no API call
|
|
195
|
+
}
|
|
196
|
+
getFullUrl(url) {
|
|
197
|
+
return this.favoritePagesService.getFullUrl(url);
|
|
198
|
+
}
|
|
199
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: FavoritePagesSidebarComponent, deps: [{ token: i1.LayoutService }, { token: i2.FavoritePagesService }, { token: i3.ConfirmationService }, { token: i3.MessageService }, { token: i4.DialogService }, { token: i5.TranslocoService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
200
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: FavoritePagesSidebarComponent, isStandalone: true, selector: "app-favorite-pages-sidebar", providers: [ConfirmationService, DialogService], ngImport: i0, template: "<p-sidebar\r\n\t[(visible)]=\"visible\"\r\n\tposition=\"right\"\r\n\t[transitionOptions]=\"'.3s cubic-bezier(0, 0, 0.2, 1)'\"\r\n\tstyleClass=\"layout-favorite-pages-sidebar w-full sm:w-30rem\"\r\n\t*transloco=\"let t; read: 'favoritePages'\">\r\n\t<ng-template pTemplate=\"header\">\r\n\t\t<div class=\"flex align-items-center justify-content-between w-full\">\r\n\t\t\t<div class=\"flex align-items-center\">\r\n\t\t\t\t<i class=\"pi pi-heart text-primary text-xl\"></i>\r\n\t\t\t\t<span class=\"font-bold text-lg\">{{ t('favoritePages') }}</span>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</ng-template>\r\n\r\n\t<div class=\"favorite-pages-content\">\r\n\t\t@if (isCurrentPageFavorited()) {\r\n\t\t\t<div class=\"current-favorited-message\">\r\n\t\t\t\t<div class=\"message-content\">\r\n\t\t\t\t\t<i class=\"pi pi-check-circle text-green-500\"></i>\r\n\t\t\t\t\t<span>{{ t('currentPageFavorited') }}</span>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t}\r\n\r\n\t\t<div class=\"add-section\">\r\n\t\t\t@if (!isCurrentPageFavorited()) {\r\n\t\t\t\t<aril-button\r\n\t\t\t\t\t[label]=\"t('addCurrentPage')\"\r\n\t\t\t\t\ticon=\"PLUS\"\r\n\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t(clickEvent)=\"addCurrentPageToFavorites()\">\r\n\t\t\t\t</aril-button>\r\n\t\t\t} @else {\r\n\t\t\t\t<aril-button\r\n\t\t\t\t\t[label]=\"t('removeCurrentPage')\"\r\n\t\t\t\t\ticon=\"TIMES\"\r\n\t\t\t\t\tcolor=\"danger\"\r\n\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t(clickEvent)=\"removeCurrentPageFromFavorites()\">\r\n\t\t\t\t</aril-button>\r\n\t\t\t}\r\n\t\t</div>\r\n\r\n\t\t@if (favoritePages().length > 0) {\r\n\t\t\t<div class=\"favorites-list\">\r\n\t\t\t\t<p-scrollPanel [style]=\"{ width: '100%', height: '100%' }\">\r\n\t\t\t\t\t<div class=\"favorites-items\">\r\n\t\t\t\t\t\t@for (favorite of favoritePages(); track trackByFavoriteId($index, favorite)) {\r\n\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\tclass=\"favorite-item\"\r\n\t\t\t\t\t\t\t\t[class.default-item]=\"favorite.id < 0\"\r\n\t\t\t\t\t\t\t\t(click)=\"navigateToFavorite(favorite)\"\r\n\t\t\t\t\t\t\t\t[pTooltip]=\"getFullUrl(favorite.url)\"\r\n\t\t\t\t\t\t\t\ttooltipPosition=\"top\">\r\n\t\t\t\t\t\t\t\t<div class=\"item-content\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"item-header\">\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"item-title\">\r\n\t\t\t\t\t\t\t\t\t\t\t<i class=\"pi pi-external-link text-primary mr-2\"></i>\r\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"title-text\">{{ favorite.label }}</span>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t\t\t<fa-icon\r\n\t\t\t\t\t\t\t\t\t\t\t\t[icon]=\"solidIcons.faPenToSquare\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"lg\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tstyle=\"color: var(--yellow-500)\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"col-2 cursor-pointer\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t(click)=\"editFavorite(favorite, $event)\">\r\n\t\t\t\t\t\t\t\t\t\t\t</fa-icon>\r\n\t\t\t\t\t\t\t\t\t\t\t<fa-icon\r\n\t\t\t\t\t\t\t\t\t\t\t\t[icon]=\"solidIcons.faTrash\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"lg\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tstyle=\"color: var(--red-500)\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"col-2 cursor-pointer\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t(click)=\"deleteFavorite(favorite, $event)\">\r\n\t\t\t\t\t\t\t\t\t\t\t</fa-icon>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</p-scrollPanel>\r\n\t\t\t</div>\r\n\t\t} @else {\r\n\t\t\t<div class=\"empty-state\">\r\n\t\t\t\t<div class=\"empty-content\">\r\n\t\t\t\t\t<i class=\"pi pi-heart empty-icon\"></i>\r\n\t\t\t\t\t<h3 class=\"empty-title\">{{ t('noFavorites') }}</h3>\r\n\t\t\t\t\t<p class=\"empty-message\">{{ t('startAddingFavorites') }}</p>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t}\r\n\t\t<div>\r\n\t\t\t<p-paginator\r\n\t\t\t\t[first]=\"(currentPage() - 1) * pageSize()\"\r\n\t\t\t\t[rows]=\"pageSize()\"\r\n\t\t\t\t[totalRecords]=\"totalItems()\"\r\n\t\t\t\t[showCurrentPageReport]=\"true\"\r\n\t\t\t\t[currentPageReportTemplate]=\"t('paginatorTemplate')\"\r\n\t\t\t\t[showFirstLastIcon]=\"false\"\r\n\t\t\t\t[showPageLinks]=\"false\"\r\n\t\t\t\t(onPageChange)=\"onPageChange($event)\">\r\n\t\t\t</p-paginator>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<p-confirmDialog></p-confirmDialog>\r\n</p-sidebar>\r\n", styles: [":host ::ng-deep .layout-favorite-pages-sidebar .p-sidebar-content{padding:0;background:var(--surface-ground)}:host ::ng-deep .layout-favorite-pages-sidebar .p-sidebar-header{background:var(--primary-color);color:var(--primary-color-text);padding:1rem 1.5rem}:host ::ng-deep .layout-favorite-pages-sidebar .p-sidebar-header span{font-size:1.1rem;font-weight:600}.favorite-pages-content{display:flex;flex-direction:column;height:100%;background:var(--surface-0)}.current-favorited-message{padding:1rem;border-bottom:1px solid var(--surface-border);background:var(--green-50)}.current-favorited-message .message-content{display:flex;align-items:center;gap:.5rem;color:var(--green-700);font-size:.9rem;font-weight:500}.add-section{display:flex;align-items:center;gap:.5rem;padding:1rem;border-bottom:1px solid var(--surface-border);background:var(--surface-0)}.favorites-list{flex:1;overflow:hidden}.favorites-items{padding:.5rem}.favorite-item{background:var(--surface-0);border:1px solid var(--surface-border);border-radius:8px;margin-bottom:.5rem;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden;padding:.5rem .2rem}.favorite-item:hover{border-color:var(--primary-200);background:var(--primary-50);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.favorite-item:hover .action-btn{opacity:1}.favorite-item:last-child{margin-bottom:0}.favorite-item.default-item{background:var(--blue-50);border-left:3px solid var(--blue-500)}.favorite-item.default-item:hover{background:var(--blue-100);border-color:var(--blue-300)}.favorite-item.default-item .title-text{font-weight:600;color:var(--blue-700)}.item-content{padding:.5rem .75rem}.item-header{display:flex;align-items:center;justify-content:space-between}.item-title{display:flex;align-items:center;flex:1;min-width:0}.item-title .title-text{font-weight:600;color:var(--text-color);font-size:1rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-state{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.empty-content{text-align:center;max-width:300px}.empty-content .empty-icon{font-size:3rem;color:var(--text-color-secondary);margin-bottom:1rem;opacity:.5}.empty-content .empty-title{font-size:1.1rem;font-weight:600;color:var(--text-color);margin-bottom:.5rem}.empty-content .empty-message{font-size:.9rem;color:var(--text-color-secondary);line-height:1.4;margin-bottom:1.5rem}@media (max-width: 768px){.add-section{padding:.75rem}.add-section .button-label{font-size:.8rem}.item-content{padding:.5rem}.item-title .title-text{font-size:.85rem}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: SidebarModule }, { kind: "component", type: i6.Sidebar, selector: "p-sidebar", inputs: ["appendTo", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen"], outputs: ["onShow", "onHide", "visibleChange"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: ScrollPanelModule }, { kind: "component", type: i7.ScrollPanel, selector: "p-scrollPanel", inputs: ["style", "styleClass", "step"] }, { kind: "ngmodule", type: ConfirmDialogModule }, { kind: "component", type: i8.ConfirmDialog, selector: "p-confirmDialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "visible", "position"], outputs: ["onHide"] }, { kind: "ngmodule", type: PaginatorModule }, { kind: "component", type: i9.Paginator, selector: "p-paginator", inputs: ["pageLinkSize", "style", "styleClass", "alwaysShow", "dropdownAppendTo", "templateLeft", "templateRight", "appendTo", "dropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showFirstLastIcon", "totalRecords", "rows", "rowsPerPageOptions", "showJumpToPageDropdown", "showJumpToPageInput", "jumpToPageItemTemplate", "showPageLinks", "locale", "dropdownItemTemplate", "first"], outputs: ["onPageChange"] }, { kind: "ngmodule", type: DynamicDialogModule }, { kind: "component", type: ButtonComponent, selector: "aril-button:not([click])", inputs: ["label", "loading", "disabled", "raised", "rounded", "text", "outlined", "badge", "size", "icon", "iconPos", "color"], outputs: ["clickEvent"] }, { kind: "ngmodule", type: TranslocoModule }, { kind: "directive", type: i5.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoLang", "translocoLoadingTpl"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i10.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i11.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }] }); }
|
|
201
|
+
}
|
|
202
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: FavoritePagesSidebarComponent, decorators: [{
|
|
203
|
+
type: Component,
|
|
204
|
+
args: [{ standalone: true, selector: 'app-favorite-pages-sidebar', imports: [
|
|
205
|
+
CommonModule,
|
|
206
|
+
SidebarModule,
|
|
207
|
+
ScrollPanelModule,
|
|
208
|
+
ConfirmDialogModule,
|
|
209
|
+
PaginatorModule,
|
|
210
|
+
DynamicDialogModule,
|
|
211
|
+
ButtonComponent,
|
|
212
|
+
TranslocoModule,
|
|
213
|
+
TooltipModule,
|
|
214
|
+
FontAwesomeModule
|
|
215
|
+
], providers: [ConfirmationService, DialogService], template: "<p-sidebar\r\n\t[(visible)]=\"visible\"\r\n\tposition=\"right\"\r\n\t[transitionOptions]=\"'.3s cubic-bezier(0, 0, 0.2, 1)'\"\r\n\tstyleClass=\"layout-favorite-pages-sidebar w-full sm:w-30rem\"\r\n\t*transloco=\"let t; read: 'favoritePages'\">\r\n\t<ng-template pTemplate=\"header\">\r\n\t\t<div class=\"flex align-items-center justify-content-between w-full\">\r\n\t\t\t<div class=\"flex align-items-center\">\r\n\t\t\t\t<i class=\"pi pi-heart text-primary text-xl\"></i>\r\n\t\t\t\t<span class=\"font-bold text-lg\">{{ t('favoritePages') }}</span>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</ng-template>\r\n\r\n\t<div class=\"favorite-pages-content\">\r\n\t\t@if (isCurrentPageFavorited()) {\r\n\t\t\t<div class=\"current-favorited-message\">\r\n\t\t\t\t<div class=\"message-content\">\r\n\t\t\t\t\t<i class=\"pi pi-check-circle text-green-500\"></i>\r\n\t\t\t\t\t<span>{{ t('currentPageFavorited') }}</span>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t}\r\n\r\n\t\t<div class=\"add-section\">\r\n\t\t\t@if (!isCurrentPageFavorited()) {\r\n\t\t\t\t<aril-button\r\n\t\t\t\t\t[label]=\"t('addCurrentPage')\"\r\n\t\t\t\t\ticon=\"PLUS\"\r\n\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t(clickEvent)=\"addCurrentPageToFavorites()\">\r\n\t\t\t\t</aril-button>\r\n\t\t\t} @else {\r\n\t\t\t\t<aril-button\r\n\t\t\t\t\t[label]=\"t('removeCurrentPage')\"\r\n\t\t\t\t\ticon=\"TIMES\"\r\n\t\t\t\t\tcolor=\"danger\"\r\n\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t(clickEvent)=\"removeCurrentPageFromFavorites()\">\r\n\t\t\t\t</aril-button>\r\n\t\t\t}\r\n\t\t</div>\r\n\r\n\t\t@if (favoritePages().length > 0) {\r\n\t\t\t<div class=\"favorites-list\">\r\n\t\t\t\t<p-scrollPanel [style]=\"{ width: '100%', height: '100%' }\">\r\n\t\t\t\t\t<div class=\"favorites-items\">\r\n\t\t\t\t\t\t@for (favorite of favoritePages(); track trackByFavoriteId($index, favorite)) {\r\n\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\tclass=\"favorite-item\"\r\n\t\t\t\t\t\t\t\t[class.default-item]=\"favorite.id < 0\"\r\n\t\t\t\t\t\t\t\t(click)=\"navigateToFavorite(favorite)\"\r\n\t\t\t\t\t\t\t\t[pTooltip]=\"getFullUrl(favorite.url)\"\r\n\t\t\t\t\t\t\t\ttooltipPosition=\"top\">\r\n\t\t\t\t\t\t\t\t<div class=\"item-content\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"item-header\">\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"item-title\">\r\n\t\t\t\t\t\t\t\t\t\t\t<i class=\"pi pi-external-link text-primary mr-2\"></i>\r\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"title-text\">{{ favorite.label }}</span>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t\t\t<fa-icon\r\n\t\t\t\t\t\t\t\t\t\t\t\t[icon]=\"solidIcons.faPenToSquare\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"lg\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tstyle=\"color: var(--yellow-500)\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"col-2 cursor-pointer\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t(click)=\"editFavorite(favorite, $event)\">\r\n\t\t\t\t\t\t\t\t\t\t\t</fa-icon>\r\n\t\t\t\t\t\t\t\t\t\t\t<fa-icon\r\n\t\t\t\t\t\t\t\t\t\t\t\t[icon]=\"solidIcons.faTrash\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"lg\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tstyle=\"color: var(--red-500)\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"col-2 cursor-pointer\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t(click)=\"deleteFavorite(favorite, $event)\">\r\n\t\t\t\t\t\t\t\t\t\t\t</fa-icon>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</p-scrollPanel>\r\n\t\t\t</div>\r\n\t\t} @else {\r\n\t\t\t<div class=\"empty-state\">\r\n\t\t\t\t<div class=\"empty-content\">\r\n\t\t\t\t\t<i class=\"pi pi-heart empty-icon\"></i>\r\n\t\t\t\t\t<h3 class=\"empty-title\">{{ t('noFavorites') }}</h3>\r\n\t\t\t\t\t<p class=\"empty-message\">{{ t('startAddingFavorites') }}</p>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t}\r\n\t\t<div>\r\n\t\t\t<p-paginator\r\n\t\t\t\t[first]=\"(currentPage() - 1) * pageSize()\"\r\n\t\t\t\t[rows]=\"pageSize()\"\r\n\t\t\t\t[totalRecords]=\"totalItems()\"\r\n\t\t\t\t[showCurrentPageReport]=\"true\"\r\n\t\t\t\t[currentPageReportTemplate]=\"t('paginatorTemplate')\"\r\n\t\t\t\t[showFirstLastIcon]=\"false\"\r\n\t\t\t\t[showPageLinks]=\"false\"\r\n\t\t\t\t(onPageChange)=\"onPageChange($event)\">\r\n\t\t\t</p-paginator>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<p-confirmDialog></p-confirmDialog>\r\n</p-sidebar>\r\n", styles: [":host ::ng-deep .layout-favorite-pages-sidebar .p-sidebar-content{padding:0;background:var(--surface-ground)}:host ::ng-deep .layout-favorite-pages-sidebar .p-sidebar-header{background:var(--primary-color);color:var(--primary-color-text);padding:1rem 1.5rem}:host ::ng-deep .layout-favorite-pages-sidebar .p-sidebar-header span{font-size:1.1rem;font-weight:600}.favorite-pages-content{display:flex;flex-direction:column;height:100%;background:var(--surface-0)}.current-favorited-message{padding:1rem;border-bottom:1px solid var(--surface-border);background:var(--green-50)}.current-favorited-message .message-content{display:flex;align-items:center;gap:.5rem;color:var(--green-700);font-size:.9rem;font-weight:500}.add-section{display:flex;align-items:center;gap:.5rem;padding:1rem;border-bottom:1px solid var(--surface-border);background:var(--surface-0)}.favorites-list{flex:1;overflow:hidden}.favorites-items{padding:.5rem}.favorite-item{background:var(--surface-0);border:1px solid var(--surface-border);border-radius:8px;margin-bottom:.5rem;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden;padding:.5rem .2rem}.favorite-item:hover{border-color:var(--primary-200);background:var(--primary-50);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.favorite-item:hover .action-btn{opacity:1}.favorite-item:last-child{margin-bottom:0}.favorite-item.default-item{background:var(--blue-50);border-left:3px solid var(--blue-500)}.favorite-item.default-item:hover{background:var(--blue-100);border-color:var(--blue-300)}.favorite-item.default-item .title-text{font-weight:600;color:var(--blue-700)}.item-content{padding:.5rem .75rem}.item-header{display:flex;align-items:center;justify-content:space-between}.item-title{display:flex;align-items:center;flex:1;min-width:0}.item-title .title-text{font-weight:600;color:var(--text-color);font-size:1rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-state{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.empty-content{text-align:center;max-width:300px}.empty-content .empty-icon{font-size:3rem;color:var(--text-color-secondary);margin-bottom:1rem;opacity:.5}.empty-content .empty-title{font-size:1.1rem;font-weight:600;color:var(--text-color);margin-bottom:.5rem}.empty-content .empty-message{font-size:.9rem;color:var(--text-color-secondary);line-height:1.4;margin-bottom:1.5rem}@media (max-width: 768px){.add-section{padding:.75rem}.add-section .button-label{font-size:.8rem}.item-content{padding:.5rem}.item-title .title-text{font-size:.85rem}}\n"] }]
|
|
216
|
+
}], ctorParameters: () => [{ type: i1.LayoutService }, { type: i2.FavoritePagesService }, { type: i3.ConfirmationService }, { type: i3.MessageService }, { type: i4.DialogService }, { type: i5.TranslocoService }] });
|
|
217
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmF2b3JpdGUtcGFnZXMtc2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3RoZW1lL2xheW91dC9hcHAvZmF2b3JpdGUtcGFnZXMvZmF2b3JpdGUtcGFnZXMtc2lkZWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3RoZW1lL2xheW91dC9hcHAvZmF2b3JpdGUtcGFnZXMvZmF2b3JpdGUtcGFnZXMtc2lkZWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdEQsT0FBTyxFQUFFLG1CQUFtQixFQUFrQixNQUFNLGFBQWEsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEQsT0FBTyxFQUFFLGVBQWUsRUFBb0IsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxQyxPQUFPLEVBQUUs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LENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbEQsQ0FBQzs4R0F0TlcsNkJBQTZCO2tHQUE3Qiw2QkFBNkIseUVBRjlCLENBQUMsbUJBQW1CLEVBQUUsYUFBYSxDQUFDLDBCQ3hDaEQsb3JJQThHQSxpbEZEbkZFLFlBQVksOEJBQ1osYUFBYSxtZEFDYixpQkFBaUIsK0lBQ2pCLG1CQUFtQixvbUJBQ25CLGVBQWUscWhCQUNmLG1CQUFtQiwrQkFDbkIsZUFBZSw2TkFDZixlQUFlLGdPQUNmLGFBQWEsc1hBQ2IsaUJBQWlCOzsyRkFNTiw2QkFBNkI7a0JBbkJ6QyxTQUFTO2lDQUNHLElBQUksWUFDTiw0QkFBNEIsV0FDN0I7d0JBQ1IsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsaUJBQWlCO3FCQUNqQixhQUdVLENBQUMsbUJBQW1CLEVBQUUsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIGVmZmVjdCwgc2lnbmFsLCBjb21wdXRlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuXHJcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xyXG5pbXBvcnQgeyBDb25maXJtRGlhbG9nTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jb25maXJtZGlhbG9nJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSwgRHluYW1pY0RpYWxvZ01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XHJcbmltcG9ydCB7IFBhZ2luYXRvck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgU2Nyb2xsUGFuZWxNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Njcm9sbHBhbmVsJztcclxuaW1wb3J0IHsgU2lkZWJhck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvc2lkZWJhcic7XHJcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Rvb2x0aXAnO1xyXG5cclxuaW1wb3J0IHsgVHJhbnNsb2NvTW9kdWxlLCBUcmFuc2xvY29TZXJ2aWNlIH0gZnJvbSAnQG5nbmVhdC90cmFuc2xvY28nO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ2FyaWwvdWkvYnV0dG9uJztcclxuXHJcbmltcG9ydCB7IExheW91dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2FwcC5sYXlvdXQuc2VydmljZSc7XHJcbmltcG9ydCB7IEZhdm9yaXRlUGFnZVJlc3BvbnNlRFRPLCBGYXZvcml0ZVBhZ2VzU2VydmljZSB9IGZyb20gJy4vZmF2b3JpdGUtcGFnZXMuc2VydmljZSc7XHJcbmltcG9ydCB7IEFkZEVkaXRGYXZvcml0ZU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9tb2RhbHMvYWRkLWVkaXQtZmF2b3JpdGUtbW9kYWwvYWRkLWVkaXQtZmF2b3JpdGUtbW9kYWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9udEF3ZXNvbWVNb2R1bGUgfSBmcm9tICdAZm9ydGF3ZXNvbWUvYW5ndWxhci1mb250YXdlc29tZSc7XHJcbmltcG9ydCB7IHNvbGlkSWNvbnMgfSBmcm9tICdhcmlsL3V0aWwvbGliJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0c2VsZWN0b3I6ICdhcHAtZmF2b3JpdGUtcGFnZXMtc2lkZWJhcicsXHJcblx0aW1wb3J0czogW1xyXG5cdFx0Q29tbW9uTW9kdWxlLFxyXG5cdFx0U2lkZWJhck1vZHVsZSxcclxuXHRcdFNjcm9sbFBhbmVsTW9kdWxlLFxyXG5cdFx0Q29uZmlybURpYWxvZ01vZHVsZSxcclxuXHRcdFBhZ2luYXRvck1vZHVsZSxcclxuXHRcdER5bmFtaWNEaWFsb2dNb2R1bGUsXHJcblx0XHRCdXR0b25Db21wb25lbnQsXHJcblx0XHRUcmFuc2xvY29Nb2R1bGUsXHJcblx0XHRUb29sdGlwTW9kdWxlLFxyXG5cdFx0Rm9udEF3ZXNvbWVNb2R1bGVcclxuXHRdLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9mYXZvcml0ZS1wYWdlcy1zaWRlYmFyLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi9mYXZvcml0ZS1wYWdlcy1zaWRlYmFyLmNvbXBvbmVudC5zY3NzJ10sXHJcblx0cHJvdmlkZXJzOiBbQ29uZmlybWF0aW9uU2VydmljZSwgRGlhbG9nU2VydmljZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEZhdm9yaXRlUGFnZXNTaWRlYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHRmYXZvcml0ZVBhZ2VzID0gc2lnbmFsPEZhdm9yaXRlUGFnZVJlc3BvbnNlRFRPW10+KFtdKTtcclxuXHRpc0N1cnJlbnRQYWdlRmF2b3JpdGVkID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcclxuXHRzb2xpZEljb25zID0gc29saWRJY29ucztcclxuXHRjdXJyZW50UGFnZSA9IHNpZ25hbDxudW1iZXI+KDEpO1xyXG5cdHBhZ2VTaXplID0gc2lnbmFsPG51bWJlcj4oMTApO1xyXG5cdHRvdGFsSXRlbXMgPSBzaWduYWw8bnVtYmVyPigwKTtcclxuXHR0b3RhbFBhZ2VzID0gc2lnbmFsPG51bWJlcj4oMCk7XHJcblx0YWxsRmF2b3JpdGVQYWdlcyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuZmF2b3JpdGVQYWdlc1NlcnZpY2UuYWxsRmF2b3JpdGVQYWdlcygpKTtcclxuXHJcblx0cHJpdmF0ZSBzdWJqZWN0cyA9IHtcclxuXHRcdGxvYWRBbGxGYXZvcml0ZXM6IG5ldyBTdWJqZWN0PHZvaWQ+KCksXHJcblx0XHRkZWxldGVGYXZvcml0ZTogbmV3IFN1YmplY3Q8bnVtYmVyPigpXHJcblx0fTtcclxuXHJcblx0bG9hZEFsbEZhdm9yaXRlc1NlcnZpY2UgPSB0b1NpZ25hbChcclxuXHRcdHRoaXMuc3ViamVjdHMubG9hZEFsbEZhdm9yaXRlcy5waXBlKFxyXG5cdFx0XHRzd2l0Y2hNYXAoKCkgPT5cclxuXHRcdFx0XHR0aGlzLmZhdm9yaXRlUGFnZXNTZXJ2aWNlLmZpbHRlckZhdm9yaXRlUGFnZXMoe1xyXG5cdFx0XHRcdFx0cGFnZVNpemU6IDEwMDAsXHJcblx0XHRcdFx0XHRwYWdlTnVtYmVyOiAxXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0KVxyXG5cdFx0KVxyXG5cdCk7XHJcblxyXG5cdGRlbGV0ZUZhdm9yaXRlU2VydmljZSA9IHRvU2lnbmFsKFxyXG5cdFx0dGhpcy5zdWJqZWN0cy5kZWxldGVGYXZvcml0ZS5waXBlKHN3aXRjaE1hcCgoaWQpID0+IHRoaXMuZmF2b3JpdGVQYWdlc1NlcnZpY2UuZGVsZXRlRmF2b3JpdGVQYWdlKGlkKSkpXHJcblx0KTtcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwdWJsaWMgbGF5b3V0U2VydmljZTogTGF5b3V0U2VydmljZSxcclxuXHRcdHByaXZhdGUgZmF2b3JpdGVQYWdlc1NlcnZpY2U6IEZhdm9yaXRlUGFnZXNTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXHJcblx0XHRwcml2YXRlIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXHJcblx0XHRwcml2YXRlIHRyYW5zbG9jb1NlcnZpY2U6IFRyYW5zbG9jb1NlcnZpY2VcclxuXHQpIHtcclxuXHRcdHRoaXMuaW5pdGlhbGl6ZUVmZmVjdHMoKTtcclxuXHR9XHJcblxyXG5cdG5nT25Jbml0KCk6IHZvaWQge1xyXG5cdFx0dGhpcy5sb2FkRmF2b3JpdGVQYWdlcygpO1xyXG5cdFx0dGhpcy5jaGVja0N1cnJlbnRQYWdlU3RhdHVzKCk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGluaXRpYWxpemVFZmZlY3RzKCk6IHZvaWQge1xyXG5cdFx0ZWZmZWN0KFxyXG5cdFx0XHQoKSA9PiB7XHJcblx0XHRcdFx0Y29uc3Qgc2VydmljZSA9IHRoaXMubG9hZEFsbEZhdm9yaXRlc1NlcnZpY2UoKTtcclxuXHRcdFx0XHRpZiAoc2VydmljZT8ucmVzcG9uc2UpIHtcclxuXHRcdFx0XHRcdHRoaXMuZmF2b3JpdGVQYWdlc1NlcnZpY2UuYWxsRmF2b3JpdGVQYWdlcy5zZXQoc2VydmljZS5yZXNwb25zZS5yZXN1bHQpO1xyXG5cdFx0XHRcdFx0dGhpcy50b3RhbEl0ZW1zLnNldChzZXJ2aWNlLnJlc3BvbnNlLnJlc3VsdC5sZW5ndGgpO1xyXG5cdFx0XHRcdFx0dGhpcy51cGRhdGVDbGllbnRTaWRlUGFnaW5hdGlvbigpO1xyXG5cdFx0XHRcdFx0dGhpcy5jaGVja0N1cnJlbnRQYWdlU3RhdHVzKCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHR7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH1cclxuXHRcdCk7XHJcblxyXG5cdFx0ZWZmZWN0KFxyXG5cdFx0XHQoKSA9PiB7XHJcblx0XHRcdFx0Y29uc3Qgc2VydmljZSA9IHRoaXMuZGVsZXRlRmF2b3JpdGVTZXJ2aWNlKCk7XHJcblx0XHRcdFx0aWYgKHNlcnZpY2U/LnJlc3BvbnNlKSB7XHJcblx0XHRcdFx0XHR0aGlzLmxvYWRGYXZvcml0ZVBhZ2VzKCk7XHJcblx0XHRcdFx0XHR0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XHJcblx0XHRcdFx0XHRcdHNldmVyaXR5OiAnc3VjY2VzcycsXHJcblx0XHRcdFx0XHRcdHN1bW1hcnk6IHRoaXMudHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ2Zhdm9yaXRlUGFnZXMuc3VjY2VzcycpLFxyXG5cdFx0XHRcdFx0XHRkZXRhaWw6IHRoaXMudHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ2Zhdm9yaXRlUGFnZXMuZGVsZXRlZFN1Y2Nlc3NmdWxseScpLFxyXG5cdFx0XHRcdFx0XHRrZXk6ICd0b2FzdC1yb290J1xyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHR7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH1cclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUuZmF2b3JpdGVQYWdlc1NpZGViYXJWaXNpYmxlO1xyXG5cdH1cclxuXHJcblx0c2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcclxuXHRcdHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5mYXZvcml0ZVBhZ2VzU2lkZWJhclZpc2libGUgPSB2YWx1ZTtcclxuXHRcdGlmICh2YWx1ZSkge1xyXG5cdFx0XHR0aGlzLmNoZWNrQ3VycmVudFBhZ2VTdGF0dXMoKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHByaXZhdGUgbG9hZEZhdm9yaXRlUGFnZXMoKTogdm9pZCB7XHJcblx0XHR0aGlzLnN1YmplY3RzLmxvYWRBbGxGYXZvcml0ZXMubmV4dCgpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSB1cGRhdGVDbGllbnRTaWRlUGFnaW5hdGlvbigpOiB2b2lkIHtcclxuXHRcdGNvbnN0IGFsbEZhdm9yaXRlcyA9IHRoaXMuYWxsRmF2b3JpdGVQYWdlcygpO1xyXG5cdFx0Y29uc3QgdG90YWxJdGVtcyA9IGFsbEZhdm9yaXRlcy5sZW5ndGg7XHJcblx0XHRjb25zdCBwYWdlU2l6ZSA9IHRoaXMucGFnZVNpemUoKTtcclxuXHRcdGNvbnN0IGN1cnJlbnRQYWdlID0gdGhpcy5jdXJyZW50UGFnZSgpO1xyXG5cclxuXHRcdGNvbnN0IHRvdGFsUGFnZXMgPSBNYXRoLmNlaWwodG90YWxJdGVtcyAvIHBhZ2VTaXplKTtcclxuXHRcdHRoaXMudG90YWxQYWdlcy5zZXQodG90YWxQYWdlcyk7XHJcblxyXG5cdFx0Y29uc3Qgc3RhcnRJbmRleCA9IChjdXJyZW50UGFnZSAtIDEpICogcGFnZVNpemU7XHJcblx0XHRjb25zdCBlbmRJbmRleCA9IE1hdGgubWluKHN0YXJ0SW5kZXggKyBwYWdlU2l6ZSwgdG90YWxJdGVtcyk7XHJcblxyXG5cdFx0Y29uc3QgY3VycmVudFBhZ2VEYXRhID0gYWxsRmF2b3JpdGVzLnNsaWNlKHN0YXJ0SW5kZXgsIGVuZEluZGV4KTtcclxuXHRcdHRoaXMuZmF2b3JpdGVQYWdlcy5zZXQoY3VycmVudFBhZ2VEYXRhKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgY2hlY2tDdXJyZW50UGFnZVN0YXR1cygpOiB2b2lkIHtcclxuXHRcdGNvbnN0IGN1cnJlbnRQYXRoID0gdGhpcy5mYXZvcml0ZVBhZ2VzU2VydmljZS5nZXRDdXJyZW50Um91dGVQYXRoKCk7XHJcblx0XHRjb25zdCBhbGxGYXZvcml0ZXMgPSB0aGlzLmFsbEZhdm9yaXRlUGFnZXMoKTtcclxuXHRcdGNvbnN0IGlzRm91bmQgPSBhbGxGYXZvcml0ZXMuc29tZSgoZmF2KSA9PiBmYXYudXJsID09PSBjdXJyZW50UGF0aCk7XHJcblxyXG5cdFx0dGhpcy5pc0N1cnJlbnRQYWdlRmF2b3JpdGVkLnNldChpc0ZvdW5kKTtcclxuXHR9XHJcblxyXG5cdGFkZEN1cnJlbnRQYWdlVG9GYXZvcml0ZXMoKTogdm9pZCB7XHJcblx0XHRjb25zdCBjdXJyZW50UGF0aCA9IHRoaXMuZmF2b3JpdGVQYWdlc1NlcnZpY2UuZ2V0Q3VycmVudFJvdXRlUGF0aCgpO1xyXG5cclxuXHRcdGNvbnN0IHJlZiA9IHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKEFkZEVkaXRGYXZvcml0ZU1vZGFsQ29tcG9uZW50LCB7XHJcblx0XHRcdGhlYWRlcjogdGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgnZmF2b3JpdGVQYWdlcy5hZGRUb0Zhdm9yaXRlcycpLFxyXG5cdFx0XHR3aWR0aDogJzUwMHB4JyxcclxuXHRcdFx0bW9kYWw6IHRydWUsXHJcblx0XHRcdGNsb3NhYmxlOiB0cnVlLFxyXG5cdFx0XHRkYXRhOiB7XHJcblx0XHRcdFx0bW9kZTogJ2FkZCcsXHJcblx0XHRcdFx0dXJsOiBjdXJyZW50UGF0aFxyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHJcblx0XHRyZWYub25DbG9zZS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG5cdFx0XHRpZiAocmVzdWx0Py5zdGF0dXMgPT09ICdzdWNjZXNzJykge1xyXG5cdFx0XHRcdHRoaXMubG9hZEZhdm9yaXRlUGFnZXMoKTtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRyZW1vdmVDdXJyZW50UGFnZUZyb21GYXZvcml0ZXMoKTogdm9pZCB7XHJcblx0XHRjb25zdCBjdXJyZW50UGF0aCA9IHRoaXMuZmF2b3JpdGVQYWdlc1NlcnZpY2UuZ2V0Q3VycmVudFJvdXRlUGF0aCgpO1xyXG5cdFx0Y29uc3QgZmF2b3JpdGVzID0gdGhpcy5mYXZvcml0ZVBhZ2VzKCk7XHJcblx0XHRjb25zdCBjdXJyZW50RmF2b3JpdGUgPSBmYXZvcml0ZXMuZmluZCgoZmF2KSA9PiBmYXYudXJsID09PSBjdXJyZW50UGF0aCk7XHJcblxyXG5cdFx0aWYgKGN1cnJlbnRGYXZvcml0ZSkge1xyXG5cdFx0XHR0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2UuY29uZmlybSh7XHJcblx0XHRcdFx0bWVzc2FnZTogYCcke2N1cnJlbnRGYXZvcml0ZS5sYWJlbH0nIGAgKyB0aGlzLnRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCdmYXZvcml0ZVBhZ2VzLmNvbmZpcm1EZWxldGUnKSxcclxuXHRcdFx0XHRoZWFkZXI6IHRoaXMudHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ2Zhdm9yaXRlUGFnZXMuZGVsZXRlQ29uZmlybVRpdGxlJyksXHJcblx0XHRcdFx0aWNvbjogJ3BpIHBpLWluZm8tY2lyY2xlJyxcclxuXHRcdFx0XHRhY2NlcHRMYWJlbDogdGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgnYWNjZXB0QnV0dG9uTGFiZWwnKSxcclxuXHRcdFx0XHRyZWplY3RMYWJlbDogdGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgncmVqZWN0QnV0dG9uTGFiZWwnKSxcclxuXHRcdFx0XHRhY2NlcHRCdXR0b25TdHlsZUNsYXNzOiAncC1idXR0b24tc3VjY2VzcycsXHJcblx0XHRcdFx0cmVqZWN0QnV0dG9uU3R5bGVDbGFzczogJ3AtYnV0dG9uLWRhbmdlcicsXHJcblx0XHRcdFx0YWNjZXB0OiAoKSA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLnN1YmplY3RzLmRlbGV0ZUZhdm9yaXRlLm5leHQoY3VycmVudEZhdm9yaXRlLmlkKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0ZWRpdEZhdm9yaXRlKGZhdm9yaXRlOiBGYXZvcml0ZVBhZ2VSZXNwb25zZURUTywgZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcblx0XHRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcblx0XHRjb25zdCByZWYgPSB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihBZGRFZGl0RmF2b3JpdGVNb2RhbENvbXBvbmVudCwge1xyXG5cdFx0XHRoZWFkZXI6IHRoaXMudHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ2Zhdm9yaXRlUGFnZXMuZWRpdEZhdm9yaXRlJyksXHJcblx0XHRcdHdpZHRoOiAnNTAwcHgnLFxyXG5cdFx0XHRtb2RhbDogdHJ1ZSxcclxuXHRcdFx0Y2xvc2FibGU6IHRydWUsXHJcblx0XHRcdGRhdGE6IHtcclxuXHRcdFx0XHRtb2RlOiAnZWRpdCcsXHJcblx0XHRcdFx0ZmF2b3JpdGU6IGZhdm9yaXRlXHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cclxuXHRcdHJlZi5vbkNsb3NlLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcblx0XHRcdGlmIChyZXN1bHQ/LnN0YXR1cyA9PT0gJ3N1Y2Nlc3MnKSB7XHJcblx0XHRcdFx0dGhpcy5sb2FkRmF2b3JpdGVQYWdlcygpO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdGRlbGV0ZUZhdm9yaXRlKGZhdm9yaXRlOiBGYXZvcml0ZVBhZ2VSZXNwb25zZURUTywgZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcblx0XHRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcblx0XHR0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2UuY29uZmlybSh7XHJcblx0XHRcdHRhcmdldDogZXZlbnQudGFyZ2V0IGFzIEV2ZW50VGFyZ2V0LFxyXG5cdFx0XHRtZXNzYWdlOiBgJyR7ZmF2b3JpdGUubGFiZWx9JyBgICsgdGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgnZmF2b3JpdGVQYWdlcy5jb25maXJtRGVsZXRlJyksXHJcblx0XHRcdGhlYWRlcjogdGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgnZmF2b3JpdGVQYWdlcy5kZWxldGVDb25maXJtVGl0bGUnKSxcclxuXHRcdFx0aWNvbjogJ3BpIHBpLWluZm8tY2lyY2xlJyxcclxuXHRcdFx0YWNjZXB0TGFiZWw6IHRoaXMudHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ2FjY2VwdEJ1dHRvbkxhYmVsJyksXHJcblx0XHRcdHJlamVjdExhYmVsOiB0aGlzLnRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCdyZWplY3RCdXR0b25MYWJlbCcpLFxyXG5cdFx0XHRhY2NlcHRCdXR0b25TdHlsZUNsYXNzOiAncC1idXR0b24tc3VjY2VzcycsXHJcblx0XHRcdHJlamVjdEJ1dHRvblN0eWxlQ2xhc3M6ICdwLWJ1dHRvbi1kYW5nZXInLFxyXG5cdFx0XHRhY2NlcHQ6ICgpID0+IHtcclxuXHRcdFx0XHR0aGlzLnN1YmplY3RzLmRlbGV0ZUZhdm9yaXRlLm5leHQoZmF2b3JpdGUuaWQpO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdG5hdmlnYXRlVG9GYXZvcml0ZShmYXZvcml0ZTogRmF2b3JpdGVQYWdlUmVzcG9uc2VEVE8pOiB2b2lkIHtcclxuXHRcdHRoaXMuZmF2b3JpdGVQYWdlc1NlcnZpY2UubmF2aWdhdGVUb0Zhdm9yaXRlUGFnZShmYXZvcml0ZSk7XHJcblx0XHR0aGlzLnZpc2libGUgPSBmYWxzZTtcclxuXHR9XHJcblxyXG5cdHRyYWNrQnlGYXZvcml0ZUlkKGluZGV4OiBudW1iZXIsIGZhdm9yaXRlOiBGYXZvcml0ZVBhZ2VSZXNwb25zZURUTyk6IG51bWJlciB7XHJcblx0XHRyZXR1cm4gZmF2b3JpdGUuaWQ7XHJcblx0fVxyXG5cclxuXHRvblBhZ2VDaGFuZ2UoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG5cdFx0dGhpcy5jdXJyZW50UGFnZS5zZXQoZXZlbnQucGFnZSArIDEpO1xyXG5cdFx0dGhpcy5wYWdlU2l6ZS5zZXQoZXZlbnQucm93cyk7XHJcblx0XHR0aGlzLnVwZGF0ZUNsaWVudFNpZGVQYWdpbmF0aW9uKCk7IC8vIFVwZGF0ZSBwYWdpbmF0aW9uIGNsaWVudC1zaWRlLCBubyBBUEkgY2FsbFxyXG5cdH1cclxuXHJcblx0Z2V0RnVsbFVybCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XHJcblx0XHRyZXR1cm4gdGhpcy5mYXZvcml0ZVBhZ2VzU2VydmljZS5nZXRGdWxsVXJsKHVybCk7XHJcblx0fVxyXG5cclxuXHJcbn1cclxuIiwiPHAtc2lkZWJhclxyXG5cdFsodmlzaWJsZSldPVwidmlzaWJsZVwiXHJcblx0cG9zaXRpb249XCJyaWdodFwiXHJcblx0W3RyYW5zaXRpb25PcHRpb25zXT1cIicuM3MgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSknXCJcclxuXHRzdHlsZUNsYXNzPVwibGF5b3V0LWZhdm9yaXRlLXBhZ2VzLXNpZGViYXIgdy1mdWxsIHNtOnctMzByZW1cIlxyXG5cdCp0cmFuc2xvY289XCJsZXQgdDsgcmVhZDogJ2Zhdm9yaXRlUGFnZXMnXCI+XHJcblx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHctZnVsbFwiPlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuXHRcdFx0XHQ8aSBjbGFzcz1cInBpIHBpLWhlYXJ0IHRleHQtcHJpbWFyeSB0ZXh0LXhsXCI+PC9pPlxyXG5cdFx0XHRcdDxzcGFuIGNsYXNzPVwiZm9udC1ib2xkIHRleHQtbGdcIj57eyB0KCdmYXZvcml0ZVBhZ2VzJykgfX08L3NwYW4+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC9kaXY+XHJcblx0PC9uZy10ZW1wbGF0ZT5cclxuXHJcblx0PGRpdiBjbGFzcz1cImZhdm9yaXRlLXBhZ2VzLWNvbnRlbnRcIj5cclxuXHRcdEBpZiAoaXNDdXJyZW50UGFnZUZhdm9yaXRlZCgpKSB7XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJjdXJyZW50LWZhdm9yaXRlZC1tZXNzYWdlXCI+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cIm1lc3NhZ2UtY29udGVudFwiPlxyXG5cdFx0XHRcdFx0PGkgY2xhc3M9XCJwaSBwaS1jaGVjay1jaXJjbGUgdGV4dC1ncmVlbi01MDBcIj48L2k+XHJcblx0XHRcdFx0XHQ8c3Bhbj57eyB0KCdjdXJyZW50UGFnZUZhdm9yaXRlZCcpIH19PC9zcGFuPlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdH1cclxuXHJcblx0XHQ8ZGl2IGNsYXNzPVwiYWRkLXNlY3Rpb25cIj5cclxuXHRcdFx0QGlmICghaXNDdXJyZW50UGFnZUZhdm9yaXRlZCgpKSB7XHJcblx0XHRcdFx0PGFyaWwtYnV0dG9uXHJcblx0XHRcdFx0XHRbbGFiZWxdPVwidCgnYWRkQ3VycmVudFBhZ2UnKVwiXHJcblx0XHRcdFx0XHRpY29uPVwiUExVU1wiXHJcblx0XHRcdFx0XHRjb2xvcj1cInByaW1hcnlcIlxyXG5cdFx0XHRcdFx0c2l6ZT1cInNtXCJcclxuXHRcdFx0XHRcdChjbGlja0V2ZW50KT1cImFkZEN1cnJlbnRQYWdlVG9GYXZvcml0ZXMoKVwiPlxyXG5cdFx0XHRcdDwvYXJpbC1idXR0b24+XHJcblx0XHRcdH0gQGVsc2Uge1xyXG5cdFx0XHRcdDxhcmlsLWJ1dHRvblxyXG5cdFx0XHRcdFx0W2xhYmVsXT1cInQoJ3JlbW92ZUN1cnJlbnRQYWdlJylcIlxyXG5cdFx0XHRcdFx0aWNvbj1cIlRJTUVTXCJcclxuXHRcdFx0XHRcdGNvbG9yPVwiZGFuZ2VyXCJcclxuXHRcdFx0XHRcdHNpemU9XCJzbVwiXHJcblx0XHRcdFx0XHQoY2xpY2tFdmVudCk9XCJyZW1vdmVDdXJyZW50UGFnZUZyb21GYXZvcml0ZXMoKVwiPlxyXG5cdFx0XHRcdDwvYXJpbC1idXR0b24+XHJcblx0XHRcdH1cclxuXHRcdDwvZGl2PlxyXG5cclxuXHRcdEBpZiAoZmF2b3JpdGVQYWdlcygpLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0PGRpdiBjbGFzcz1cImZhdm9yaXRlcy1saXN0XCI+XHJcblx0XHRcdFx0PHAtc2Nyb2xsUGFuZWwgW3N0eWxlXT1cInsgd2lkdGg6ICcxMDAlJywgaGVpZ2h0OiAnMTAwJScgfVwiPlxyXG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImZhdm9yaXRlcy1pdGVtc1wiPlxyXG5cdFx0XHRcdFx0XHRAZm9yIChmYXZvcml0ZSBvZiBmYXZvcml0ZVBhZ2VzKCk7IHRyYWNrIHRyYWNrQnlGYXZvcml0ZUlkKCRpbmRleCwgZmF2b3JpdGUpKSB7XHJcblx0XHRcdFx0XHRcdFx0PGRpdlxyXG5cdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJmYXZvcml0ZS1pdGVtXCJcclxuXHRcdFx0XHRcdFx0XHRcdFtjbGFzcy5kZWZhdWx0LWl0ZW1dPVwiZmF2b3JpdGUuaWQgPCAwXCJcclxuXHRcdFx0XHRcdFx0XHRcdChjbGljayk9XCJuYXZpZ2F0ZVRvRmF2b3JpdGUoZmF2b3JpdGUpXCJcclxuXHRcdFx0XHRcdFx0XHRcdFtwVG9vbHRpcF09XCJnZXRGdWxsVXJsKGZhdm9yaXRlLnVybClcIlxyXG5cdFx0XHRcdFx0XHRcdFx0dG9vbHRpcFBvc2l0aW9uPVwidG9wXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiaXRlbS1jb250ZW50XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJpdGVtLWhlYWRlclwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJpdGVtLXRpdGxlXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8aSBjbGFzcz1cInBpIHBpLWV4dGVybmFsLWxpbmsgdGV4dC1wcmltYXJ5IG1yLTJcIj48L2k+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cInRpdGxlLXRleHRcIj57eyBmYXZvcml0ZS5sYWJlbCB9fTwvc3Bhbj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8ZGl2PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PGZhLWljb25cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0W2ljb25dPVwic29saWRJY29ucy5mYVBlblRvU3F1YXJlXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0c2l6ZT1cImxnXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU9XCJjb2xvcjogdmFyKC0teWVsbG93LTUwMClcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cImNvbC0yIGN1cnNvci1wb2ludGVyXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0KGNsaWNrKT1cImVkaXRGYXZvcml0ZShmYXZvcml0ZSwgJGV2ZW50KVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PC9mYS1pY29uPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PGZhLWljb25cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0W2ljb25dPVwic29saWRJY29ucy5mYVRyYXNoXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0c2l6ZT1cImxnXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU9XCJjb2xvcjogdmFyKC0tcmVkLTUwMClcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cImNvbC0yIGN1cnNvci1wb2ludGVyXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0KGNsaWNrKT1cImRlbGV0ZUZhdm9yaXRlKGZhdm9yaXRlLCAkZXZlbnQpXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8L2ZhLWljb24+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdDwvcC1zY3JvbGxQYW5lbD5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHR9IEBlbHNlIHtcclxuXHRcdFx0PGRpdiBjbGFzcz1cImVtcHR5LXN0YXRlXCI+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImVtcHR5LWNvbnRlbnRcIj5cclxuXHRcdFx0XHRcdDxpIGNsYXNzPVwicGkgcGktaGVhcnQgZW1wdHktaWNvblwiPjwvaT5cclxuXHRcdFx0XHRcdDxoMyBjbGFzcz1cImVtcHR5LXRpdGxlXCI+e3sgdCgnbm9GYXZvcml0ZXMnKSB9fTwvaDM+XHJcblx0XHRcdFx0XHQ8cCBjbGFzcz1cImVtcHR5LW1lc3NhZ2VcIj57eyB0KCdzdGFydEFkZGluZ0Zhdm9yaXRlcycpIH19PC9wPlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdH1cclxuXHRcdDxkaXY+XHJcblx0XHRcdDxwLXBhZ2luYXRvclxyXG5cdFx0XHRcdFtmaXJzdF09XCIoY3VycmVudFBhZ2UoKSAtIDEpICogcGFnZVNpemUoKVwiXHJcblx0XHRcdFx0W3Jvd3NdPVwicGFnZVNpemUoKVwiXHJcblx0XHRcdFx0W3RvdGFsUmVjb3Jkc109XCJ0b3RhbEl0ZW1zKClcIlxyXG5cdFx0XHRcdFtzaG93Q3VycmVudFBhZ2VSZXBvcnRdPVwidHJ1ZVwiXHJcblx0XHRcdFx0W2N1cnJlbnRQYWdlUmVwb3J0VGVtcGxhdGVdPVwidCgncGFnaW5hdG9yVGVtcGxhdGUnKVwiXHJcblx0XHRcdFx0W3Nob3dGaXJzdExhc3RJY29uXT1cImZhbHNlXCJcclxuXHRcdFx0XHRbc2hvd1BhZ2VMaW5rc109XCJmYWxzZVwiXHJcblx0XHRcdFx0KG9uUGFnZUNoYW5nZSk9XCJvblBhZ2VDaGFuZ2UoJGV2ZW50KVwiPlxyXG5cdFx0XHQ8L3AtcGFnaW5hdG9yPlxyXG5cdFx0PC9kaXY+XHJcblx0PC9kaXY+XHJcblxyXG5cdDxwLWNvbmZpcm1EaWFsb2c+PC9wLWNvbmZpcm1EaWFsb2c+XHJcbjwvcC1zaWRlYmFyPlxyXG4iXX0=
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Injectable, signal } from '@angular/core';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
import { HTTPMethods, ProxyTypes, RestClient, ServiceCall } from 'aril/http';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/router";
|
|
7
|
+
// API Endpoints
|
|
8
|
+
export const favoritePageEndpoints = {
|
|
9
|
+
filter: 'favorite-pages/filter',
|
|
10
|
+
favorite: 'favorite-pages'
|
|
11
|
+
};
|
|
12
|
+
export class FavoritePagesService extends RestClient {
|
|
13
|
+
constructor(router) {
|
|
14
|
+
super();
|
|
15
|
+
this.router = router;
|
|
16
|
+
this.states = {};
|
|
17
|
+
this.allFavoritePages = signal([]);
|
|
18
|
+
}
|
|
19
|
+
getCurrentRoutePath() {
|
|
20
|
+
return this.router.url;
|
|
21
|
+
}
|
|
22
|
+
navigateToFavoritePage(favorite) {
|
|
23
|
+
this.router.navigate([favorite.url]);
|
|
24
|
+
}
|
|
25
|
+
getFullUrl(url) {
|
|
26
|
+
const baseUrl = window.location.origin;
|
|
27
|
+
return `${baseUrl}${window.location.pathname}${"#"}${url}`;
|
|
28
|
+
}
|
|
29
|
+
filterFavoritePages(post) {
|
|
30
|
+
return new Observable();
|
|
31
|
+
}
|
|
32
|
+
saveFavoritePage(post) {
|
|
33
|
+
return new Observable();
|
|
34
|
+
}
|
|
35
|
+
updateFavoritePage(id, post) {
|
|
36
|
+
return new Observable();
|
|
37
|
+
}
|
|
38
|
+
deleteFavoritePage(id) {
|
|
39
|
+
return new Observable();
|
|
40
|
+
}
|
|
41
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: FavoritePagesService, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
42
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: FavoritePagesService, providedIn: 'root' }); }
|
|
43
|
+
}
|
|
44
|
+
__decorate([
|
|
45
|
+
ServiceCall(HTTPMethods.POST, ProxyTypes.ClientSide, favoritePageEndpoints.filter)
|
|
46
|
+
], FavoritePagesService.prototype, "filterFavoritePages", null);
|
|
47
|
+
__decorate([
|
|
48
|
+
ServiceCall(HTTPMethods.POST, ProxyTypes.ClientSide, favoritePageEndpoints.favorite)
|
|
49
|
+
], FavoritePagesService.prototype, "saveFavoritePage", null);
|
|
50
|
+
__decorate([
|
|
51
|
+
ServiceCall(HTTPMethods.PUT, ProxyTypes.ClientSide, favoritePageEndpoints.favorite)
|
|
52
|
+
], FavoritePagesService.prototype, "updateFavoritePage", null);
|
|
53
|
+
__decorate([
|
|
54
|
+
ServiceCall(HTTPMethods.DELETE, ProxyTypes.ClientSide, favoritePageEndpoints.favorite)
|
|
55
|
+
], FavoritePagesService.prototype, "deleteFavoritePage", null);
|
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: FavoritePagesService, decorators: [{
|
|
57
|
+
type: Injectable,
|
|
58
|
+
args: [{ providedIn: 'root' }]
|
|
59
|
+
}], ctorParameters: () => [{ type: i1.Router }], propDecorators: { filterFavoritePages: [], saveFavoritePage: [], updateFavoritePage: [], deleteFavoritePage: [] } });
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmF2b3JpdGUtcGFnZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdGhlbWUvbGF5b3V0L2FwcC9mYXZvcml0ZS1wYWdlcy9mYXZvcml0ZS1wYWdlcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxDLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQXdDLE1BQU0sV0FBVyxDQUFDOzs7QUF3Q25ILGdCQUFnQjtBQUNoQixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRztJQUNwQyxNQUFNLEVBQUUsdUJBQXVCO0lBQy9CLFFBQVEsRUFBRSxnQkFBZ0I7Q0FDMUIsQ0FBQztBQUdGLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxVQUFVO0lBSW5ELFlBQW9CLE1BQWM7UUFDakMsS0FBSyxFQUFFLENBQUM7UUFEVyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBSHpCLFdBQU0sR0FBOEMsRUFBRSxDQUFDO1FBQ2hFLHFCQUFnQixHQUFHLE1BQU0sQ0FBNEIsRUFBRSxDQUFDLENBQUM7SUFJekQsQ0FBQztJQUVELG1CQUFtQjtRQUNsQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxRQUFpQztRQUN2RCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBVztRQUNyQixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUN2QyxPQUFPLEdBQUcsT0FBTyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUM1RCxDQUFDO0lBS0QsbUJBQW1CLENBQUMsSUFBa0M7UUFDckQsT0FBTyxJQUFJLFVBQVUsRUFBNkQsQ0FBQztJQUNwRixDQUFDO0lBR0QsZ0JBQWdCLENBQUMsSUFBZ0M7UUFDaEQsT0FBTyxJQUFJLFVBQVUsRUFBNEMsQ0FBQztJQUNuRSxDQUFDO0lBR0Qsa0JBQWtCLENBQUMsRUFBVSxFQUFFLElBQWtDO1FBQ2hFLE9BQU8sSUFBSSxVQUFVLEVBQTRDLENBQUM7SUFDbkUsQ0FBQztJQUdELGtCQUFrQixDQUFDLEVBQVU7UUFDNUIsT0FBTyxJQUFJLFVBQVUsRUFBNEIsQ0FBQztJQUNuRCxDQUFDOzhHQXpDVyxvQkFBb0I7a0hBQXBCLG9CQUFvQixjQURQLE1BQU07O0FBeUIvQjtJQURDLFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxVQUFVLEVBQUUscUJBQXFCLENBQUMsTUFBTSxDQUFDOytEQUdsRjtBQUdEO0lBREMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFVBQVUsRUFBRSxxQkFBcUIsQ0FBQyxRQUFRLENBQUM7NERBR3BGO0FBR0Q7SUFEQyxXQUFXLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsVUFBVSxFQUFFLHFCQUFxQixDQUFDLFFBQVEsQ0FBQzs4REFHbkY7QUFHRDtJQURDLFdBQVcsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxVQUFVLEVBQUUscUJBQXFCLENBQUMsUUFBUSxDQUFDOzhEQUd0RjsyRkF6Q1csb0JBQW9CO2tCQURoQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTsyRUF5QmpDLG1CQUFtQixNQUtuQixnQkFBZ0IsTUFLaEIsa0JBQWtCLE1BS2xCLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgSFRUUE1ldGhvZHMsIFByb3h5VHlwZXMsIFJlc3RDbGllbnQsIFNlcnZpY2VDYWxsLCBTZXJ2aWNlQ2FsbFN0YXRlTWFwLCBTZXJ2aWNlUmVzcG9uc2UgfSBmcm9tICdhcmlsL2h0dHAnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGYXZvcml0ZVBhZ2VSZXNwb25zZURUTyB7XHJcblx0aWQ6IG51bWJlcjtcclxuXHRjcmVhdG9yOiBzdHJpbmc7XHJcblx0Y3JlYXRlZDogbnVtYmVyO1xyXG5cdHVwZGF0ZXI6IHN0cmluZztcclxuXHR1cGRhdGVkOiBudW1iZXI7XHJcblx0dmVyc2lvbjogbnVtYmVyO1xyXG5cdHVzZXJuYW1lOiBzdHJpbmc7XHJcblx0dXJsOiBzdHJpbmc7XHJcblx0bGFiZWw6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGYXZvcml0ZVBhZ2VTYXZlUmVxdWVzdERUTyB7XHJcblx0dXJsOiBzdHJpbmc7XHJcblx0bGFiZWw6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGYXZvcml0ZVBhZ2VVcGRhdGVSZXF1ZXN0RFRPIHtcclxuXHRsYWJlbDogc3RyaW5nO1xyXG5cdHZlcnNpb246IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGYXZvcml0ZVBhZ2VGaWx0ZXJSZXF1ZXN0RFRPIHtcclxuXHRwYWdlU2l6ZT86IG51bWJlcjtcclxuXHRwYWdlTnVtYmVyPzogbnVtYmVyO1xyXG5cdHNvcnRGaWVsZE5hbWU/OiBzdHJpbmc7XHJcblx0c29ydERpcmVjdGlvbj86IG51bWJlcjsgLy8gMT1BU0MsIDI9REVTQ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaFJlc3VsdERUTzxUPiB7XHJcblx0cmVzdWx0SW5mbzoge1xyXG5cdFx0dG90YWxQYWdlOiBudW1iZXI7XHJcblx0XHR0b3RhbEl0ZW06IG51bWJlcjtcclxuXHR9O1xyXG5cdHJlc3VsdDogVFtdO1xyXG5cdHNlYXJjaEFmdGVyVmFsdWVzOiBhbnlbXTtcclxufVxyXG5cclxuLy8gQVBJIEVuZHBvaW50c1xyXG5leHBvcnQgY29uc3QgZmF2b3JpdGVQYWdlRW5kcG9pbnRzID0ge1xyXG5cdGZpbHRlcjogJ2Zhdm9yaXRlLXBhZ2VzL2ZpbHRlcicsXHJcblx0ZmF2b3JpdGU6ICdmYXZvcml0ZS1wYWdlcydcclxufTtcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBGYXZvcml0ZVBhZ2VzU2VydmljZSBleHRlbmRzIFJlc3RDbGllbnQge1xyXG5cdG92ZXJyaWRlIHN0YXRlczogU2VydmljZUNhbGxTdGF0ZU1hcDxGYXZvcml0ZVBhZ2VzU2VydmljZT4gPSB7fTtcclxuXHRhbGxGYXZvcml0ZVBhZ2VzID0gc2lnbmFsPEZhdm9yaXRlUGFnZVJlc3BvbnNlRFRPW10+KFtdKTtcclxuXHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge1xyXG5cdFx0c3VwZXIoKTtcclxuXHR9XHJcblxyXG5cdGdldEN1cnJlbnRSb3V0ZVBhdGgoKTogc3RyaW5nIHtcclxuXHRcdHJldHVybiB0aGlzLnJvdXRlci51cmw7XHJcblx0fVxyXG5cclxuXHRuYXZpZ2F0ZVRvRmF2b3JpdGVQYWdlKGZhdm9yaXRlOiBGYXZvcml0ZVBhZ2VSZXNwb25zZURUTyk6IHZvaWQge1xyXG5cdFx0dGhpcy5yb3V0ZXIubmF2aWdhdGUoW2Zhdm9yaXRlLnVybF0pO1xyXG5cdH1cclxuXHJcblx0Z2V0RnVsbFVybCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XHJcblx0XHRjb25zdCBiYXNlVXJsID0gd2luZG93LmxvY2F0aW9uLm9yaWdpbjtcclxuXHRcdHJldHVybiBgJHtiYXNlVXJsfSR7d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lfSR7XCIjXCJ9JHt1cmx9YDtcclxuXHR9XHJcblxyXG5cclxuXHJcblx0QFNlcnZpY2VDYWxsKEhUVFBNZXRob2RzLlBPU1QsIFByb3h5VHlwZXMuQ2xpZW50U2lkZSwgZmF2b3JpdGVQYWdlRW5kcG9pbnRzLmZpbHRlcilcclxuXHRmaWx0ZXJGYXZvcml0ZVBhZ2VzKHBvc3Q6IEZhdm9yaXRlUGFnZUZpbHRlclJlcXVlc3REVE8pIHtcclxuXHRcdHJldHVybiBuZXcgT2JzZXJ2YWJsZTxTZXJ2aWNlUmVzcG9uc2U8U2VhcmNoUmVzdWx0RFRPPEZhdm9yaXRlUGFnZVJlc3BvbnNlRFRPPj4+KCk7XHJcblx0fVxyXG5cclxuXHRAU2VydmljZUNhbGwoSFRUUE1ldGhvZHMuUE9TVCwgUHJveHlUeXBlcy5DbGllbnRTaWRlLCBmYXZvcml0ZVBhZ2VFbmRwb2ludHMuZmF2b3JpdGUpXHJcblx0c2F2ZUZhdm9yaXRlUGFnZShwb3N0OiBGYXZvcml0ZVBhZ2VTYXZlUmVxdWVzdERUTykge1xyXG5cdFx0cmV0dXJuIG5ldyBPYnNlcnZhYmxlPFNlcnZpY2VSZXNwb25zZTxGYXZvcml0ZVBhZ2VSZXNwb25zZURUTz4+KCk7XHJcblx0fVxyXG5cclxuXHRAU2VydmljZUNhbGwoSFRUUE1ldGhvZHMuUFVULCBQcm94eVR5cGVzLkNsaWVudFNpZGUsIGZhdm9yaXRlUGFnZUVuZHBvaW50cy5mYXZvcml0ZSlcclxuXHR1cGRhdGVGYXZvcml0ZVBhZ2UoaWQ6IG51bWJlciwgcG9zdDogRmF2b3JpdGVQYWdlVXBkYXRlUmVxdWVzdERUTykge1xyXG5cdFx0cmV0dXJuIG5ldyBPYnNlcnZhYmxlPFNlcnZpY2VSZXNwb25zZTxGYXZvcml0ZVBhZ2VSZXNwb25zZURUTz4+KCk7XHJcblx0fVxyXG5cclxuXHRAU2VydmljZUNhbGwoSFRUUE1ldGhvZHMuREVMRVRFLCBQcm94eVR5cGVzLkNsaWVudFNpZGUsIGZhdm9yaXRlUGFnZUVuZHBvaW50cy5mYXZvcml0ZSlcclxuXHRkZWxldGVGYXZvcml0ZVBhZ2UoaWQ6IG51bWJlcikge1xyXG5cdFx0cmV0dXJuIG5ldyBPYnNlcnZhYmxlPFNlcnZpY2VSZXNwb25zZTxib29sZWFuPj4oKTtcclxuXHR9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { Component, effect } from '@angular/core';
|
|
3
|
+
import { toSignal } from '@angular/core/rxjs-interop';
|
|
4
|
+
import { FormsModule, ReactiveFormsModule, Validators } from '@angular/forms';
|
|
5
|
+
import { TranslocoModule } from '@ngneat/transloco';
|
|
6
|
+
import { Subject, switchMap } from 'rxjs';
|
|
7
|
+
import { ButtonComponent } from 'aril/ui/button';
|
|
8
|
+
import { FieldComponent } from 'aril/ui/field';
|
|
9
|
+
import { ARiLFormModule } from 'aril/ui/form';
|
|
10
|
+
import { TextComponent } from 'aril/ui/text';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "@angular/forms";
|
|
13
|
+
import * as i2 from "primeng/dynamicdialog";
|
|
14
|
+
import * as i3 from "../../favorite-pages.service";
|
|
15
|
+
import * as i4 from "primeng/api";
|
|
16
|
+
import * as i5 from "@ngneat/transloco";
|
|
17
|
+
import * as i6 from "aril/ui/form";
|
|
18
|
+
export class AddEditFavoriteModalComponent {
|
|
19
|
+
constructor(formBuilder, dialogRef, dialogConfig, favoritePagesService, messageService, translocoService) {
|
|
20
|
+
this.formBuilder = formBuilder;
|
|
21
|
+
this.dialogRef = dialogRef;
|
|
22
|
+
this.dialogConfig = dialogConfig;
|
|
23
|
+
this.favoritePagesService = favoritePagesService;
|
|
24
|
+
this.messageService = messageService;
|
|
25
|
+
this.translocoService = translocoService;
|
|
26
|
+
this.subjects = {
|
|
27
|
+
saveFavorite: new Subject(),
|
|
28
|
+
updateFavorite: new Subject()
|
|
29
|
+
};
|
|
30
|
+
this.saveFavoriteService = toSignal(this.subjects.saveFavorite.pipe(switchMap((data) => this.favoritePagesService.saveFavoritePage(data))));
|
|
31
|
+
this.updateFavoriteService = toSignal(this.subjects.updateFavorite.pipe(switchMap((data) => this.favoritePagesService.updateFavoritePage(this.modalData.favorite?.id, data))));
|
|
32
|
+
this.modalData = this.dialogConfig.data;
|
|
33
|
+
this.initializeEffects();
|
|
34
|
+
this.initializeForm();
|
|
35
|
+
}
|
|
36
|
+
ngOnInit() {
|
|
37
|
+
if (!this.modalData || !['add', 'edit'].includes(this.modalData.mode)) {
|
|
38
|
+
this.dialogRef.close('error');
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
initializeEffects() {
|
|
42
|
+
// Save favorite effect
|
|
43
|
+
effect(() => {
|
|
44
|
+
const service = this.saveFavoriteService();
|
|
45
|
+
if (service?.response) {
|
|
46
|
+
this.messageService.add({
|
|
47
|
+
severity: 'success',
|
|
48
|
+
summary: this.translocoService.translate('favoritePages.success'),
|
|
49
|
+
detail: this.translocoService.translate('favoritePages.saveSuccessfully'),
|
|
50
|
+
key: 'toast-root'
|
|
51
|
+
});
|
|
52
|
+
this.dialogRef.close({ status: 'success', data: service.response });
|
|
53
|
+
}
|
|
54
|
+
}, { allowSignalWrites: true });
|
|
55
|
+
// Update favorite effect
|
|
56
|
+
effect(() => {
|
|
57
|
+
const service = this.updateFavoriteService();
|
|
58
|
+
if (service?.response) {
|
|
59
|
+
this.messageService.add({
|
|
60
|
+
severity: 'success',
|
|
61
|
+
summary: this.translocoService.translate('favoritePages.success'),
|
|
62
|
+
detail: this.translocoService.translate('favoritePages.updatedSuccessfully'),
|
|
63
|
+
key: 'toast-root'
|
|
64
|
+
});
|
|
65
|
+
this.dialogRef.close({ status: 'success', data: service.response });
|
|
66
|
+
}
|
|
67
|
+
}, { allowSignalWrites: true });
|
|
68
|
+
}
|
|
69
|
+
initializeForm() {
|
|
70
|
+
if (this.modalData.mode === 'add') {
|
|
71
|
+
this.favoriteForm = this.formBuilder.group({
|
|
72
|
+
label: ['', [Validators.required, Validators.minLength(1), Validators.maxLength(100)]],
|
|
73
|
+
url: [{ value: this.modalData.url || '', disabled: true }]
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
else if (this.modalData.mode === 'edit' && this.modalData.favorite) {
|
|
77
|
+
this.favoriteForm = this.formBuilder.group({
|
|
78
|
+
label: [
|
|
79
|
+
this.modalData.favorite.label,
|
|
80
|
+
[Validators.required, Validators.minLength(1), Validators.maxLength(100)]
|
|
81
|
+
],
|
|
82
|
+
url: [{ value: this.modalData.favorite.url, disabled: true }]
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
get isAddMode() {
|
|
87
|
+
return this.modalData.mode === 'add';
|
|
88
|
+
}
|
|
89
|
+
get isEditMode() {
|
|
90
|
+
return this.modalData.mode === 'edit';
|
|
91
|
+
}
|
|
92
|
+
submit() {
|
|
93
|
+
const formValue = this.favoriteForm.value;
|
|
94
|
+
if (this.isAddMode) {
|
|
95
|
+
const saveRequest = {
|
|
96
|
+
url: this.modalData.url,
|
|
97
|
+
label: formValue.label.trim()
|
|
98
|
+
};
|
|
99
|
+
this.subjects.saveFavorite.next(saveRequest);
|
|
100
|
+
}
|
|
101
|
+
else if (this.isEditMode && this.modalData.favorite) {
|
|
102
|
+
const updateRequest = {
|
|
103
|
+
label: formValue.label.trim(),
|
|
104
|
+
url: this.modalData.url,
|
|
105
|
+
version: this.modalData.favorite.version
|
|
106
|
+
};
|
|
107
|
+
this.subjects.updateFavorite.next(updateRequest);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
cancel() {
|
|
111
|
+
this.dialogRef.close('cancel');
|
|
112
|
+
}
|
|
113
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AddEditFavoriteModalComponent, deps: [{ token: i1.FormBuilder }, { token: i2.DynamicDialogRef }, { token: i2.DynamicDialogConfig }, { token: i3.FavoritePagesService }, { token: i4.MessageService }, { token: i5.TranslocoService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
114
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: AddEditFavoriteModalComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<div *transloco=\"let t; read: 'favoritePages'\">\r\n\t<aril-form [formGroup]=\"favoriteForm\">\r\n\t\t<aril-field [label]=\"t('label')\" [cols]=\"{ xl: 12, lg: 12, md: 12, sm: 12 }\" [markAsRequired]=\"true\">\r\n\t\t\t<aril-text formControlName=\"label\" [placeholder]=\"t('labelPlaceholder')\"> </aril-text>\r\n\t\t</aril-field>\r\n\r\n\t\t<aril-field [label]=\"t('path')\" [cols]=\"{ xl: 12, lg: 12, md: 12, sm: 12 }\">\r\n\t\t\t<aril-text formControlName=\"url\"> </aril-text>\r\n\t\t</aril-field>\r\n\r\n\t\t<div class=\"col-12 flex justify-content-end mt-4 gap-2\">\r\n\t\t\t<aril-button\r\n\t\t\t\tcolor=\"danger\"\r\n\t\t\t\t[label]=\"t('cancel')\"\r\n\t\t\t\t[outlined]=\"true\"\r\n\t\t\t\ticon=\"TIMES\"\r\n\t\t\t\t(clickEvent)=\"cancel()\">\r\n\t\t\t</aril-button>\r\n\t\t\t<aril-form-submit\r\n\t\t\t\t[label]=\"t('save')\"\r\n\t\t\t\tcolor=\"success\"\r\n\t\t\t\ticon=\"CHECK\"\r\n\t\t\t\t[formGroup]=\"favoriteForm\"\r\n\t\t\t\t(validEvent)=\"submit()\" />\r\n\t\t</div>\r\n\t</aril-form>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ARiLFormModule }, { kind: "component", type: i6.FormComponent, selector: "aril-form", inputs: ["formGroup"] }, { kind: "component", type: i6.FormSubmitButtonComponent, selector: "aril-form-submit:not([click])", inputs: ["formGroup"], outputs: ["validEvent", "inValidEvent"] }, { kind: "component", type: FieldComponent, selector: "aril-field", inputs: ["label", "color", "labelWidth", "valueWidth", "labelPos", "markAsRequired", "cols", "infoData", "infoDataOverlayPanel"] }, { kind: "component", type: TextComponent, selector: "aril-text[ngModel], aril-text[formControl], aril-text[formControlName]", inputs: ["placeholder", "tabindex", "icon", "iconPos", "size"] }, { kind: "component", type: ButtonComponent, selector: "aril-button:not([click])", inputs: ["label", "loading", "disabled", "raised", "rounded", "text", "outlined", "badge", "size", "icon", "iconPos", "color"], outputs: ["clickEvent"] }, { kind: "ngmodule", type: TranslocoModule }, { kind: "directive", type: i5.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoLang", "translocoLoadingTpl"] }] }); }
|
|
115
|
+
}
|
|
116
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AddEditFavoriteModalComponent, decorators: [{
|
|
117
|
+
type: Component,
|
|
118
|
+
args: [{ standalone: true, imports: [
|
|
119
|
+
CommonModule,
|
|
120
|
+
ReactiveFormsModule,
|
|
121
|
+
FormsModule,
|
|
122
|
+
ARiLFormModule,
|
|
123
|
+
FieldComponent,
|
|
124
|
+
TextComponent,
|
|
125
|
+
ButtonComponent,
|
|
126
|
+
TranslocoModule
|
|
127
|
+
], template: "<div *transloco=\"let t; read: 'favoritePages'\">\r\n\t<aril-form [formGroup]=\"favoriteForm\">\r\n\t\t<aril-field [label]=\"t('label')\" [cols]=\"{ xl: 12, lg: 12, md: 12, sm: 12 }\" [markAsRequired]=\"true\">\r\n\t\t\t<aril-text formControlName=\"label\" [placeholder]=\"t('labelPlaceholder')\"> </aril-text>\r\n\t\t</aril-field>\r\n\r\n\t\t<aril-field [label]=\"t('path')\" [cols]=\"{ xl: 12, lg: 12, md: 12, sm: 12 }\">\r\n\t\t\t<aril-text formControlName=\"url\"> </aril-text>\r\n\t\t</aril-field>\r\n\r\n\t\t<div class=\"col-12 flex justify-content-end mt-4 gap-2\">\r\n\t\t\t<aril-button\r\n\t\t\t\tcolor=\"danger\"\r\n\t\t\t\t[label]=\"t('cancel')\"\r\n\t\t\t\t[outlined]=\"true\"\r\n\t\t\t\ticon=\"TIMES\"\r\n\t\t\t\t(clickEvent)=\"cancel()\">\r\n\t\t\t</aril-button>\r\n\t\t\t<aril-form-submit\r\n\t\t\t\t[label]=\"t('save')\"\r\n\t\t\t\tcolor=\"success\"\r\n\t\t\t\ticon=\"CHECK\"\r\n\t\t\t\t[formGroup]=\"favoriteForm\"\r\n\t\t\t\t(validEvent)=\"submit()\" />\r\n\t\t</div>\r\n\t</aril-form>\r\n</div>\r\n" }]
|
|
128
|
+
}], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.DynamicDialogRef }, { type: i2.DynamicDialogConfig }, { type: i3.FavoritePagesService }, { type: i4.MessageService }, { type: i5.TranslocoService }] });
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWVkaXQtZmF2b3JpdGUtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC90aGVtZS9sYXlvdXQvYXBwL2Zhdm9yaXRlLXBhZ2VzL21vZGFscy9hZGQtZWRpdC1mYXZvcml0ZS1tb2RhbC9hZGQtZWRpdC1mYXZvcml0ZS1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3RoZW1lL2xheW91dC9hcHAvZmF2b3JpdGUtcGFnZXMvbW9kYWxzL2FkZC1lZGl0LWZhdm9yaXRlLW1vZGFsL2FkZC1lZGl0LWZhdm9yaXRlLW1vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUEwQixXQUFXLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLdEcsT0FBTyxFQUFFLGVBQWUsRUFBb0IsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7O0FBNkI3QyxNQUFNLE9BQU8sNkJBQTZCO0lBbUJ6QyxZQUNrQixX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QVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2xELENBQUM7SUFDRixDQUFDO0lBRUQsTUFBTTtRQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7OEdBeEhXLDZCQUE2QjtrR0FBN0IsNkJBQTZCLHdFQzNDMUMsMi9CQTJCQSwyQ0RLRSxZQUFZLDhCQUNaLG1CQUFtQixtbEJBQ25CLFdBQVcsOEJBQ1gsY0FBYyxrU0FDZCxjQUFjLHlMQUNkLGFBQWEsbUxBQ2IsZUFBZSw2TkFDZixlQUFlOzsyRkFJSiw2QkFBNkI7a0JBZHpDLFNBQVM7aUNBQ0csSUFBSSxXQUNQO3dCQUNSLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixXQUFXO3dCQUNYLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsZUFBZTtxQkFDZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBlZmZlY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IER5bmFtaWNEaWFsb2dDb25maWcsIER5bmFtaWNEaWFsb2dSZWYgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xyXG5cclxuaW1wb3J0IHsgVHJhbnNsb2NvTW9kdWxlLCBUcmFuc2xvY29TZXJ2aWNlIH0gZnJvbSAnQG5nbmVhdC90cmFuc2xvY28nO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ2FyaWwvdWkvYnV0dG9uJztcclxuaW1wb3J0IHsgRmllbGRDb21wb25lbnQgfSBmcm9tICdhcmlsL3VpL2ZpZWxkJztcclxuaW1wb3J0IHsgQVJpTEZvcm1Nb2R1bGUgfSBmcm9tICdhcmlsL3VpL2Zvcm0nO1xyXG5pbXBvcnQgeyBUZXh0Q29tcG9uZW50IH0gZnJvbSAnYXJpbC91aS90ZXh0JztcclxuXHJcbmltcG9ydCB7XHJcblx0RmF2b3JpdGVQYWdlUmVzcG9uc2VEVE8sXHJcblx0RmF2b3JpdGVQYWdlU2F2ZVJlcXVlc3REVE8sXHJcblx0RmF2b3JpdGVQYWdlVXBkYXRlUmVxdWVzdERUTyxcclxuXHRGYXZvcml0ZVBhZ2VzU2VydmljZVxyXG59IGZyb20gJy4uLy4uL2Zhdm9yaXRlLXBhZ2VzLnNlcnZpY2UnO1xyXG5cclxuaW50ZXJmYWNlIE1vZGFsRGF0YSB7XHJcblx0bW9kZTogJ2FkZCcgfCAnZWRpdCc7XHJcblx0dXJsPzogc3RyaW5nOyAvLyBGb3IgYWRkIG1vZGVcclxuXHRmYXZvcml0ZT86IEZhdm9yaXRlUGFnZVJlc3BvbnNlRFRPOyAvLyBGb3IgZWRpdCBtb2RlXHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0aW1wb3J0czogW1xyXG5cdFx0Q29tbW9uTW9kdWxlLFxyXG5cdFx0UmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuXHRcdEZvcm1zTW9kdWxlLFxyXG5cdFx0QVJpTEZvcm1Nb2R1bGUsXHJcblx0XHRGaWVsZENvbXBvbmVudCxcclxuXHRcdFRleHRDb21wb25lbnQsXHJcblx0XHRCdXR0b25Db21wb25lbnQsXHJcblx0XHRUcmFuc2xvY29Nb2R1bGVcclxuXHRdLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9hZGQtZWRpdC1mYXZvcml0ZS1tb2RhbC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFkZEVkaXRGYXZvcml0ZU1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHRmYXZvcml0ZUZvcm0hOiBGb3JtR3JvdXA7XHJcblx0bW9kYWxEYXRhOiBNb2RhbERhdGE7XHJcblxyXG5cdHByaXZhdGUgc3ViamVjdHMgPSB7XHJcblx0XHRzYXZlRmF2b3JpdGU6IG5ldyBTdWJqZWN0PEZhdm9yaXRlUGFnZVNhdmVSZXF1ZXN0RFRPPigpLFxyXG5cdFx0dXBkYXRlRmF2b3JpdGU6IG5ldyBTdWJqZWN0PEZhdm9yaXRlUGFnZVVwZGF0ZVJlcXVlc3REVE8+KClcclxuXHR9O1xyXG5cclxuXHRzYXZlRmF2b3JpdGVTZXJ2aWNlID0gdG9TaWduYWwoXHJcblx0XHR0aGlzLnN1YmplY3RzLnNhdmVGYXZvcml0ZS5waXBlKHN3aXRjaE1hcCgoZGF0YSkgPT4gdGhpcy5mYXZvcml0ZVBhZ2VzU2VydmljZS5zYXZlRmF2b3JpdGVQYWdlKGRhdGEpKSlcclxuXHQpO1xyXG5cclxuXHR1cGRhdGVGYXZvcml0ZVNlcnZpY2UgPSB0b1NpZ25hbChcclxuXHRcdHRoaXMuc3ViamVjdHMudXBkYXRlRmF2b3JpdGUucGlwZShcclxuXHRcdFx0c3dpdGNoTWFwKChkYXRhKSA9PiB0aGlzLmZhdm9yaXRlUGFnZXNTZXJ2aWNlLnVwZGF0ZUZhdm9yaXRlUGFnZSh0aGlzLm1vZGFsRGF0YS5mYXZvcml0ZT8uaWQgYXMgbnVtYmVyLCBkYXRhKSlcclxuXHRcdClcclxuXHQpO1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgcmVhZG9ubHkgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxyXG5cdFx0cHJpdmF0ZSByZWFkb25seSBkaWFsb2dSZWY6IER5bmFtaWNEaWFsb2dSZWYsXHJcblx0XHRwcml2YXRlIHJlYWRvbmx5IGRpYWxvZ0NvbmZpZzogRHluYW1pY0RpYWxvZ0NvbmZpZyxcclxuXHRcdHByaXZhdGUgcmVhZG9ubHkgZmF2b3JpdGVQYWdlc1NlcnZpY2U6IEZhdm9yaXRlUGFnZXNTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSByZWFkb25seSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXHJcblx0XHRwcml2YXRlIHJlYWRvbmx5IHRyYW5zbG9jb1NlcnZpY2U6IFRyYW5zbG9jb1NlcnZpY2VcclxuXHQpIHtcclxuXHRcdHRoaXMubW9kYWxEYXRhID0gdGhpcy5kaWFsb2dDb25maWcuZGF0YTtcclxuXHRcdHRoaXMuaW5pdGlhbGl6ZUVmZmVjdHMoKTtcclxuXHRcdHRoaXMuaW5pdGlhbGl6ZUZvcm0oKTtcclxuXHR9XHJcblxyXG5cdG5nT25Jbml0KCk6IHZvaWQge1xyXG5cdFx0aWYgKCF0aGlzLm1vZGFsRGF0YSB8fCAhWydhZGQnLCAnZWRpdCddLmluY2x1ZGVzKHRoaXMubW9kYWxEYXRhLm1vZGUpKSB7XHJcblx0XHRcdHRoaXMuZGlhbG9nUmVmLmNsb3NlKCdlcnJvcicpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBpbml0aWFsaXplRWZmZWN0cygpOiB2b2lkIHtcclxuXHRcdC8vIFNhdmUgZmF2b3JpdGUgZWZmZWN0XHJcblx0XHRlZmZlY3QoXHJcblx0XHRcdCgpID0+IHtcclxuXHRcdFx0XHRjb25zdCBzZXJ2aWNlID0gdGhpcy5zYXZlRmF2b3JpdGVTZXJ2aWNlKCk7XHJcblx0XHRcdFx0aWYgKHNlcnZpY2U/LnJlc3BvbnNlKSB7XHJcblx0XHRcdFx0XHR0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XHJcblx0XHRcdFx0XHRcdHNldmVyaXR5OiAnc3VjY2VzcycsXHJcblx0XHRcdFx0XHRcdHN1bW1hcnk6IHRoaXMudHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ2Zhdm9yaXRlUGFnZXMuc3VjY2VzcycpLFxyXG5cdFx0XHRcdFx0XHRkZXRhaWw6IHRoaXMudHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ2Zhdm9yaXRlUGFnZXMuc2F2ZVN1Y2Nlc3NmdWxseScpLFxyXG5cdFx0XHRcdFx0XHRrZXk6ICd0b2FzdC1yb290J1xyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHR0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7IHN0YXR1czogJ3N1Y2Nlc3MnLCBkYXRhOiBzZXJ2aWNlLnJlc3BvbnNlIH0pO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0eyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XHJcblx0XHQpO1xyXG5cclxuXHRcdC8vIFVwZGF0ZSBmYXZvcml0ZSBlZmZlY3RcclxuXHRcdGVmZmVjdChcclxuXHRcdFx0KCkgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IHNlcnZpY2UgPSB0aGlzLnVwZGF0ZUZhdm9yaXRlU2VydmljZSgpO1xyXG5cdFx0XHRcdGlmIChzZXJ2aWNlPy5yZXNwb25zZSkge1xyXG5cdFx0XHRcdFx0dGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe1xyXG5cdFx0XHRcdFx0XHRzZXZlcml0eTogJ3N1Y2Nlc3MnLFxyXG5cdFx0XHRcdFx0XHRzdW1tYXJ5OiB0aGlzLnRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCdmYXZvcml0ZVBhZ2VzLnN1Y2Nlc3MnKSxcclxuXHRcdFx0XHRcdFx0ZGV0YWlsOiB0aGlzLnRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCdmYXZvcml0ZVBhZ2VzLnVwZGF0ZWRTdWNjZXNzZnVsbHknKSxcclxuXHRcdFx0XHRcdFx0a2V5OiAndG9hc3Qtcm9vdCdcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0dGhpcy5kaWFsb2dSZWYuY2xvc2UoeyBzdGF0dXM6ICdzdWNjZXNzJywgZGF0YTogc2VydmljZS5yZXNwb25zZSB9KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgaW5pdGlhbGl6ZUZvcm0oKTogdm9pZCB7XHJcblx0XHRpZiAodGhpcy5tb2RhbERhdGEubW9kZSA9PT0gJ2FkZCcpIHtcclxuXHRcdFx0dGhpcy5mYXZvcml0ZUZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuXHRcdFx0XHRsYWJlbDogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoMSksIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDEwMCldXSxcclxuXHRcdFx0XHR1cmw6IFt7IHZhbHVlOiB0aGlzLm1vZGFsRGF0YS51cmwgfHwgJycsIGRpc2FibGVkOiB0cnVlIH1dXHJcblx0XHRcdH0pO1xyXG5cdFx0fSBlbHNlIGlmICh0aGlzLm1vZGFsRGF0YS5tb2RlID09PSAnZWRpdCcgJiYgdGhpcy5tb2RhbERhdGEuZmF2b3JpdGUpIHtcclxuXHRcdFx0dGhpcy5mYXZvcml0ZUZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuXHRcdFx0XHRsYWJlbDogW1xyXG5cdFx0XHRcdFx0dGhpcy5tb2RhbERhdGEuZmF2b3JpdGUubGFiZWwsXHJcblx0XHRcdFx0XHRbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoMSksIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDEwMCldXHJcblx0XHRcdFx0XSxcclxuXHRcdFx0XHR1cmw6IFt7IHZhbHVlOiB0aGlzLm1vZGFsRGF0YS5mYXZvcml0ZS51cmwsIGRpc2FibGVkOiB0cnVlIH1dXHJcblx0XHRcdH0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Z2V0IGlzQWRkTW9kZSgpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLm1vZGFsRGF0YS5tb2RlID09PSAnYWRkJztcclxuXHR9XHJcblxyXG5cdGdldCBpc0VkaXRNb2RlKCk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIHRoaXMubW9kYWxEYXRhLm1vZGUgPT09ICdlZGl0JztcclxuXHR9XHJcblxyXG5cdHN1Ym1pdCgpOiB2b2lkIHtcclxuXHRcdGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuZmF2b3JpdGVGb3JtLnZhbHVlO1xyXG5cclxuXHRcdGlmICh0aGlzLmlzQWRkTW9kZSkge1xyXG5cdFx0XHRjb25zdCBzYXZlUmVxdWVzdDogRmF2b3JpdGVQYWdlU2F2ZVJlcXVlc3REVE8gPSB7XHJcblx0XHRcdFx0dXJsOiB0aGlzLm1vZGFsRGF0YS51cmwhLFxyXG5cdFx0XHRcdGxhYmVsOiBmb3JtVmFsdWUubGFiZWwudHJpbSgpXHJcblx0XHRcdH07XHJcblx0XHRcdHRoaXMuc3ViamVjdHMuc2F2ZUZhdm9yaXRlLm5leHQoc2F2ZVJlcXVlc3QpO1xyXG5cdFx0fSBlbHNlIGlmICh0aGlzLmlzRWRpdE1vZGUgJiYgdGhpcy5tb2RhbERhdGEuZmF2b3JpdGUpIHtcclxuXHRcdFx0Y29uc3QgdXBkYXRlUmVxdWVzdDogYW55ID0ge1xyXG5cdFx0XHRcdGxhYmVsOiBmb3JtVmFsdWUubGFiZWwudHJpbSgpLFxyXG5cdFx0XHRcdHVybDogdGhpcy5tb2RhbERhdGEudXJsISxcclxuXHRcdFx0XHR2ZXJzaW9uOiB0aGlzLm1vZGFsRGF0YS5mYXZvcml0ZS52ZXJzaW9uXHJcblx0XHRcdH07XHJcblx0XHRcdHRoaXMuc3ViamVjdHMudXBkYXRlRmF2b3JpdGUubmV4dCh1cGRhdGVSZXF1ZXN0KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGNhbmNlbCgpOiB2b2lkIHtcclxuXHRcdHRoaXMuZGlhbG9nUmVmLmNsb3NlKCdjYW5jZWwnKTtcclxuXHR9XHJcbn1cclxuIiwiPGRpdiAqdHJhbnNsb2NvPVwibGV0IHQ7IHJlYWQ6ICdmYXZvcml0ZVBhZ2VzJ1wiPlxyXG5cdDxhcmlsLWZvcm0gW2Zvcm1Hcm91cF09XCJmYXZvcml0ZUZvcm1cIj5cclxuXHRcdDxhcmlsLWZpZWxkIFtsYWJlbF09XCJ0KCdsYWJlbCcpXCIgW2NvbHNdPVwieyB4bDogMTIsIGxnOiAxMiwgbWQ6IDEyLCBzbTogMTIgfVwiIFttYXJrQXNSZXF1aXJlZF09XCJ0cnVlXCI+XHJcblx0XHRcdDxhcmlsLXRleHQgZm9ybUNvbnRyb2xOYW1lPVwibGFiZWxcIiBbcGxhY2Vob2xkZXJdPVwidCgnbGFiZWxQbGFjZWhvbGRlcicpXCI+IDwvYXJpbC10ZXh0PlxyXG5cdFx0PC9hcmlsLWZpZWxkPlxyXG5cclxuXHRcdDxhcmlsLWZpZWxkIFtsYWJlbF09XCJ0KCdwYXRoJylcIiBbY29sc109XCJ7IHhsOiAxMiwgbGc6IDEyLCBtZDogMTIsIHNtOiAxMiB9XCI+XHJcblx0XHRcdDxhcmlsLXRleHQgZm9ybUNvbnRyb2xOYW1lPVwidXJsXCI+IDwvYXJpbC10ZXh0PlxyXG5cdFx0PC9hcmlsLWZpZWxkPlxyXG5cclxuXHRcdDxkaXYgY2xhc3M9XCJjb2wtMTIgZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIG10LTQgZ2FwLTJcIj5cclxuXHRcdFx0PGFyaWwtYnV0dG9uXHJcblx0XHRcdFx0Y29sb3I9XCJkYW5nZXJcIlxyXG5cdFx0XHRcdFtsYWJlbF09XCJ0KCdjYW5jZWwnKVwiXHJcblx0XHRcdFx0W291dGxpbmVkXT1cInRydWVcIlxyXG5cdFx0XHRcdGljb249XCJUSU1FU1wiXHJcblx0XHRcdFx0KGNsaWNrRXZlbnQpPVwiY2FuY2VsKClcIj5cclxuXHRcdFx0PC9hcmlsLWJ1dHRvbj5cclxuXHRcdFx0PGFyaWwtZm9ybS1zdWJtaXRcclxuXHRcdFx0XHRbbGFiZWxdPVwidCgnc2F2ZScpXCJcclxuXHRcdFx0XHRjb2xvcj1cInN1Y2Nlc3NcIlxyXG5cdFx0XHRcdGljb249XCJDSEVDS1wiXHJcblx0XHRcdFx0W2Zvcm1Hcm91cF09XCJmYXZvcml0ZUZvcm1cIlxyXG5cdFx0XHRcdCh2YWxpZEV2ZW50KT1cInN1Ym1pdCgpXCIgLz5cclxuXHRcdDwvZGl2PlxyXG5cdDwvYXJpbC1mb3JtPlxyXG48L2Rpdj5cclxuIl19
|