ngx-techlify-core 18.88.0 → 18.90.0
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/esm2022/lib/access-control-config/access-control-config-form/access-control-config-form.component.mjs +9 -10
- package/esm2022/lib/access-control-config/access-control-config.component.mjs +6 -7
- package/esm2022/lib/access-control-config/access-control-config.module.mjs +8 -40
- package/esm2022/lib/app-admin/admin-role/admin-role-list/admin-role-list.component.mjs +7 -8
- package/esm2022/lib/app-admin/admin-role/admin-role-list/admin-role-list.module.mjs +8 -43
- package/esm2022/lib/app-admin/admin-role/admin-role-permission-form/admin-role-permission-form.component.mjs +9 -10
- package/esm2022/lib/app-admin/admin-role/admin-role-permission-form/admin-role-permission-form.module.mjs +5 -46
- package/esm2022/lib/app-admin/app-admin-home/app-admin-home.component.mjs +2 -2
- package/esm2022/lib/audit-log/audit-log-for-model/audit-log-for-model.module.mjs +8 -16
- package/esm2022/lib/audit-log/audit-log-list/audit-log-list.component.mjs +9 -9
- package/esm2022/lib/audit-log/audit-log-list/audit-log-list.module.mjs +8 -31
- package/esm2022/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.mjs +6 -6
- package/esm2022/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.mjs +8 -24
- package/esm2022/lib/audit-log/audit-log-view/audit-log-view.module.mjs +8 -12
- package/esm2022/lib/audit-log/audit-log-view-model/audit-log-view-model.module.mjs +8 -12
- package/esm2022/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.mjs +1 -1
- package/esm2022/lib/base-model/index.mjs +3 -1
- package/esm2022/lib/base-model/techlify-list/techlify-list.component.mjs +42 -4
- package/esm2022/lib/base-model/techlify-show/contract/techlify-show.contract.mjs +84 -0
- package/esm2022/lib/base-model/techlify-show/techlify-show.component.mjs +120 -0
- package/esm2022/lib/change-password/change-password.component.mjs +4 -5
- package/esm2022/lib/change-password/change-password.module.mjs +5 -24
- package/esm2022/lib/column-selector/column-selector/column-selector.component.mjs +7 -8
- package/esm2022/lib/column-selector/column-selector.module.mjs +5 -53
- package/esm2022/lib/core/core.module.mjs +1 -1
- package/esm2022/lib/data-table/data-table.component.mjs +11 -13
- package/esm2022/lib/data-table/data-table.module.mjs +5 -17
- package/esm2022/lib/detail-layout/techlify-detail-layout.component.mjs +11 -0
- package/esm2022/lib/document-viewer/document-viewer.component.mjs +5 -6
- package/esm2022/lib/document-viewer/document-viewer.module.mjs +1 -5
- package/esm2022/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.mjs +5 -17
- package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.mjs +5 -6
- package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.mjs +5 -21
- package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.mjs +13 -14
- package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.mjs +5 -21
- package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.mjs +5 -6
- package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.mjs +5 -21
- package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.mjs +13 -14
- package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.mjs +5 -21
- package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.mjs +4 -5
- package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.mjs +5 -21
- package/esm2022/lib/entity-files/entity-file-form/entity-file-form.component.mjs +8 -8
- package/esm2022/lib/entity-files/entity-file-list/entity-file-list.component.mjs +19 -19
- package/esm2022/lib/entity-files/entity-file-list-widget/entity-file-list-widget.component.mjs +2 -4
- package/esm2022/lib/entity-files/entity-file-list.module.mjs +1 -13
- package/esm2022/lib/entity-files/entity-file.service.mjs +3 -3
- package/esm2022/lib/file-dragdrop-uploader/file-dragdrop-uploader/file-dragdrop-uploader.component.mjs +21 -8
- package/esm2022/lib/file-dragdrop-uploader/file-dragdrop-uploader.module.mjs +5 -21
- package/esm2022/lib/file-dropper/file-dropper.component.mjs +4 -6
- package/esm2022/lib/file-dropper/file-dropper.module.mjs +1 -5
- package/esm2022/lib/forgot-password/forgot-password.component.mjs +1 -1
- package/esm2022/lib/forgot-password/forgot-password.module.mjs +5 -13
- package/esm2022/lib/form-configuration/form-configuration-field-form/form-configuration-field-form.component.mjs +3 -4
- package/esm2022/lib/form-configuration/form-configuration-field-form/form-configuration-field-form.module.mjs +5 -17
- package/esm2022/lib/import-csv/field-mapping/field-mapping.component.mjs +5 -5
- package/esm2022/lib/import-csv/import-csv.component.mjs +6 -6
- package/esm2022/lib/import-csv/import-csv.module.mjs +8 -38
- package/esm2022/lib/import-csv/import-history-list/import-history-list.component.mjs +3 -3
- package/esm2022/lib/import-csv/import-success/import-success.component.mjs +5 -5
- package/esm2022/lib/ip-address-selector/ip-address-selector.module.mjs +5 -29
- package/esm2022/lib/ip-address-selector/ip-range-selector/ip-range-selector.component.mjs +7 -8
- package/esm2022/lib/locked-date/locked-date-form/locked-date-form.component.mjs +1 -1
- package/esm2022/lib/locked-date/locked-date.module.mjs +5 -32
- package/esm2022/lib/locked-date/locked-dates-list/locked-date-list.component.mjs +3 -3
- package/esm2022/lib/login/login-form-fields/login-form-fields.component.mjs +5 -8
- package/esm2022/lib/login/login.module.mjs +5 -29
- package/esm2022/lib/login-history-for-user/login-history-for-user.component.mjs +5 -6
- package/esm2022/lib/login-history-for-user/login-history-for-user.module.mjs +8 -28
- package/esm2022/lib/material.module.mjs +7 -3
- package/esm2022/lib/note/comment-form/comment-form.component.mjs +4 -8
- package/esm2022/lib/note/note-comment-list/note-comment-list.component.mjs +3 -4
- package/esm2022/lib/note/note-list/note-list.component.mjs +17 -18
- package/esm2022/lib/note/note.module.mjs +3 -7
- package/esm2022/lib/number-input-button/number-input-button/number-input-button.component.mjs +7 -7
- package/esm2022/lib/number-input-button/number-input-button.module.mjs +5 -13
- package/esm2022/lib/number-selector/number-selector.component.mjs +4 -6
- package/esm2022/lib/pdf-button/pdf-button.component.mjs +3 -3
- package/esm2022/lib/pdf-button/pdf-button.module.mjs +5 -13
- package/esm2022/lib/phone-number-selector/phone-number-selector.component.mjs +4 -4
- package/esm2022/lib/profile/profile-edit.component.mjs +1 -1
- package/esm2022/lib/profile/profile.module.mjs +5 -13
- package/esm2022/lib/read-more/read-more.module.mjs +3 -7
- package/esm2022/lib/reset-password/reset-password.component.mjs +4 -4
- package/esm2022/lib/reset-password/reset-password.module.mjs +5 -24
- package/esm2022/lib/restrictors/restrictor-level-selector/restrictor-level-selector/restrictor-level-selector.component.mjs +3 -3
- package/esm2022/lib/restrictors/restrictor-level-selector/restrictor-level-selector.module.mjs +5 -17
- package/esm2022/lib/restrictors/restrictor-status-selector/restrictor-status-selector/restrictor-status-selector.component.mjs +3 -3
- package/esm2022/lib/restrictors/restrictor-status-selector/restrictor-status-selector.module.mjs +5 -13
- package/esm2022/lib/restrictors/restrictor-type-selector/restrictor-type-selector/restrictor-type-selector.component.mjs +4 -4
- package/esm2022/lib/restrictors/restrictor-type-selector/restrictor-type-selector.module.mjs +5 -17
- package/esm2022/lib/restrictors/restrictors-form/restrictors-form.component.mjs +9 -10
- package/esm2022/lib/restrictors/restrictors-form-page/restrictors-form-page.component.mjs +6 -7
- package/esm2022/lib/restrictors/restrictors-list-page/restrictors-list-page.component.mjs +12 -13
- package/esm2022/lib/restrictors/restrictors.module.mjs +8 -60
- package/esm2022/lib/role/permission/permission.module.mjs +8 -23
- package/esm2022/lib/role/permission/permissions-management.component.mjs +6 -6
- package/esm2022/lib/role/role-form.component.mjs +1 -1
- package/esm2022/lib/role/role-list/role-list.component.mjs +8 -8
- package/esm2022/lib/role/role-view/role-view.module.mjs +8 -27
- package/esm2022/lib/role/role.module.mjs +8 -30
- package/esm2022/lib/searchable-selector/searchable-selector.component.mjs +8 -8
- package/esm2022/lib/searchable-selector/searchable-selector.module.mjs +1 -5
- package/esm2022/lib/shared.module.mjs +27 -3
- package/esm2022/lib/signup/signup.component.mjs +1 -1
- package/esm2022/lib/signup/signup.module.mjs +5 -13
- package/esm2022/lib/subscription/subscription-form/subscription-form.component.mjs +3 -4
- package/esm2022/lib/subscription/subscription-form/subscription-form.module.mjs +8 -24
- package/esm2022/lib/subscription/subscription-listing/subscription-listing.component.mjs +18 -19
- package/esm2022/lib/subscription/subscription-listing/subscription-listing.module.mjs +8 -35
- package/esm2022/lib/subscription/subscription-package-listing/subscription-package-listing.component.mjs +15 -16
- package/esm2022/lib/subscription/subscription-package-listing/subscription-package-listing.module.mjs +8 -32
- package/esm2022/lib/subscription/subscription-package-view/subscription-package-view.component.mjs +5 -6
- package/esm2022/lib/subscription/subscription-package-view/subscription-package-view.module.mjs +8 -16
- package/esm2022/lib/tag/techlify-tagger-tag-form/techlify-tagger-tag-form.component.mjs +12 -26
- package/esm2022/lib/tag/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.mjs +4 -4
- package/esm2022/lib/tag/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.mjs +5 -21
- package/esm2022/lib/tag/techlify-tagger-tag-list/techlify-tagger-tag-list.component.mjs +19 -37
- package/esm2022/lib/tag/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.mjs +1 -1
- package/esm2022/lib/tag/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.mjs +5 -29
- package/esm2022/lib/techlify-app-selector/techlify-app-selector.component.mjs +5 -6
- package/esm2022/lib/techlify-app-selector/techlify-app-selector.module.mjs +6 -13
- package/esm2022/lib/techlify-auto-complete-select/techlify-auto-complete-select.component.mjs +11 -22
- package/esm2022/lib/techlify-feature/on-off-switch/on-off-switch.component.mjs +1 -1
- package/esm2022/lib/techlify-feature/techlify-feature-listing.component.mjs +9 -10
- package/esm2022/lib/techlify-feature/techlify-feature.module.mjs +7 -30
- package/esm2022/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.component.mjs +3 -4
- package/esm2022/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.module.mjs +5 -17
- package/esm2022/lib/techlify-update/techlify-update-form/techlify-update-form.component.mjs +4 -5
- package/esm2022/lib/techlify-update/techlify-update-form/techlify-update-form.module.mjs +5 -17
- package/esm2022/lib/techlify-update/techlify-update-history/techlify-update-history.component.mjs +10 -11
- package/esm2022/lib/techlify-update/techlify-update-history/techlify-update-history.module.mjs +5 -29
- package/esm2022/lib/techlify-update/techlify-update.module.mjs +7 -31
- package/esm2022/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.mjs +10 -11
- package/esm2022/lib/techlify-update/techlify-updates-teaser/techlify-updates-teaser.component.mjs +7 -8
- package/esm2022/lib/techlify-update/techlify-updates-teaser/techlify-updates-teaser.module.mjs +5 -17
- package/esm2022/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.mjs +3 -4
- package/esm2022/lib/techlify-update/update-notifier/update-notifier.module.mjs +8 -20
- package/esm2022/lib/techlify-update/update-view/update-view.component.mjs +3 -4
- package/esm2022/lib/techlify-update/update-view/update-view.module.mjs +5 -13
- package/esm2022/lib/techlify-view/my-techlify-view-listing/my-techlify-view-listing.component.mjs +7 -9
- package/esm2022/lib/techlify-view/my-techlify-view-listing/my-techlify-view-listing.module.mjs +7 -15
- package/esm2022/lib/techlify-view/techlify-view-form/techlify-view-form.component.mjs +3 -4
- package/esm2022/lib/techlify-view/techlify-view-form/techlify-view-form.module.mjs +5 -24
- package/esm2022/lib/timeline-activity/timeline-activity-button/timeline-activity-button.module.mjs +6 -18
- package/esm2022/lib/timeline-activity/timeline-activity-list/timeline-activity-list.component.mjs +4 -5
- package/esm2022/lib/timeline-activity/timeline-activity-list/timeline-activity-list.module.mjs +8 -32
- package/esm2022/lib/timeline-filter/timeline-filter.component.mjs +10 -11
- package/esm2022/lib/timeline-filter/timeline-filter.module.mjs +1 -5
- package/esm2022/lib/user/app-admin-user-view/app-admin-user-view.module.mjs +1 -5
- package/esm2022/lib/user/user-enable-button-component/user-enable-button.module.mjs +5 -17
- package/esm2022/lib/user/user-explore.component.mjs +3 -4
- package/esm2022/lib/user/user-form/user-form.component.mjs +11 -15
- package/esm2022/lib/user/user-list/user-list.component.mjs +10 -21
- package/esm2022/lib/user/user-sessions/user-sessions/user-sessions.module.mjs +5 -13
- package/esm2022/lib/user/user.module.mjs +1 -9
- package/esm2022/lib/user-client-enable-disable-button/user-client-enable-disable-button.module.mjs +5 -13
- package/esm2022/lib/user-clients-list/user-clients-list.module.mjs +5 -13
- package/esm2022/lib/user-selector/user-selector.component.mjs +3 -3
- package/esm2022/lib/user-selector/user-selector.module.mjs +5 -17
- package/esm2022/lib/utility/utility.module.mjs +5 -9
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/ngx-techlify-core.mjs +1149 -1747
- package/fesm2022/ngx-techlify-core.mjs.map +1 -1
- package/lib/access-control-config/access-control-config.module.d.ts +3 -11
- package/lib/app-admin/admin-role/admin-role-list/admin-role-list.module.d.ts +3 -11
- package/lib/app-admin/admin-role/admin-role-permission-form/admin-role-permission-form.module.d.ts +2 -10
- package/lib/audit-log/audit-log-for-model/audit-log-for-model.module.d.ts +2 -4
- package/lib/audit-log/audit-log-list/audit-log-list.module.d.ts +3 -9
- package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.d.ts +2 -6
- package/lib/audit-log/audit-log-view/audit-log-view.module.d.ts +2 -3
- package/lib/audit-log/audit-log-view-model/audit-log-view-model.module.d.ts +2 -3
- package/lib/base-model/index.d.ts +2 -0
- package/lib/base-model/techlify-list/techlify-list.component.d.ts +20 -0
- package/lib/base-model/techlify-show/contract/techlify-show.contract.d.ts +17 -0
- package/lib/base-model/techlify-show/techlify-show.component.d.ts +71 -0
- package/lib/change-password/change-password.module.d.ts +3 -7
- package/lib/column-selector/column-selector.module.d.ts +2 -12
- package/lib/data-table/data-table.module.d.ts +2 -5
- package/lib/detail-layout/techlify-detail-layout.component.d.ts +5 -0
- package/lib/document-viewer/document-viewer.module.d.ts +3 -4
- package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.d.ts +3 -6
- package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.d.ts +4 -8
- package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.d.ts +4 -8
- package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.d.ts +4 -8
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.d.ts +5 -9
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.d.ts +3 -7
- package/lib/entity-files/entity-file-list.module.d.ts +5 -8
- package/lib/entity-files/entity-file.service.d.ts +1 -1
- package/lib/file-dragdrop-uploader/file-dragdrop-uploader/file-dragdrop-uploader.component.d.ts +3 -1
- package/lib/file-dragdrop-uploader/file-dragdrop-uploader.module.d.ts +2 -6
- package/lib/file-dropper/file-dropper.module.d.ts +2 -3
- package/lib/forgot-password/forgot-password.module.d.ts +3 -5
- package/lib/form-configuration/form-configuration-field-form/form-configuration-field-form.module.d.ts +3 -6
- package/lib/import-csv/import-csv.module.d.ts +3 -9
- package/lib/ip-address-selector/ip-address-selector.module.d.ts +2 -8
- package/lib/locked-date/locked-date.module.d.ts +2 -9
- package/lib/login/login.module.d.ts +4 -10
- package/lib/login-history-for-user/login-history-for-user.module.d.ts +2 -7
- package/lib/material.module.d.ts +25 -24
- package/lib/note/note.module.d.ts +3 -4
- package/lib/number-input-button/number-input-button.module.d.ts +2 -4
- package/lib/pdf-button/pdf-button.module.d.ts +2 -4
- package/lib/profile/profile.module.d.ts +3 -5
- package/lib/read-more/read-more.module.d.ts +1 -2
- package/lib/reset-password/reset-password.module.d.ts +4 -8
- package/lib/restrictors/restrictor-level-selector/restrictor-level-selector.module.d.ts +2 -5
- package/lib/restrictors/restrictor-status-selector/restrictor-status-selector.module.d.ts +2 -4
- package/lib/restrictors/restrictor-type-selector/restrictor-type-selector.module.d.ts +2 -5
- package/lib/restrictors/restrictors.module.d.ts +6 -19
- package/lib/role/permission/permission.module.d.ts +2 -5
- package/lib/role/role-view/role-view.module.d.ts +2 -6
- package/lib/role/role.module.d.ts +2 -7
- package/lib/searchable-selector/searchable-selector.module.d.ts +3 -4
- package/lib/shared.module.d.ts +14 -8
- package/lib/signup/signup.module.d.ts +3 -5
- package/lib/subscription/subscription-form/subscription-form.module.d.ts +2 -6
- package/lib/subscription/subscription-listing/subscription-listing.module.d.ts +3 -9
- package/lib/subscription/subscription-package-listing/subscription-package-listing.module.d.ts +2 -8
- package/lib/subscription/subscription-package-view/subscription-package-view.module.d.ts +2 -4
- package/lib/tag/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.d.ts +2 -6
- package/lib/tag/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.d.ts +2 -8
- package/lib/techlify-app-selector/techlify-app-selector.module.d.ts +4 -5
- package/lib/techlify-feature/techlify-feature.module.d.ts +4 -9
- package/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.module.d.ts +3 -6
- package/lib/techlify-update/techlify-update-form/techlify-update-form.module.d.ts +3 -6
- package/lib/techlify-update/techlify-update-history/techlify-update-history.module.d.ts +3 -9
- package/lib/techlify-update/techlify-update.module.d.ts +4 -10
- package/lib/techlify-update/techlify-updates-teaser/techlify-updates-teaser.module.d.ts +2 -5
- package/lib/techlify-update/update-notifier/update-notifier.module.d.ts +3 -6
- package/lib/techlify-update/update-view/update-view.module.d.ts +2 -4
- package/lib/techlify-view/my-techlify-view-listing/my-techlify-view-listing.module.d.ts +2 -4
- package/lib/techlify-view/techlify-view-form/techlify-view-form.module.d.ts +2 -6
- package/lib/timeline-activity/timeline-activity-button/timeline-activity-button.module.d.ts +3 -6
- package/lib/timeline-activity/timeline-activity-list/timeline-activity-list.module.d.ts +2 -8
- package/lib/timeline-filter/timeline-filter.module.d.ts +10 -11
- package/lib/user/app-admin-user-view/app-admin-user-view.module.d.ts +6 -7
- package/lib/user/user-enable-button-component/user-enable-button.module.d.ts +2 -5
- package/lib/user/user-sessions/user-sessions/user-sessions.module.d.ts +2 -4
- package/lib/user/user.module.d.ts +7 -9
- package/lib/user-client-enable-disable-button/user-client-enable-disable-button.module.d.ts +2 -4
- package/lib/user-clients-list/user-clients-list.module.d.ts +3 -5
- package/lib/user-selector/user-selector.module.d.ts +2 -4
- package/lib/utility/utility.module.d.ts +2 -3
- package/package.json +2 -1
- package/public-api.d.ts +1 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { of } from 'rxjs';
|
|
2
|
+
import { convertToParamMap } from '@angular/router';
|
|
3
|
+
/**
|
|
4
|
+
* Reusable test contract for components extending TechlifyShowComponent.
|
|
5
|
+
*
|
|
6
|
+
* Ensures all view components follow the same base behaviour:
|
|
7
|
+
* - Service injection
|
|
8
|
+
* - Default state initialization
|
|
9
|
+
* - Reading the id from the route
|
|
10
|
+
* - Loading the model through service.show()
|
|
11
|
+
* - Model update handling
|
|
12
|
+
*/
|
|
13
|
+
export function techlifyShowContract(options) {
|
|
14
|
+
describe('TechlifyShowComponent Contract', () => {
|
|
15
|
+
/**
|
|
16
|
+
* Ensures child components correctly pass their service
|
|
17
|
+
* to the base view component.
|
|
18
|
+
*/
|
|
19
|
+
it('should pass a service to the base class', () => {
|
|
20
|
+
const component = options.getComponent();
|
|
21
|
+
expect(component.service)
|
|
22
|
+
.toBe(options.getService());
|
|
23
|
+
});
|
|
24
|
+
/**
|
|
25
|
+
* Ensures route listening is started on init.
|
|
26
|
+
*/
|
|
27
|
+
it('should listen route changes on init', () => {
|
|
28
|
+
const component = options.getComponent();
|
|
29
|
+
spyOn(component, 'listenRouteChanges');
|
|
30
|
+
component.ngOnInit();
|
|
31
|
+
expect(component.listenRouteChanges)
|
|
32
|
+
.toHaveBeenCalled();
|
|
33
|
+
});
|
|
34
|
+
/**
|
|
35
|
+
* Ensures the id is read from the configured route param.
|
|
36
|
+
*/
|
|
37
|
+
it('should get id from route params', () => {
|
|
38
|
+
const component = options.getComponent();
|
|
39
|
+
const routeParamName = options.routeParamName ?? 'id';
|
|
40
|
+
const params = convertToParamMap({ [routeParamName]: '5' });
|
|
41
|
+
expect(component.getIdFromRoute(params))
|
|
42
|
+
.toBe('5');
|
|
43
|
+
});
|
|
44
|
+
/**
|
|
45
|
+
* Ensures the model is loaded using the show service.
|
|
46
|
+
*/
|
|
47
|
+
it('should load the model using show', () => {
|
|
48
|
+
const component = options.getComponent();
|
|
49
|
+
options.getService().show
|
|
50
|
+
.and.returnValue(of({
|
|
51
|
+
item: { id: 5 }
|
|
52
|
+
}));
|
|
53
|
+
component.id = 5;
|
|
54
|
+
component.loadData();
|
|
55
|
+
expect(options.getService().show)
|
|
56
|
+
.toHaveBeenCalledWith(5, jasmine.anything());
|
|
57
|
+
expect(component.model)
|
|
58
|
+
.toEqual({ id: 5 });
|
|
59
|
+
expect(component.isWorking)
|
|
60
|
+
.toBeFalse();
|
|
61
|
+
});
|
|
62
|
+
/**
|
|
63
|
+
* Ensures no request is made without an id.
|
|
64
|
+
*/
|
|
65
|
+
it('should not load without an id', () => {
|
|
66
|
+
const component = options.getComponent();
|
|
67
|
+
options.getService().show.calls.reset();
|
|
68
|
+
component.id = null;
|
|
69
|
+
component.loadData();
|
|
70
|
+
expect(options.getService().show)
|
|
71
|
+
.not.toHaveBeenCalled();
|
|
72
|
+
});
|
|
73
|
+
/**
|
|
74
|
+
* Ensures the model is replaced on update.
|
|
75
|
+
*/
|
|
76
|
+
it('should replace the model on modelUpdated', () => {
|
|
77
|
+
const component = options.getComponent();
|
|
78
|
+
component.modelUpdated({ id: 7 });
|
|
79
|
+
expect(component.model)
|
|
80
|
+
.toEqual({ id: 7 });
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktc2hvdy5jb250cmFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvYmFzZS1tb2RlbC90ZWNobGlmeS1zaG93L2NvbnRyYWN0L3RlY2hsaWZ5LXNob3cuY29udHJhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQVNwRDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQ2hDLE9BQW9DO0lBR3BDLFFBQVEsQ0FBQyxnQ0FBZ0MsRUFBRSxHQUFHLEVBQUU7UUFFNUM7OztXQUdHO1FBQ0gsRUFBRSxDQUFDLHlDQUF5QyxFQUFFLEdBQUcsRUFBRTtZQUMvQyxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDekMsTUFBTSxDQUFFLFNBQWlCLENBQUMsT0FBTyxDQUFDO2lCQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7UUFFSDs7V0FFRztRQUNILEVBQUUsQ0FBQyxxQ0FBcUMsRUFBRSxHQUFHLEVBQUU7WUFDM0MsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3pDLEtBQUssQ0FBQyxTQUFTLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztZQUN0QyxTQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzlCLE1BQU0sQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUM7aUJBQy9CLGdCQUFnQixFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFFSDs7V0FFRztRQUNILEVBQUUsQ0FBQyxpQ0FBaUMsRUFBRSxHQUFHLEVBQUU7WUFDdkMsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3pDLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDO1lBQ3RELE1BQU0sTUFBTSxHQUFHLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQzVELE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2lCQUNuQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7UUFFSDs7V0FFRztRQUNILEVBQUUsQ0FBQyxrQ0FBa0MsRUFBRSxHQUFHLEVBQUU7WUFDeEMsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3pDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJO2lCQUNwQixHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztnQkFDaEIsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTthQUNsQixDQUFDLENBQUMsQ0FBQztZQUNSLFNBQVMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ2pCLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNyQixNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQztpQkFDNUIsb0JBQW9CLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ2pELE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO2lCQUNsQixPQUFPLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN4QixNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztpQkFDdEIsU0FBUyxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7UUFFSDs7V0FFRztRQUNILEVBQUUsQ0FBQywrQkFBK0IsRUFBRSxHQUFHLEVBQUU7WUFDckMsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3pDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3hDLFNBQVMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNyQixNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQztpQkFDNUIsR0FBRyxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7UUFFSDs7V0FFRztRQUNILEVBQUUsQ0FBQywwQ0FBMEMsRUFBRSxHQUFHLEVBQUU7WUFDaEQsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3pDLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNsQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztpQkFDbEIsT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFFUCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY29udmVydFRvUGFyYW1NYXAgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVGVjaGxpZnlTaG93Q29tcG9uZW50IH0gZnJvbSAnLi4vdGVjaGxpZnktc2hvdy5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRlY2hsaWZ5U2hvd0NvbnRyYWN0T3B0aW9ucyB7XG4gICAgZ2V0Q29tcG9uZW50OiAoKSA9PiBUZWNobGlmeVNob3dDb21wb25lbnQ7XG4gICAgZ2V0U2VydmljZTogKCkgPT4gYW55O1xuICAgIHJvdXRlUGFyYW1OYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJldXNhYmxlIHRlc3QgY29udHJhY3QgZm9yIGNvbXBvbmVudHMgZXh0ZW5kaW5nIFRlY2hsaWZ5U2hvd0NvbXBvbmVudC5cbiAqXG4gKiBFbnN1cmVzIGFsbCB2aWV3IGNvbXBvbmVudHMgZm9sbG93IHRoZSBzYW1lIGJhc2UgYmVoYXZpb3VyOlxuICogLSBTZXJ2aWNlIGluamVjdGlvblxuICogLSBEZWZhdWx0IHN0YXRlIGluaXRpYWxpemF0aW9uXG4gKiAtIFJlYWRpbmcgdGhlIGlkIGZyb20gdGhlIHJvdXRlXG4gKiAtIExvYWRpbmcgdGhlIG1vZGVsIHRocm91Z2ggc2VydmljZS5zaG93KClcbiAqIC0gTW9kZWwgdXBkYXRlIGhhbmRsaW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0ZWNobGlmeVNob3dDb250cmFjdChcbiAgICBvcHRpb25zOiBUZWNobGlmeVNob3dDb250cmFjdE9wdGlvbnNcbik6IHZvaWQge1xuXG4gICAgZGVzY3JpYmUoJ1RlY2hsaWZ5U2hvd0NvbXBvbmVudCBDb250cmFjdCcsICgpID0+IHtcblxuICAgICAgICAvKipcbiAgICAgICAgICogRW5zdXJlcyBjaGlsZCBjb21wb25lbnRzIGNvcnJlY3RseSBwYXNzIHRoZWlyIHNlcnZpY2VcbiAgICAgICAgICogdG8gdGhlIGJhc2UgdmlldyBjb21wb25lbnQuXG4gICAgICAgICAqL1xuICAgICAgICBpdCgnc2hvdWxkIHBhc3MgYSBzZXJ2aWNlIHRvIHRoZSBiYXNlIGNsYXNzJywgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29tcG9uZW50ID0gb3B0aW9ucy5nZXRDb21wb25lbnQoKTtcbiAgICAgICAgICAgIGV4cGVjdCgoY29tcG9uZW50IGFzIGFueSkuc2VydmljZSlcbiAgICAgICAgICAgICAgICAudG9CZShvcHRpb25zLmdldFNlcnZpY2UoKSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBFbnN1cmVzIHJvdXRlIGxpc3RlbmluZyBpcyBzdGFydGVkIG9uIGluaXQuXG4gICAgICAgICAqL1xuICAgICAgICBpdCgnc2hvdWxkIGxpc3RlbiByb3V0ZSBjaGFuZ2VzIG9uIGluaXQnLCAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb21wb25lbnQgPSBvcHRpb25zLmdldENvbXBvbmVudCgpO1xuICAgICAgICAgICAgc3B5T24oY29tcG9uZW50LCAnbGlzdGVuUm91dGVDaGFuZ2VzJyk7XG4gICAgICAgICAgICAoY29tcG9uZW50IGFzIGFueSkubmdPbkluaXQoKTtcbiAgICAgICAgICAgIGV4cGVjdChjb21wb25lbnQubGlzdGVuUm91dGVDaGFuZ2VzKVxuICAgICAgICAgICAgICAgIC50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBFbnN1cmVzIHRoZSBpZCBpcyByZWFkIGZyb20gdGhlIGNvbmZpZ3VyZWQgcm91dGUgcGFyYW0uXG4gICAgICAgICAqL1xuICAgICAgICBpdCgnc2hvdWxkIGdldCBpZCBmcm9tIHJvdXRlIHBhcmFtcycsICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IG9wdGlvbnMuZ2V0Q29tcG9uZW50KCk7XG4gICAgICAgICAgICBjb25zdCByb3V0ZVBhcmFtTmFtZSA9IG9wdGlvbnMucm91dGVQYXJhbU5hbWUgPz8gJ2lkJztcbiAgICAgICAgICAgIGNvbnN0IHBhcmFtcyA9IGNvbnZlcnRUb1BhcmFtTWFwKHsgW3JvdXRlUGFyYW1OYW1lXTogJzUnIH0pO1xuICAgICAgICAgICAgZXhwZWN0KGNvbXBvbmVudC5nZXRJZEZyb21Sb3V0ZShwYXJhbXMpKVxuICAgICAgICAgICAgICAgIC50b0JlKCc1Jyk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBFbnN1cmVzIHRoZSBtb2RlbCBpcyBsb2FkZWQgdXNpbmcgdGhlIHNob3cgc2VydmljZS5cbiAgICAgICAgICovXG4gICAgICAgIGl0KCdzaG91bGQgbG9hZCB0aGUgbW9kZWwgdXNpbmcgc2hvdycsICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IG9wdGlvbnMuZ2V0Q29tcG9uZW50KCk7XG4gICAgICAgICAgICBvcHRpb25zLmdldFNlcnZpY2UoKS5zaG93XG4gICAgICAgICAgICAgICAgLmFuZC5yZXR1cm5WYWx1ZShvZih7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW06IHsgaWQ6IDUgfVxuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIGNvbXBvbmVudC5pZCA9IDU7XG4gICAgICAgICAgICBjb21wb25lbnQubG9hZERhdGEoKTtcbiAgICAgICAgICAgIGV4cGVjdChvcHRpb25zLmdldFNlcnZpY2UoKS5zaG93KVxuICAgICAgICAgICAgICAgIC50b0hhdmVCZWVuQ2FsbGVkV2l0aCg1LCBqYXNtaW5lLmFueXRoaW5nKCkpO1xuICAgICAgICAgICAgZXhwZWN0KGNvbXBvbmVudC5tb2RlbClcbiAgICAgICAgICAgICAgICAudG9FcXVhbCh7IGlkOiA1IH0pO1xuICAgICAgICAgICAgZXhwZWN0KGNvbXBvbmVudC5pc1dvcmtpbmcpXG4gICAgICAgICAgICAgICAgLnRvQmVGYWxzZSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvKipcbiAgICAgICAgICogRW5zdXJlcyBubyByZXF1ZXN0IGlzIG1hZGUgd2l0aG91dCBhbiBpZC5cbiAgICAgICAgICovXG4gICAgICAgIGl0KCdzaG91bGQgbm90IGxvYWQgd2l0aG91dCBhbiBpZCcsICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IG9wdGlvbnMuZ2V0Q29tcG9uZW50KCk7XG4gICAgICAgICAgICBvcHRpb25zLmdldFNlcnZpY2UoKS5zaG93LmNhbGxzLnJlc2V0KCk7XG4gICAgICAgICAgICBjb21wb25lbnQuaWQgPSBudWxsO1xuICAgICAgICAgICAgY29tcG9uZW50LmxvYWREYXRhKCk7XG4gICAgICAgICAgICBleHBlY3Qob3B0aW9ucy5nZXRTZXJ2aWNlKCkuc2hvdylcbiAgICAgICAgICAgICAgICAubm90LnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIEVuc3VyZXMgdGhlIG1vZGVsIGlzIHJlcGxhY2VkIG9uIHVwZGF0ZS5cbiAgICAgICAgICovXG4gICAgICAgIGl0KCdzaG91bGQgcmVwbGFjZSB0aGUgbW9kZWwgb24gbW9kZWxVcGRhdGVkJywgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29tcG9uZW50ID0gb3B0aW9ucy5nZXRDb21wb25lbnQoKTtcbiAgICAgICAgICAgIGNvbXBvbmVudC5tb2RlbFVwZGF0ZWQoeyBpZDogNyB9KTtcbiAgICAgICAgICAgIGV4cGVjdChjb21wb25lbnQubW9kZWwpXG4gICAgICAgICAgICAgICAgLnRvRXF1YWwoeyBpZDogNyB9KTtcbiAgICAgICAgfSk7XG5cbiAgICB9KTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { Directive, inject, Optional } from '@angular/core';
|
|
2
|
+
import { Title } from '@angular/platform-browser';
|
|
3
|
+
import { ActivatedRoute } from '@angular/router';
|
|
4
|
+
import { finalize } from 'rxjs';
|
|
5
|
+
import { EnvironmentService } from '../../core/environment.service';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../techlify-service";
|
|
8
|
+
/**
|
|
9
|
+
* Interface used to ensure we have a consistent structure across our view (show) pages
|
|
10
|
+
*
|
|
11
|
+
* Every view page follows the same workflow:
|
|
12
|
+
* route param -> id -> service.show(id) -> model
|
|
13
|
+
*/
|
|
14
|
+
export class TechlifyShowComponent {
|
|
15
|
+
/**
|
|
16
|
+
* Child classes can override this.
|
|
17
|
+
* If left undefined/empty, falls back to environment.appTitle
|
|
18
|
+
*/
|
|
19
|
+
get pageTitle() {
|
|
20
|
+
return undefined; // default
|
|
21
|
+
}
|
|
22
|
+
constructor(service) {
|
|
23
|
+
this.service = service;
|
|
24
|
+
//Boolean to denote the page is in API progress
|
|
25
|
+
this.isWorking = false;
|
|
26
|
+
/**
|
|
27
|
+
* Name of the route param holding the model id.
|
|
28
|
+
* Override in child class if the route uses a different name, eg: 'memoId'
|
|
29
|
+
*/
|
|
30
|
+
this.routeParamName = 'id';
|
|
31
|
+
this.titleService = inject(Title, { optional: true });
|
|
32
|
+
this.environmentService = inject(EnvironmentService, { optional: true });
|
|
33
|
+
//Activated route to be inherited and used if needed
|
|
34
|
+
this.route = inject(ActivatedRoute, { optional: true });
|
|
35
|
+
const resolvedTitle = this.pageTitle && this.pageTitle.trim().length > 0
|
|
36
|
+
? this.pageTitle
|
|
37
|
+
: this.environmentService?.get().appTitle;
|
|
38
|
+
this.titleService?.setTitle(resolvedTitle);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Function that listens for route param changes
|
|
42
|
+
* Sets the id and reloads the model whenever it changes,
|
|
43
|
+
* so navigating between two records on the same page works
|
|
44
|
+
*/
|
|
45
|
+
listenRouteChanges() {
|
|
46
|
+
this.route?.paramMap.subscribe((params) => {
|
|
47
|
+
this.id = this.getIdFromRoute(params);
|
|
48
|
+
this.loadData();
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Reads the model id from the route params
|
|
53
|
+
* Uses the current route snapshot when params are not given
|
|
54
|
+
*
|
|
55
|
+
* @param params optional route params
|
|
56
|
+
*/
|
|
57
|
+
getIdFromRoute(params) {
|
|
58
|
+
const routeParams = params ?? this.route?.snapshot?.paramMap;
|
|
59
|
+
return routeParams?.get(this.routeParamName) ?? null;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Query params passed to the show request, eg: relations to load
|
|
63
|
+
* Override in child class if needed
|
|
64
|
+
*/
|
|
65
|
+
getShowParams() {
|
|
66
|
+
return {};
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Function that loads the main model of the page
|
|
70
|
+
*/
|
|
71
|
+
loadData() {
|
|
72
|
+
if (!this.service) {
|
|
73
|
+
throw new Error(`${this.constructor.name}: Service is required to load the data`);
|
|
74
|
+
}
|
|
75
|
+
if (!this.id) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
this.loadSubscription?.unsubscribe();
|
|
79
|
+
this.isWorking = true;
|
|
80
|
+
this.loadSubscription = this.service.show(this.id, this.getShowParams())
|
|
81
|
+
.pipe(finalize(() => this.isWorking = false))
|
|
82
|
+
.subscribe((result) => {
|
|
83
|
+
this.model = result?.item;
|
|
84
|
+
this.modelLoaded(this.model);
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Reload the model of the page
|
|
89
|
+
*/
|
|
90
|
+
reload() {
|
|
91
|
+
this.loadData();
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Hook called once the model is loaded
|
|
95
|
+
* Override in child class to compute derived data from the model
|
|
96
|
+
*
|
|
97
|
+
* @param model The loaded model
|
|
98
|
+
*/
|
|
99
|
+
modelLoaded(model) {
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Replaces the model of the page, eg: after an update form or status change
|
|
103
|
+
*
|
|
104
|
+
* @param model The updated model
|
|
105
|
+
*/
|
|
106
|
+
modelUpdated(model) {
|
|
107
|
+
if (model) {
|
|
108
|
+
this.model = model;
|
|
109
|
+
this.modelLoaded(this.model);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TechlifyShowComponent, deps: [{ token: i1.TechlifyService, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
113
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: TechlifyShowComponent, ngImport: i0 }); }
|
|
114
|
+
}
|
|
115
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TechlifyShowComponent, decorators: [{
|
|
116
|
+
type: Directive
|
|
117
|
+
}], ctorParameters: () => [{ type: i1.TechlifyService, decorators: [{
|
|
118
|
+
type: Optional
|
|
119
|
+
}] }] });
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktc2hvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2Jhc2UtbW9kZWwvdGVjaGxpZnktc2hvdy90ZWNobGlmeS1zaG93LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQVksTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsUUFBUSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBR3BFOzs7OztHQUtHO0FBRUgsTUFBTSxPQUFnQixxQkFBcUI7SUFpQnpDOzs7T0FHRztJQUNILElBQWMsU0FBUztRQUNyQixPQUFPLFNBQVMsQ0FBQyxDQUFDLFVBQVU7SUFDOUIsQ0FBQztJQVdELFlBQWtDLE9BQXlCO1FBQXpCLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBMUIzRCwrQ0FBK0M7UUFDL0MsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUUzQjs7O1dBR0c7UUFDTyxtQkFBYyxHQUFHLElBQUksQ0FBQztRQWF4QixpQkFBWSxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNqRCx1QkFBa0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUU1RSxvREFBb0Q7UUFDMUMsVUFBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUczRCxNQUFNLGFBQWEsR0FDakIsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQ2hELENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUztZQUNoQixDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQztRQUM5QyxJQUFJLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGtCQUFrQjtRQUNoQixJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFnQixFQUFFLEVBQUU7WUFDbEQsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGNBQWMsQ0FBQyxNQUFpQjtRQUM5QixNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDO1FBQzdELE9BQU8sV0FBVyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksSUFBSSxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7O09BR0c7SUFDTyxhQUFhO1FBQ3JCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEIsTUFBTSxJQUFJLEtBQUssQ0FDYixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSx3Q0FBd0MsQ0FDakUsQ0FBQztRQUNKLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ2IsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2FBQ3JFLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQzthQUM1QyxTQUFTLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRTtZQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sRUFBRSxJQUFJLENBQUM7WUFDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNO1FBQ0osSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNPLFdBQVcsQ0FBQyxLQUFVO0lBQ2hDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsWUFBWSxDQUFDLEtBQVU7UUFDckIsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDOytHQXpIbUIscUJBQXFCO21HQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBRDFDLFNBQVM7OzBCQW1DSyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFBhcmFtTWFwIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZpbmFsaXplLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVudmlyb25tZW50U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvZW52aXJvbm1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBUZWNobGlmeVNlcnZpY2UgfSBmcm9tICcuLi90ZWNobGlmeS1zZXJ2aWNlJztcblxuLyoqXG4gKiBJbnRlcmZhY2UgdXNlZCB0byBlbnN1cmUgd2UgaGF2ZSBhIGNvbnNpc3RlbnQgc3RydWN0dXJlIGFjcm9zcyBvdXIgdmlldyAoc2hvdykgcGFnZXNcbiAqXG4gKiBFdmVyeSB2aWV3IHBhZ2UgZm9sbG93cyB0aGUgc2FtZSB3b3JrZmxvdzpcbiAqIHJvdXRlIHBhcmFtIC0+IGlkIC0+IHNlcnZpY2Uuc2hvdyhpZCkgLT4gbW9kZWxcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVGVjaGxpZnlTaG93Q29tcG9uZW50IHtcblxuICAvL1RoZSBtYWluIG1vZGVsIG9mIHRoZSBwYWdlXG4gIG1vZGVsOiBhbnk7XG5cbiAgLy9JZCBvZiB0aGUgbW9kZWwsIHRha2VuIGZyb20gdGhlIHJvdXRlXG4gIGlkOiBhbnk7XG5cbiAgLy9Cb29sZWFuIHRvIGRlbm90ZSB0aGUgcGFnZSBpcyBpbiBBUEkgcHJvZ3Jlc3NcbiAgaXNXb3JraW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIHJvdXRlIHBhcmFtIGhvbGRpbmcgdGhlIG1vZGVsIGlkLlxuICAgKiBPdmVycmlkZSBpbiBjaGlsZCBjbGFzcyBpZiB0aGUgcm91dGUgdXNlcyBhIGRpZmZlcmVudCBuYW1lLCBlZzogJ21lbW9JZCdcbiAgICovXG4gIHByb3RlY3RlZCByb3V0ZVBhcmFtTmFtZSA9ICdpZCc7XG5cbiAgLyoqXG4gICAqIENoaWxkIGNsYXNzZXMgY2FuIG92ZXJyaWRlIHRoaXMuXG4gICAqIElmIGxlZnQgdW5kZWZpbmVkL2VtcHR5LCBmYWxscyBiYWNrIHRvIGVudmlyb25tZW50LmFwcFRpdGxlXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0IHBhZ2VUaXRsZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB1bmRlZmluZWQ7IC8vIGRlZmF1bHRcbiAgfVxuXG4gIC8vQWN0aXZlIHNob3cgcmVxdWVzdCwgY2FuY2VsbGVkIHdoZW4gYSBuZXcgbG9hZCBzdGFydHNcbiAgcHJpdmF0ZSBsb2FkU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgdGl0bGVTZXJ2aWNlID0gaW5qZWN0KFRpdGxlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICBwcml2YXRlIGVudmlyb25tZW50U2VydmljZSA9IGluamVjdChFbnZpcm9ubWVudFNlcnZpY2UsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgLy9BY3RpdmF0ZWQgcm91dGUgdG8gYmUgaW5oZXJpdGVkIGFuZCB1c2VkIGlmIG5lZWRlZFxuICBwcm90ZWN0ZWQgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgcHJvdGVjdGVkIHNlcnZpY2U/OiBUZWNobGlmeVNlcnZpY2UpIHtcbiAgICBjb25zdCByZXNvbHZlZFRpdGxlID1cbiAgICAgIHRoaXMucGFnZVRpdGxlICYmIHRoaXMucGFnZVRpdGxlLnRyaW0oKS5sZW5ndGggPiAwXG4gICAgICAgID8gdGhpcy5wYWdlVGl0bGVcbiAgICAgICAgOiB0aGlzLmVudmlyb25tZW50U2VydmljZT8uZ2V0KCkuYXBwVGl0bGU7XG4gICAgdGhpcy50aXRsZVNlcnZpY2U/LnNldFRpdGxlKHJlc29sdmVkVGl0bGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZ1bmN0aW9uIHRoYXQgbGlzdGVucyBmb3Igcm91dGUgcGFyYW0gY2hhbmdlc1xuICAgKiBTZXRzIHRoZSBpZCBhbmQgcmVsb2FkcyB0aGUgbW9kZWwgd2hlbmV2ZXIgaXQgY2hhbmdlcyxcbiAgICogc28gbmF2aWdhdGluZyBiZXR3ZWVuIHR3byByZWNvcmRzIG9uIHRoZSBzYW1lIHBhZ2Ugd29ya3NcbiAgICovXG4gIGxpc3RlblJvdXRlQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnJvdXRlPy5wYXJhbU1hcC5zdWJzY3JpYmUoKHBhcmFtczogUGFyYW1NYXApID0+IHtcbiAgICAgIHRoaXMuaWQgPSB0aGlzLmdldElkRnJvbVJvdXRlKHBhcmFtcyk7XG4gICAgICB0aGlzLmxvYWREYXRhKCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVhZHMgdGhlIG1vZGVsIGlkIGZyb20gdGhlIHJvdXRlIHBhcmFtc1xuICAgKiBVc2VzIHRoZSBjdXJyZW50IHJvdXRlIHNuYXBzaG90IHdoZW4gcGFyYW1zIGFyZSBub3QgZ2l2ZW5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcyBvcHRpb25hbCByb3V0ZSBwYXJhbXNcbiAgICovXG4gIGdldElkRnJvbVJvdXRlKHBhcmFtcz86IFBhcmFtTWFwKTogYW55IHtcbiAgICBjb25zdCByb3V0ZVBhcmFtcyA9IHBhcmFtcyA/PyB0aGlzLnJvdXRlPy5zbmFwc2hvdD8ucGFyYW1NYXA7XG4gICAgcmV0dXJuIHJvdXRlUGFyYW1zPy5nZXQodGhpcy5yb3V0ZVBhcmFtTmFtZSkgPz8gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBRdWVyeSBwYXJhbXMgcGFzc2VkIHRvIHRoZSBzaG93IHJlcXVlc3QsIGVnOiByZWxhdGlvbnMgdG8gbG9hZFxuICAgKiBPdmVycmlkZSBpbiBjaGlsZCBjbGFzcyBpZiBuZWVkZWRcbiAgICovXG4gIHByb3RlY3RlZCBnZXRTaG93UGFyYW1zKCk6IGFueSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgLyoqXG4gICAqIEZ1bmN0aW9uIHRoYXQgbG9hZHMgdGhlIG1haW4gbW9kZWwgb2YgdGhlIHBhZ2VcbiAgICovXG4gIGxvYWREYXRhKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5zZXJ2aWNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGAke3RoaXMuY29uc3RydWN0b3IubmFtZX06IFNlcnZpY2UgaXMgcmVxdWlyZWQgdG8gbG9hZCB0aGUgZGF0YWBcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICghdGhpcy5pZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmxvYWRTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5pc1dvcmtpbmcgPSB0cnVlO1xuICAgIHRoaXMubG9hZFN1YnNjcmlwdGlvbiA9IHRoaXMuc2VydmljZS5zaG93KHRoaXMuaWQsIHRoaXMuZ2V0U2hvd1BhcmFtcygpKVxuICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gdGhpcy5pc1dvcmtpbmcgPSBmYWxzZSkpXG4gICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLm1vZGVsID0gcmVzdWx0Py5pdGVtO1xuICAgICAgICB0aGlzLm1vZGVsTG9hZGVkKHRoaXMubW9kZWwpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVsb2FkIHRoZSBtb2RlbCBvZiB0aGUgcGFnZVxuICAgKi9cbiAgcmVsb2FkKCk6IHZvaWQge1xuICAgIHRoaXMubG9hZERhdGEoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIb29rIGNhbGxlZCBvbmNlIHRoZSBtb2RlbCBpcyBsb2FkZWRcbiAgICogT3ZlcnJpZGUgaW4gY2hpbGQgY2xhc3MgdG8gY29tcHV0ZSBkZXJpdmVkIGRhdGEgZnJvbSB0aGUgbW9kZWxcbiAgICpcbiAgICogQHBhcmFtIG1vZGVsIFRoZSBsb2FkZWQgbW9kZWxcbiAgICovXG4gIHByb3RlY3RlZCBtb2RlbExvYWRlZChtb2RlbDogYW55KTogdm9pZCB7XG4gIH1cblxuICAvKipcbiAgICogUmVwbGFjZXMgdGhlIG1vZGVsIG9mIHRoZSBwYWdlLCBlZzogYWZ0ZXIgYW4gdXBkYXRlIGZvcm0gb3Igc3RhdHVzIGNoYW5nZVxuICAgKlxuICAgKiBAcGFyYW0gbW9kZWwgVGhlIHVwZGF0ZWQgbW9kZWxcbiAgICovXG4gIG1vZGVsVXBkYXRlZChtb2RlbDogYW55KTogdm9pZCB7XG4gICAgaWYgKG1vZGVsKSB7XG4gICAgICB0aGlzLm1vZGVsID0gbW9kZWw7XG4gICAgICB0aGlzLm1vZGVsTG9hZGVkKHRoaXMubW9kZWwpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -13,8 +13,7 @@ import * as i7 from "@angular/material/form-field";
|
|
|
13
13
|
import * as i8 from "@angular/material/icon";
|
|
14
14
|
import * as i9 from "@angular/material/input";
|
|
15
15
|
import * as i10 from "@angular/material/card";
|
|
16
|
-
import * as i11 from "
|
|
17
|
-
import * as i12 from "../password-requirement-check/password-requirement-check/password-requirement-check.component";
|
|
16
|
+
import * as i11 from "../password-requirement-check/password-requirement-check/password-requirement-check.component";
|
|
18
17
|
const errorMessages = {
|
|
19
18
|
current_password: {
|
|
20
19
|
required: 'Current password is required'
|
|
@@ -78,10 +77,10 @@ export class ChangePasswordComponent {
|
|
|
78
77
|
return this.formValidatorService.getErrorMessage(field, this.passwordResetForm, errorMessages);
|
|
79
78
|
}
|
|
80
79
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChangePasswordComponent, deps: [{ token: i1.HttpService }, { token: i1.AlertService }, { token: i2.Router }, { token: i3.CurrentUserService }, { token: i4.UntypedFormBuilder }, { token: i1.ErrorHandlerService }, { token: i1.FormValidatorService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
81
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ChangePasswordComponent, selector: "app-change-password", ngImport: i0, template: "<div class=\"h-100 d-flex justify-content-center align-items-center w-100\">\n <div class=\"row w-100\">\n <div class=\"col-lg-6 col-md-8 col-sm-10 col-xs-12 col-12 mx-auto\">\n <mat-card>\n <mat-card-title>\n Update Your Password\n </mat-card-title>\n <mat-card-subtitle>\n <small class=\"text-muted\" *ngIf=\"user?.is_temporary_password\">\n You\u2019re currently using a temporary password, please change it to proceed\n </small>\n </mat-card-subtitle>\n <form [formGroup]=\"passwordResetForm\" (ngSubmit)=\"saveNewPassword()\">\n <mat-card-content
|
|
80
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ChangePasswordComponent, selector: "app-change-password", ngImport: i0, template: "<div class=\"h-100 d-flex justify-content-center align-items-center w-100\">\n <div class=\"row w-100\">\n <div class=\"col-lg-6 col-md-8 col-sm-10 col-xs-12 col-12 mx-auto\">\n <mat-card>\n <mat-card-title>\n Update Your Password\n </mat-card-title>\n <mat-card-subtitle>\n <small class=\"text-muted\" *ngIf=\"user?.is_temporary_password\">\n You\u2019re currently using a temporary password, please change it to proceed\n </small>\n </mat-card-subtitle>\n <form [formGroup]=\"passwordResetForm\" (ngSubmit)=\"saveNewPassword()\">\n <mat-card-content class=\"d-flex flex-column flex-wrap gap-3\">\n <mat-form-field class=\"w-100\">\n <mat-label>Current Password</mat-label>\n <input matInput formControlName=\"current_password\"\n placeholder=\"Current Password\"\n type=\"password\"\n autocomplete=\"off\"\n required />\n <mat-hint>Your current password.</mat-hint>\n <mat-error *ngIf=\"isFieldValid('current_password')\">\n {{getErrorMessage('current_password')}}\n </mat-error>\n </mat-form-field>\n <mat-form-field class=\"w-100\">\n <mat-label>New Password</mat-label>\n <input matInput formControlName=\"password\"\n placeholder=\"New Password\"\n [type]=\"passwordHide ? 'password' : 'text'\"\n autocomplete=\"off\"\n required />\n <button matSuffix mat-icon-button (click)=\"passwordHide = !passwordHide\" type=\"button\">\n <mat-icon>{{passwordHide ? 'visibility_off' : 'visibility'}}</mat-icon>\n </button>\n <mat-error *ngIf=\"isFieldValid('password')\">\n {{getErrorMessage('password')}}\n </mat-error>\n <mat-hint>The new password you would like to use.</mat-hint>\n </mat-form-field>\n <mat-form-field class=\"w-100\">\n <mat-label>Confirm Password</mat-label>\n <input matInput formControlName=\"password_confirmation\"\n placeholder=\"Confirm Password\"\n [type]=\"passwordConfirmationHide ? 'password' : 'text'\"\n autocomplete=\"off\" required />\n <button matSuffix mat-icon-button (click)=\"passwordConfirmationHide = !passwordConfirmationHide\" type=\"button\">\n <mat-icon>{{passwordConfirmationHide ? 'visibility_off' : 'visibility'}}</mat-icon>\n </button>\n <mat-error *ngIf=\"isFieldValid('password_confirmation')\">\n {{getErrorMessage('password_confirmation')}}\n </mat-error>\n </mat-form-field>\n </mat-card-content>\n <div class=\"mt-2 mb-2\">\n <techlify-password-requirement-check [password]=\"passwordResetForm.get('password').value\"></techlify-password-requirement-check>\n </div>\n <mat-card-actions class=\"d-flex justify-content-end\">\n <button mat-raised-button color=primary type=\"submit\" [disabled]=\"isWorking\">\n Change Password\n </button>\n </mat-card-actions>\n </form>\n </mat-card>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { kind: "directive", type: i7.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i7.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i7.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i10.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i10.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i10.MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: i10.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "directive", type: i10.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i11.PasswordRequirementCheckComponent, selector: "techlify-password-requirement-check", inputs: ["password", "email"] }] }); }
|
|
82
81
|
}
|
|
83
82
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChangePasswordComponent, decorators: [{
|
|
84
83
|
type: Component,
|
|
85
|
-
args: [{ selector: 'app-change-password', template: "<div class=\"h-100 d-flex justify-content-center align-items-center w-100\">\n <div class=\"row w-100\">\n <div class=\"col-lg-6 col-md-8 col-sm-10 col-xs-12 col-12 mx-auto\">\n <mat-card>\n <mat-card-title>\n Update Your Password\n </mat-card-title>\n <mat-card-subtitle>\n <small class=\"text-muted\" *ngIf=\"user?.is_temporary_password\">\n You\u2019re currently using a temporary password, please change it to proceed\n </small>\n </mat-card-subtitle>\n <form [formGroup]=\"passwordResetForm\" (ngSubmit)=\"saveNewPassword()\">\n <mat-card-content
|
|
84
|
+
args: [{ selector: 'app-change-password', template: "<div class=\"h-100 d-flex justify-content-center align-items-center w-100\">\n <div class=\"row w-100\">\n <div class=\"col-lg-6 col-md-8 col-sm-10 col-xs-12 col-12 mx-auto\">\n <mat-card>\n <mat-card-title>\n Update Your Password\n </mat-card-title>\n <mat-card-subtitle>\n <small class=\"text-muted\" *ngIf=\"user?.is_temporary_password\">\n You\u2019re currently using a temporary password, please change it to proceed\n </small>\n </mat-card-subtitle>\n <form [formGroup]=\"passwordResetForm\" (ngSubmit)=\"saveNewPassword()\">\n <mat-card-content class=\"d-flex flex-column flex-wrap gap-3\">\n <mat-form-field class=\"w-100\">\n <mat-label>Current Password</mat-label>\n <input matInput formControlName=\"current_password\"\n placeholder=\"Current Password\"\n type=\"password\"\n autocomplete=\"off\"\n required />\n <mat-hint>Your current password.</mat-hint>\n <mat-error *ngIf=\"isFieldValid('current_password')\">\n {{getErrorMessage('current_password')}}\n </mat-error>\n </mat-form-field>\n <mat-form-field class=\"w-100\">\n <mat-label>New Password</mat-label>\n <input matInput formControlName=\"password\"\n placeholder=\"New Password\"\n [type]=\"passwordHide ? 'password' : 'text'\"\n autocomplete=\"off\"\n required />\n <button matSuffix mat-icon-button (click)=\"passwordHide = !passwordHide\" type=\"button\">\n <mat-icon>{{passwordHide ? 'visibility_off' : 'visibility'}}</mat-icon>\n </button>\n <mat-error *ngIf=\"isFieldValid('password')\">\n {{getErrorMessage('password')}}\n </mat-error>\n <mat-hint>The new password you would like to use.</mat-hint>\n </mat-form-field>\n <mat-form-field class=\"w-100\">\n <mat-label>Confirm Password</mat-label>\n <input matInput formControlName=\"password_confirmation\"\n placeholder=\"Confirm Password\"\n [type]=\"passwordConfirmationHide ? 'password' : 'text'\"\n autocomplete=\"off\" required />\n <button matSuffix mat-icon-button (click)=\"passwordConfirmationHide = !passwordConfirmationHide\" type=\"button\">\n <mat-icon>{{passwordConfirmationHide ? 'visibility_off' : 'visibility'}}</mat-icon>\n </button>\n <mat-error *ngIf=\"isFieldValid('password_confirmation')\">\n {{getErrorMessage('password_confirmation')}}\n </mat-error>\n </mat-form-field>\n </mat-card-content>\n <div class=\"mt-2 mb-2\">\n <techlify-password-requirement-check [password]=\"passwordResetForm.get('password').value\"></techlify-password-requirement-check>\n </div>\n <mat-card-actions class=\"d-flex justify-content-end\">\n <button mat-raised-button color=primary type=\"submit\" [disabled]=\"isWorking\">\n Change Password\n </button>\n </mat-card-actions>\n </form>\n </mat-card>\n </div>\n </div>\n</div>\n" }]
|
|
86
85
|
}], ctorParameters: () => [{ type: i1.HttpService }, { type: i1.AlertService }, { type: i2.Router }, { type: i3.CurrentUserService }, { type: i4.UntypedFormBuilder }, { type: i1.ErrorHandlerService }, { type: i1.FormValidatorService }] });
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvY2hhbmdlLXBhc3N3b3JkL2NoYW5nZS1wYXNzd29yZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2NoYW5nZS1wYXNzd29yZC9jaGFuZ2UtcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0VBQW9FO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFLbEQsT0FBTyxFQUF3QyxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RyxPQUFPLEVBQXNCLElBQUksRUFBRSxNQUFNLFNBQVMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFFbkQsTUFBTSxhQUFhLEdBQVE7SUFDekIsZ0JBQWdCLEVBQUU7UUFDaEIsUUFBUSxFQUFFLDhCQUE4QjtLQUN6QztJQUNELFFBQVEsRUFBRTtRQUNSLFFBQVEsRUFBRSwwQkFBMEI7UUFDcEMsYUFBYSxFQUFFLG1EQUFtRDtRQUNsRSxNQUFNLEVBQUUsMkNBQTJDO1FBQ25ELEtBQUssRUFBRSwwQ0FBMEM7UUFDakQsU0FBUyxFQUFFLDRCQUE0QjtLQUN4QztJQUNELHFCQUFxQixFQUFFO1FBQ3JCLFFBQVEsRUFBRSw4QkFBOEI7UUFDeEMsZ0JBQWdCLEVBQUUsdUJBQXVCO0tBQzFDO0NBQ0YsQ0FBQztBQU9GLE1BQU0sT0FBTyx1QkFBdUI7SUFPbEMsWUFDVSxJQUFpQixFQUNqQixZQUEwQixFQUMxQixNQUFjLEVBQ2Ysa0JBQXNDLEVBQ3JDLEVBQXNCLEVBQ3RCLFlBQWlDLEVBQ2pDLG9CQUEwQztRQU4xQyxTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2pCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3JDLE9BQUUsR0FBRixFQUFFLENBQW9CO1FBQ3RCLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUNqQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBYnBELGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLDZCQUF3QixHQUFHLElBQUksQ0FBQztRQUdoQyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBV2hCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ2hDLGdCQUFnQixFQUFFLElBQUksa0JBQWtCLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDakUsUUFBUSxFQUFFLElBQUksa0JBQWtCLENBQUMsRUFBRSxFQUNqQyxVQUFVLENBQUMsUUFBUSxDQUNwQjtZQUNELHFCQUFxQixFQUFFLElBQUksa0JBQWtCLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7U0FDdkUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMvRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUMxQyxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGtDQUFrQyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQ2hHLEdBQUcsQ0FBQyxFQUFFO1lBQ0osSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsb0NBQW9DLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDNUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FDRixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNkLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYTtRQUN4QixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBYTtRQUMzQixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNqRyxDQUFDOytHQXpEVSx1QkFBdUI7bUdBQXZCLHVCQUF1QiwyREMvQnBDLG8zR0FvRUE7OzRGRHJDYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0UscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiLyogdHNsaW50OmRpc2FibGU6Y29tcG9uZW50LXNlbGVjdG9yIG9uZS12YXJpYWJsZS1wZXItZGVjbGFyYXRpb24gKi9cbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQge0h0dHBTZXJ2aWNlLCBBbGVydFNlcnZpY2UsIEVycm9ySGFuZGxlclNlcnZpY2UsIEZvcm1WYWxpZGF0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZSc7XG5cbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAsIFVudHlwZWRGb3JtQnVpbGRlciwgVmFsaWRhdG9ycywgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ3VycmVudFVzZXJTZXJ2aWNlLCBVc2VyIH0gZnJvbSAnLi4vdXNlcic7XG5cbmNvbnN0IGVycm9yTWVzc2FnZXM6IGFueSA9IHtcbiAgY3VycmVudF9wYXNzd29yZDoge1xuICAgIHJlcXVpcmVkOiAnQ3VycmVudCBwYXNzd29yZCBpcyByZXF1aXJlZCdcbiAgfSxcbiAgcGFzc3dvcmQ6IHtcbiAgICByZXF1aXJlZDogJ05ldyBwYXNzd29yZCBpcyByZXF1aXJlZCcsXG4gICAgY2FwaXRhbExldHRlcjogJ1Bhc3N3b3JkIHNob3VsZCBjb250YWluIGF0LWxlYXN0IDEgY2FwaXRhbCBsZXR0ZXInLFxuICAgIHN5bWJvbDogJ1Bhc3N3b3JkIHNob3VsZCBjb250YWluIGF0LWxlYXN0IDEgc3ltYm9sJyxcbiAgICBkaWdpdDogJ1Bhc3N3b3JkIHNob3VsZCBjb250YWluIGF0LWxlYXN0IDEgZGlnaXQnLFxuICAgIG1pbkxlbmd0aDogJ1Nob3VsZCBoYXZlIG1pbmltdW0gbGVuZ3RoJyxcbiAgfSxcbiAgcGFzc3dvcmRfY29uZmlybWF0aW9uOiB7XG4gICAgcmVxdWlyZWQ6ICdDb25maXJtIHBhc3N3b3JkIGlzIHJlcXVpcmVkJyxcbiAgICBwYXNzd29yZE1pc21hdGNoOiAnUGFzc3dvcmQgc2hvdWxkIG1hdGNoJ1xuICB9XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY2hhbmdlLXBhc3N3b3JkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoYW5nZS1wYXNzd29yZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NoYW5nZS1wYXNzd29yZC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENoYW5nZVBhc3N3b3JkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcGFzc3dvcmRIaWRlID0gdHJ1ZTtcbiAgcGFzc3dvcmRDb25maXJtYXRpb25IaWRlID0gdHJ1ZTtcbiAgcGFzc3dvcmRSZXNldEZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG4gIHVzZXI6IFVzZXI7XG4gIGlzV29ya2luZyA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHB1YmxpYyBjdXJyZW50VXNlclNlcnZpY2U6IEN1cnJlbnRVc2VyU2VydmljZSxcbiAgICBwcml2YXRlIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBlcnJvckhhbmRsZXI6IEVycm9ySGFuZGxlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmb3JtVmFsaWRhdG9yU2VydmljZTogRm9ybVZhbGlkYXRvclNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMucGFzc3dvcmRSZXNldEZvcm0gPSBmYi5ncm91cCh7XG4gICAgICBjdXJyZW50X3Bhc3N3b3JkOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIHBhc3N3b3JkOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKCcnLFxuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgKSxcbiAgICAgIHBhc3N3b3JkX2NvbmZpcm1hdGlvbjogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnVzZXIgPSBuZXcgVXNlcigpO1xuICAgIHRoaXMuY3VycmVudFVzZXJTZXJ2aWNlLmdldFVzZXJPYnNlcnZhYmxlKHRydWUpLnN1YnNjcmliZSh1c2VyID0+IHtcbiAgICAgIHRoaXMudXNlciA9IHVzZXI7XG4gICAgfSk7XG4gIH1cblxuICBzYXZlTmV3UGFzc3dvcmQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnBhc3N3b3JkUmVzZXRGb3JtLnZhbGlkKSB7XG4gICAgICB0aGlzLnBhc3N3b3JkUmVzZXRGb3JtLm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pc1dvcmtpbmcgPSB0cnVlO1xuICAgIHRoaXMuaHR0cC5wYXRjaCgnYXBpL3VzZXIvY3VycmVudC91cGRhdGUtcGFzc3dvcmQnLCB0aGlzLnBhc3N3b3JkUmVzZXRGb3JtLnZhbHVlKS50b1Byb21pc2UoKS50aGVuKFxuICAgICAgcmVzID0+IHtcbiAgICAgICAgdGhpcy5pc1dvcmtpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkQWxlcnQoJ1N1Y2Nlc3NmdWxseSBjaGFuZ2VkIHlvdXIgcGFzc3dvcmQnLCAnc3VjY2VzcycpO1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9kYXNoYm9hcmQnXSk7XG4gICAgICB9XG4gICAgKS5jYXRjaChlcnJvciA9PiB7XG4gICAgICB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVFcnJvcihlcnJvcik7XG4gICAgfSkuZmluYWxseSgoKSA9PiB7XG4gICAgICB0aGlzLmlzV29ya2luZyA9IGZhbHNlO1xuICAgIH0pO1xuICB9XG5cbiAgaXNGaWVsZFZhbGlkKGZpZWxkOiBzdHJpbmcpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmZvcm1WYWxpZGF0b3JTZXJ2aWNlLmlzRmllbGRWYWxpZChmaWVsZCwgdGhpcy5wYXNzd29yZFJlc2V0Rm9ybSk7XG4gIH1cblxuICBnZXRFcnJvck1lc3NhZ2UoZmllbGQ6IHN0cmluZyk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybVZhbGlkYXRvclNlcnZpY2UuZ2V0RXJyb3JNZXNzYWdlKGZpZWxkLCB0aGlzLnBhc3N3b3JkUmVzZXRGb3JtLCBlcnJvck1lc3NhZ2VzKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImgtMTAwIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciB3LTEwMFwiPlxuICA8ZGl2IGNsYXNzPVwicm93IHctMTAwXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbC1sZy02IGNvbC1tZC04IGNvbC1zbS0xMCBjb2wteHMtMTIgY29sLTEyIG14LWF1dG9cIj5cbiAgICAgIDxtYXQtY2FyZD5cbiAgICAgICAgPG1hdC1jYXJkLXRpdGxlPlxuICAgICAgICAgIFVwZGF0ZSBZb3VyIFBhc3N3b3JkXG4gICAgICAgIDwvbWF0LWNhcmQtdGl0bGU+XG4gICAgICAgIDxtYXQtY2FyZC1zdWJ0aXRsZT5cbiAgICAgICAgICA8c21hbGwgY2xhc3M9XCJ0ZXh0LW11dGVkXCIgKm5nSWY9XCJ1c2VyPy5pc190ZW1wb3JhcnlfcGFzc3dvcmRcIj5cbiAgICAgICAgICAgIFlvdeKAmXJlIGN1cnJlbnRseSB1c2luZyBhIHRlbXBvcmFyeSBwYXNzd29yZCwgcGxlYXNlIGNoYW5nZSBpdCB0byBwcm9jZWVkXG4gICAgICAgICAgPC9zbWFsbD5cbiAgICAgICAgPC9tYXQtY2FyZC1zdWJ0aXRsZT5cbiAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJwYXNzd29yZFJlc2V0Rm9ybVwiIChuZ1N1Ym1pdCk9XCJzYXZlTmV3UGFzc3dvcmQoKVwiPlxuICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50IGZ4TGF5b3V0PVwiY29sdW1uIHdyYXBcIiBmeExheW91dEdhcD1cIjFyZW1cIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9XCIxMDAlXCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWw+Q3VycmVudCBQYXNzd29yZDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiY3VycmVudF9wYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkN1cnJlbnQgUGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICAgICAgICAgICByZXF1aXJlZCAvPlxuICAgICAgICAgICAgICA8bWF0LWhpbnQ+WW91ciBjdXJyZW50IHBhc3N3b3JkLjwvbWF0LWhpbnQ+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJpc0ZpZWxkVmFsaWQoJ2N1cnJlbnRfcGFzc3dvcmQnKVwiPlxuICAgICAgICAgICAgICAgIHt7Z2V0RXJyb3JNZXNzYWdlKCdjdXJyZW50X3Bhc3N3b3JkJyl9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PVwiMTAwJVwiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsPk5ldyBQYXNzd29yZDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwicGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJOZXcgUGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgICAgICAgW3R5cGVdPVwicGFzc3dvcmRIaWRlID8gJ3Bhc3N3b3JkJyA6ICd0ZXh0J1wiXG4gICAgICAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQgLz5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJwYXNzd29yZEhpZGUgPSAhcGFzc3dvcmRIaWRlXCIgdHlwZT1cImJ1dHRvblwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj57e3Bhc3N3b3JkSGlkZSA/ICd2aXNpYmlsaXR5X29mZicgOiAndmlzaWJpbGl0eSd9fTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiaXNGaWVsZFZhbGlkKCdwYXNzd29yZCcpXCI+XG4gICAgICAgICAgICAgICAge3tnZXRFcnJvck1lc3NhZ2UoJ3Bhc3N3b3JkJyl9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgPG1hdC1oaW50PlRoZSBuZXcgcGFzc3dvcmQgeW91IHdvdWxkIGxpa2UgdG8gdXNlLjwvbWF0LWhpbnQ+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD1cIjEwMCVcIj5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbD5Db25maXJtIFBhc3N3b3JkPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJwYXNzd29yZF9jb25maXJtYXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJDb25maXJtIFBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgICAgICAgIFt0eXBlXT1cInBhc3N3b3JkQ29uZmlybWF0aW9uSGlkZSA/ICdwYXNzd29yZCcgOiAndGV4dCdcIlxuICAgICAgICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCIgcmVxdWlyZWQgLz5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJwYXNzd29yZENvbmZpcm1hdGlvbkhpZGUgPSAhcGFzc3dvcmRDb25maXJtYXRpb25IaWRlXCIgdHlwZT1cImJ1dHRvblwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj57e3Bhc3N3b3JkQ29uZmlybWF0aW9uSGlkZSA/ICd2aXNpYmlsaXR5X29mZicgOiAndmlzaWJpbGl0eSd9fTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiaXNGaWVsZFZhbGlkKCdwYXNzd29yZF9jb25maXJtYXRpb24nKVwiPlxuICAgICAgICAgICAgICAgIHt7Z2V0RXJyb3JNZXNzYWdlKCdwYXNzd29yZF9jb25maXJtYXRpb24nKX19XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTIgbWItMlwiPlxuICAgICAgICAgICAgPHRlY2hsaWZ5LXBhc3N3b3JkLXJlcXVpcmVtZW50LWNoZWNrIFtwYXNzd29yZF09XCJwYXNzd29yZFJlc2V0Rm9ybS5nZXQoJ3Bhc3N3b3JkJykudmFsdWVcIj48L3RlY2hsaWZ5LXBhc3N3b3JkLXJlcXVpcmVtZW50LWNoZWNrPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxtYXQtY2FyZC1hY3Rpb25zIGZ4TGF5b3V0QWxpZ249XCJlbmRcIj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9cHJpbWFyeSB0eXBlPVwic3VibWl0XCIgW2Rpc2FibGVkXT1cImlzV29ya2luZ1wiPlxuICAgICAgICAgICAgICBDaGFuZ2UgUGFzc3dvcmRcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvbWF0LWNhcmQtYWN0aW9ucz5cbiAgICAgICAgPC9mb3JtPlxuICAgICAgPC9tYXQtY2FyZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvY2hhbmdlLXBhc3N3b3JkL2NoYW5nZS1wYXNzd29yZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2NoYW5nZS1wYXNzd29yZC9jaGFuZ2UtcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0VBQW9FO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFLbEQsT0FBTyxFQUF3QyxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RyxPQUFPLEVBQXNCLElBQUksRUFBRSxNQUFNLFNBQVMsQ0FBQzs7Ozs7Ozs7Ozs7OztBQUVuRCxNQUFNLGFBQWEsR0FBUTtJQUN6QixnQkFBZ0IsRUFBRTtRQUNoQixRQUFRLEVBQUUsOEJBQThCO0tBQ3pDO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLDBCQUEwQjtRQUNwQyxhQUFhLEVBQUUsbURBQW1EO1FBQ2xFLE1BQU0sRUFBRSwyQ0FBMkM7UUFDbkQsS0FBSyxFQUFFLDBDQUEwQztRQUNqRCxTQUFTLEVBQUUsNEJBQTRCO0tBQ3hDO0lBQ0QscUJBQXFCLEVBQUU7UUFDckIsUUFBUSxFQUFFLDhCQUE4QjtRQUN4QyxnQkFBZ0IsRUFBRSx1QkFBdUI7S0FDMUM7Q0FDRixDQUFDO0FBT0YsTUFBTSxPQUFPLHVCQUF1QjtJQU9sQyxZQUNVLElBQWlCLEVBQ2pCLFlBQTBCLEVBQzFCLE1BQWMsRUFDZixrQkFBc0MsRUFDckMsRUFBc0IsRUFDdEIsWUFBaUMsRUFDakMsb0JBQTBDO1FBTjFDLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNmLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDckMsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQ2pDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFicEQsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFDcEIsNkJBQXdCLEdBQUcsSUFBSSxDQUFDO1FBR2hDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFXaEIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDaEMsZ0JBQWdCLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNqRSxRQUFRLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxFQUFFLEVBQ2pDLFVBQVUsQ0FBQyxRQUFRLENBQ3BCO1lBQ0QscUJBQXFCLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUN2RSxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQy9ELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzFDLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsa0NBQWtDLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FDaEcsR0FBRyxDQUFDLEVBQUU7WUFDSixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxvQ0FBb0MsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUM1RSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFDdkMsQ0FBQyxDQUNGLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFhO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFhO1FBQzNCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7K0dBekRVLHVCQUF1QjttR0FBdkIsdUJBQXVCLDJEQy9CcEMsazRHQW9FQTs7NEZEckNhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZTpjb21wb25lbnQtc2VsZWN0b3Igb25lLXZhcmlhYmxlLXBlci1kZWNsYXJhdGlvbiAqL1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7SHR0cFNlcnZpY2UsIEFsZXJ0U2VydmljZSwgRXJyb3JIYW5kbGVyU2VydmljZSwgRm9ybVZhbGlkYXRvclNlcnZpY2UgfSBmcm9tICcuLi9jb3JlJztcblxuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCwgVW50eXBlZEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzLCBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDdXJyZW50VXNlclNlcnZpY2UsIFVzZXIgfSBmcm9tICcuLi91c2VyJztcblxuY29uc3QgZXJyb3JNZXNzYWdlczogYW55ID0ge1xuICBjdXJyZW50X3Bhc3N3b3JkOiB7XG4gICAgcmVxdWlyZWQ6ICdDdXJyZW50IHBhc3N3b3JkIGlzIHJlcXVpcmVkJ1xuICB9LFxuICBwYXNzd29yZDoge1xuICAgIHJlcXVpcmVkOiAnTmV3IHBhc3N3b3JkIGlzIHJlcXVpcmVkJyxcbiAgICBjYXBpdGFsTGV0dGVyOiAnUGFzc3dvcmQgc2hvdWxkIGNvbnRhaW4gYXQtbGVhc3QgMSBjYXBpdGFsIGxldHRlcicsXG4gICAgc3ltYm9sOiAnUGFzc3dvcmQgc2hvdWxkIGNvbnRhaW4gYXQtbGVhc3QgMSBzeW1ib2wnLFxuICAgIGRpZ2l0OiAnUGFzc3dvcmQgc2hvdWxkIGNvbnRhaW4gYXQtbGVhc3QgMSBkaWdpdCcsXG4gICAgbWluTGVuZ3RoOiAnU2hvdWxkIGhhdmUgbWluaW11bSBsZW5ndGgnLFxuICB9LFxuICBwYXNzd29yZF9jb25maXJtYXRpb246IHtcbiAgICByZXF1aXJlZDogJ0NvbmZpcm0gcGFzc3dvcmQgaXMgcmVxdWlyZWQnLFxuICAgIHBhc3N3b3JkTWlzbWF0Y2g6ICdQYXNzd29yZCBzaG91bGQgbWF0Y2gnXG4gIH1cbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jaGFuZ2UtcGFzc3dvcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ2hhbmdlUGFzc3dvcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwYXNzd29yZEhpZGUgPSB0cnVlO1xuICBwYXNzd29yZENvbmZpcm1hdGlvbkhpZGUgPSB0cnVlO1xuICBwYXNzd29yZFJlc2V0Rm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgdXNlcjogVXNlcjtcbiAgaXNXb3JraW5nID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwU2VydmljZSxcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHVibGljIGN1cnJlbnRVc2VyU2VydmljZTogQ3VycmVudFVzZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGVycm9ySGFuZGxlcjogRXJyb3JIYW5kbGVyU2VydmljZSxcbiAgICBwcml2YXRlIGZvcm1WYWxpZGF0b3JTZXJ2aWNlOiBGb3JtVmFsaWRhdG9yU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5wYXNzd29yZFJlc2V0Rm9ybSA9IGZiLmdyb3VwKHtcbiAgICAgIGN1cnJlbnRfcGFzc3dvcmQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgcGFzc3dvcmQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycsXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICApLFxuICAgICAgcGFzc3dvcmRfY29uZmlybWF0aW9uOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudXNlciA9IG5ldyBVc2VyKCk7XG4gICAgdGhpcy5jdXJyZW50VXNlclNlcnZpY2UuZ2V0VXNlck9ic2VydmFibGUodHJ1ZSkuc3Vic2NyaWJlKHVzZXIgPT4ge1xuICAgICAgdGhpcy51c2VyID0gdXNlcjtcbiAgICB9KTtcbiAgfVxuXG4gIHNhdmVOZXdQYXNzd29yZCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucGFzc3dvcmRSZXNldEZvcm0udmFsaWQpIHtcbiAgICAgIHRoaXMucGFzc3dvcmRSZXNldEZvcm0ubWFya0FsbEFzVG91Y2hlZCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmlzV29ya2luZyA9IHRydWU7XG4gICAgdGhpcy5odHRwLnBhdGNoKCdhcGkvdXNlci9jdXJyZW50L3VwZGF0ZS1wYXNzd29yZCcsIHRoaXMucGFzc3dvcmRSZXNldEZvcm0udmFsdWUpLnRvUHJvbWlzZSgpLnRoZW4oXG4gICAgICByZXMgPT4ge1xuICAgICAgICB0aGlzLmlzV29ya2luZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRBbGVydCgnU3VjY2Vzc2Z1bGx5IGNoYW5nZWQgeW91ciBwYXNzd29yZCcsICdzdWNjZXNzJyk7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2Rhc2hib2FyZCddKTtcbiAgICAgIH1cbiAgICApLmNhdGNoKGVycm9yID0+IHtcbiAgICAgIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUVycm9yKGVycm9yKTtcbiAgICB9KS5maW5hbGx5KCgpID0+IHtcbiAgICAgIHRoaXMuaXNXb3JraW5nID0gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICBpc0ZpZWxkVmFsaWQoZmllbGQ6IHN0cmluZyk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybVZhbGlkYXRvclNlcnZpY2UuaXNGaWVsZFZhbGlkKGZpZWxkLCB0aGlzLnBhc3N3b3JkUmVzZXRGb3JtKTtcbiAgfVxuXG4gIGdldEVycm9yTWVzc2FnZShmaWVsZDogc3RyaW5nKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5mb3JtVmFsaWRhdG9yU2VydmljZS5nZXRFcnJvck1lc3NhZ2UoZmllbGQsIHRoaXMucGFzc3dvcmRSZXNldEZvcm0sIGVycm9yTWVzc2FnZXMpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaC0xMDAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIHctMTAwXCI+XG4gIDxkaXYgY2xhc3M9XCJyb3cgdy0xMDBcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTYgY29sLW1kLTggY29sLXNtLTEwIGNvbC14cy0xMiBjb2wtMTIgbXgtYXV0b1wiPlxuICAgICAgPG1hdC1jYXJkPlxuICAgICAgICA8bWF0LWNhcmQtdGl0bGU+XG4gICAgICAgICAgVXBkYXRlIFlvdXIgUGFzc3dvcmRcbiAgICAgICAgPC9tYXQtY2FyZC10aXRsZT5cbiAgICAgICAgPG1hdC1jYXJkLXN1YnRpdGxlPlxuICAgICAgICAgIDxzbWFsbCBjbGFzcz1cInRleHQtbXV0ZWRcIiAqbmdJZj1cInVzZXI/LmlzX3RlbXBvcmFyeV9wYXNzd29yZFwiPlxuICAgICAgICAgICAgWW914oCZcmUgY3VycmVudGx5IHVzaW5nIGEgdGVtcG9yYXJ5IHBhc3N3b3JkLCBwbGVhc2UgY2hhbmdlIGl0IHRvIHByb2NlZWRcbiAgICAgICAgICA8L3NtYWxsPlxuICAgICAgICA8L21hdC1jYXJkLXN1YnRpdGxlPlxuICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cInBhc3N3b3JkUmVzZXRGb3JtXCIgKG5nU3VibWl0KT1cInNhdmVOZXdQYXNzd29yZCgpXCI+XG4gICAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZmxleC13cmFwIGdhcC0zXCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJ3LTEwMFwiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsPkN1cnJlbnQgUGFzc3dvcmQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cImN1cnJlbnRfcGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJDdXJyZW50IFBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQgLz5cbiAgICAgICAgICAgICAgPG1hdC1oaW50PllvdXIgY3VycmVudCBwYXNzd29yZC48L21hdC1oaW50PlxuICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiaXNGaWVsZFZhbGlkKCdjdXJyZW50X3Bhc3N3b3JkJylcIj5cbiAgICAgICAgICAgICAgICB7e2dldEVycm9yTWVzc2FnZSgnY3VycmVudF9wYXNzd29yZCcpfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwidy0xMDBcIj5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbD5OZXcgUGFzc3dvcmQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cInBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiTmV3IFBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgICAgICAgIFt0eXBlXT1cInBhc3N3b3JkSGlkZSA/ICdwYXNzd29yZCcgOiAndGV4dCdcIlxuICAgICAgICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkIC8+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0U3VmZml4IG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwicGFzc3dvcmRIaWRlID0gIXBhc3N3b3JkSGlkZVwiIHR5cGU9XCJidXR0b25cIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+e3twYXNzd29yZEhpZGUgPyAndmlzaWJpbGl0eV9vZmYnIDogJ3Zpc2liaWxpdHknfX08L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImlzRmllbGRWYWxpZCgncGFzc3dvcmQnKVwiPlxuICAgICAgICAgICAgICAgIHt7Z2V0RXJyb3JNZXNzYWdlKCdwYXNzd29yZCcpfX1cbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgIDxtYXQtaGludD5UaGUgbmV3IHBhc3N3b3JkIHlvdSB3b3VsZCBsaWtlIHRvIHVzZS48L21hdC1oaW50PlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInctMTAwXCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWw+Q29uZmlybSBQYXNzd29yZDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwicGFzc3dvcmRfY29uZmlybWF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiQ29uZmlybSBQYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgICAgICBbdHlwZV09XCJwYXNzd29yZENvbmZpcm1hdGlvbkhpZGUgPyAncGFzc3dvcmQnIDogJ3RleHQnXCJcbiAgICAgICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiIHJlcXVpcmVkIC8+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0U3VmZml4IG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwicGFzc3dvcmRDb25maXJtYXRpb25IaWRlID0gIXBhc3N3b3JkQ29uZmlybWF0aW9uSGlkZVwiIHR5cGU9XCJidXR0b25cIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+e3twYXNzd29yZENvbmZpcm1hdGlvbkhpZGUgPyAndmlzaWJpbGl0eV9vZmYnIDogJ3Zpc2liaWxpdHknfX08L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImlzRmllbGRWYWxpZCgncGFzc3dvcmRfY29uZmlybWF0aW9uJylcIj5cbiAgICAgICAgICAgICAgICB7e2dldEVycm9yTWVzc2FnZSgncGFzc3dvcmRfY29uZmlybWF0aW9uJyl9fVxuICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0yIG1iLTJcIj5cbiAgICAgICAgICAgIDx0ZWNobGlmeS1wYXNzd29yZC1yZXF1aXJlbWVudC1jaGVjayBbcGFzc3dvcmRdPVwicGFzc3dvcmRSZXNldEZvcm0uZ2V0KCdwYXNzd29yZCcpLnZhbHVlXCI+PC90ZWNobGlmeS1wYXNzd29yZC1yZXF1aXJlbWVudC1jaGVjaz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8bWF0LWNhcmQtYWN0aW9ucyBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPXByaW1hcnkgdHlwZT1cInN1Ym1pdFwiIFtkaXNhYmxlZF09XCJpc1dvcmtpbmdcIj5cbiAgICAgICAgICAgICAgQ2hhbmdlIFBhc3N3b3JkXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L21hdC1jYXJkLWFjdGlvbnM+XG4gICAgICAgIDwvZm9ybT5cbiAgICAgIDwvbWF0LWNhcmQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,30 +1,16 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
2
|
import { ChangePasswordRoutingModule } from './change-password-routing.module';
|
|
4
3
|
import { ChangePasswordComponent } from './change-password.component';
|
|
5
|
-
import { MaterialModule } from '../material.module';
|
|
6
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
7
|
-
import { FlexLayoutModule } from '@angular/flex-layout';
|
|
8
|
-
import { MatInputModule } from '@angular/material/input';
|
|
9
4
|
import { PasswordRequirementCheckModule } from '../password-requirement-check/password-requirement-check.module';
|
|
5
|
+
import { SharedModule } from '../shared.module';
|
|
10
6
|
import * as i0 from "@angular/core";
|
|
11
7
|
export class ChangePasswordModule {
|
|
12
8
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChangePasswordModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
13
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: ChangePasswordModule, declarations: [ChangePasswordComponent], imports: [
|
|
9
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: ChangePasswordModule, declarations: [ChangePasswordComponent], imports: [SharedModule,
|
|
14
10
|
ChangePasswordRoutingModule,
|
|
15
|
-
MaterialModule,
|
|
16
|
-
FormsModule,
|
|
17
|
-
ReactiveFormsModule,
|
|
18
|
-
FlexLayoutModule,
|
|
19
|
-
MatInputModule,
|
|
20
11
|
PasswordRequirementCheckModule] }); }
|
|
21
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChangePasswordModule, imports: [
|
|
12
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChangePasswordModule, imports: [SharedModule,
|
|
22
13
|
ChangePasswordRoutingModule,
|
|
23
|
-
MaterialModule,
|
|
24
|
-
FormsModule,
|
|
25
|
-
ReactiveFormsModule,
|
|
26
|
-
FlexLayoutModule,
|
|
27
|
-
MatInputModule,
|
|
28
14
|
PasswordRequirementCheckModule] }); }
|
|
29
15
|
}
|
|
30
16
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChangePasswordModule, decorators: [{
|
|
@@ -34,15 +20,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
34
20
|
ChangePasswordComponent,
|
|
35
21
|
],
|
|
36
22
|
imports: [
|
|
37
|
-
|
|
23
|
+
SharedModule,
|
|
38
24
|
ChangePasswordRoutingModule,
|
|
39
|
-
MaterialModule,
|
|
40
|
-
FormsModule,
|
|
41
|
-
ReactiveFormsModule,
|
|
42
|
-
FlexLayoutModule,
|
|
43
|
-
MatInputModule,
|
|
44
25
|
PasswordRequirementCheckModule
|
|
45
26
|
]
|
|
46
27
|
}]
|
|
47
28
|
}] });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXBhc3N3b3JkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvY2hhbmdlLXBhc3N3b3JkL2NoYW5nZS1wYXNzd29yZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUMvRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBYWhELE1BQU0sT0FBTyxvQkFBb0I7K0dBQXBCLG9CQUFvQjtnSEFBcEIsb0JBQW9CLGlCQVI3Qix1QkFBdUIsYUFHdkIsWUFBWTtZQUNaLDJCQUEyQjtZQUMzQiw4QkFBOEI7Z0hBR3JCLG9CQUFvQixZQUw3QixZQUFZO1lBQ1osMkJBQTJCO1lBQzNCLDhCQUE4Qjs7NEZBR3JCLG9CQUFvQjtrQkFWaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osdUJBQXVCO3FCQUN4QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWiwyQkFBMkI7d0JBQzNCLDhCQUE4QjtxQkFDL0I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDaGFuZ2VQYXNzd29yZFJvdXRpbmdNb2R1bGUgfSBmcm9tICcuL2NoYW5nZS1wYXNzd29yZC1yb3V0aW5nLm1vZHVsZSc7XG5pbXBvcnQgeyBDaGFuZ2VQYXNzd29yZENvbXBvbmVudCB9IGZyb20gJy4vY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudCc7XG5pbXBvcnQge1Bhc3N3b3JkUmVxdWlyZW1lbnRDaGVja01vZHVsZX0gZnJvbSAnLi4vcGFzc3dvcmQtcmVxdWlyZW1lbnQtY2hlY2svcGFzc3dvcmQtcmVxdWlyZW1lbnQtY2hlY2subW9kdWxlJztcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC5tb2R1bGUnO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIENoYW5nZVBhc3N3b3JkQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgU2hhcmVkTW9kdWxlLFxuICAgIENoYW5nZVBhc3N3b3JkUm91dGluZ01vZHVsZSxcbiAgICBQYXNzd29yZFJlcXVpcmVtZW50Q2hlY2tNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBDaGFuZ2VQYXNzd29yZE1vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -3,14 +3,13 @@ import { FormControl } from '@angular/forms';
|
|
|
3
3
|
import { startWith } from 'rxjs';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "@angular/common";
|
|
6
|
-
import * as i2 from "@angular/
|
|
6
|
+
import * as i2 from "@angular/forms";
|
|
7
7
|
import * as i3 from "@angular/material/core";
|
|
8
|
-
import * as i4 from "@angular/material/
|
|
9
|
-
import * as i5 from "@angular/
|
|
8
|
+
import * as i4 from "@angular/material/button";
|
|
9
|
+
import * as i5 from "@angular/material/form-field";
|
|
10
10
|
import * as i6 from "@angular/material/icon";
|
|
11
11
|
import * as i7 from "@angular/material/input";
|
|
12
|
-
import * as i8 from "@angular/material/
|
|
13
|
-
import * as i9 from "@angular/flex-layout/flex";
|
|
12
|
+
import * as i8 from "@angular/material/select";
|
|
14
13
|
export class ColumnSelectorComponent {
|
|
15
14
|
set isExportWorking(value) {
|
|
16
15
|
this._isExportWorking = value;
|
|
@@ -86,11 +85,11 @@ export class ColumnSelectorComponent {
|
|
|
86
85
|
this.displayedColumnsChange.emit(finalColumns.map(c => c.def));
|
|
87
86
|
}
|
|
88
87
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ColumnSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
89
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ColumnSelectorComponent, selector: "app-column-selector", inputs: { label: "label", mode: "mode", columnConfigs: "columnConfigs", selectedColumns: "selectedColumns", isExportWorking: "isExportWorking" }, outputs: { selectedColumnsChange: "selectedColumnsChange", displayedColumnsChange: "displayedColumnsChange" }, ngImport: i0, template: "<mat-form-field *ngIf=\"mode === 'selector'\">\n <mat-label>{{ label }}</mat-label>\n <mat-select [multiple]=\"true\" [formControl]=\"columnSelector\">\n <mat-option class=\"text-capitalize\" *ngFor=\"let col of sortedColumns\" [value]=\"col.def\"\n [disabled]=\"!(col?.isEditable ?? true)\">\n {{ col.label }}\n </mat-option>\n </mat-select>\n</mat-form-field>\n\n<div *ngIf=\"mode === 'icon'\"
|
|
88
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ColumnSelectorComponent, selector: "app-column-selector", inputs: { label: "label", mode: "mode", columnConfigs: "columnConfigs", selectedColumns: "selectedColumns", isExportWorking: "isExportWorking" }, outputs: { selectedColumnsChange: "selectedColumnsChange", displayedColumnsChange: "displayedColumnsChange" }, ngImport: i0, template: "<mat-form-field *ngIf=\"mode === 'selector'\">\n <mat-label>{{ label }}</mat-label>\n <mat-select [multiple]=\"true\" [formControl]=\"columnSelector\">\n <mat-option class=\"text-capitalize\" *ngFor=\"let col of sortedColumns\" [value]=\"col.def\"\n [disabled]=\"!(col?.isEditable ?? true)\">\n {{ col.label }}\n </mat-option>\n </mat-select>\n</mat-form-field>\n\n<div *ngIf=\"mode === 'icon'\" class=\"d-flex justify-content-start align-items-center\">\n <mat-icon class=\"clickable\" (click)=\"select.open()\">view_column</mat-icon>\n <mat-select class=\"column-selector fl-sm\" #select [formControl]=\"columnSelector\" multiple panelWidth=\"\">\n <mat-form-field class=\"p-1 w-100\">\n <input matInput [formControl]=\"search\" placeholder=\"Search\" (keydown)=\"$event.stopPropagation();\"\n autocomplete=\"off\">\n <button mat-icon-button matSuffix type=\"button\" *ngIf=\"search.value\" (click)=\"search.setValue('')\">\n <mat-icon>clear</mat-icon>\n </button>\n </mat-form-field>\n <mat-option *ngFor=\"let column of sortedColumns\" [value]=\"column.def\" class=\"text-capitalize\"\n [disabled]=\"!(column?.isEditable ?? true)\">{{column?.label}}</mat-option>\n </mat-select>\n</div>", styles: [".column-selector{opacity:0;position:relative;right:24px;height:0!important;width:0!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i8.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
|
|
90
89
|
}
|
|
91
90
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ColumnSelectorComponent, decorators: [{
|
|
92
91
|
type: Component,
|
|
93
|
-
args: [{ selector: 'app-column-selector', template: "<mat-form-field *ngIf=\"mode === 'selector'\">\n <mat-label>{{ label }}</mat-label>\n <mat-select [multiple]=\"true\" [formControl]=\"columnSelector\">\n <mat-option class=\"text-capitalize\" *ngFor=\"let col of sortedColumns\" [value]=\"col.def\"\n [disabled]=\"!(col?.isEditable ?? true)\">\n {{ col.label }}\n </mat-option>\n </mat-select>\n</mat-form-field>\n\n<div *ngIf=\"mode === 'icon'\"
|
|
92
|
+
args: [{ selector: 'app-column-selector', template: "<mat-form-field *ngIf=\"mode === 'selector'\">\n <mat-label>{{ label }}</mat-label>\n <mat-select [multiple]=\"true\" [formControl]=\"columnSelector\">\n <mat-option class=\"text-capitalize\" *ngFor=\"let col of sortedColumns\" [value]=\"col.def\"\n [disabled]=\"!(col?.isEditable ?? true)\">\n {{ col.label }}\n </mat-option>\n </mat-select>\n</mat-form-field>\n\n<div *ngIf=\"mode === 'icon'\" class=\"d-flex justify-content-start align-items-center\">\n <mat-icon class=\"clickable\" (click)=\"select.open()\">view_column</mat-icon>\n <mat-select class=\"column-selector fl-sm\" #select [formControl]=\"columnSelector\" multiple panelWidth=\"\">\n <mat-form-field class=\"p-1 w-100\">\n <input matInput [formControl]=\"search\" placeholder=\"Search\" (keydown)=\"$event.stopPropagation();\"\n autocomplete=\"off\">\n <button mat-icon-button matSuffix type=\"button\" *ngIf=\"search.value\" (click)=\"search.setValue('')\">\n <mat-icon>clear</mat-icon>\n </button>\n </mat-form-field>\n <mat-option *ngFor=\"let column of sortedColumns\" [value]=\"column.def\" class=\"text-capitalize\"\n [disabled]=\"!(column?.isEditable ?? true)\">{{column?.label}}</mat-option>\n </mat-select>\n</div>", styles: [".column-selector{opacity:0;position:relative;right:24px;height:0!important;width:0!important}\n"] }]
|
|
94
93
|
}], ctorParameters: () => [], propDecorators: { label: [{
|
|
95
94
|
type: Input
|
|
96
95
|
}], mode: [{
|
|
@@ -106,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
106
105
|
}], isExportWorking: [{
|
|
107
106
|
type: Input
|
|
108
107
|
}] } });
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvY29sdW1uLXNlbGVjdG9yL2NvbHVtbi1zZWxlY3Rvci9jb2x1bW4tc2VsZWN0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9jb2x1bW4tc2VsZWN0b3IvY29sdW1uLXNlbGVjdG9yL2NvbHVtbi1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7OztBQU9qQyxNQUFNLE9BQU8sdUJBQXVCO0lBU2xDLElBQWEsZUFBZSxDQUFDLEtBQWM7UUFDekMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztRQUM5QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBQ0QsSUFBSSxlQUFlLEtBQUssT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0lBS3ZEO1FBakJTLFVBQUssR0FBRyxTQUFTLENBQUM7UUFDbEIsU0FBSSxHQUF3QixVQUFVLENBQUM7UUFDdkMsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBQ25DLG9CQUFlLEdBQW1CLEVBQUUsQ0FBQztRQUNwQywwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztRQUMzRCwyQkFBc0IsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO1FBRXhELHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQU9qQyxtQkFBYyxHQUFnQixJQUFJLFdBQVcsQ0FBTSxFQUFFLENBQUMsQ0FBQztRQUN2RCxXQUFNLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFYixDQUFDO0lBRWpCLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDL0UsQ0FBQztRQUVELElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWTthQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2FBQ3pDLFNBQVMsQ0FBQyxDQUFDLFlBQXNCLEVBQUUsRUFBRTtZQUNwQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDckYsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUM7WUFDdkMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsSUFBSSxtQkFBbUI7UUFDckIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQzNDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ2hHLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsSUFBSSxNQUFNLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN0RixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDdEIsTUFBTSxHQUFHLENBQUMsR0FBRyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUNELE9BQU8sQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLFlBQTRCLENBQUM7UUFDakMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBRXJELElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pCLGFBQWE7WUFFYix1QkFBdUI7WUFDdkIsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBRTVFLHFDQUFxQztZQUNyQyxJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLEtBQUssSUFBSSxDQUFDLENBQUM7WUFFNUUsa0NBQWtDO1lBQ2xDLElBQUksTUFBTSxHQUFHLENBQUMsR0FBRyxRQUFRLEVBQUUsR0FBRyxhQUFhLENBQUMsQ0FBQztZQUU3Qyx1Q0FBdUM7WUFDdkMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxLQUFLLEtBQUssQ0FBQyxDQUFDO1lBRXRELG1CQUFtQjtZQUNuQixNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFFbkQsd0NBQXdDO1lBQ3hDLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFdkUsQ0FBQzthQUFNLENBQUM7WUFDTixjQUFjO1lBQ2QsWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM5RSxDQUFDO1FBQ0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxZQUFZLENBQUM7UUFDcEMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDOytHQTVGVSx1QkFBdUI7bUdBQXZCLHVCQUF1Qiw0VENWcEMsOHNDQXVCTTs7NEZEYk8sdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHFCQUFxQjt3REFLdEIsS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0kscUJBQXFCO3NCQUE5QixNQUFNO2dCQUNHLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFHTSxlQUFlO3NCQUEzQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb2x1bW5Db25maWcgfSBmcm9tICcuLi9jb2x1bW4tY29uZmlnLm1vZGVsJztcbmltcG9ydCB7IHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY29sdW1uLXNlbGVjdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbHVtbi1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbHVtbi1zZWxlY3Rvci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbHVtblNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgbGFiZWwgPSAnQ29sdW1ucyc7XG4gIEBJbnB1dCgpIG1vZGU6ICdzZWxlY3RvcicgfCAnaWNvbicgPSAnc2VsZWN0b3InO1xuICBASW5wdXQoKSBjb2x1bW5Db25maWdzOiBDb2x1bW5Db25maWdbXSA9IFtdO1xuICBASW5wdXQoKSBzZWxlY3RlZENvbHVtbnM6IENvbHVtbkNvbmZpZ1tdID0gW107XG4gIEBPdXRwdXQoKSBzZWxlY3RlZENvbHVtbnNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPENvbHVtbkNvbmZpZ1tdPigpO1xuICBAT3V0cHV0KCkgZGlzcGxheWVkQ29sdW1uc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10+KCk7XG5cbiAgcHJpdmF0ZSBfaXNFeHBvcnRXb3JraW5nID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNldCBpc0V4cG9ydFdvcmtpbmcodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9pc0V4cG9ydFdvcmtpbmcgPSB2YWx1ZTtcbiAgICB0aGlzLnVwZGF0ZUVtaXR0ZWRDb2x1bW5zKCk7XG4gIH1cbiAgZ2V0IGlzRXhwb3J0V29ya2luZygpIHsgcmV0dXJuIHRoaXMuX2lzRXhwb3J0V29ya2luZzsgfVxuXG4gIGNvbHVtblNlbGVjdG9yOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDxhbnk+KFtdKTtcbiAgc2VhcmNoID0gbmV3IEZvcm1Db250cm9sKCcnKTtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc3BsYXllZENvbHVtbnMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5jb2x1bW5TZWxlY3Rvci5zZXRWYWx1ZSh0aGlzLmRpc3BsYXllZENvbHVtbkRlZnMsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbHVtblNlbGVjdG9yLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoc3RhcnRXaXRoKHRoaXMuZGlzcGxheWVkQ29sdW1uRGVmcykpXG4gICAgICAuc3Vic2NyaWJlKChzZWxlY3RlZERlZnM6IHN0cmluZ1tdKSA9PiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkQ29uZmlncyA9IHRoaXMuY29sdW1uQ29uZmlncy5maWx0ZXIoYyA9PiBzZWxlY3RlZERlZnMuaW5jbHVkZXMoYy5kZWYpKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENvbHVtbnMgPSBzZWxlY3RlZENvbmZpZ3M7XG4gICAgICAgIHRoaXMudXBkYXRlRW1pdHRlZENvbHVtbnMoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZ2V0IGF2YWlsYWJsZUNvbHVtbnMoKTogQ29sdW1uQ29uZmlnW10ge1xuICAgIHJldHVybiB0aGlzLmNvbHVtbkNvbmZpZ3M7XG4gIH1cblxuICBnZXQgZGlzcGxheWVkQ29sdW1ucygpOiBDb2x1bW5Db25maWdbXSB7XG4gICAgcmV0dXJuIHRoaXMuY29sdW1uQ29uZmlncy5maWx0ZXIoYyA9PiBjLmlzU2VsZWN0ZWQgPz8gdHJ1ZSk7XG4gIH1cblxuICBnZXQgZGlzcGxheWVkQ29sdW1uRGVmcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuZGlzcGxheWVkQ29sdW1ucy5tYXAoYyA9PiBjLmRlZik7XG4gIH1cblxuICBnZXQgZmlsdGVyZWRDb2x1bW5zKCk6IENvbHVtbkNvbmZpZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5hdmFpbGFibGVDb2x1bW5zLmZpbHRlcihjb2x1bW4gPT5cbiAgICAgIHRoaXMuc2VhcmNoLnZhbHVlID8gY29sdW1uLmxhYmVsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5zZWFyY2gudmFsdWUudG9Mb3dlckNhc2UoKSkgOiB0cnVlXG4gICAgKTtcbiAgfVxuXG4gIGdldCBzb3J0ZWRDb2x1bW5zKCk6IENvbHVtbkNvbmZpZ1tdIHtcbiAgICBsZXQgc29ydGVkID0gWy4uLnRoaXMuZmlsdGVyZWRDb2x1bW5zXS5zb3J0KChhLCBiKSA9PiBhLmxhYmVsLmxvY2FsZUNvbXBhcmUoYi5sYWJlbCkpO1xuICAgIGlmICh0aGlzLnNlYXJjaC52YWx1ZSkge1xuICAgICAgc29ydGVkID0gWy4uLnNvcnRlZCwgLi4udGhpcy5zZWxlY3RlZENvbHVtbnNdO1xuICAgIH1cbiAgICByZXR1cm4gWy4uLm5ldyBNYXAoc29ydGVkLm1hcChjID0+IFtjLmRlZiwgY10pKS52YWx1ZXMoKV07XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUVtaXR0ZWRDb2x1bW5zKCk6IHZvaWQge1xuICAgIGxldCBmaW5hbENvbHVtbnM6IENvbHVtbkNvbmZpZ1tdO1xuICAgIGNvbnN0IHNlbGVjdGVkRGVmcyA9IHRoaXMuY29sdW1uU2VsZWN0b3IudmFsdWUgfHwgW107XG5cbiAgICBpZiAodGhpcy5pc0V4cG9ydFdvcmtpbmcpIHtcbiAgICAgIC8vRXhwb3J0IG1vZGVcblxuICAgICAgLy9Vc2VyLXNlbGVjdGVkIGNvbHVtbnNcbiAgICAgIGxldCBzZWxlY3RlZCA9IHRoaXMuY29sdW1uQ29uZmlncy5maWx0ZXIoYyA9PiBzZWxlY3RlZERlZnMuaW5jbHVkZXMoYy5kZWYpKTtcblxuICAgICAgLy9BdXRvLWluY2x1ZGU6IGlzRXhwb3J0YWJsZSA9PT0gdHJ1ZVxuICAgICAgbGV0IGZvcmNlZEluY2x1ZGUgPSB0aGlzLmNvbHVtbkNvbmZpZ3MuZmlsdGVyKGMgPT4gYy5pc0V4cG9ydGFibGUgPT09IHRydWUpO1xuXG4gICAgICAvLyBNZXJnZSBzZWxlY3RlZCArIGZvcmNlLWluY2x1ZGVkXG4gICAgICBsZXQgbWVyZ2VkID0gWy4uLnNlbGVjdGVkLCAuLi5mb3JjZWRJbmNsdWRlXTtcblxuICAgICAgLy9Gb3JjZSBleGNsdWRlOiBpc0V4cG9ydGFibGUgPT09IGZhbHNlXG4gICAgICBtZXJnZWQgPSBtZXJnZWQuZmlsdGVyKGMgPT4gYy5pc0V4cG9ydGFibGUgIT09IGZhbHNlKTtcblxuICAgICAgLy9SZW1vdmUgZHVwbGljYXRlc1xuICAgICAgY29uc3QgdW5pcXVlRGVmcyA9IG5ldyBTZXQobWVyZ2VkLm1hcChjID0+IGMuZGVmKSk7XG5cbiAgICAgIC8vS2VlcCBvcmlnaW5hbCBvcmRlciBmcm9tIGNvbHVtbkNvbmZpZ3NcbiAgICAgIGZpbmFsQ29sdW1ucyA9IHRoaXMuY29sdW1uQ29uZmlncy5maWx0ZXIoYyA9PiB1bmlxdWVEZWZzLmhhcyhjLmRlZikpO1xuXG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIE5PUk1BTCBNT0RFXG4gICAgICBmaW5hbENvbHVtbnMgPSB0aGlzLmNvbHVtbkNvbmZpZ3MuZmlsdGVyKGMgPT4gc2VsZWN0ZWREZWZzLmluY2x1ZGVzKGMuZGVmKSk7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRDb2x1bW5zID0gZmluYWxDb2x1bW5zO1xuICAgIHRoaXMuc2VsZWN0ZWRDb2x1bW5zQ2hhbmdlLmVtaXQoZmluYWxDb2x1bW5zKTtcbiAgICB0aGlzLmRpc3BsYXllZENvbHVtbnNDaGFuZ2UuZW1pdChmaW5hbENvbHVtbnMubWFwKGMgPT4gYy5kZWYpKTtcbiAgfVxufVxuIiwiPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwibW9kZSA9PT0gJ3NlbGVjdG9yJ1wiPlxuICA8bWF0LWxhYmVsPnt7IGxhYmVsIH19PC9tYXQtbGFiZWw+XG4gIDxtYXQtc2VsZWN0IFttdWx0aXBsZV09XCJ0cnVlXCIgW2Zvcm1Db250cm9sXT1cImNvbHVtblNlbGVjdG9yXCI+XG4gICAgPG1hdC1vcHRpb24gY2xhc3M9XCJ0ZXh0LWNhcGl0YWxpemVcIiAqbmdGb3I9XCJsZXQgY29sIG9mIHNvcnRlZENvbHVtbnNcIiBbdmFsdWVdPVwiY29sLmRlZlwiXG4gICAgICBbZGlzYWJsZWRdPVwiIShjb2w/LmlzRWRpdGFibGUgPz8gdHJ1ZSlcIj5cbiAgICAgIHt7IGNvbC5sYWJlbCB9fVxuICAgIDwvbWF0LW9wdGlvbj5cbiAgPC9tYXQtc2VsZWN0PlxuPC9tYXQtZm9ybS1maWVsZD5cblxuPGRpdiAqbmdJZj1cIm1vZGUgPT09ICdpY29uJ1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIj5cbiAgPG1hdC1pY29uIGNsYXNzPVwiY2xpY2thYmxlXCIgKGNsaWNrKT1cInNlbGVjdC5vcGVuKClcIj52aWV3X2NvbHVtbjwvbWF0LWljb24+XG4gIDxtYXQtc2VsZWN0IGNsYXNzPVwiY29sdW1uLXNlbGVjdG9yIGZsLXNtXCIgI3NlbGVjdCBbZm9ybUNvbnRyb2xdPVwiY29sdW1uU2VsZWN0b3JcIiBtdWx0aXBsZSBwYW5lbFdpZHRoPVwiXCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwicC0xIHctMTAwXCI+XG4gICAgICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT1cInNlYXJjaFwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoXCIgKGtleWRvd24pPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1wiXG4gICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gbWF0U3VmZml4IHR5cGU9XCJidXR0b25cIiAqbmdJZj1cInNlYXJjaC52YWx1ZVwiIChjbGljayk9XCJzZWFyY2guc2V0VmFsdWUoJycpXCI+XG4gICAgICAgIDxtYXQtaWNvbj5jbGVhcjwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBjb2x1bW4gb2Ygc29ydGVkQ29sdW1uc1wiIFt2YWx1ZV09XCJjb2x1bW4uZGVmXCIgY2xhc3M9XCJ0ZXh0LWNhcGl0YWxpemVcIlxuICAgICAgW2Rpc2FibGVkXT1cIiEoY29sdW1uPy5pc0VkaXRhYmxlID8/IHRydWUpXCI+e3tjb2x1bW4/LmxhYmVsfX08L21hdC1vcHRpb24+XG4gIDwvbWF0LXNlbGVjdD5cbjwvZGl2PiJdfQ==
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvY29sdW1uLXNlbGVjdG9yL2NvbHVtbi1zZWxlY3Rvci9jb2x1bW4tc2VsZWN0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9jb2x1bW4tc2VsZWN0b3IvY29sdW1uLXNlbGVjdG9yL2NvbHVtbi1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7O0FBT2pDLE1BQU0sT0FBTyx1QkFBdUI7SUFTbEMsSUFBYSxlQUFlLENBQUMsS0FBYztRQUN6QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFDRCxJQUFJLGVBQWUsS0FBSyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7SUFLdkQ7UUFqQlMsVUFBSyxHQUFHLFNBQVMsQ0FBQztRQUNsQixTQUFJLEdBQXdCLFVBQVUsQ0FBQztRQUN2QyxrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFDbkMsb0JBQWUsR0FBbUIsRUFBRSxDQUFDO1FBQ3BDLDBCQUFxQixHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO1FBQzNELDJCQUFzQixHQUFHLElBQUksWUFBWSxFQUFZLENBQUM7UUFFeEQscUJBQWdCLEdBQUcsS0FB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QUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7K0dBNUZVLHVCQUF1QjttR0FBdkIsdUJBQXVCLDRUQ1ZwQyx5dUNBdUJNOzs0RkRiTyx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0UscUJBQXFCO3dEQUt0QixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDSSxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBQ0csc0JBQXNCO3NCQUEvQixNQUFNO2dCQUdNLGVBQWU7c0JBQTNCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbHVtbkNvbmZpZyB9IGZyb20gJy4uL2NvbHVtbi1jb25maWcubW9kZWwnO1xuaW1wb3J0IHsgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jb2x1bW4tc2VsZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vY29sdW1uLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29sdW1uLXNlbGVjdG9yLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ29sdW1uU2VsZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBsYWJlbCA9ICdDb2x1bW5zJztcbiAgQElucHV0KCkgbW9kZTogJ3NlbGVjdG9yJyB8ICdpY29uJyA9ICdzZWxlY3Rvcic7XG4gIEBJbnB1dCgpIGNvbHVtbkNvbmZpZ3M6IENvbHVtbkNvbmZpZ1tdID0gW107XG4gIEBJbnB1dCgpIHNlbGVjdGVkQ29sdW1uczogQ29sdW1uQ29uZmlnW10gPSBbXTtcbiAgQE91dHB1dCgpIHNlbGVjdGVkQ29sdW1uc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q29sdW1uQ29uZmlnW10+KCk7XG4gIEBPdXRwdXQoKSBkaXNwbGF5ZWRDb2x1bW5zQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcblxuICBwcml2YXRlIF9pc0V4cG9ydFdvcmtpbmcgPSBmYWxzZTtcbiAgQElucHV0KCkgc2V0IGlzRXhwb3J0V29ya2luZyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2lzRXhwb3J0V29ya2luZyA9IHZhbHVlO1xuICAgIHRoaXMudXBkYXRlRW1pdHRlZENvbHVtbnMoKTtcbiAgfVxuICBnZXQgaXNFeHBvcnRXb3JraW5nKCkgeyByZXR1cm4gdGhpcy5faXNFeHBvcnRXb3JraW5nOyB9XG5cbiAgY29sdW1uU2VsZWN0b3I6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sPGFueT4oW10pO1xuICBzZWFyY2ggPSBuZXcgRm9ybUNvbnRyb2woJycpO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzcGxheWVkQ29sdW1ucy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmNvbHVtblNlbGVjdG9yLnNldFZhbHVlKHRoaXMuZGlzcGxheWVkQ29sdW1uRGVmcywgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgIH1cblxuICAgIHRoaXMuY29sdW1uU2VsZWN0b3IudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShzdGFydFdpdGgodGhpcy5kaXNwbGF5ZWRDb2x1bW5EZWZzKSlcbiAgICAgIC5zdWJzY3JpYmUoKHNlbGVjdGVkRGVmczogc3RyaW5nW10pID0+IHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRDb25maWdzID0gdGhpcy5jb2x1bW5Db25maWdzLmZpbHRlcihjID0+IHNlbGVjdGVkRGVmcy5pbmNsdWRlcyhjLmRlZikpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ29sdW1ucyA9IHNlbGVjdGVkQ29uZmlncztcbiAgICAgICAgdGhpcy51cGRhdGVFbWl0dGVkQ29sdW1ucygpO1xuICAgICAgfSk7XG4gIH1cblxuICBnZXQgYXZhaWxhYmxlQ29sdW1ucygpOiBDb2x1bW5Db25maWdbXSB7XG4gICAgcmV0dXJuIHRoaXMuY29sdW1uQ29uZmlncztcbiAgfVxuXG4gIGdldCBkaXNwbGF5ZWRDb2x1bW5zKCk6IENvbHVtbkNvbmZpZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5jb2x1bW5Db25maWdzLmZpbHRlcihjID0+IGMuaXNTZWxlY3RlZCA/PyB0cnVlKTtcbiAgfVxuXG4gIGdldCBkaXNwbGF5ZWRDb2x1bW5EZWZzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLm1hcChjID0+IGMuZGVmKTtcbiAgfVxuXG4gIGdldCBmaWx0ZXJlZENvbHVtbnMoKTogQ29sdW1uQ29uZmlnW10ge1xuICAgIHJldHVybiB0aGlzLmF2YWlsYWJsZUNvbHVtbnMuZmlsdGVyKGNvbHVtbiA9PlxuICAgICAgdGhpcy5zZWFyY2gudmFsdWUgPyBjb2x1bW4ubGFiZWwudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLnNlYXJjaC52YWx1ZS50b0xvd2VyQ2FzZSgpKSA6IHRydWVcbiAgICApO1xuICB9XG5cbiAgZ2V0IHNvcnRlZENvbHVtbnMoKTogQ29sdW1uQ29uZmlnW10ge1xuICAgIGxldCBzb3J0ZWQgPSBbLi4udGhpcy5maWx0ZXJlZENvbHVtbnNdLnNvcnQoKGEsIGIpID0+IGEubGFiZWwubG9jYWxlQ29tcGFyZShiLmxhYmVsKSk7XG4gICAgaWYgKHRoaXMuc2VhcmNoLnZhbHVlKSB7XG4gICAgICBzb3J0ZWQgPSBbLi4uc29ydGVkLCAuLi50aGlzLnNlbGVjdGVkQ29sdW1uc107XG4gICAgfVxuICAgIHJldHVybiBbLi4ubmV3IE1hcChzb3J0ZWQubWFwKGMgPT4gW2MuZGVmLCBjXSkpLnZhbHVlcygpXTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRW1pdHRlZENvbHVtbnMoKTogdm9pZCB7XG4gICAgbGV0IGZpbmFsQ29sdW1uczogQ29sdW1uQ29uZmlnW107XG4gICAgY29uc3Qgc2VsZWN0ZWREZWZzID0gdGhpcy5jb2x1bW5TZWxlY3Rvci52YWx1ZSB8fCBbXTtcblxuICAgIGlmICh0aGlzLmlzRXhwb3J0V29ya2luZykge1xuICAgICAgLy9FeHBvcnQgbW9kZVxuXG4gICAgICAvL1VzZXItc2VsZWN0ZWQgY29sdW1uc1xuICAgICAgbGV0IHNlbGVjdGVkID0gdGhpcy5jb2x1bW5Db25maWdzLmZpbHRlcihjID0+IHNlbGVjdGVkRGVmcy5pbmNsdWRlcyhjLmRlZikpO1xuXG4gICAgICAvL0F1dG8taW5jbHVkZTogaXNFeHBvcnRhYmxlID09PSB0cnVlXG4gICAgICBsZXQgZm9yY2VkSW5jbHVkZSA9IHRoaXMuY29sdW1uQ29uZmlncy5maWx0ZXIoYyA9PiBjLmlzRXhwb3J0YWJsZSA9PT0gdHJ1ZSk7XG5cbiAgICAgIC8vIE1lcmdlIHNlbGVjdGVkICsgZm9yY2UtaW5jbHVkZWRcbiAgICAgIGxldCBtZXJnZWQgPSBbLi4uc2VsZWN0ZWQsIC4uLmZvcmNlZEluY2x1ZGVdO1xuXG4gICAgICAvL0ZvcmNlIGV4Y2x1ZGU6IGlzRXhwb3J0YWJsZSA9PT0gZmFsc2VcbiAgICAgIG1lcmdlZCA9IG1lcmdlZC5maWx0ZXIoYyA9PiBjLmlzRXhwb3J0YWJsZSAhPT0gZmFsc2UpO1xuXG4gICAgICAvL1JlbW92ZSBkdXBsaWNhdGVzXG4gICAgICBjb25zdCB1bmlxdWVEZWZzID0gbmV3IFNldChtZXJnZWQubWFwKGMgPT4gYy5kZWYpKTtcblxuICAgICAgLy9LZWVwIG9yaWdpbmFsIG9yZGVyIGZyb20gY29sdW1uQ29uZmlnc1xuICAgICAgZmluYWxDb2x1bW5zID0gdGhpcy5jb2x1bW5Db25maWdzLmZpbHRlcihjID0+IHVuaXF1ZURlZnMuaGFzKGMuZGVmKSk7XG5cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gTk9STUFMIE1PREVcbiAgICAgIGZpbmFsQ29sdW1ucyA9IHRoaXMuY29sdW1uQ29uZmlncy5maWx0ZXIoYyA9PiBzZWxlY3RlZERlZnMuaW5jbHVkZXMoYy5kZWYpKTtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZENvbHVtbnMgPSBmaW5hbENvbHVtbnM7XG4gICAgdGhpcy5zZWxlY3RlZENvbHVtbnNDaGFuZ2UuZW1pdChmaW5hbENvbHVtbnMpO1xuICAgIHRoaXMuZGlzcGxheWVkQ29sdW1uc0NoYW5nZS5lbWl0KGZpbmFsQ29sdW1ucy5tYXAoYyA9PiBjLmRlZikpO1xuICB9XG59XG4iLCI8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJtb2RlID09PSAnc2VsZWN0b3InXCI+XG4gIDxtYXQtbGFiZWw+e3sgbGFiZWwgfX08L21hdC1sYWJlbD5cbiAgPG1hdC1zZWxlY3QgW211bHRpcGxlXT1cInRydWVcIiBbZm9ybUNvbnRyb2xdPVwiY29sdW1uU2VsZWN0b3JcIj5cbiAgICA8bWF0LW9wdGlvbiBjbGFzcz1cInRleHQtY2FwaXRhbGl6ZVwiICpuZ0Zvcj1cImxldCBjb2wgb2Ygc29ydGVkQ29sdW1uc1wiIFt2YWx1ZV09XCJjb2wuZGVmXCJcbiAgICAgIFtkaXNhYmxlZF09XCIhKGNvbD8uaXNFZGl0YWJsZSA/PyB0cnVlKVwiPlxuICAgICAge3sgY29sLmxhYmVsIH19XG4gICAgPC9tYXQtb3B0aW9uPlxuICA8L21hdC1zZWxlY3Q+XG48L21hdC1mb3JtLWZpZWxkPlxuXG48ZGl2ICpuZ0lmPVwibW9kZSA9PT0gJ2ljb24nXCIgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LXN0YXJ0IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICA8bWF0LWljb24gY2xhc3M9XCJjbGlja2FibGVcIiAoY2xpY2spPVwic2VsZWN0Lm9wZW4oKVwiPnZpZXdfY29sdW1uPC9tYXQtaWNvbj5cbiAgPG1hdC1zZWxlY3QgY2xhc3M9XCJjb2x1bW4tc2VsZWN0b3IgZmwtc21cIiAjc2VsZWN0IFtmb3JtQ29udHJvbF09XCJjb2x1bW5TZWxlY3RvclwiIG11bHRpcGxlIHBhbmVsV2lkdGg9XCJcIj5cbiAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJwLTEgdy0xMDBcIj5cbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBbZm9ybUNvbnRyb2xdPVwic2VhcmNoXCIgcGxhY2Vob2xkZXI9XCJTZWFyY2hcIiAoa2V5ZG93bik9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XCJcbiAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBtYXRTdWZmaXggdHlwZT1cImJ1dHRvblwiICpuZ0lmPVwic2VhcmNoLnZhbHVlXCIgKGNsaWNrKT1cInNlYXJjaC5zZXRWYWx1ZSgnJylcIj5cbiAgICAgICAgPG1hdC1pY29uPmNsZWFyPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBzb3J0ZWRDb2x1bW5zXCIgW3ZhbHVlXT1cImNvbHVtbi5kZWZcIiBjbGFzcz1cInRleHQtY2FwaXRhbGl6ZVwiXG4gICAgICBbZGlzYWJsZWRdPVwiIShjb2x1bW4/LmlzRWRpdGFibGUgPz8gdHJ1ZSlcIj57e2NvbHVtbj8ubGFiZWx9fTwvbWF0LW9wdGlvbj5cbiAgPC9tYXQtc2VsZWN0PlxuPC9kaXY+Il19
|