new-front-common-library 18.0.2-REF2 → 18.0.2
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 +28 -28
- package/assets/css/_dark-theme.scss +243 -243
- package/assets/css/_flex.scss +55 -55
- package/assets/css/_global.scss +417 -417
- package/assets/css/_light-theme.scss +221 -221
- package/assets/css/_mat-palettes.scss +98 -102
- package/assets/css/_themes.scss +55 -55
- package/assets/css/material/_mdc-dark-theme.scss +265 -265
- package/assets/css/material/_mdc-light-theme.scss +264 -264
- package/assets/css/material/_mdc.scss +408 -408
- package/assets/i18n/front-common/de.json +30 -30
- package/assets/i18n/front-common/en.json +30 -30
- package/assets/i18n/front-common/fr.json +30 -30
- package/esm2022/lib/util/array.service.mjs +1 -1
- package/esm2022/lib/util/component/header/advanced-search/advanced-search.component.mjs +3 -3
- package/esm2022/lib/util/component/header/advanced-search/contract-rapid-search/contract-rapid-search.component.mjs +3 -3
- package/esm2022/lib/util/component/header/advanced-search/deal-rapid-search/deal-rapid-search.component.mjs +3 -3
- package/esm2022/lib/util/component/header/advanced-search/invoice-rapid-search/invoice-rapid-search.component.mjs +3 -3
- package/esm2022/lib/util/component/header/advanced-search/product-rapid-search/product-rapid-search.component.mjs +3 -3
- package/esm2022/lib/util/component/header/advanced-search/purchase-order-rapid-search/purchase-order-rapid-search.component.mjs +3 -3
- package/esm2022/lib/util/component/header/advanced-search/royalty-contract-rapid-search/royalty-contract-rapid-search.component.mjs +3 -3
- package/esm2022/lib/util/component/header/advanced-search/royalty-count-rapid-search/royalty-count-rapid-search.component.mjs +3 -3
- package/esm2022/lib/util/component/header/advanced-search/royalty-invoice-rapid-search/royalty-invoice-rapid-search.component.mjs +3 -3
- package/esm2022/lib/util/component/header/advanced-search/third-party-rapid-search/third-party-rapid-search.component.mjs +3 -3
- package/esm2022/lib/util/component/header/advanced-search/work-record-rapid-search/work-record-rapid-search.component.mjs +3 -3
- package/esm2022/lib/util/component/header/advanced-search/work-version-rapid-search/work-version-rapid-search.component.mjs +3 -3
- package/esm2022/lib/util/component/header/header.component.mjs +4 -5
- package/esm2022/lib/util/component/header/history/history.component.mjs +3 -3
- package/esm2022/lib/util/component/header/menu/menu.component.mjs +3 -3
- package/esm2022/lib/util/component/header/menu/menu.const.mjs +1 -1
- package/esm2022/lib/util/component/header/menu/menu.model.mjs +1 -1
- package/esm2022/lib/util/component/header/settings/settings.component.mjs +3 -3
- package/esm2022/lib/util/component/overlay/overlay.component.mjs +3 -3
- package/esm2022/lib/util/component/overlay/overlay.service.mjs +1 -1
- package/esm2022/lib/util/component/popup/popup-login/popup-login.component.mjs +3 -3
- package/esm2022/lib/util/component/sub-header/sub-header.component.mjs +3 -3
- package/esm2022/lib/util/config.mjs +1 -1
- package/esm2022/lib/util/date/PeriodModel.mjs +1 -1
- package/esm2022/lib/util/date/date-format-constants.mjs +1 -1
- package/esm2022/lib/util/date/date.util.mjs +1 -1
- package/esm2022/lib/util/decorators/theme.decorator.mjs +1 -1
- package/esm2022/lib/util/decorators/user.decorator.mjs +1 -1
- package/esm2022/lib/util/directives/my-number-formatter-directive.mjs +1 -1
- package/esm2022/lib/util/directives/show-if-truncated.directive.mjs +1 -1
- package/esm2022/lib/util/enums/family.enum.mjs +1 -1
- package/esm2022/lib/util/enums/history-item-type.enum.mjs +1 -1
- package/esm2022/lib/util/enums/rapid-search-item-type.enum.mjs +1 -1
- package/esm2022/lib/util/enums/status-color.enum.mjs +1 -1
- package/esm2022/lib/util/event/header/header-events.service.mjs +1 -1
- package/esm2022/lib/util/event/storage/local-storage-events.service.mjs +1 -1
- package/esm2022/lib/util/event/storage/session-storage-events.service.mjs +1 -1
- package/esm2022/lib/util/http/http-params.builder.mjs +1 -1
- package/esm2022/lib/util/i18n/de.mjs +1 -2
- package/esm2022/lib/util/i18n/en.mjs +1 -2
- package/esm2022/lib/util/i18n/fr.mjs +1 -2
- package/esm2022/lib/util/i18n/multi-translate-http-loader.mjs +1 -1
- package/esm2022/lib/util/interfaces/permissions.interface.mjs +1 -1
- package/esm2022/lib/util/models/any-line.model.mjs +1 -1
- package/esm2022/lib/util/models/audio-content.model.mjs +1 -1
- package/esm2022/lib/util/models/authPermission.model.mjs +1 -1
- package/esm2022/lib/util/models/authUser.model.mjs +1 -1
- package/esm2022/lib/util/models/basic.model.mjs +1 -1
- package/esm2022/lib/util/models/box-set-item.model.mjs +1 -1
- package/esm2022/lib/util/models/commercial/deal-rapid-search-model.mjs +1 -1
- package/esm2022/lib/util/models/commercial/invoice-rapid-search-model.mjs +1 -1
- package/esm2022/lib/util/models/commercial/work-record-rapid-search-model.mjs +1 -1
- package/esm2022/lib/util/models/disc-program.model.mjs +1 -1
- package/esm2022/lib/util/models/disc.model.mjs +1 -1
- package/esm2022/lib/util/models/eventType.model.mjs +1 -1
- package/esm2022/lib/util/models/expenditure-commitment/purchase-order-file.model.mjs +1 -1
- package/esm2022/lib/util/models/expenditure-commitment/purchase-order-rapid-search.model.mjs +1 -1
- package/esm2022/lib/util/models/family.model.mjs +1 -1
- package/esm2022/lib/util/models/index.mjs +5 -6
- package/esm2022/lib/util/models/lang-line.model.mjs +1 -1
- package/esm2022/lib/util/models/legal/contract-rapid-search-model.mjs +1 -1
- package/esm2022/lib/util/models/legal/contract-work.model.mjs +1 -1
- package/esm2022/lib/util/models/legal/contract-work2.model.mjs +1 -1
- package/esm2022/lib/util/models/legal/type-status-rapid-search.model.mjs +1 -1
- package/esm2022/lib/util/models/link-routing-module.model.mjs +1 -1
- package/esm2022/lib/util/models/media-line.model.mjs +1 -1
- package/esm2022/lib/util/models/menu-language.model.mjs +1 -1
- package/esm2022/lib/util/models/permission.model.mjs +1 -1
- package/esm2022/lib/util/models/product-box-set.model.mjs +1 -1
- package/esm2022/lib/util/models/product-disc-detail.model.mjs +1 -1
- package/esm2022/lib/util/models/product-disc.model.mjs +1 -1
- package/esm2022/lib/util/models/product-division.model.mjs +1 -1
- package/esm2022/lib/util/models/product-type.model.mjs +1 -1
- package/esm2022/lib/util/models/product.model.mjs +1 -1
- package/esm2022/lib/util/models/program.model.mjs +1 -1
- package/esm2022/lib/util/models/purchase-order/purchase-order.model.mjs +1 -1
- package/esm2022/lib/util/models/rapid-search-all-document.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/WorkVersionArticleDto.mjs +1 -1
- package/esm2022/lib/util/models/referential/adress-type.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/adress.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/attached-file.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/bank-account.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/bank-accounts.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/basic-hierarchy.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/broadcast-list-item.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/color.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/company.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/content-type.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/content.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/cost-center-criteria-values.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/cost-center-criteria.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/cost-center.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/coutry.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/currency.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/editorial-content.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/fixing.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/flat-media.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/format-image.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/format-type.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/format.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/fsk-index.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/fsk.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/function.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/genre.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/invoice-product-type.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/keywords.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/language.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/media-filter.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/media.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/module.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/parameter.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/participant.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/person.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/project-status.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/quota.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/referential-entity-state.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/referential-value.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/referentiel.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/restriction.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/sap-order.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/service-error.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/sound.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/territories-languages.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/territory-filter.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/territory.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/theme.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/third-party-address-rapid-search.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/third-party-creation-request.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/third-party-module.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/third-party-rapid-search.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/third-party.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/translated-value-model.mjs +1 -1
- package/esm2022/lib/util/models/referential/tva.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/type-export.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/type-tva-company-territory.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/type-tva.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/user-form.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/work-addons-model.mjs +1 -1
- package/esm2022/lib/util/models/referential/work-appartenance.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/work-genre.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/work-language.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/work-milo.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/work-participant.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/work-restrictions-model.mjs +1 -1
- package/esm2022/lib/util/models/referential/work-theme.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/work-title.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/work-version-origin.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/work-version-rapid-search.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/work-versions-used.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/work-versions.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/work-year-production.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/work.model.mjs +1 -1
- package/esm2022/lib/util/models/referential/zone.model.mjs +1 -1
- package/esm2022/lib/util/models/referentiel.model.mjs +1 -1
- package/esm2022/lib/util/models/royalty/royalty-contract-rapid-search.model.mjs +1 -1
- package/esm2022/lib/util/models/royalty/royalty-count-rapid-search.model.mjs +1 -1
- package/esm2022/lib/util/models/royalty/royalty-invoice-rapid-search.model.mjs +1 -1
- package/esm2022/lib/util/models/search-response.model.mjs +1 -1
- package/esm2022/lib/util/models/section.model.mjs +1 -1
- package/esm2022/lib/util/models/select/options.model.mjs +1 -1
- package/esm2022/lib/util/models/select/select.model.mjs +1 -1
- package/esm2022/lib/util/models/subsidiary.model.mjs +1 -1
- package/esm2022/lib/util/models/subtitle-content.model.mjs +1 -1
- package/esm2022/lib/util/models/user-video.model.mjs +1 -1
- package/esm2022/lib/util/models/user.model.mjs +1 -1
- package/esm2022/lib/util/models/video/product-rapid-search.model.mjs +1 -1
- package/esm2022/lib/util/models/video/support-rapid-search.model.mjs +1 -1
- package/esm2022/lib/util/models/video-content.model.mjs +1 -1
- package/esm2022/lib/util/number.validator.mjs +1 -1
- package/esm2022/lib/util/paginator/custom-paginator-configuration.mjs +1 -1
- package/esm2022/lib/util/permissions/permissions.service.mjs +1 -1
- package/esm2022/lib/util/pipes/capitalizefirst.pipe.mjs +1 -1
- package/esm2022/lib/util/pipes/comma-separated-number.pipe.mjs +1 -1
- package/esm2022/lib/util/pipes/common-translate.pipe.mjs +1 -1
- package/esm2022/lib/util/pipes/display-html.pipe.mjs +1 -1
- package/esm2022/lib/util/pipes/display-null.pipe.mjs +1 -1
- package/esm2022/lib/util/pipes/format-currency.pipe.mjs +1 -1
- package/esm2022/lib/util/pipes/format-duration.pipe.mjs +1 -1
- package/esm2022/lib/util/pipes/format-number-input.pipe.mjs +1 -1
- package/esm2022/lib/util/pipes/local-date.pipe.mjs +1 -1
- package/esm2022/lib/util/pipes/my-number.pipe.mjs +1 -1
- package/esm2022/lib/util/pipes/third-party-address-search.pipe.mjs +1 -1
- package/esm2022/lib/util/pipes/third-party-address.pipe.mjs +1 -1
- package/esm2022/lib/util/pipes/trim-string.pipe.mjs +1 -1
- package/esm2022/lib/util/regex/regex.service.mjs +1 -1
- package/esm2022/lib/util/services/api/commercial-api.service.mjs +1 -1
- package/esm2022/lib/util/services/api/common-api.service.mjs +1 -1
- package/esm2022/lib/util/services/api/legal-api.service.mjs +1 -1
- package/esm2022/lib/util/services/api/video-api.service.mjs +1 -1
- package/esm2022/lib/util/services/auth/auth.service.mjs +1 -1
- package/esm2022/lib/util/services/elasticsearch/elasticsearch.service.mjs +1 -1
- package/esm2022/lib/util/services/elasticsearch/subsidiaries.service.mjs +1 -1
- package/esm2022/lib/util/services/form-action/form-actions-events.service.mjs +1 -1
- package/esm2022/lib/util/services/guard/auth.guard.mjs +1 -1
- package/esm2022/lib/util/services/guard/login.guard.mjs +1 -1
- package/esm2022/lib/util/services/history/history.service.mjs +1 -1
- package/esm2022/lib/util/services/interceptor/auth.interceptor.mjs +1 -1
- package/esm2022/lib/util/services/jwt-security/aes.service.mjs +1 -1
- package/esm2022/lib/util/services/jwt-security/interceptorhttp.service.mjs +1 -1
- package/esm2022/lib/util/services/jwt-security/jwt.helpher.mjs +1 -1
- package/esm2022/lib/util/services/storage/local-storage.service.mjs +2 -2
- package/esm2022/lib/util/services/storage/session-storage.service.mjs +1 -1
- package/esm2022/lib/util/services/translate-language/lang.service.mjs +1 -1
- package/esm2022/lib/util/services/user/user-subsidiary.service.mjs +1 -1
- package/esm2022/lib/util/sort.mjs +1 -1
- package/esm2022/lib/util/theme/theme-event.service.mjs +1 -1
- package/esm2022/lib/util/toaster/toaster-events.service.mjs +1 -1
- package/esm2022/lib/util/util.module.mjs +5 -11
- package/esm2022/public-api.mjs +1 -2
- package/fesm2022/new-front-common-library.mjs +64 -222
- package/fesm2022/new-front-common-library.mjs.map +1 -1
- package/lib/util/i18n/de.d.ts +0 -1
- package/lib/util/i18n/en.d.ts +0 -1
- package/lib/util/i18n/fr.d.ts +0 -1
- package/lib/util/models/index.d.ts +4 -5
- package/lib/util/services/auth/auth.service.d.ts +1 -1
- package/lib/util/util.module.d.ts +17 -18
- package/package.json +8 -8
- package/public-api.d.ts +0 -1
- package/esm2022/lib/util/component/notification/notification-bar.component.mjs +0 -36
- package/esm2022/lib/util/models/notification.model.mjs +0 -3
- package/esm2022/lib/util/services/api/notification-api.service.mjs +0 -26
- package/esm2022/lib/util/services/notification/notification.service.mjs +0 -106
- package/lib/util/component/notification/notification-bar.component.d.ts +0 -14
- package/lib/util/models/notification.model.d.ts +0 -14
- package/lib/util/services/api/notification-api.service.d.ts +0 -14
- package/lib/util/services/notification/notification.service.d.ts +0 -28
package/lib/util/i18n/de.d.ts
CHANGED
|
@@ -2,7 +2,6 @@ export declare const de: {
|
|
|
2
2
|
'COMMON.HEADER.MENU.DASHBOARD': string;
|
|
3
3
|
'COMMON.HEADER.MENU.USER.SECTION_TITLE': string;
|
|
4
4
|
'COMMON.HEADER.MENU.USER.SETTINGS': string;
|
|
5
|
-
'COMMON.HEADER.MENU.USER.NOTIFICATIONS': string;
|
|
6
5
|
'COMMON.HEADER.MENU.REFERENTIAL.SUPPORT': string;
|
|
7
6
|
'COMMON.HEADER.MENU.REFERENTIAL.BATCH': string;
|
|
8
7
|
'COMMON.HEADER.MENU.TV-DATA': string;
|
package/lib/util/i18n/en.d.ts
CHANGED
|
@@ -2,7 +2,6 @@ export declare const en: {
|
|
|
2
2
|
'COMMON.HEADER.MENU.DASHBOARD': string;
|
|
3
3
|
'COMMON.HEADER.MENU.USER.SECTION_TITLE': string;
|
|
4
4
|
'COMMON.HEADER.MENU.USER.SETTINGS': string;
|
|
5
|
-
'COMMON.HEADER.MENU.USER.NOTIFICATIONS': string;
|
|
6
5
|
'COMMON.HEADER.MENU.REFERENTIAL.SUPPORT': string;
|
|
7
6
|
'COMMON.HEADER.MENU.REFERENTIAL.BATCH': string;
|
|
8
7
|
'COMMON.HEADER.MENU.TV-DATA': string;
|
package/lib/util/i18n/fr.d.ts
CHANGED
|
@@ -2,7 +2,6 @@ export declare const fr: {
|
|
|
2
2
|
'COMMON.HEADER.MENU.DASHBOARD': string;
|
|
3
3
|
'COMMON.HEADER.MENU.USER.SECTION_TITLE': string;
|
|
4
4
|
'COMMON.HEADER.MENU.USER.SETTINGS': string;
|
|
5
|
-
'COMMON.HEADER.MENU.USER.NOTIFICATIONS': string;
|
|
6
5
|
'COMMON.HEADER.MENU.REFERENTIAL.SUPPORT': string;
|
|
7
6
|
'COMMON.HEADER.MENU.REFERENTIAL.BATCH': string;
|
|
8
7
|
'COMMON.HEADER.MENU.TV-DATA': string;
|
|
@@ -94,8 +94,7 @@ export * from './user.model';
|
|
|
94
94
|
export * from './legal/contract-work.model';
|
|
95
95
|
export * from './legal/contract-work2.model';
|
|
96
96
|
export * from './../services/form-action/form-actions-events.service';
|
|
97
|
-
export * from '
|
|
98
|
-
export * from '
|
|
99
|
-
export * from '
|
|
100
|
-
export * from '
|
|
101
|
-
export * from './notification.model';
|
|
97
|
+
export * from './../models/permission.model';
|
|
98
|
+
export * from './../models/section.model';
|
|
99
|
+
export * from './../models/subsidiary.model';
|
|
100
|
+
export * from './../models/family.model';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export declare class AuthService {
|
|
4
|
-
private
|
|
4
|
+
private isAuthenticatedSubject;
|
|
5
5
|
isAuthenticated$: Observable<boolean>;
|
|
6
6
|
setAuthenticated(isAuthenticated: boolean): void;
|
|
7
7
|
static ɵfac: i0.ɵɵFactoryDeclaration<AuthService, never>;
|
|
@@ -35,29 +35,28 @@ import * as i31 from "./component/header/settings/settings.component";
|
|
|
35
35
|
import * as i32 from "./component/header/advanced-search/royalty-contract-rapid-search/royalty-contract-rapid-search.component";
|
|
36
36
|
import * as i33 from "./component/header/advanced-search/royalty-invoice-rapid-search/royalty-invoice-rapid-search.component";
|
|
37
37
|
import * as i34 from "./component/header/advanced-search/royalty-count-rapid-search/royalty-count-rapid-search.component";
|
|
38
|
-
import * as i35 from "
|
|
39
|
-
import * as i36 from "@angular/material/
|
|
40
|
-
import * as i37 from "@angular/material/
|
|
41
|
-
import * as i38 from "@angular/material/
|
|
42
|
-
import * as i39 from "@angular/material/
|
|
43
|
-
import * as i40 from "@angular/
|
|
44
|
-
import * as i41 from "@
|
|
45
|
-
import * as i42 from "@
|
|
46
|
-
import * as i43 from "@angular/material/
|
|
47
|
-
import * as i44 from "
|
|
48
|
-
import * as i45 from "
|
|
49
|
-
import * as i46 from "@angular/
|
|
50
|
-
import * as i47 from "@angular/
|
|
51
|
-
import * as i48 from "@angular/
|
|
52
|
-
import * as i49 from "@angular/material/
|
|
53
|
-
import * as i50 from "@angular/material/
|
|
54
|
-
import * as i51 from "@angular/material/autocomplete";
|
|
38
|
+
import * as i35 from "@angular/material/input";
|
|
39
|
+
import * as i36 from "@angular/material/tooltip";
|
|
40
|
+
import * as i37 from "@angular/material/button";
|
|
41
|
+
import * as i38 from "@angular/material/toolbar";
|
|
42
|
+
import * as i39 from "@angular/material/form-field";
|
|
43
|
+
import * as i40 from "@angular/common";
|
|
44
|
+
import * as i41 from "@ngx-translate/core";
|
|
45
|
+
import * as i42 from "@angular/material/card";
|
|
46
|
+
import * as i43 from "@angular/material/dialog";
|
|
47
|
+
import * as i44 from "ngx-permissions";
|
|
48
|
+
import * as i45 from "@angular/material/progress-spinner";
|
|
49
|
+
import * as i46 from "@angular/router";
|
|
50
|
+
import * as i47 from "@angular/forms";
|
|
51
|
+
import * as i48 from "@angular/material/icon";
|
|
52
|
+
import * as i49 from "@angular/material/menu";
|
|
53
|
+
import * as i50 from "@angular/material/autocomplete";
|
|
55
54
|
export declare class UtilModule {
|
|
56
55
|
private readonly langService;
|
|
57
56
|
constructor();
|
|
58
57
|
static forRoot(config?: Config): ModuleWithProviders<UtilModule>;
|
|
59
58
|
static forChild(config?: Config): ModuleWithProviders<UtilModule>;
|
|
60
59
|
static ɵfac: i0.ɵɵFactoryDeclaration<UtilModule, never>;
|
|
61
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<UtilModule, [typeof i1.MyNumberFormatterDirective, typeof i2.CapitalizefirstPipe, typeof i3.SpacesNumberPipe, typeof i4.SanitizeHtml, typeof i5.DisplayNullPipe, typeof i6.FormatNumberInput, typeof i7.LocalDatePipe, typeof i8.MyNumberPipe, typeof i9.TrimStringPipe, typeof i10.CommonTranslatePipe, typeof i11.ThirdPartyAddressPipe, typeof i12.ThirdPartyAddressSearchPipe, typeof i13.FormatDurationPipe, typeof i14.MyDialogPopupLoginComponent, typeof i15.OverlayComponent, typeof i16.HeaderComponent, typeof i17.SubHeaderComponent, typeof i18.ShowIfTruncatedDirective, typeof i19.FormatCurrencyPipe, typeof i20.MenuComponent, typeof i21.PurchaseOrderRapidSearchComponent, typeof i22.ProductRapidSearchComponent, typeof i23.WorkVersionRapidSearchComponent, typeof i24.DealRapidSearchComponent, typeof i25.WorkRecordRapidSearchComponent, typeof i26.ThirdPartyRapidSearchComponent, typeof i27.ContractRapidSearchComponent, typeof i28.InvoiceRapidSearchComponent, typeof i29.AdvancedSearchComponent, typeof i30.HistoryComponent, typeof i31.SettingsComponent, typeof i32.RoyaltyContractRapidSearchComponent, typeof i33.RoyaltyInvoiceRapidSearchComponent, typeof i34.RoyaltyCountRapidSearchComponent
|
|
60
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<UtilModule, [typeof i1.MyNumberFormatterDirective, typeof i2.CapitalizefirstPipe, typeof i3.SpacesNumberPipe, typeof i4.SanitizeHtml, typeof i5.DisplayNullPipe, typeof i6.FormatNumberInput, typeof i7.LocalDatePipe, typeof i8.MyNumberPipe, typeof i9.TrimStringPipe, typeof i10.CommonTranslatePipe, typeof i11.ThirdPartyAddressPipe, typeof i12.ThirdPartyAddressSearchPipe, typeof i13.FormatDurationPipe, typeof i14.MyDialogPopupLoginComponent, typeof i15.OverlayComponent, typeof i16.HeaderComponent, typeof i17.SubHeaderComponent, typeof i18.ShowIfTruncatedDirective, typeof i19.FormatCurrencyPipe, typeof i20.MenuComponent, typeof i21.PurchaseOrderRapidSearchComponent, typeof i22.ProductRapidSearchComponent, typeof i23.WorkVersionRapidSearchComponent, typeof i24.DealRapidSearchComponent, typeof i25.WorkRecordRapidSearchComponent, typeof i26.ThirdPartyRapidSearchComponent, typeof i27.ContractRapidSearchComponent, typeof i28.InvoiceRapidSearchComponent, typeof i29.AdvancedSearchComponent, typeof i30.HistoryComponent, typeof i31.SettingsComponent, typeof i32.RoyaltyContractRapidSearchComponent, typeof i33.RoyaltyInvoiceRapidSearchComponent, typeof i34.RoyaltyCountRapidSearchComponent], [typeof i35.MatInputModule, typeof i36.MatTooltipModule, typeof i37.MatButtonModule, typeof i38.MatToolbarModule, typeof i39.MatFormFieldModule, typeof i40.CommonModule, typeof i41.TranslateModule, typeof i42.MatCardModule, typeof i43.MatDialogModule, typeof i44.NgxPermissionsModule, typeof i45.MatProgressSpinnerModule, typeof i46.RouterModule, typeof i47.ReactiveFormsModule, typeof i47.FormsModule, typeof i48.MatIconModule, typeof i49.MatMenuModule, typeof i50.MatAutocompleteModule, typeof i40.NgOptimizedImage], [typeof i1.MyNumberFormatterDirective, typeof i2.CapitalizefirstPipe, typeof i3.SpacesNumberPipe, typeof i4.SanitizeHtml, typeof i5.DisplayNullPipe, typeof i6.FormatNumberInput, typeof i7.LocalDatePipe, typeof i8.MyNumberPipe, typeof i19.FormatCurrencyPipe, typeof i13.FormatDurationPipe, typeof i9.TrimStringPipe, typeof i11.ThirdPartyAddressPipe, typeof i16.HeaderComponent, typeof i15.OverlayComponent, typeof i17.SubHeaderComponent, typeof i18.ShowIfTruncatedDirective, typeof i10.CommonTranslatePipe]>;
|
|
62
61
|
static ɵinj: i0.ɵɵInjectorDeclaration<UtilModule>;
|
|
63
62
|
}
|
package/package.json
CHANGED
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "new-front-common-library",
|
|
3
|
-
"version": "18.0.2
|
|
4
|
-
"
|
|
5
|
-
"@
|
|
6
|
-
"@
|
|
7
|
-
"sockjs-client": "^1.6.1",
|
|
3
|
+
"version": "18.0.2",
|
|
4
|
+
"Dependencies": {
|
|
5
|
+
"@angular/common": "18.2.10",
|
|
6
|
+
"@angular/core": "18.2.10",
|
|
8
7
|
"tslib": "^2.6.2"
|
|
9
8
|
},
|
|
10
9
|
"peerDependencies": {
|
|
11
10
|
"@angular/cdk": "18.2.10",
|
|
12
|
-
"@angular/common": "18.2.10",
|
|
13
|
-
"@angular/core": "18.2.10",
|
|
14
11
|
"@angular/material": "18.2.10",
|
|
15
12
|
"@ngx-translate/core": "^15.0.0",
|
|
16
13
|
"@ngx-translate/http-loader": "8.0.0",
|
|
@@ -31,5 +28,8 @@
|
|
|
31
28
|
"default": "./fesm2022/new-front-common-library.mjs"
|
|
32
29
|
}
|
|
33
30
|
},
|
|
34
|
-
"sideEffects": false
|
|
31
|
+
"sideEffects": false,
|
|
32
|
+
"dependencies": {
|
|
33
|
+
"tslib": "^2.3.0"
|
|
34
|
+
}
|
|
35
35
|
}
|
package/public-api.d.ts
CHANGED
|
@@ -54,4 +54,3 @@ export * from './lib/util/toaster/toaster-events.service';
|
|
|
54
54
|
export * from './lib/util/event/header/header-events.service';
|
|
55
55
|
export * from './lib/util/directives/show-if-truncated.directive';
|
|
56
56
|
export * from './lib/util/i18n/multi-translate-http-loader';
|
|
57
|
-
export * from './lib/util/services/notification/notification.service';
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { Component, inject, input } from '@angular/core';
|
|
2
|
-
import { Subscription } from 'rxjs';
|
|
3
|
-
import { NotificationService } from '../../services/notification/notification.service';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/common";
|
|
6
|
-
import * as i2 from "@angular/material/icon";
|
|
7
|
-
export class NotificationBarComponent {
|
|
8
|
-
constructor() {
|
|
9
|
-
this.lang = input();
|
|
10
|
-
this.notifications = [];
|
|
11
|
-
this.subs = new Subscription();
|
|
12
|
-
this.notificationService = inject(NotificationService);
|
|
13
|
-
}
|
|
14
|
-
ngOnInit() {
|
|
15
|
-
this.subs.add(this.notificationService.notifications$.subscribe(notification => {
|
|
16
|
-
if (notification && !this.notifications.some(otherNotification => otherNotification.id === notification.id)) {
|
|
17
|
-
this.notifications.push(notification);
|
|
18
|
-
}
|
|
19
|
-
}));
|
|
20
|
-
}
|
|
21
|
-
ngOnDestroy() {
|
|
22
|
-
this.subs.unsubscribe();
|
|
23
|
-
}
|
|
24
|
-
ackNotification(notification) {
|
|
25
|
-
this.notificationService.ackNotification(notification);
|
|
26
|
-
let index = this.notifications.indexOf(notification);
|
|
27
|
-
this.notifications.splice(index, 1);
|
|
28
|
-
}
|
|
29
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: NotificationBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.10", type: NotificationBarComponent, selector: "notification-bar", inputs: { lang: { classPropertyName: "lang", publicName: "lang", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"notification-bar-wrapper\">\n <div *ngFor=\"let notification of notifications\"\n [ngClass]=\"'notification-bar notification-bar-' + notification.classification\">\n <div class=\"notification-bar-message\">\n <mat-icon class=\"material-icons-outlined mat-icon-small\">\n <ng-container *ngIf=\"notification.classification === 'INFO'\">info</ng-container>\n <ng-container *ngIf=\"notification.classification === 'FEAT'\">rocket_launch</ng-container>\n <ng-container *ngIf=\"notification.classification === 'MAINT'\">warning_amber</ng-container>\n </mat-icon>\n <span>{{ lang() === 'fr' ? notification.messageFr : notification.messageEn }}</span>\n </div>\n <button class=\"notification-close-button\" (click)=\"ackNotification(notification)\">\n <mat-icon class=\"material-icons-outlined mat-icon-small\">close</mat-icon>\n </button>\n </div>\n</div>\n", styles: [":host{position:relative}.notification-bar-wrapper{display:block;left:0;overflow:hidden;right:0;width:100%}.notification-bar-wrapper *{box-sizing:border-box;margin:0;padding:0}.notification-bar-wrapper .notification-bar{border:1px solid;border-radius:5px;align-items:center;display:inline-flex;margin:0 auto;padding:3px;position:relative;font-size:14px;color:#fff;width:100%}.notification-bar-wrapper .notification-bar .notification-close-button{background:transparent;cursor:pointer;border:0;border-radius:0;color:#fff;transition:all .25s ease}.notification-bar-wrapper .notification-bar .notification-bar-message{display:flex;width:100%;margin:auto;gap:10px}.notification-bar-wrapper .notification-bar.notification-bar-INFO{background-color:#03a9f5}.notification-bar-wrapper .notification-bar.notification-bar-FEAT{background-color:#37b400}.notification-bar-wrapper .notification-bar.notification-bar-MAINT{background-color:#ff6358}.notification-bar-wrapper .mat-icon-small{height:18px;width:18px;min-width:18px;font-size:18px;color:#fff!important;margin-right:0!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
|
31
|
-
}
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: NotificationBarComponent, decorators: [{
|
|
33
|
-
type: Component,
|
|
34
|
-
args: [{ selector: 'notification-bar', template: "<div class=\"notification-bar-wrapper\">\n <div *ngFor=\"let notification of notifications\"\n [ngClass]=\"'notification-bar notification-bar-' + notification.classification\">\n <div class=\"notification-bar-message\">\n <mat-icon class=\"material-icons-outlined mat-icon-small\">\n <ng-container *ngIf=\"notification.classification === 'INFO'\">info</ng-container>\n <ng-container *ngIf=\"notification.classification === 'FEAT'\">rocket_launch</ng-container>\n <ng-container *ngIf=\"notification.classification === 'MAINT'\">warning_amber</ng-container>\n </mat-icon>\n <span>{{ lang() === 'fr' ? notification.messageFr : notification.messageEn }}</span>\n </div>\n <button class=\"notification-close-button\" (click)=\"ackNotification(notification)\">\n <mat-icon class=\"material-icons-outlined mat-icon-small\">close</mat-icon>\n </button>\n </div>\n</div>\n", styles: [":host{position:relative}.notification-bar-wrapper{display:block;left:0;overflow:hidden;right:0;width:100%}.notification-bar-wrapper *{box-sizing:border-box;margin:0;padding:0}.notification-bar-wrapper .notification-bar{border:1px solid;border-radius:5px;align-items:center;display:inline-flex;margin:0 auto;padding:3px;position:relative;font-size:14px;color:#fff;width:100%}.notification-bar-wrapper .notification-bar .notification-close-button{background:transparent;cursor:pointer;border:0;border-radius:0;color:#fff;transition:all .25s ease}.notification-bar-wrapper .notification-bar .notification-bar-message{display:flex;width:100%;margin:auto;gap:10px}.notification-bar-wrapper .notification-bar.notification-bar-INFO{background-color:#03a9f5}.notification-bar-wrapper .notification-bar.notification-bar-FEAT{background-color:#37b400}.notification-bar-wrapper .notification-bar.notification-bar-MAINT{background-color:#ff6358}.notification-bar-wrapper .mat-icon-small{height:18px;width:18px;min-width:18px;font-size:18px;color:#fff!important;margin-right:0!important}\n"] }]
|
|
35
|
-
}] });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXctZnJvbnQtY29tbW9uLWxpYnJhcnkvc3JjL2xpYi91dGlsL2NvbXBvbmVudC9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXctZnJvbnQtY29tbW9uLWxpYnJhcnkvc3JjL2xpYi91dGlsL2NvbXBvbmVudC9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWtDLE1BQU0sZUFBZSxDQUFDO0FBRXpGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0RBQWtELENBQUM7Ozs7QUFRdkYsTUFBTSxPQUFPLHdCQUF3QjtJQUxyQztRQU1FLFNBQUksR0FBd0IsS0FBSyxFQUFVLENBQUM7UUFFckMsa0JBQWEsR0FBd0IsRUFBRSxDQUFDO1FBRTlCLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTFCLHdCQUFtQixHQUF3QixNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztLQW1CekY7SUFqQkMsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQzdFLElBQUksWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsS0FBSyxZQUFZLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDNUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDeEMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLGVBQWUsQ0FBQyxZQUErQjtRQUNwRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3ZELElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN0QyxDQUFDOytHQXpCVSx3QkFBd0I7bUdBQXhCLHdCQUF3Qix5TENYckMsODVCQWdCQTs7NEZETGEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCwgSW5wdXRTaWduYWwsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25vdGlmaWNhdGlvbi1iYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbm90aWZpY2F0aW9uLWJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWyAnLi9ub3RpZmljYXRpb24tYmFyLmNvbXBvbmVudC5zY3NzJyBdXG59KVxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbkJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgbGFuZzogSW5wdXRTaWduYWw8c3RyaW5nPiA9IGlucHV0PHN0cmluZz4oKTtcblxuICBwdWJsaWMgbm90aWZpY2F0aW9uczogTm90aWZpY2F0aW9uTW9kZWxbXSA9IFtdO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc3VicyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IG5vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2UgPSBpbmplY3QoTm90aWZpY2F0aW9uU2VydmljZSk7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzLmFkZCh0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uubm90aWZpY2F0aW9ucyQuc3Vic2NyaWJlKG5vdGlmaWNhdGlvbiA9PiB7XG4gICAgICBpZiAobm90aWZpY2F0aW9uICYmICF0aGlzLm5vdGlmaWNhdGlvbnMuc29tZShvdGhlck5vdGlmaWNhdGlvbiA9PiBvdGhlck5vdGlmaWNhdGlvbi5pZCA9PT0gbm90aWZpY2F0aW9uLmlkKSkge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbnMucHVzaChub3RpZmljYXRpb24pO1xuICAgICAgfVxuICAgIH0pKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vicy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIGFja05vdGlmaWNhdGlvbihub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbk1vZGVsKTogdm9pZCB7XG4gICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmFja05vdGlmaWNhdGlvbihub3RpZmljYXRpb24pO1xuICAgIGxldCBpbmRleCA9IHRoaXMubm90aWZpY2F0aW9ucy5pbmRleE9mKG5vdGlmaWNhdGlvbik7XG4gICAgdGhpcy5ub3RpZmljYXRpb25zLnNwbGljZShpbmRleCwgMSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJub3RpZmljYXRpb24tYmFyLXdyYXBwZXJcIj5cbiAgPGRpdiAqbmdGb3I9XCJsZXQgbm90aWZpY2F0aW9uIG9mIG5vdGlmaWNhdGlvbnNcIlxuICAgICAgIFtuZ0NsYXNzXT1cIidub3RpZmljYXRpb24tYmFyIG5vdGlmaWNhdGlvbi1iYXItJyArIG5vdGlmaWNhdGlvbi5jbGFzc2lmaWNhdGlvblwiPlxuICAgIDxkaXYgY2xhc3M9XCJub3RpZmljYXRpb24tYmFyLW1lc3NhZ2VcIj5cbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkIG1hdC1pY29uLXNtYWxsXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJub3RpZmljYXRpb24uY2xhc3NpZmljYXRpb24gPT09ICdJTkZPJ1wiPmluZm88L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vdGlmaWNhdGlvbi5jbGFzc2lmaWNhdGlvbiA9PT0gJ0ZFQVQnXCI+cm9ja2V0X2xhdW5jaDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibm90aWZpY2F0aW9uLmNsYXNzaWZpY2F0aW9uID09PSAnTUFJTlQnXCI+d2FybmluZ19hbWJlcjwvbmctY29udGFpbmVyPlxuICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDxzcGFuPnt7IGxhbmcoKSA9PT0gJ2ZyJyA/IG5vdGlmaWNhdGlvbi5tZXNzYWdlRnIgOiBub3RpZmljYXRpb24ubWVzc2FnZUVuIH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxidXR0b24gY2xhc3M9XCJub3RpZmljYXRpb24tY2xvc2UtYnV0dG9uXCIgKGNsaWNrKT1cImFja05vdGlmaWNhdGlvbihub3RpZmljYXRpb24pXCI+XG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZCBtYXQtaWNvbi1zbWFsbFwiPmNsb3NlPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export class NotificationModel {
|
|
2
|
-
}
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV3LWZyb250LWNvbW1vbi1saWJyYXJ5L3NyYy9saWIvdXRpbC9tb2RlbHMvbm90aWZpY2F0aW9uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxpQkFBaUI7Q0FZN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWN0aW9uTW9kZWwgfSBmcm9tICcuL3NlY3Rpb24ubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uTW9kZWwge1xuICBwdWJsaWMgaWQ6IG51bWJlcjtcbiAgcHVibGljIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHB1YmxpYyBjbGFzc2lmaWNhdGlvbjogc3RyaW5nO1xuICBwdWJsaWMgbWVzc2FnZUVuOiBzdHJpbmc7XG4gIHB1YmxpYyBtZXNzYWdlRnI6IHN0cmluZztcbiAgcHVibGljIHRhcmdldFNlY3Rpb25zOiBTZWN0aW9uTW9kZWxbXTtcbiAgcHVibGljIHB1YmxpY2F0aW9uRGF0ZTogRGF0ZTtcbiAgcHVibGljIGV4cGlyYXRpb25EYXRlOiBEYXRlO1xuICBwdWJsaWMgcHVibGlzaGVkOiBib29sZWFuO1xuICBwdWJsaWMgY3JlYXRlZEJ5OiBzdHJpbmc7XG4gIHB1YmxpYyBjcmVhdGVkRGF0ZTogRGF0ZTtcbn1cbiJdfQ==
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable } from '@angular/core';
|
|
2
|
-
import { WEB_CONFIG } from '../../config';
|
|
3
|
-
import { catchError } from 'rxjs/operators';
|
|
4
|
-
import { CommonApiService } from './common-api.service';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common/http";
|
|
7
|
-
export class NotificationApiService {
|
|
8
|
-
constructor(config, http) {
|
|
9
|
-
this.config = config;
|
|
10
|
-
this.http = http;
|
|
11
|
-
this.apiUrl = this.config.api_url + '/authorization-api/';
|
|
12
|
-
}
|
|
13
|
-
getLiveNotifications() {
|
|
14
|
-
return this.http.get(this.apiUrl + `notifications/live`)
|
|
15
|
-
.pipe(catchError(CommonApiService.handleError));
|
|
16
|
-
}
|
|
17
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: NotificationApiService, deps: [{ token: WEB_CONFIG }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
18
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: NotificationApiService }); }
|
|
19
|
-
}
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: NotificationApiService, decorators: [{
|
|
21
|
-
type: Injectable
|
|
22
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
23
|
-
type: Inject,
|
|
24
|
-
args: [WEB_CONFIG]
|
|
25
|
-
}] }, { type: i1.HttpClient }] });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV3LWZyb250LWNvbW1vbi1saWJyYXJ5L3NyYy9saWIvdXRpbC9zZXJ2aWNlcy9hcGkvbm90aWZpY2F0aW9uLWFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBVSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFHeEQsTUFBTSxPQUFPLHNCQUFzQjtJQUdqQyxZQUFpRCxNQUFjLEVBQ2xDLElBQWdCO1FBREksV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNsQyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBSHRDLFdBQU0sR0FBVyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxxQkFBcUIsQ0FBQztJQUlwRSxDQUFDO0lBRU0sb0JBQW9CO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQXNCLElBQUksQ0FBQyxNQUFNLEdBQUcsb0JBQW9CLENBQUM7YUFDMUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7K0dBVlUsc0JBQXNCLGtCQUdiLFVBQVU7bUhBSG5CLHNCQUFzQjs7NEZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVTs7MEJBSUksTUFBTTsyQkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25maWcsIFdFQl9DT05GSUcgfSBmcm9tICcuLi8uLi9jb25maWcnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvbm90aWZpY2F0aW9uLm1vZGVsJztcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ29tbW9uQXBpU2VydmljZSB9IGZyb20gJy4vY29tbW9uLWFwaS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbkFwaVNlcnZpY2Uge1xuICBwdWJsaWMgYXBpVXJsOiBzdHJpbmcgPSB0aGlzLmNvbmZpZy5hcGlfdXJsICsgJy9hdXRob3JpemF0aW9uLWFwaS8nO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoV0VCX0NPTkZJRykgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IENvbmZpZyxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwQ2xpZW50KSB7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGl2ZU5vdGlmaWNhdGlvbnMoKTogT2JzZXJ2YWJsZTxOb3RpZmljYXRpb25Nb2RlbFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8Tm90aWZpY2F0aW9uTW9kZWxbXT4odGhpcy5hcGlVcmwgKyBgbm90aWZpY2F0aW9ucy9saXZlYClcbiAgICAgIC5waXBlKGNhdGNoRXJyb3IoQ29tbW9uQXBpU2VydmljZS5oYW5kbGVFcnJvcikpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { Inject, Injectable } from '@angular/core';
|
|
3
|
-
import { Client } from '@stomp/stompjs';
|
|
4
|
-
import { BehaviorSubject } from 'rxjs';
|
|
5
|
-
import SockJS from 'sockjs-client';
|
|
6
|
-
import { User } from '../../decorators/user.decorator';
|
|
7
|
-
import { WEB_CONFIG } from '../../config';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "../api/notification-api.service";
|
|
10
|
-
import * as i2 from "../storage/local-storage.service";
|
|
11
|
-
import * as i3 from "../auth/auth.service";
|
|
12
|
-
export const NOTIFICATION_WEBSOCKET_URL = '/authorization-api/ws';
|
|
13
|
-
export const NOTIFICATION_TOPIC = '/topic/notification';
|
|
14
|
-
export const ACKED_NOTIFICATIONS_LOCAL_STORAGE_KEY = 'ackedNotifications';
|
|
15
|
-
export class NotificationService {
|
|
16
|
-
constructor(config, notificationApiService, localStorage, authService) {
|
|
17
|
-
this.config = config;
|
|
18
|
-
this.notificationApiService = notificationApiService;
|
|
19
|
-
this.localStorage = localStorage;
|
|
20
|
-
this.authService = authService;
|
|
21
|
-
this.stompClient = null;
|
|
22
|
-
this.notificationSubject = new BehaviorSubject(null);
|
|
23
|
-
// Observable for components to subscribe to messages
|
|
24
|
-
this.notifications$ = this.notificationSubject.asObservable();
|
|
25
|
-
// Subject to track the connection status (connected/disconnected)
|
|
26
|
-
this.connectionSubject = new BehaviorSubject(false);
|
|
27
|
-
this.apiUrl = this.config.api_url + NOTIFICATION_WEBSOCKET_URL;
|
|
28
|
-
authService.isAuthenticated$.subscribe(isAuthenticated => {
|
|
29
|
-
if (isAuthenticated) {
|
|
30
|
-
this.fetchLiveNotifications();
|
|
31
|
-
this.subscribeToNotifications();
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
ackNotification(notification) {
|
|
36
|
-
const ackedNotifications = this.localStorage.get(ACKED_NOTIFICATIONS_LOCAL_STORAGE_KEY) ?? [];
|
|
37
|
-
ackedNotifications.push(notification.id);
|
|
38
|
-
this.localStorage.post(ACKED_NOTIFICATIONS_LOCAL_STORAGE_KEY, ackedNotifications);
|
|
39
|
-
}
|
|
40
|
-
fetchLiveNotifications() {
|
|
41
|
-
this.notificationApiService.getLiveNotifications().subscribe(notifications => {
|
|
42
|
-
const liveNotificationIds = notifications.map(notification => notification.id);
|
|
43
|
-
// Clear up any acked notifications that have expired (no longer live)
|
|
44
|
-
let ackedNotifications = this.localStorage.get(ACKED_NOTIFICATIONS_LOCAL_STORAGE_KEY) ?? [];
|
|
45
|
-
ackedNotifications = ackedNotifications.filter(ackedNotificationId => liveNotificationIds.indexOf(ackedNotificationId) >= 0);
|
|
46
|
-
this.localStorage.post(ACKED_NOTIFICATIONS_LOCAL_STORAGE_KEY, ackedNotifications);
|
|
47
|
-
// Handle new notifications
|
|
48
|
-
notifications.filter(notification => notification.published)
|
|
49
|
-
.filter(notification => ackedNotifications.indexOf(notification.id) === -1)
|
|
50
|
-
.forEach(notification => this.handleNotification(notification));
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
subscribeToNotifications() {
|
|
54
|
-
if (this.stompClient) {
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
// Start listening for new notifications
|
|
58
|
-
const socket = new SockJS(this.apiUrl); // Initialize the SockJS WebSocket connection to the server
|
|
59
|
-
// Configure the STOMP client with connection details
|
|
60
|
-
this.stompClient = new Client({
|
|
61
|
-
webSocketFactory: () => socket, // Use SockJS as the WebSocket factory
|
|
62
|
-
reconnectDelay: 5000, // Reconnect delay if connection is lost
|
|
63
|
-
});
|
|
64
|
-
if (!this.stompClient) {
|
|
65
|
-
console.error('Failed to initialize stomp client');
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
// On successful connection
|
|
69
|
-
this.stompClient.onConnect = () => {
|
|
70
|
-
this.connectionSubject.next(true);
|
|
71
|
-
// Register notification callback
|
|
72
|
-
this.stompClient.subscribe(NOTIFICATION_TOPIC, (message) => {
|
|
73
|
-
const notification = JSON.parse(message.body);
|
|
74
|
-
this.handleNotification(notification);
|
|
75
|
-
});
|
|
76
|
-
};
|
|
77
|
-
this.stompClient.onStompError = (frame) => {
|
|
78
|
-
console.error('Broker reported error: ' + frame.headers['message']);
|
|
79
|
-
console.error('Additional details: ' + frame.body);
|
|
80
|
-
};
|
|
81
|
-
console.log('Activating stomp client');
|
|
82
|
-
this.stompClient.activate();
|
|
83
|
-
}
|
|
84
|
-
handleNotification(notification) {
|
|
85
|
-
const targetSectionIds = notification.targetSections.map(section => section.id);
|
|
86
|
-
const userSectionIds = this.user.permissions.map(permission => permission.sectionId);
|
|
87
|
-
if (targetSectionIds.some((targetSectionId) => userSectionIds.includes(targetSectionId))) {
|
|
88
|
-
this.notificationSubject.next(notification);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: NotificationService, deps: [{ token: WEB_CONFIG }, { token: i1.NotificationApiService }, { token: i2.LocalStorageService }, { token: i3.AuthService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
92
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: NotificationService, providedIn: 'root' }); }
|
|
93
|
-
}
|
|
94
|
-
__decorate([
|
|
95
|
-
User()
|
|
96
|
-
], NotificationService.prototype, "user", void 0);
|
|
97
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: NotificationService, decorators: [{
|
|
98
|
-
type: Injectable,
|
|
99
|
-
args: [{
|
|
100
|
-
providedIn: 'root',
|
|
101
|
-
}]
|
|
102
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
103
|
-
type: Inject,
|
|
104
|
-
args: [WEB_CONFIG]
|
|
105
|
-
}] }, { type: i1.NotificationApiService }, { type: i2.LocalStorageService }, { type: i3.AuthService }], propDecorators: { user: [] } });
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXctZnJvbnQtY29tbW9uLWxpYnJhcnkvc3JjL2xpYi91dGlsL3NlcnZpY2VzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBVyxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RCxPQUFPLEVBQVUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7OztBQU1sRCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyx1QkFBdUIsQ0FBQztBQUNsRSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxxQkFBcUIsQ0FBQztBQUN4RCxNQUFNLENBQUMsTUFBTSxxQ0FBcUMsR0FBRyxvQkFBb0IsQ0FBQztBQUsxRSxNQUFNLE9BQU8sbUJBQW1CO0lBYzlCLFlBQWlELE1BQWMsRUFDbEMsc0JBQThDLEVBQzlDLFlBQWlDLEVBQ3pDLFdBQXdCO1FBSEksV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNsQywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUN6QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQWJyQyxnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFFekIsd0JBQW1CLEdBQUcsSUFBSSxlQUFlLENBQW9CLElBQUksQ0FBQyxDQUFDO1FBRXBGLHFEQUFxRDtRQUM5QyxtQkFBYyxHQUFHLElB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QztZQUN6RixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzlDLENBQUM7SUFDSCxDQUFDOytHQTlGVSxtQkFBbUIsa0JBY1YsVUFBVTttSEFkbkIsbUJBQW1CLGNBRmxCLE1BQU07O0FBR0g7SUFBZCxJQUFJLEVBQUU7aURBQXdCOzRGQURwQixtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFlYyxNQUFNOzJCQUFDLFVBQVU7MElBYmYsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2xpZW50LCBNZXNzYWdlIH0gZnJvbSAnQHN0b21wL3N0b21wanMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgU29ja0pTIGZyb20gJ3NvY2tqcy1jbGllbnQnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uLy4uL2RlY29yYXRvcnMvdXNlci5kZWNvcmF0b3InO1xuaW1wb3J0IHsgQ29uZmlnLCBXRUJfQ09ORklHIH0gZnJvbSAnLi4vLi4vY29uZmlnJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbk1vZGVsLCBVc2VyTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uQXBpU2VydmljZSB9IGZyb20gJy4uL2FwaS9ub3RpZmljYXRpb24tYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL3N0b3JhZ2UvbG9jYWwtc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vYXV0aC9hdXRoLnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgTk9USUZJQ0FUSU9OX1dFQlNPQ0tFVF9VUkwgPSAnL2F1dGhvcml6YXRpb24tYXBpL3dzJztcbmV4cG9ydCBjb25zdCBOT1RJRklDQVRJT05fVE9QSUMgPSAnL3RvcGljL25vdGlmaWNhdGlvbic7XG5leHBvcnQgY29uc3QgQUNLRURfTk9USUZJQ0FUSU9OU19MT0NBTF9TVE9SQUdFX0tFWSA9ICdhY2tlZE5vdGlmaWNhdGlvbnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uU2VydmljZSB7XG4gIEBVc2VyKCkgcHVibGljIHVzZXI6IFVzZXJNb2RlbDtcblxuICBwdWJsaWMgYXBpVXJsOiBzdHJpbmc7XG4gIHByaXZhdGUgc3RvbXBDbGllbnQ6IENsaWVudCB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbm90aWZpY2F0aW9uU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Tm90aWZpY2F0aW9uTW9kZWw+KG51bGwpO1xuXG4gIC8vIE9ic2VydmFibGUgZm9yIGNvbXBvbmVudHMgdG8gc3Vic2NyaWJlIHRvIG1lc3NhZ2VzXG4gIHB1YmxpYyBub3RpZmljYXRpb25zJCA9IHRoaXMubm90aWZpY2F0aW9uU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICAvLyBTdWJqZWN0IHRvIHRyYWNrIHRoZSBjb25uZWN0aW9uIHN0YXR1cyAoY29ubmVjdGVkL2Rpc2Nvbm5lY3RlZClcbiAgcHJpdmF0ZSByZWFkb25seSBjb25uZWN0aW9uU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoV0VCX0NPTkZJRykgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IENvbmZpZyxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBub3RpZmljYXRpb25BcGlTZXJ2aWNlOiBOb3RpZmljYXRpb25BcGlTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsU3RvcmFnZTogTG9jYWxTdG9yYWdlU2VydmljZSxcbiAgICAgICAgICAgICAgcmVhZG9ubHkgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlKSB7XG4gICAgdGhpcy5hcGlVcmwgPSB0aGlzLmNvbmZpZy5hcGlfdXJsICsgTk9USUZJQ0FUSU9OX1dFQlNPQ0tFVF9VUkw7XG4gICAgYXV0aFNlcnZpY2UuaXNBdXRoZW50aWNhdGVkJC5zdWJzY3JpYmUoaXNBdXRoZW50aWNhdGVkID0+IHtcbiAgICAgIGlmIChpc0F1dGhlbnRpY2F0ZWQpIHtcbiAgICAgICAgdGhpcy5mZXRjaExpdmVOb3RpZmljYXRpb25zKCk7XG4gICAgICAgIHRoaXMuc3Vic2NyaWJlVG9Ob3RpZmljYXRpb25zKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYWNrTm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uTW9kZWwpOiB2b2lkIHtcbiAgICBjb25zdCBhY2tlZE5vdGlmaWNhdGlvbnM6IG51bWJlcltdID0gdGhpcy5sb2NhbFN0b3JhZ2UuZ2V0KEFDS0VEX05PVElGSUNBVElPTlNfTE9DQUxfU1RPUkFHRV9LRVkpID8/IFtdO1xuICAgIGFja2VkTm90aWZpY2F0aW9ucy5wdXNoKG5vdGlmaWNhdGlvbi5pZCk7XG4gICAgdGhpcy5sb2NhbFN0b3JhZ2UucG9zdChBQ0tFRF9OT1RJRklDQVRJT05TX0xPQ0FMX1NUT1JBR0VfS0VZLCBhY2tlZE5vdGlmaWNhdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBmZXRjaExpdmVOb3RpZmljYXRpb25zKCk6IHZvaWQge1xuICAgIHRoaXMubm90aWZpY2F0aW9uQXBpU2VydmljZS5nZXRMaXZlTm90aWZpY2F0aW9ucygpLnN1YnNjcmliZShub3RpZmljYXRpb25zID0+IHtcbiAgICAgIGNvbnN0IGxpdmVOb3RpZmljYXRpb25JZHMgPSBub3RpZmljYXRpb25zLm1hcChub3RpZmljYXRpb24gPT4gbm90aWZpY2F0aW9uLmlkKTtcblxuICAgICAgLy8gQ2xlYXIgdXAgYW55IGFja2VkIG5vdGlmaWNhdGlvbnMgdGhhdCBoYXZlIGV4cGlyZWQgKG5vIGxvbmdlciBsaXZlKVxuICAgICAgbGV0IGFja2VkTm90aWZpY2F0aW9uczogbnVtYmVyW10gPSB0aGlzLmxvY2FsU3RvcmFnZS5nZXQoQUNLRURfTk9USUZJQ0FUSU9OU19MT0NBTF9TVE9SQUdFX0tFWSkgPz8gW107XG4gICAgICBhY2tlZE5vdGlmaWNhdGlvbnMgPSBhY2tlZE5vdGlmaWNhdGlvbnMuZmlsdGVyKGFja2VkTm90aWZpY2F0aW9uSWQgPT4gbGl2ZU5vdGlmaWNhdGlvbklkcy5pbmRleE9mKGFja2VkTm90aWZpY2F0aW9uSWQpID49IDApXG4gICAgICB0aGlzLmxvY2FsU3RvcmFnZS5wb3N0KEFDS0VEX05PVElGSUNBVElPTlNfTE9DQUxfU1RPUkFHRV9LRVksIGFja2VkTm90aWZpY2F0aW9ucyk7XG5cbiAgICAgIC8vIEhhbmRsZSBuZXcgbm90aWZpY2F0aW9uc1xuICAgICAgbm90aWZpY2F0aW9ucy5maWx0ZXIobm90aWZpY2F0aW9uID0+IG5vdGlmaWNhdGlvbi5wdWJsaXNoZWQpXG4gICAgICAgIC5maWx0ZXIobm90aWZpY2F0aW9uID0+IGFja2VkTm90aWZpY2F0aW9ucy5pbmRleE9mKG5vdGlmaWNhdGlvbi5pZCkgPT09IC0xKVxuICAgICAgICAuZm9yRWFjaChub3RpZmljYXRpb24gPT4gdGhpcy5oYW5kbGVOb3RpZmljYXRpb24obm90aWZpY2F0aW9uKSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZVRvTm90aWZpY2F0aW9ucygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdG9tcENsaWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFN0YXJ0IGxpc3RlbmluZyBmb3IgbmV3IG5vdGlmaWNhdGlvbnNcbiAgICBjb25zdCBzb2NrZXQgPSBuZXcgU29ja0pTKHRoaXMuYXBpVXJsKTsgLy8gSW5pdGlhbGl6ZSB0aGUgU29ja0pTIFdlYlNvY2tldCBjb25uZWN0aW9uIHRvIHRoZSBzZXJ2ZXJcblxuICAgIC8vIENvbmZpZ3VyZSB0aGUgU1RPTVAgY2xpZW50IHdpdGggY29ubmVjdGlvbiBkZXRhaWxzXG4gICAgdGhpcy5zdG9tcENsaWVudCA9IG5ldyBDbGllbnQoe1xuICAgICAgd2ViU29ja2V0RmFjdG9yeTogKCkgPT4gc29ja2V0LCAvLyBVc2UgU29ja0pTIGFzIHRoZSBXZWJTb2NrZXQgZmFjdG9yeVxuICAgICAgcmVjb25uZWN0RGVsYXk6IDUwMDAsIC8vIFJlY29ubmVjdCBkZWxheSBpZiBjb25uZWN0aW9uIGlzIGxvc3RcbiAgICB9KTtcblxuICAgIGlmICghdGhpcy5zdG9tcENsaWVudCkge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGluaXRpYWxpemUgc3RvbXAgY2xpZW50Jyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gT24gc3VjY2Vzc2Z1bCBjb25uZWN0aW9uXG4gICAgdGhpcy5zdG9tcENsaWVudC5vbkNvbm5lY3QgPSAoKSA9PiB7XG4gICAgICB0aGlzLmNvbm5lY3Rpb25TdWJqZWN0Lm5leHQodHJ1ZSk7XG4gICAgICAvLyBSZWdpc3RlciBub3RpZmljYXRpb24gY2FsbGJhY2tcbiAgICAgIHRoaXMuc3RvbXBDbGllbnQuc3Vic2NyaWJlKE5PVElGSUNBVElPTl9UT1BJQywgKG1lc3NhZ2U6IE1lc3NhZ2UpID0+IHtcbiAgICAgICAgY29uc3Qgbm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb25Nb2RlbCA9IEpTT04ucGFyc2UobWVzc2FnZS5ib2R5KTtcbiAgICAgICAgdGhpcy5oYW5kbGVOb3RpZmljYXRpb24obm90aWZpY2F0aW9uKTtcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICB0aGlzLnN0b21wQ2xpZW50Lm9uU3RvbXBFcnJvciA9IChmcmFtZSkgPT4ge1xuICAgICAgY29uc29sZS5lcnJvcignQnJva2VyIHJlcG9ydGVkIGVycm9yOiAnICsgZnJhbWUuaGVhZGVyc1snbWVzc2FnZSddKTtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0FkZGl0aW9uYWwgZGV0YWlsczogJyArIGZyYW1lLmJvZHkpO1xuICAgIH07XG5cbiAgICBjb25zb2xlLmxvZygnQWN0aXZhdGluZyBzdG9tcCBjbGllbnQnKTtcbiAgICB0aGlzLnN0b21wQ2xpZW50LmFjdGl2YXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZU5vdGlmaWNhdGlvbihub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbk1vZGVsKTogdm9pZCB7XG4gICAgY29uc3QgdGFyZ2V0U2VjdGlvbklkcyA9IG5vdGlmaWNhdGlvbi50YXJnZXRTZWN0aW9ucy5tYXAoc2VjdGlvbiA9PiBzZWN0aW9uLmlkKTtcbiAgICBjb25zdCB1c2VyU2VjdGlvbklkcyA9IHRoaXMudXNlci5wZXJtaXNzaW9ucy5tYXAocGVybWlzc2lvbiA9PiBwZXJtaXNzaW9uLnNlY3Rpb25JZCk7XG5cbiAgICBpZiAodGFyZ2V0U2VjdGlvbklkcy5zb21lKCh0YXJnZXRTZWN0aW9uSWQpID0+IHVzZXJTZWN0aW9uSWRzLmluY2x1ZGVzKHRhcmdldFNlY3Rpb25JZCkpKSB7XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvblN1YmplY3QubmV4dChub3RpZmljYXRpb24pO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { InputSignal, OnDestroy, OnInit } from '@angular/core';
|
|
2
|
-
import { NotificationModel } from '../../models';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class NotificationBarComponent implements OnInit, OnDestroy {
|
|
5
|
-
lang: InputSignal<string>;
|
|
6
|
-
notifications: NotificationModel[];
|
|
7
|
-
private readonly subs;
|
|
8
|
-
private readonly notificationService;
|
|
9
|
-
ngOnInit(): void;
|
|
10
|
-
ngOnDestroy(): void;
|
|
11
|
-
ackNotification(notification: NotificationModel): void;
|
|
12
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NotificationBarComponent, never>;
|
|
13
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NotificationBarComponent, "notification-bar", never, { "lang": { "alias": "lang"; "required": false; "isSignal": true; }; }, {}, never, never, false, never>;
|
|
14
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { SectionModel } from './section.model';
|
|
2
|
-
export declare class NotificationModel {
|
|
3
|
-
id: number;
|
|
4
|
-
description: string;
|
|
5
|
-
classification: string;
|
|
6
|
-
messageEn: string;
|
|
7
|
-
messageFr: string;
|
|
8
|
-
targetSections: SectionModel[];
|
|
9
|
-
publicationDate: Date;
|
|
10
|
-
expirationDate: Date;
|
|
11
|
-
published: boolean;
|
|
12
|
-
createdBy: string;
|
|
13
|
-
createdDate: Date;
|
|
14
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Config } from '../../config';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
import { NotificationModel } from '../../models/notification.model';
|
|
4
|
-
import { HttpClient } from '@angular/common/http';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class NotificationApiService {
|
|
7
|
-
private readonly config;
|
|
8
|
-
private readonly http;
|
|
9
|
-
apiUrl: string;
|
|
10
|
-
constructor(config: Config, http: HttpClient);
|
|
11
|
-
getLiveNotifications(): Observable<NotificationModel[]>;
|
|
12
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NotificationApiService, never>;
|
|
13
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<NotificationApiService>;
|
|
14
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { Config } from '../../config';
|
|
2
|
-
import { NotificationModel, UserModel } from '../../models';
|
|
3
|
-
import { NotificationApiService } from '../api/notification-api.service';
|
|
4
|
-
import { LocalStorageService } from '../storage/local-storage.service';
|
|
5
|
-
import { AuthService } from '../auth/auth.service';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export declare const NOTIFICATION_WEBSOCKET_URL = "/authorization-api/ws";
|
|
8
|
-
export declare const NOTIFICATION_TOPIC = "/topic/notification";
|
|
9
|
-
export declare const ACKED_NOTIFICATIONS_LOCAL_STORAGE_KEY = "ackedNotifications";
|
|
10
|
-
export declare class NotificationService {
|
|
11
|
-
private readonly config;
|
|
12
|
-
private readonly notificationApiService;
|
|
13
|
-
private readonly localStorage;
|
|
14
|
-
readonly authService: AuthService;
|
|
15
|
-
user: UserModel;
|
|
16
|
-
apiUrl: string;
|
|
17
|
-
private stompClient;
|
|
18
|
-
private readonly notificationSubject;
|
|
19
|
-
notifications$: import("rxjs").Observable<NotificationModel>;
|
|
20
|
-
private readonly connectionSubject;
|
|
21
|
-
constructor(config: Config, notificationApiService: NotificationApiService, localStorage: LocalStorageService, authService: AuthService);
|
|
22
|
-
ackNotification(notification: NotificationModel): void;
|
|
23
|
-
private fetchLiveNotifications;
|
|
24
|
-
private subscribeToNotifications;
|
|
25
|
-
private handleNotification;
|
|
26
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NotificationService, never>;
|
|
27
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<NotificationService>;
|
|
28
|
-
}
|