@pega/angular-sdk-components 24.2.10 → 25.1.10
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/fesm2022/pega-angular-sdk-components.mjs +5383 -3962
- package/fesm2022/pega-angular-sdk-components.mjs.map +1 -1
- package/lib/_bridge/angular-pconnect.d.ts +1 -1
- package/lib/_bridge/component-mapper/component-mapper.component.d.ts +1 -1
- package/lib/_bridge/helpers/sdk-pega-component-map.d.ts +18 -0
- package/lib/_components/designSystemExtension/banner/banner.component.d.ts +0 -1
- package/lib/_components/designSystemExtension/case-create-stage/case-create-stage.component.d.ts +0 -1
- package/lib/_components/designSystemExtension/material-case-summary/material-case-summary.component.d.ts +1 -1
- package/lib/_components/designSystemExtension/material-details-fields/material-details-fields.component.d.ts +1 -0
- package/lib/_components/designSystemExtension/operator/operator.component.d.ts +2 -3
- package/lib/_components/designSystemExtension/pulse/pulse.component.d.ts +0 -1
- package/lib/_components/designSystemExtension/rich-text-editor/rich-text-editor.component.d.ts +1 -0
- package/lib/_components/field/auto-complete/auto-complete.component.d.ts +14 -38
- package/lib/_components/field/cancel-alert/cancel-alert.component.d.ts +7 -6
- package/lib/_components/field/check-box/check-box.component.d.ts +10 -33
- package/lib/_components/field/currency/currency.component.d.ts +19 -35
- package/lib/_components/field/date/date.component.d.ts +7 -58
- package/lib/_components/field/date-time/date-time.component.d.ts +12 -40
- package/lib/_components/field/decimal/decimal.component.d.ts +17 -32
- package/lib/_components/field/dropdown/dropdown.component.d.ts +14 -38
- package/lib/_components/field/email/email.component.d.ts +7 -35
- package/lib/_components/field/field.base.d.ts +57 -0
- package/lib/_components/field/group/group.component.d.ts +5 -3
- package/lib/_components/field/integer/integer.component.d.ts +8 -35
- package/lib/_components/field/list-view-action-buttons/list-view-action-buttons.component.d.ts +1 -2
- package/lib/_components/field/location/location.component.d.ts +47 -0
- package/lib/_components/field/multiselect/multiselect.component.d.ts +7 -39
- package/lib/_components/field/object-reference/object-reference.component.d.ts +45 -0
- package/lib/_components/field/percentage/percentage.component.d.ts +19 -37
- package/lib/_components/field/phone/phone.component.d.ts +8 -38
- package/lib/_components/field/radio-buttons/radio-buttons.component.d.ts +13 -34
- package/lib/_components/field/rich-text/rich-text.component.d.ts +7 -31
- package/lib/_components/field/scalar-list/scalar-list.component.d.ts +6 -22
- package/lib/_components/field/selectable-card/selectable-card.component.d.ts +62 -0
- package/lib/_components/field/semantic-link/semantic-link.component.d.ts +21 -1
- package/lib/_components/field/text/text.component.d.ts +0 -1
- package/lib/_components/field/text-area/text-area.component.d.ts +7 -35
- package/lib/_components/field/text-content/text-content.component.d.ts +0 -1
- package/lib/_components/field/text-input/text-input.component.d.ts +7 -36
- package/lib/_components/field/time/time.component.d.ts +7 -36
- package/lib/_components/field/url/url.component.d.ts +7 -36
- package/lib/_components/field/user-reference/user-reference.component.d.ts +1 -2
- package/lib/_components/infra/Containers/flow-container/flow-container.component.d.ts +1 -2
- package/lib/_components/infra/Containers/flow-container/helpers.d.ts +1 -0
- package/lib/_components/infra/Containers/hybrid-view-container/hybrid-view-container.component.d.ts +0 -1
- package/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.d.ts +5 -10
- package/lib/_components/infra/Containers/preview-view-container/preview-view-container.component.d.ts +0 -1
- package/lib/_components/infra/Containers/view-container/view-container.component.d.ts +0 -1
- package/lib/_components/infra/action-buttons/action-buttons.component.d.ts +1 -1
- package/lib/_components/infra/assignment/assignment.component.d.ts +8 -6
- package/lib/_components/infra/assignment-card/assignment-card.component.d.ts +3 -3
- package/lib/_components/infra/dashboard-filter/dashboard-filter.component.d.ts +0 -1
- package/lib/_components/infra/defer-load/defer-load.component.d.ts +7 -7
- package/lib/_components/infra/error-boundary/error-boundary.component.d.ts +1 -1
- package/lib/_components/infra/multi-step/multi-step.component.d.ts +0 -1
- package/lib/_components/infra/navbar/navbar.component.d.ts +0 -2
- package/lib/_components/infra/reference/reference.component.d.ts +23 -3
- package/lib/_components/infra/region/region.component.d.ts +0 -1
- package/lib/_components/infra/root-container/root-container.component.d.ts +3 -2
- package/lib/_components/infra/stages/stages.component.d.ts +2 -2
- package/lib/_components/infra/view/view.component.d.ts +0 -1
- package/lib/_components/template/advanced-search/advanced-search.component.d.ts +21 -0
- package/lib/_components/template/advanced-search/search-group/persist-utils.d.ts +23 -0
- package/lib/_components/template/advanced-search/search-groups/search-groups.component.d.ts +47 -0
- package/lib/_components/template/advanced-search/search-groups/utils.d.ts +15 -0
- package/lib/_components/template/app-shell/app-shell.component.d.ts +6 -3
- package/lib/_components/template/banner-page/banner-page.component.d.ts +0 -1
- package/lib/_components/template/base/details-template-base.d.ts +1 -2
- package/lib/_components/template/base/form-template-base.d.ts +3 -1
- package/lib/_components/template/case-summary/case-summary.component.d.ts +3 -3
- package/lib/_components/template/case-view/case-view.component.d.ts +0 -2
- package/lib/_components/template/confirmation/confirmation.component.d.ts +0 -1
- package/lib/_components/template/data-reference/data-reference.component.d.ts +27 -3
- package/lib/_components/template/data-reference/search-form/search-form.component.d.ts +39 -0
- package/lib/_components/template/data-reference/search-form/tabsData.d.ts +2 -0
- package/lib/_components/template/data-reference/utils.d.ts +14 -0
- package/lib/_components/template/default-form/default-form.component.d.ts +9 -4
- package/lib/_components/template/default-page/default-page.component.d.ts +29 -0
- package/lib/_components/template/details/details.component.d.ts +0 -1
- package/lib/_components/template/details-narrow-wide/details-narrow-wide.component.d.ts +0 -1
- package/lib/_components/template/details-one-column/details-one-column.component.d.ts +0 -1
- package/lib/_components/template/details-sub-tabs/details-sub-tabs.component.d.ts +0 -1
- package/lib/_components/template/details-three-column/details-three-column.component.d.ts +0 -1
- package/lib/_components/template/details-two-column/details-two-column.component.d.ts +0 -1
- package/lib/_components/template/details-wide-narrow/details-wide-narrow.component.d.ts +0 -1
- package/lib/_components/template/dynamic-tabs/dynamic-tabs.component.d.ts +0 -1
- package/lib/_components/template/field-group-template/field-group-template.component.d.ts +9 -8
- package/lib/_components/template/inline-dashboard/inline-dashboard.component.d.ts +0 -1
- package/lib/_components/template/inline-dashboard-page/inline-dashboard-page.component.d.ts +0 -1
- package/lib/_components/template/list-page/list-page.component.d.ts +0 -1
- package/lib/_components/template/list-view/list-view.component.d.ts +22 -7
- package/lib/_components/template/multi-reference-readonly/multi-reference-readonly.component.d.ts +0 -1
- package/lib/_components/template/narrow-wide-form/narrow-wide-form.component.d.ts +0 -1
- package/lib/_components/template/object-page/object-page.component.d.ts +8 -0
- package/lib/_components/template/one-column/one-column.component.d.ts +0 -1
- package/lib/_components/template/one-column-page/one-column-page.component.d.ts +0 -1
- package/lib/_components/template/one-column-tab/one-column-tab.component.d.ts +0 -1
- package/lib/_components/template/page/page.component.d.ts +0 -1
- package/lib/_components/template/promoted-filters/promoted-filters.component.d.ts +0 -1
- package/lib/_components/template/repeating-structures/repeating-structures.component.d.ts +0 -1
- package/lib/_components/template/self-service-case-view/self-service-case-view.component.d.ts +58 -0
- package/lib/_components/template/simple-table/simple-table.component.d.ts +0 -1
- package/lib/_components/template/simple-table-manual/helpers.d.ts +18 -3
- package/lib/_components/template/simple-table-manual/simple-table-manual.component.d.ts +9 -4
- package/lib/_components/template/simple-table-select/simple-table-select.component.d.ts +0 -1
- package/lib/_components/template/single-reference-readonly/single-reference-readonly.component.d.ts +18 -3
- package/lib/_components/template/sub-tabs/sub-tabs.component.d.ts +0 -1
- package/lib/_components/template/three-column/three-column.component.d.ts +0 -1
- package/lib/_components/template/three-column-page/three-column-page.component.d.ts +0 -1
- package/lib/_components/template/two-column/two-column.component.d.ts +0 -1
- package/lib/_components/template/two-column-page/two-column-page.component.d.ts +0 -1
- package/lib/_components/template/two-column-tab/two-column-tab.component.d.ts +0 -1
- package/lib/_components/template/utils.d.ts +11 -0
- package/lib/_components/template/wide-narrow-form/wide-narrow-form.component.d.ts +0 -1
- package/lib/_components/template/wide-narrow-page/wide-narrow-page.component.d.ts +0 -1
- package/lib/_components/template/wss-nav-bar/wss-nav-bar.component.d.ts +3 -6
- package/lib/_components/widget/app-announcement/app-announcement.component.d.ts +0 -1
- package/lib/_components/widget/attachment/Attachment.types.d.ts +87 -0
- package/lib/_components/widget/attachment/AttachmentUtils.d.ts +17 -0
- package/lib/_components/widget/attachment/attachment.component.d.ts +18 -34
- package/lib/_components/widget/case-history/case-history.component.d.ts +0 -1
- package/lib/_components/widget/feed-container/feed-container.component.d.ts +2 -3
- package/lib/_components/widget/file-utility/file-utility.component.d.ts +3 -2
- package/lib/_components/widget/quick-create/quick-create.component.d.ts +0 -1
- package/lib/_components/widget/todo/todo.component.d.ts +5 -4
- package/lib/_components/widget/utility/utility.component.d.ts +0 -1
- package/lib/_helpers/field-group-utils.d.ts +1 -3
- package/lib/_helpers/filter-utils.d.ts +1 -3
- package/lib/_helpers/formatters/boolean.d.ts +1 -2
- package/lib/_helpers/formatters/common.d.ts +1 -1
- package/lib/_helpers/formatters/currency.d.ts +1 -2
- package/lib/_helpers/formatters/date.d.ts +1 -2
- package/lib/_helpers/formatters/index.d.ts +1 -2
- package/lib/_helpers/object-utils.d.ts +8 -0
- package/lib/_helpers/objectReference-utils.d.ts +6 -0
- package/lib/_helpers/semanticLink-utils.d.ts +9 -0
- package/lib/_helpers/tab-utils.d.ts +4 -0
- package/lib/_helpers/utils.d.ts +13 -1
- package/lib/_services/banner.service.d.ts +8 -0
- package/lib/_services/case.service.d.ts +1 -1
- package/lib/_services/data-reference-advanced-search.service.d.ts +9 -0
- package/lib/_services/datapage.service.d.ts +1 -1
- package/lib/_services/google-maps-loader.service.d.ts +7 -0
- package/package.json +20 -6
- package/public-api.d.ts +26 -9
- package/esm2022/lib/_bridge/angular-pconnect.mjs +0 -428
- package/esm2022/lib/_bridge/component-mapper/component-mapper.component.mjs +0 -107
- package/esm2022/lib/_bridge/helpers/sdk-pega-component-map.mjs +0 -239
- package/esm2022/lib/_bridge/helpers/sdk_component_map.mjs +0 -142
- package/esm2022/lib/_components/designSystemExtension/alert/alert.component.mjs +0 -50
- package/esm2022/lib/_components/designSystemExtension/alert-banner/alert-banner.component.mjs +0 -29
- package/esm2022/lib/_components/designSystemExtension/banner/banner.component.mjs +0 -31
- package/esm2022/lib/_components/designSystemExtension/case-create-stage/case-create-stage.component.mjs +0 -51
- package/esm2022/lib/_components/designSystemExtension/field-group/field-group.component.mjs +0 -31
- package/esm2022/lib/_components/designSystemExtension/material-case-summary/material-case-summary.component.mjs +0 -83
- package/esm2022/lib/_components/designSystemExtension/material-details/material-details.component.mjs +0 -37
- package/esm2022/lib/_components/designSystemExtension/material-details-fields/material-details-fields.component.mjs +0 -34
- package/esm2022/lib/_components/designSystemExtension/material-summary-item/material-summary-item.component.mjs +0 -36
- package/esm2022/lib/_components/designSystemExtension/material-summary-list/material-summary-list.component.mjs +0 -25
- package/esm2022/lib/_components/designSystemExtension/material-utility/material-utility.component.mjs +0 -28
- package/esm2022/lib/_components/designSystemExtension/material-vertical-tabs/material-vertical-tabs.component.mjs +0 -42
- package/esm2022/lib/_components/designSystemExtension/operator/operator.component.mjs +0 -143
- package/esm2022/lib/_components/designSystemExtension/pulse/pulse.component.mjs +0 -33
- package/esm2022/lib/_components/designSystemExtension/rich-text-editor/rich-text-editor.component.mjs +0 -93
- package/esm2022/lib/_components/designSystemExtension/wss-quick-create/wss-quick-create.component.mjs +0 -18
- package/esm2022/lib/_components/field/auto-complete/auto-complete.component.mjs +0 -288
- package/esm2022/lib/_components/field/cancel-alert/cancel-alert.component.mjs +0 -96
- package/esm2022/lib/_components/field/check-box/check-box.component.mjs +0 -225
- package/esm2022/lib/_components/field/currency/currency.component.mjs +0 -190
- package/esm2022/lib/_components/field/date/date.component.mjs +0 -205
- package/esm2022/lib/_components/field/date-time/date-time.component.mjs +0 -183
- package/esm2022/lib/_components/field/decimal/decimal.component.mjs +0 -187
- package/esm2022/lib/_components/field/dropdown/dropdown.component.mjs +0 -292
- package/esm2022/lib/_components/field/email/email.component.mjs +0 -157
- package/esm2022/lib/_components/field/group/group.component.mjs +0 -64
- package/esm2022/lib/_components/field/integer/integer.component.mjs +0 -160
- package/esm2022/lib/_components/field/list-view-action-buttons/list-view-action-buttons.component.mjs +0 -44
- package/esm2022/lib/_components/field/multiselect/multiselect.component.mjs +0 -314
- package/esm2022/lib/_components/field/multiselect/utils.mjs +0 -187
- package/esm2022/lib/_components/field/percentage/percentage.component.mjs +0 -182
- package/esm2022/lib/_components/field/phone/phone.component.mjs +0 -160
- package/esm2022/lib/_components/field/radio-buttons/radio-buttons.component.mjs +0 -182
- package/esm2022/lib/_components/field/rich-text/rich-text.component.mjs +0 -102
- package/esm2022/lib/_components/field/scalar-list/scalar-list.component.mjs +0 -95
- package/esm2022/lib/_components/field/semantic-link/semantic-link.component.mjs +0 -57
- package/esm2022/lib/_components/field/text/text.component.mjs +0 -140
- package/esm2022/lib/_components/field/text-area/text-area.component.mjs +0 -157
- package/esm2022/lib/_components/field/text-content/text-content.component.mjs +0 -69
- package/esm2022/lib/_components/field/text-input/text-input.component.mjs +0 -157
- package/esm2022/lib/_components/field/time/time.component.mjs +0 -162
- package/esm2022/lib/_components/field/url/url.component.mjs +0 -157
- package/esm2022/lib/_components/field/user-reference/user-reference.component.mjs +0 -207
- package/esm2022/lib/_components/infra/Containers/base-components/flow-container-base.component.mjs +0 -18
- package/esm2022/lib/_components/infra/Containers/base-components/helper.mjs +0 -71
- package/esm2022/lib/_components/infra/Containers/flow-container/flow-container.component.mjs +0 -490
- package/esm2022/lib/_components/infra/Containers/flow-container/helpers.mjs +0 -68
- package/esm2022/lib/_components/infra/Containers/hybrid-view-container/hybrid-view-container.component.mjs +0 -24
- package/esm2022/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.mjs +0 -342
- package/esm2022/lib/_components/infra/Containers/preview-view-container/preview-view-container.component.mjs +0 -32
- package/esm2022/lib/_components/infra/Containers/view-container/helper.mjs +0 -22
- package/esm2022/lib/_components/infra/Containers/view-container/view-container.component.mjs +0 -211
- package/esm2022/lib/_components/infra/action-buttons/action-buttons.component.mjs +0 -31
- package/esm2022/lib/_components/infra/assignment/assignment.component.mjs +0 -382
- package/esm2022/lib/_components/infra/assignment-card/assignment-card.component.mjs +0 -47
- package/esm2022/lib/_components/infra/dashboard-filter/dashboard-filter.component.mjs +0 -87
- package/esm2022/lib/_components/infra/defer-load/defer-load.component.mjs +0 -141
- package/esm2022/lib/_components/infra/error-boundary/error-boundary.component.mjs +0 -18
- package/esm2022/lib/_components/infra/multi-step/multi-step.component.mjs +0 -80
- package/esm2022/lib/_components/infra/navbar/navbar.component.mjs +0 -136
- package/esm2022/lib/_components/infra/reference/reference.component.mjs +0 -133
- package/esm2022/lib/_components/infra/region/region.component.mjs +0 -33
- package/esm2022/lib/_components/infra/root-container/root-container.component.mjs +0 -228
- package/esm2022/lib/_components/infra/stages/stages.component.mjs +0 -62
- package/esm2022/lib/_components/infra/view/view.component.mjs +0 -188
- package/esm2022/lib/_components/template/app-shell/app-shell.component.mjs +0 -156
- package/esm2022/lib/_components/template/banner-page/banner-page.component.mjs +0 -43
- package/esm2022/lib/_components/template/base/details-template-base.mjs +0 -56
- package/esm2022/lib/_components/template/base/form-template-base.mjs +0 -13
- package/esm2022/lib/_components/template/case-summary/case-summary.component.mjs +0 -101
- package/esm2022/lib/_components/template/case-view/case-view.component.mjs +0 -185
- package/esm2022/lib/_components/template/confirmation/confirmation.component.mjs +0 -68
- package/esm2022/lib/_components/template/data-reference/data-reference.component.mjs +0 -242
- package/esm2022/lib/_components/template/default-form/default-form.component.mjs +0 -49
- package/esm2022/lib/_components/template/details/details.component.mjs +0 -76
- package/esm2022/lib/_components/template/details-narrow-wide/details-narrow-wide.component.mjs +0 -45
- package/esm2022/lib/_components/template/details-one-column/details-one-column.component.mjs +0 -42
- package/esm2022/lib/_components/template/details-sub-tabs/details-sub-tabs.component.mjs +0 -39
- package/esm2022/lib/_components/template/details-three-column/details-three-column.component.mjs +0 -51
- package/esm2022/lib/_components/template/details-two-column/details-two-column.component.mjs +0 -48
- package/esm2022/lib/_components/template/details-wide-narrow/details-wide-narrow.component.mjs +0 -48
- package/esm2022/lib/_components/template/dynamic-tabs/dynamic-tabs.component.mjs +0 -65
- package/esm2022/lib/_components/template/field-group-list/field-group-list.component.mjs +0 -23
- package/esm2022/lib/_components/template/field-group-template/field-group-template.component.mjs +0 -122
- package/esm2022/lib/_components/template/field-value-list/field-value-list.component.mjs +0 -24
- package/esm2022/lib/_components/template/inline-dashboard/inline-dashboard.component.mjs +0 -22
- package/esm2022/lib/_components/template/inline-dashboard-page/inline-dashboard-page.component.mjs +0 -40
- package/esm2022/lib/_components/template/list-page/list-page.component.mjs +0 -14
- package/esm2022/lib/_components/template/list-view/DefaultViewMeta.mjs +0 -208
- package/esm2022/lib/_components/template/list-view/list-view.component.mjs +0 -1217
- package/esm2022/lib/_components/template/list-view/listViewHelpers.mjs +0 -60
- package/esm2022/lib/_components/template/list-view/utils.mjs +0 -662
- package/esm2022/lib/_components/template/multi-reference-readonly/multi-reference-readonly.component.mjs +0 -44
- package/esm2022/lib/_components/template/narrow-wide-form/narrow-wide-form.component.mjs +0 -30
- package/esm2022/lib/_components/template/one-column/one-column.component.mjs +0 -31
- package/esm2022/lib/_components/template/one-column-page/one-column-page.component.mjs +0 -16
- package/esm2022/lib/_components/template/one-column-tab/one-column-tab.component.mjs +0 -30
- package/esm2022/lib/_components/template/page/page.component.mjs +0 -52
- package/esm2022/lib/_components/template/promoted-filters/promoted-filters.component.mjs +0 -149
- package/esm2022/lib/_components/template/repeating-structures/repeating-structures.component.mjs +0 -138
- package/esm2022/lib/_components/template/simple-table/simple-table.component.mjs +0 -104
- package/esm2022/lib/_components/template/simple-table-manual/helpers.mjs +0 -270
- package/esm2022/lib/_components/template/simple-table-manual/simple-table-manual.component.mjs +0 -779
- package/esm2022/lib/_components/template/simple-table-select/simple-table-select.component.mjs +0 -129
- package/esm2022/lib/_components/template/single-reference-readonly/single-reference-readonly.component.mjs +0 -16
- package/esm2022/lib/_components/template/sub-tabs/sub-tabs.component.mjs +0 -67
- package/esm2022/lib/_components/template/three-column/three-column.component.mjs +0 -31
- package/esm2022/lib/_components/template/three-column-page/three-column-page.component.mjs +0 -16
- package/esm2022/lib/_components/template/two-column/two-column.component.mjs +0 -31
- package/esm2022/lib/_components/template/two-column-page/two-column-page.component.mjs +0 -40
- package/esm2022/lib/_components/template/two-column-tab/two-column-tab.component.mjs +0 -30
- package/esm2022/lib/_components/template/utils.mjs +0 -22
- package/esm2022/lib/_components/template/wide-narrow-form/wide-narrow-form.component.mjs +0 -31
- package/esm2022/lib/_components/template/wide-narrow-page/wide-narrow-page.component.mjs +0 -53
- package/esm2022/lib/_components/template/wss-nav-bar/wss-nav-bar.component.mjs +0 -137
- package/esm2022/lib/_components/widget/app-announcement/app-announcement.component.mjs +0 -24
- package/esm2022/lib/_components/widget/attachment/attachment.component.mjs +0 -393
- package/esm2022/lib/_components/widget/case-history/case-history.component.mjs +0 -80
- package/esm2022/lib/_components/widget/feed-container/feed-container.component.mjs +0 -521
- package/esm2022/lib/_components/widget/file-utility/file-utility.component.mjs +0 -638
- package/esm2022/lib/_components/widget/list-utility/list-utility.component.mjs +0 -57
- package/esm2022/lib/_components/widget/quick-create/quick-create.component.mjs +0 -75
- package/esm2022/lib/_components/widget/todo/todo.component.mjs +0 -228
- package/esm2022/lib/_components/widget/utility/utility.component.mjs +0 -34
- package/esm2022/lib/_directives/thousand-seperator.directive.mjs +0 -28
- package/esm2022/lib/_helpers/case-utils.mjs +0 -71
- package/esm2022/lib/_helpers/common.mjs +0 -20
- package/esm2022/lib/_helpers/createstage-utils.mjs +0 -15
- package/esm2022/lib/_helpers/currency-utils.mjs +0 -57
- package/esm2022/lib/_helpers/date-format-utils.mjs +0 -68
- package/esm2022/lib/_helpers/event-util.mjs +0 -18
- package/esm2022/lib/_helpers/field-group-utils.mjs +0 -47
- package/esm2022/lib/_helpers/filter-utils.mjs +0 -105
- package/esm2022/lib/_helpers/formatters/boolean.mjs +0 -20
- package/esm2022/lib/_helpers/formatters/common.mjs +0 -14
- package/esm2022/lib/_helpers/formatters/currency-map.mjs +0 -903
- package/esm2022/lib/_helpers/formatters/currency.mjs +0 -68
- package/esm2022/lib/_helpers/formatters/date.mjs +0 -69
- package/esm2022/lib/_helpers/formatters/format-utils.mjs +0 -68
- package/esm2022/lib/_helpers/formatters/index.mjs +0 -124
- package/esm2022/lib/_helpers/instructions-utils.mjs +0 -36
- package/esm2022/lib/_helpers/tab-utils.mjs +0 -59
- package/esm2022/lib/_helpers/template-utils.mjs +0 -56
- package/esm2022/lib/_helpers/utils.mjs +0 -386
- package/esm2022/lib/_helpers/versionHelpers.mjs +0 -12
- package/esm2022/lib/_messages/error-messages.service.mjs +0 -31
- package/esm2022/lib/_messages/progress-spinner.service.mjs +0 -30
- package/esm2022/lib/_messages/update-worklist.service.mjs +0 -30
- package/esm2022/lib/_services/case.service.mjs +0 -32
- package/esm2022/lib/_services/datapage.service.mjs +0 -52
- package/esm2022/lib/_services/endpoints.mjs +0 -60
- package/esm2022/lib/_services/server-config.service.mjs +0 -52
- package/esm2022/lib/_types/PConnProps.interface.mjs +0 -2
- package/esm2022/pega-angular-sdk-components.mjs +0 -5
- package/esm2022/public-api.mjs +0 -141
- package/esm2022/sdk-local-component-map.mjs +0 -9
|
@@ -1,386 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import dayjs from 'dayjs';
|
|
3
|
-
import customParseFormat from 'dayjs/plugin/customParseFormat';
|
|
4
|
-
import localizedFormat from 'dayjs/plugin/localizedFormat';
|
|
5
|
-
import relativeTime from 'dayjs/plugin/relativeTime';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../_services/server-config.service";
|
|
8
|
-
dayjs.extend(customParseFormat);
|
|
9
|
-
dayjs.extend(localizedFormat);
|
|
10
|
-
dayjs.extend(relativeTime);
|
|
11
|
-
export class Utils {
|
|
12
|
-
constructor(scService) {
|
|
13
|
-
this.scService = scService;
|
|
14
|
-
this.lastControlID = 0;
|
|
15
|
-
this.viewContainerCount = 0;
|
|
16
|
-
this.getUserId = user => {
|
|
17
|
-
let userId = '';
|
|
18
|
-
if (typeof user === 'object' && user !== null && user.userId) {
|
|
19
|
-
userId = user.userId;
|
|
20
|
-
}
|
|
21
|
-
else if (typeof user === 'string' && user) {
|
|
22
|
-
userId = user;
|
|
23
|
-
}
|
|
24
|
-
return userId;
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
getSDKStaticContentUrl() {
|
|
28
|
-
const sdkConfigServer = this.scService.getSdkConfigServer();
|
|
29
|
-
// NOTE: Needs a trailing slash! So add one if not provided
|
|
30
|
-
if (!sdkConfigServer.sdkContentServerUrl.endsWith('/')) {
|
|
31
|
-
sdkConfigServer.sdkContentServerUrl = `${sdkConfigServer.sdkContentServerUrl}/`;
|
|
32
|
-
}
|
|
33
|
-
return `${sdkConfigServer.sdkContentServerUrl}constellation/`;
|
|
34
|
-
}
|
|
35
|
-
consoleKidDump(pConn, level = 1, kidNum = 1) {
|
|
36
|
-
let sDash = '';
|
|
37
|
-
for (let i = 0; i < level; i++) {
|
|
38
|
-
sDash = sDash.concat('-');
|
|
39
|
-
}
|
|
40
|
-
let cName = 'blank';
|
|
41
|
-
let ctxName = '';
|
|
42
|
-
try {
|
|
43
|
-
cName = pConn.getComponentName();
|
|
44
|
-
ctxName = pConn.getContextName();
|
|
45
|
-
console.log(`${sDash}level ${level} component(${kidNum}):${cName} context:${ctxName}`);
|
|
46
|
-
if (pConn.getConfigProps() != null) {
|
|
47
|
-
console.log(`${sDash}configProps:${JSON.stringify(pConn.getConfigProps())}`);
|
|
48
|
-
}
|
|
49
|
-
if (pConn.getRawMetadata() != null) {
|
|
50
|
-
console.log(`${sDash}rawMetadata:${JSON.stringify(pConn.getRawMetadata())}`);
|
|
51
|
-
}
|
|
52
|
-
if (pConn.hasChildren() && pConn.getChildren() != null) {
|
|
53
|
-
console.log(`${sDash}kidCount:${pConn.getChildren().length}`);
|
|
54
|
-
const kids = pConn.getChildren();
|
|
55
|
-
const kidsKeys = Object.keys(kids);
|
|
56
|
-
for (let i = 0, len = kidsKeys.length; i < len; i++) {
|
|
57
|
-
const index = parseInt(kidsKeys[i], 10) + 1;
|
|
58
|
-
const kid = kids[kidsKeys[i]];
|
|
59
|
-
this.consoleKidDump(kid.getPConnect(), level + 1, index);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
catch (ex) {
|
|
64
|
-
/* empty */
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
htmlDecode(sVal) {
|
|
68
|
-
const doc = new DOMParser().parseFromString(sVal, 'text/html');
|
|
69
|
-
return doc.documentElement.textContent;
|
|
70
|
-
}
|
|
71
|
-
getUniqueControlID() {
|
|
72
|
-
const sPrefix = 'control-';
|
|
73
|
-
this.lastControlID++;
|
|
74
|
-
return sPrefix + this.lastControlID.toString();
|
|
75
|
-
}
|
|
76
|
-
getOptionList(configProps, dataObject) {
|
|
77
|
-
const listType = configProps.listType;
|
|
78
|
-
if (listType == null) {
|
|
79
|
-
return [];
|
|
80
|
-
}
|
|
81
|
-
switch (listType.toLowerCase()) {
|
|
82
|
-
case 'associated':
|
|
83
|
-
return this.handleAssociatedList(configProps);
|
|
84
|
-
case 'datapage':
|
|
85
|
-
return this.handleDataPageList(configProps, dataObject);
|
|
86
|
-
default:
|
|
87
|
-
return [];
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
handleAssociatedList(configProps) {
|
|
91
|
-
const dataSource = configProps.datasource;
|
|
92
|
-
if (Array.isArray(dataSource)) {
|
|
93
|
-
return dataSource;
|
|
94
|
-
}
|
|
95
|
-
return [];
|
|
96
|
-
}
|
|
97
|
-
handleDataPageList(configProps, dataObject) {
|
|
98
|
-
const dataPage = configProps.datasource;
|
|
99
|
-
if (dataObject && dataObject[dataPage]) {
|
|
100
|
-
alert('need to handle data page');
|
|
101
|
-
return [];
|
|
102
|
-
}
|
|
103
|
-
let listSourceItems = configProps.listOutput;
|
|
104
|
-
if (typeof dataPage === 'object' && !Array.isArray(listSourceItems)) {
|
|
105
|
-
listSourceItems = dataPage.source ? dataPage.source : [];
|
|
106
|
-
}
|
|
107
|
-
return this.transformListSourceItems(listSourceItems);
|
|
108
|
-
}
|
|
109
|
-
transformListSourceItems(listSourceItems) {
|
|
110
|
-
return (listSourceItems || []).map(item => {
|
|
111
|
-
return { ...item, value: item.text || item.value };
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
getInitials(userName) {
|
|
115
|
-
let userInitials = userName;
|
|
116
|
-
if (userName && userName != '') {
|
|
117
|
-
userInitials = userName.charAt(0);
|
|
118
|
-
if (userName.lastIndexOf(' ') > 0) {
|
|
119
|
-
const lastName = userName.substring(userName.lastIndexOf(' ') + 1);
|
|
120
|
-
userInitials += lastName.charAt(0);
|
|
121
|
-
}
|
|
122
|
-
else if (userName.lastIndexOf('.') > 0) {
|
|
123
|
-
const lastName = userName.substring(userName.lastIndexOf('.') + 1);
|
|
124
|
-
userInitials += lastName.charAt(0);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
else {
|
|
128
|
-
userInitials = '';
|
|
129
|
-
}
|
|
130
|
-
return userInitials.toUpperCase();
|
|
131
|
-
}
|
|
132
|
-
getImageSrc(name, serverUrl) {
|
|
133
|
-
let iconName = name.replace('pi-', '').replace('pi ', '').trim();
|
|
134
|
-
if (iconName === 'line-chart') {
|
|
135
|
-
iconName = 'chart-line';
|
|
136
|
-
}
|
|
137
|
-
// return serverUrl.concat("assets/icons/").concat(iconName).concat(".svg");
|
|
138
|
-
return this.getIconPath(serverUrl).concat(iconName).concat('.svg');
|
|
139
|
-
}
|
|
140
|
-
getIconPath(serverUrl) {
|
|
141
|
-
return serverUrl.concat('assets/icons/');
|
|
142
|
-
}
|
|
143
|
-
getBooleanValue(inValue) {
|
|
144
|
-
let bReturn = false;
|
|
145
|
-
if (typeof inValue === 'string') {
|
|
146
|
-
if (inValue.toLowerCase() == 'true') {
|
|
147
|
-
bReturn = true;
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
else {
|
|
151
|
-
bReturn = inValue;
|
|
152
|
-
}
|
|
153
|
-
return bReturn;
|
|
154
|
-
}
|
|
155
|
-
generateDate(dateVal, dateFormat) {
|
|
156
|
-
let sReturnDate = dateVal;
|
|
157
|
-
if (dateVal == null || dateVal == '') {
|
|
158
|
-
return dateVal;
|
|
159
|
-
}
|
|
160
|
-
// Commenting out per Vinod note in webc components
|
|
161
|
-
// VRS: Dont think we need the below line. Commenting out for now. (2020.05.20)
|
|
162
|
-
// if date has a ".", then of the format YYYMMDD[T]HHmmss[.]SSS Z, need to change to YYYYMMDD
|
|
163
|
-
// if (dateVal.indexOf(".") >= 0) {
|
|
164
|
-
// dateVal = moment(dateVal.replace("GMT", "+0000"), "YYYYMMDD[T]HHmmss[.]SSS Z").format("YYYYMMDD");
|
|
165
|
-
// sReturnDate = dateVal;
|
|
166
|
-
// }
|
|
167
|
-
switch (dateFormat) {
|
|
168
|
-
case 'Date-Short':
|
|
169
|
-
// 1/1/01
|
|
170
|
-
sReturnDate = dayjs(dateVal).format('M/D/YY');
|
|
171
|
-
break;
|
|
172
|
-
case 'Date-Short-YYYY':
|
|
173
|
-
// 1/1/2001
|
|
174
|
-
sReturnDate = dayjs(dateVal).format('M/D/YYYY');
|
|
175
|
-
break;
|
|
176
|
-
case 'Date-Short-Custom':
|
|
177
|
-
// 01/01/01
|
|
178
|
-
sReturnDate = dayjs(dateVal).format('MM/DD/YY');
|
|
179
|
-
break;
|
|
180
|
-
case 'Date-Short-Custom-YYYY':
|
|
181
|
-
// 01/01/2001
|
|
182
|
-
sReturnDate = dayjs(dateVal).format('L');
|
|
183
|
-
break;
|
|
184
|
-
case 'Date-Long-Custom-YYYY':
|
|
185
|
-
// 05/22/2021
|
|
186
|
-
sReturnDate = dayjs(dateVal).format('MM/DD/YYYY');
|
|
187
|
-
break;
|
|
188
|
-
case 'Date':
|
|
189
|
-
case 'Date-Medium':
|
|
190
|
-
// Jan 1, 2001
|
|
191
|
-
sReturnDate = dayjs(dateVal).format('ll');
|
|
192
|
-
break;
|
|
193
|
-
case 'Date-DayMonthYear-Custom':
|
|
194
|
-
// 01-Jan-2001
|
|
195
|
-
sReturnDate = dayjs(dateVal).format('DD-MMM-YYYY');
|
|
196
|
-
break;
|
|
197
|
-
case 'Date-Full':
|
|
198
|
-
// Monday, January 1, 2001
|
|
199
|
-
sReturnDate = dayjs(dateVal).format('dddd, MMMM D, YYYY');
|
|
200
|
-
break;
|
|
201
|
-
case 'DateTime-Frame':
|
|
202
|
-
case 'DateTime-Frame-Short':
|
|
203
|
-
case 'DateTime-Since':
|
|
204
|
-
// 2 days, 5 hours ago
|
|
205
|
-
sReturnDate = dayjs(dateVal).fromNow();
|
|
206
|
-
break;
|
|
207
|
-
case 'Date-Long':
|
|
208
|
-
// January 1, 2001
|
|
209
|
-
sReturnDate = dayjs(dateVal).format('MMMM D, YYYY');
|
|
210
|
-
break;
|
|
211
|
-
case 'Date-ISO-8601':
|
|
212
|
-
// 2001/01/01 y/m/d
|
|
213
|
-
sReturnDate = dayjs(dateVal).format('YYYY/MM/DD');
|
|
214
|
-
break;
|
|
215
|
-
case 'Date-Gregorian-1':
|
|
216
|
-
// 01 January, 2001
|
|
217
|
-
sReturnDate = dayjs(dateVal).format('DD MMMM, YYYY');
|
|
218
|
-
break;
|
|
219
|
-
case 'Date-Gregorian-2':
|
|
220
|
-
// January 01, 2001
|
|
221
|
-
sReturnDate = dayjs(dateVal).format('MMMM DD, YYYY');
|
|
222
|
-
break;
|
|
223
|
-
case 'Date-Gregorian-3':
|
|
224
|
-
// 2001, January 01
|
|
225
|
-
sReturnDate = dayjs(dateVal).format('YYYY, MMMM DD');
|
|
226
|
-
break;
|
|
227
|
-
case 'DateTime-Custom':
|
|
228
|
-
break;
|
|
229
|
-
default:
|
|
230
|
-
break;
|
|
231
|
-
}
|
|
232
|
-
return sReturnDate;
|
|
233
|
-
}
|
|
234
|
-
generateDateTime(dateTimeVal, dateFormat) {
|
|
235
|
-
let sReturnDate = dateTimeVal;
|
|
236
|
-
if (dateTimeVal == null || dateTimeVal == '') {
|
|
237
|
-
return dateTimeVal;
|
|
238
|
-
}
|
|
239
|
-
dateTimeVal = dateTimeVal.replace('GMT', '+0000');
|
|
240
|
-
switch (dateFormat) {
|
|
241
|
-
case 'DateTime-Short':
|
|
242
|
-
// 1/1/01 1:00 AM
|
|
243
|
-
sReturnDate = dayjs(dateTimeVal).format('M/D/YY h:mm A');
|
|
244
|
-
break;
|
|
245
|
-
case 'DateTime-Short-Custom':
|
|
246
|
-
// 01/01/01 01:00 AM
|
|
247
|
-
sReturnDate = dayjs(dateTimeVal).format('MM/DD/YY hh:mm A');
|
|
248
|
-
break;
|
|
249
|
-
case 'DateTime-Short-YYYY-Custom':
|
|
250
|
-
// 01/01/2001 01:00 AM
|
|
251
|
-
sReturnDate = dayjs(dateTimeVal).format('M/D/YYYY hh:mm A');
|
|
252
|
-
break;
|
|
253
|
-
case 'DateTime-Long-YYYY-Custom':
|
|
254
|
-
// 01/01/01 01:00 AM
|
|
255
|
-
sReturnDate = dayjs(dateTimeVal).format('MM/DD/YYYY, hh:mm A');
|
|
256
|
-
break;
|
|
257
|
-
case 'DateTime-Short-YYYY':
|
|
258
|
-
// 1/1/2001 1:00 AM
|
|
259
|
-
sReturnDate = dayjs(dateTimeVal).format('M/D/YYYY h:mm A');
|
|
260
|
-
break;
|
|
261
|
-
case 'DateTime-Medium':
|
|
262
|
-
// Jan 1, 2001 1:00:00 AM
|
|
263
|
-
sReturnDate = dayjs(dateTimeVal).format('MMM D, YYYY h:mm:ss A');
|
|
264
|
-
break;
|
|
265
|
-
case 'DateTime-Long':
|
|
266
|
-
// January 1, 2001 1:00:00 AM
|
|
267
|
-
sReturnDate = dayjs(dateTimeVal).format('MMMM D, YYYY h:mm:ss A');
|
|
268
|
-
break;
|
|
269
|
-
case 'DateTime-DayMonthYear-Custom':
|
|
270
|
-
// 01-Jan-2001 1:00:00 AM
|
|
271
|
-
sReturnDate = dayjs(dateTimeVal).format('DD-MMM-YYYY h:mm:ss A');
|
|
272
|
-
break;
|
|
273
|
-
case 'DateTime-Full':
|
|
274
|
-
// Monday, January 1, 2001 1:00 AM EDT
|
|
275
|
-
sReturnDate = dayjs(dateTimeVal).format('dddd, MMMM D, YYYY h:mm A z');
|
|
276
|
-
break;
|
|
277
|
-
case 'DateTime-Frame':
|
|
278
|
-
case 'DateTime-Frame-Short':
|
|
279
|
-
case 'DateTime-Since':
|
|
280
|
-
// 2 days, 5 hours ago
|
|
281
|
-
sReturnDate = dayjs(dateTimeVal).fromNow();
|
|
282
|
-
break;
|
|
283
|
-
case 'DateTime-ISO-8601':
|
|
284
|
-
// 2001/01/01 1:00:00 AM y/m/d
|
|
285
|
-
sReturnDate = dayjs(dateTimeVal).format('YYYY/MM/DD h:mm:ss A');
|
|
286
|
-
break;
|
|
287
|
-
case 'DateTime-Gregorian-1':
|
|
288
|
-
// 01 January, 2001 1:00:00 AM
|
|
289
|
-
sReturnDate = dayjs(dateTimeVal).format('DD MMMM, YYYY h:mm:ss A');
|
|
290
|
-
break;
|
|
291
|
-
case 'DateTime-Gregorian-2':
|
|
292
|
-
// January 01, 2001 1:00:00 AM
|
|
293
|
-
sReturnDate = dayjs(dateTimeVal).format('MMMM DD, YYYY h:mm:ss A');
|
|
294
|
-
break;
|
|
295
|
-
case 'DateTime-Gregorian-3':
|
|
296
|
-
// 2001, January 01 1:00:00 AM
|
|
297
|
-
sReturnDate = dayjs(dateTimeVal).format('YYYY, MMMM DD h:mm:ss A');
|
|
298
|
-
break;
|
|
299
|
-
case 'DateTime-Custom':
|
|
300
|
-
break;
|
|
301
|
-
default:
|
|
302
|
-
break;
|
|
303
|
-
}
|
|
304
|
-
return sReturnDate;
|
|
305
|
-
}
|
|
306
|
-
getIconFromFileType(fileType) {
|
|
307
|
-
let icon = 'document-doc';
|
|
308
|
-
if (!fileType)
|
|
309
|
-
return icon;
|
|
310
|
-
if (fileType.startsWith('audio')) {
|
|
311
|
-
icon = 'audio';
|
|
312
|
-
}
|
|
313
|
-
else if (fileType.startsWith('video')) {
|
|
314
|
-
icon = 'video';
|
|
315
|
-
}
|
|
316
|
-
else if (fileType.startsWith('image')) {
|
|
317
|
-
icon = 'picture';
|
|
318
|
-
}
|
|
319
|
-
else if (fileType.includes('pdf')) {
|
|
320
|
-
icon = 'document-pdf';
|
|
321
|
-
}
|
|
322
|
-
else {
|
|
323
|
-
const [, subtype] = fileType.split('/');
|
|
324
|
-
const foundMatch = sources => {
|
|
325
|
-
return sources.some(key => subtype.includes(key));
|
|
326
|
-
};
|
|
327
|
-
if (foundMatch(['excel', 'spreadsheet'])) {
|
|
328
|
-
icon = 'document-xls';
|
|
329
|
-
}
|
|
330
|
-
else if (foundMatch(['zip', 'compressed', 'gzip', 'rar', 'tar'])) {
|
|
331
|
-
icon = 'document-compress';
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
return icon;
|
|
335
|
-
}
|
|
336
|
-
getIconForAttachment(attachment) {
|
|
337
|
-
let icon;
|
|
338
|
-
switch (attachment.type) {
|
|
339
|
-
case 'FILE':
|
|
340
|
-
icon = this.getIconFromFileType(attachment.mimeType);
|
|
341
|
-
break;
|
|
342
|
-
case 'URL':
|
|
343
|
-
icon = 'chain';
|
|
344
|
-
break;
|
|
345
|
-
default:
|
|
346
|
-
icon = 'document-doc';
|
|
347
|
-
}
|
|
348
|
-
return icon;
|
|
349
|
-
}
|
|
350
|
-
addViewContainer() {
|
|
351
|
-
if (sessionStorage.getItem('viewContainerCount') == null) {
|
|
352
|
-
sessionStorage.setItem('viewContainerCount', '0');
|
|
353
|
-
}
|
|
354
|
-
let count = parseInt(sessionStorage.getItem('viewContainerCount'), 10);
|
|
355
|
-
count++;
|
|
356
|
-
sessionStorage.setItem('viewContainerCount', count.toString());
|
|
357
|
-
}
|
|
358
|
-
removeViewContainer() {
|
|
359
|
-
return;
|
|
360
|
-
let count = parseInt(sessionStorage.getItem('viewContainerCount'), 10);
|
|
361
|
-
count--;
|
|
362
|
-
sessionStorage.setItem('viewContainerCount', count.toString());
|
|
363
|
-
}
|
|
364
|
-
okToAddContainerToVC() {
|
|
365
|
-
if (sessionStorage.getItem('viewContainerCount') == null) {
|
|
366
|
-
sessionStorage.setItem('viewContainerCount', '0');
|
|
367
|
-
}
|
|
368
|
-
const count = parseInt(sessionStorage.getItem('viewContainerCount'), 10);
|
|
369
|
-
return count === 0;
|
|
370
|
-
}
|
|
371
|
-
static sdkGetAuthHeader() {
|
|
372
|
-
return sessionStorage.getItem('asdk_AH');
|
|
373
|
-
}
|
|
374
|
-
static isEmptyObject(obj) {
|
|
375
|
-
return Object.keys(obj).length === 0;
|
|
376
|
-
}
|
|
377
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: Utils, deps: [{ token: i1.ServerConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
378
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: Utils, providedIn: 'root' }); }
|
|
379
|
-
}
|
|
380
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: Utils, decorators: [{
|
|
381
|
-
type: Injectable,
|
|
382
|
-
args: [{
|
|
383
|
-
providedIn: 'root'
|
|
384
|
-
}]
|
|
385
|
-
}], ctorParameters: () => [{ type: i1.ServerConfigService }] });
|
|
386
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXNkay1jb21wb25lbnRzL3NyYy9saWIvX2hlbHBlcnMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxpQkFBaUIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLGVBQWUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLFlBQVksTUFBTSwyQkFBMkIsQ0FBQzs7O0FBR3JELEtBQUssQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUNoQyxLQUFLLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQzlCLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7QUFLM0IsTUFBTSxPQUFPLEtBQUs7SUFLaEIsWUFBb0IsU0FBOEI7UUFBOUIsY0FBUyxHQUFULFNBQVMsQ0FBcUI7UUFKbEQsa0JBQWEsR0FBRyxDQUFDLENBQUM7UUFFbEIsdUJBQWtCLEdBQUcsQ0FBQyxDQUFDO1FBeVl2QixjQUFTLEdBQUcsSUFBSSxDQUFDLEVBQUU7WUFDakIsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO1lBQ2hCLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUM3RCxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUN2QixDQUFDO2lCQUFNLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUM1QyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ2hCLENBQUM7WUFDRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUM7SUEvWW1E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Y3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuaW1wb3J0IGN1c3RvbVBhcnNlRm9ybWF0IGZyb20gJ2RheWpzL3BsdWdpbi9jdXN0b21QYXJzZUZvcm1hdCc7XG5pbXBvcnQgbG9jYWxpemVkRm9ybWF0IGZyb20gJ2RheWpzL3BsdWdpbi9sb2NhbGl6ZWRGb3JtYXQnO1xuaW1wb3J0IHJlbGF0aXZlVGltZSBmcm9tICdkYXlqcy9wbHVnaW4vcmVsYXRpdmVUaW1lJztcbmltcG9ydCB7IFNlcnZlckNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9fc2VydmljZXMvc2VydmVyLWNvbmZpZy5zZXJ2aWNlJztcblxuZGF5anMuZXh0ZW5kKGN1c3RvbVBhcnNlRm9ybWF0KTtcbmRheWpzLmV4dGVuZChsb2NhbGl6ZWRGb3JtYXQpO1xuZGF5anMuZXh0ZW5kKHJlbGF0aXZlVGltZSk7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFV0aWxzIHtcbiAgbGFzdENvbnRyb2xJRCA9IDA7XG5cbiAgdmlld0NvbnRhaW5lckNvdW50ID0gMDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNjU2VydmljZTogU2VydmVyQ29uZmlnU2VydmljZSkge31cblxuICBnZXRTREtTdGF0aWNDb250ZW50VXJsKCkge1xuICAgIGNvbnN0IHNka0NvbmZpZ1NlcnZlciA9IHRoaXMuc2NTZXJ2aWNlLmdldFNka0NvbmZpZ1NlcnZlcigpO1xuXG4gICAgLy8gTk9URTogTmVlZHMgYSB0cmFpbGluZyBzbGFzaCEgU28gYWRkIG9uZSBpZiBub3QgcHJvdmlkZWRcbiAgICBpZiAoIXNka0NvbmZpZ1NlcnZlci5zZGtDb250ZW50U2VydmVyVXJsLmVuZHNXaXRoKCcvJykpIHtcbiAgICAgIHNka0NvbmZpZ1NlcnZlci5zZGtDb250ZW50U2VydmVyVXJsID0gYCR7c2RrQ29uZmlnU2VydmVyLnNka0NvbnRlbnRTZXJ2ZXJVcmx9L2A7XG4gICAgfVxuXG4gICAgcmV0dXJuIGAke3Nka0NvbmZpZ1NlcnZlci5zZGtDb250ZW50U2VydmVyVXJsfWNvbnN0ZWxsYXRpb24vYDtcbiAgfVxuXG4gIGNvbnNvbGVLaWREdW1wKHBDb25uOiBhbnksIGxldmVsOiBudW1iZXIgPSAxLCBraWROdW06IG51bWJlciA9IDEpIHtcbiAgICBsZXQgc0Rhc2ggPSAnJztcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxldmVsOyBpKyspIHtcbiAgICAgIHNEYXNoID0gc0Rhc2guY29uY2F0KCctJyk7XG4gICAgfVxuICAgIGxldCBjTmFtZSA9ICdibGFuayc7XG4gICAgbGV0IGN0eE5hbWUgPSAnJztcbiAgICB0cnkge1xuICAgICAgY05hbWUgPSBwQ29ubi5nZXRDb21wb25lbnROYW1lKCk7XG4gICAgICBjdHhOYW1lID0gcENvbm4uZ2V0Q29udGV4dE5hbWUoKTtcbiAgICAgIGNvbnNvbGUubG9nKGAke3NEYXNofWxldmVsICR7bGV2ZWx9IGNvbXBvbmVudCgke2tpZE51bX0pOiR7Y05hbWV9IGNvbnRleHQ6JHtjdHhOYW1lfWApO1xuICAgICAgaWYgKHBDb25uLmdldENvbmZpZ1Byb3BzKCkgIT0gbnVsbCkge1xuICAgICAgICBjb25zb2xlLmxvZyhgJHtzRGFzaH1jb25maWdQcm9wczoke0pTT04uc3RyaW5naWZ5KHBDb25uLmdldENvbmZpZ1Byb3BzKCkpfWApO1xuICAgICAgfVxuICAgICAgaWYgKHBDb25uLmdldFJhd01ldGFkYXRhKCkgIT0gbnVsbCkge1xuICAgICAgICBjb25zb2xlLmxvZyhgJHtzRGFzaH1yYXdNZXRhZGF0YToke0pTT04uc3RyaW5naWZ5KHBDb25uLmdldFJhd01ldGFkYXRhKCkpfWApO1xuICAgICAgfVxuXG4gICAgICBpZiAocENvbm4uaGFzQ2hpbGRyZW4oKSAmJiBwQ29ubi5nZXRDaGlsZHJlbigpICE9IG51bGwpIHtcbiAgICAgICAgY29uc29sZS5sb2coYCR7c0Rhc2h9a2lkQ291bnQ6JHtwQ29ubi5nZXRDaGlsZHJlbigpLmxlbmd0aH1gKTtcbiAgICAgICAgY29uc3Qga2lkcyA9IHBDb25uLmdldENoaWxkcmVuKCk7XG4gICAgICAgIGNvbnN0IGtpZHNLZXlzID0gT2JqZWN0LmtleXMoa2lkcyk7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IGtpZHNLZXlzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgICAgY29uc3QgaW5kZXggPSBwYXJzZUludChraWRzS2V5c1tpXSwgMTApICsgMTtcbiAgICAgICAgICBjb25zdCBraWQgPSBraWRzW2tpZHNLZXlzW2ldXTtcbiAgICAgICAgICB0aGlzLmNvbnNvbGVLaWREdW1wKGtpZC5nZXRQQ29ubmVjdCgpLCBsZXZlbCArIDEsIGluZGV4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAvKiBlbXB0eSAqL1xuICAgIH1cbiAgfVxuXG4gIGh0bWxEZWNvZGUoc1ZhbDogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgZG9jID0gbmV3IERPTVBhcnNlcigpLnBhcnNlRnJvbVN0cmluZyhzVmFsLCAndGV4dC9odG1sJyk7XG4gICAgcmV0dXJuIGRvYy5kb2N1bWVudEVsZW1lbnQudGV4dENvbnRlbnQ7XG4gIH1cblxuICBnZXRVbmlxdWVDb250cm9sSUQoKTogc3RyaW5nIHtcbiAgICBjb25zdCBzUHJlZml4ID0gJ2NvbnRyb2wtJztcblxuICAgIHRoaXMubGFzdENvbnRyb2xJRCsrO1xuXG4gICAgcmV0dXJuIHNQcmVmaXggKyB0aGlzLmxhc3RDb250cm9sSUQudG9TdHJpbmcoKTtcbiAgfVxuXG4gIGdldE9wdGlvbkxpc3QoY29uZmlnUHJvcHM6IGFueSwgZGF0YU9iamVjdDogYW55KTogYW55W10ge1xuICAgIGNvbnN0IGxpc3RUeXBlID0gY29uZmlnUHJvcHMubGlzdFR5cGU7XG5cbiAgICBpZiAobGlzdFR5cGUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIHN3aXRjaCAobGlzdFR5cGUudG9Mb3dlckNhc2UoKSkge1xuICAgICAgY2FzZSAnYXNzb2NpYXRlZCc6XG4gICAgICAgIHJldHVybiB0aGlzLmhhbmRsZUFzc29jaWF0ZWRMaXN0KGNvbmZpZ1Byb3BzKTtcbiAgICAgIGNhc2UgJ2RhdGFwYWdlJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlRGF0YVBhZ2VMaXN0KGNvbmZpZ1Byb3BzLCBkYXRhT2JqZWN0KTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVBc3NvY2lhdGVkTGlzdChjb25maWdQcm9wczogYW55KTogYW55W10ge1xuICAgIGNvbnN0IGRhdGFTb3VyY2UgPSBjb25maWdQcm9wcy5kYXRhc291cmNlO1xuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YVNvdXJjZSkpIHtcbiAgICAgIHJldHVybiBkYXRhU291cmNlO1xuICAgIH1cblxuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGhhbmRsZURhdGFQYWdlTGlzdChjb25maWdQcm9wczogYW55LCBkYXRhT2JqZWN0OiBhbnkpOiBhbnlbXSB7XG4gICAgY29uc3QgZGF0YVBhZ2UgPSBjb25maWdQcm9wcy5kYXRhc291cmNlO1xuXG4gICAgaWYgKGRhdGFPYmplY3QgJiYgZGF0YU9iamVjdFtkYXRhUGFnZV0pIHtcbiAgICAgIGFsZXJ0KCduZWVkIHRvIGhhbmRsZSBkYXRhIHBhZ2UnKTtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBsZXQgbGlzdFNvdXJjZUl0ZW1zID0gY29uZmlnUHJvcHMubGlzdE91dHB1dDtcblxuICAgIGlmICh0eXBlb2YgZGF0YVBhZ2UgPT09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KGxpc3RTb3VyY2VJdGVtcykpIHtcbiAgICAgIGxpc3RTb3VyY2VJdGVtcyA9IGRhdGFQYWdlLnNvdXJjZSA/IGRhdGFQYWdlLnNvdXJjZSA6IFtdO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnRyYW5zZm9ybUxpc3RTb3VyY2VJdGVtcyhsaXN0U291cmNlSXRlbXMpO1xuICB9XG5cbiAgdHJhbnNmb3JtTGlzdFNvdXJjZUl0ZW1zKGxpc3RTb3VyY2VJdGVtczogYW55W10pOiBhbnlbXSB7XG4gICAgcmV0dXJuIChsaXN0U291cmNlSXRlbXMgfHwgW10pLm1hcChpdGVtID0+IHtcbiAgICAgIHJldHVybiB7IC4uLml0ZW0sIHZhbHVlOiBpdGVtLnRleHQgfHwgaXRlbS52YWx1ZSB9O1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0SW5pdGlhbHModXNlck5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgbGV0IHVzZXJJbml0aWFscyA9IHVzZXJOYW1lO1xuXG4gICAgaWYgKHVzZXJOYW1lICYmIHVzZXJOYW1lICE9ICcnKSB7XG4gICAgICB1c2VySW5pdGlhbHMgPSB1c2VyTmFtZS5jaGFyQXQoMCk7XG5cbiAgICAgIGlmICh1c2VyTmFtZS5sYXN0SW5kZXhPZignICcpID4gMCkge1xuICAgICAgICBjb25zdCBsYXN0TmFtZSA9IHVzZXJOYW1lLnN1YnN0cmluZyh1c2VyTmFtZS5sYXN0SW5kZXhPZignICcpICsgMSk7XG4gICAgICAgIHVzZXJJbml0aWFscyArPSBsYXN0TmFtZS5jaGFyQXQoMCk7XG4gICAgICB9IGVsc2UgaWYgKHVzZXJOYW1lLmxhc3RJbmRleE9mKCcuJykgPiAwKSB7XG4gICAgICAgIGNvbnN0IGxhc3ROYW1lID0gdXNlck5hbWUuc3Vic3RyaW5nKHVzZXJOYW1lLmxhc3RJbmRleE9mKCcuJykgKyAxKTtcbiAgICAgICAgdXNlckluaXRpYWxzICs9IGxhc3ROYW1lLmNoYXJBdCgwKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdXNlckluaXRpYWxzID0gJyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVzZXJJbml0aWFscy50b1VwcGVyQ2FzZSgpO1xuICB9XG5cbiAgZ2V0SW1hZ2VTcmMobmFtZTogc3RyaW5nLCBzZXJ2ZXJVcmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgbGV0IGljb25OYW1lID0gbmFtZS5yZXBsYWNlKCdwaS0nLCAnJykucmVwbGFjZSgncGkgJywgJycpLnRyaW0oKTtcbiAgICBpZiAoaWNvbk5hbWUgPT09ICdsaW5lLWNoYXJ0Jykge1xuICAgICAgaWNvbk5hbWUgPSAnY2hhcnQtbGluZSc7XG4gICAgfVxuXG4gICAgLy8gcmV0dXJuIHNlcnZlclVybC5jb25jYXQoXCJhc3NldHMvaWNvbnMvXCIpLmNvbmNhdChpY29uTmFtZSkuY29uY2F0KFwiLnN2Z1wiKTtcbiAgICByZXR1cm4gdGhpcy5nZXRJY29uUGF0aChzZXJ2ZXJVcmwpLmNvbmNhdChpY29uTmFtZSkuY29uY2F0KCcuc3ZnJyk7XG4gIH1cblxuICBnZXRJY29uUGF0aChzZXJ2ZXJVcmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHNlcnZlclVybC5jb25jYXQoJ2Fzc2V0cy9pY29ucy8nKTtcbiAgfVxuXG4gIGdldEJvb2xlYW5WYWx1ZShpblZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICBsZXQgYlJldHVybiA9IGZhbHNlO1xuXG4gICAgaWYgKHR5cGVvZiBpblZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgaWYgKGluVmFsdWUudG9Mb3dlckNhc2UoKSA9PSAndHJ1ZScpIHtcbiAgICAgICAgYlJldHVybiA9IHRydWU7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGJSZXR1cm4gPSBpblZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiBiUmV0dXJuO1xuICB9XG5cbiAgZ2VuZXJhdGVEYXRlKGRhdGVWYWwsIGRhdGVGb3JtYXQpIHtcbiAgICBsZXQgc1JldHVybkRhdGUgPSBkYXRlVmFsO1xuXG4gICAgaWYgKGRhdGVWYWwgPT0gbnVsbCB8fCBkYXRlVmFsID09ICcnKSB7XG4gICAgICByZXR1cm4gZGF0ZVZhbDtcbiAgICB9XG5cbiAgICAvLyBDb21tZW50aW5nIG91dCBwZXIgVmlub2Qgbm90ZSBpbiB3ZWJjIGNvbXBvbmVudHNcbiAgICAvLyBWUlM6IERvbnQgdGhpbmsgd2UgbmVlZCB0aGUgYmVsb3cgbGluZS4gIENvbW1lbnRpbmcgb3V0IGZvciBub3cuICgyMDIwLjA1LjIwKVxuICAgIC8vIGlmIGRhdGUgaGFzIGEgXCIuXCIsIHRoZW4gb2YgdGhlIGZvcm1hdCBZWVlNTUREW1RdSEhtbXNzWy5dU1NTIFosIG5lZWQgdG8gY2hhbmdlIHRvIFlZWVlNTUREXG4gICAgLy8gaWYgKGRhdGVWYWwuaW5kZXhPZihcIi5cIikgPj0gMCkge1xuICAgIC8vICAgZGF0ZVZhbCA9IG1vbWVudChkYXRlVmFsLnJlcGxhY2UoXCJHTVRcIiwgXCIrMDAwMFwiKSwgXCJZWVlZTU1ERFtUXUhIbW1zc1suXVNTUyBaXCIpLmZvcm1hdChcIllZWVlNTUREXCIpO1xuICAgIC8vICAgc1JldHVybkRhdGUgPSBkYXRlVmFsO1xuICAgIC8vIH1cblxuICAgIHN3aXRjaCAoZGF0ZUZvcm1hdCkge1xuICAgICAgY2FzZSAnRGF0ZS1TaG9ydCc6XG4gICAgICAgIC8vIDEvMS8wMVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVWYWwpLmZvcm1hdCgnTS9EL1lZJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZS1TaG9ydC1ZWVlZJzpcbiAgICAgICAgLy8gMS8xLzIwMDFcbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVmFsKS5mb3JtYXQoJ00vRC9ZWVlZJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZS1TaG9ydC1DdXN0b20nOlxuICAgICAgICAvLyAwMS8wMS8wMVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVWYWwpLmZvcm1hdCgnTU0vREQvWVknKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlLVNob3J0LUN1c3RvbS1ZWVlZJzpcbiAgICAgICAgLy8gMDEvMDEvMjAwMVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVWYWwpLmZvcm1hdCgnTCcpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGUtTG9uZy1DdXN0b20tWVlZWSc6XG4gICAgICAgIC8vIDA1LzIyLzIwMjFcbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVmFsKS5mb3JtYXQoJ01NL0REL1lZWVknKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlJzpcbiAgICAgIGNhc2UgJ0RhdGUtTWVkaXVtJzpcbiAgICAgICAgLy8gSmFuIDEsIDIwMDFcbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVmFsKS5mb3JtYXQoJ2xsJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZS1EYXlNb250aFllYXItQ3VzdG9tJzpcbiAgICAgICAgLy8gMDEtSmFuLTIwMDFcbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVmFsKS5mb3JtYXQoJ0RELU1NTS1ZWVlZJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZS1GdWxsJzpcbiAgICAgICAgLy8gTW9uZGF5LCBKYW51YXJ5IDEsIDIwMDFcbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVmFsKS5mb3JtYXQoJ2RkZGQsIE1NTU0gRCwgWVlZWScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGVUaW1lLUZyYW1lJzpcbiAgICAgIGNhc2UgJ0RhdGVUaW1lLUZyYW1lLVNob3J0JzpcbiAgICAgIGNhc2UgJ0RhdGVUaW1lLVNpbmNlJzpcbiAgICAgICAgLy8gMiBkYXlzLCA1IGhvdXJzIGFnb1xuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVWYWwpLmZyb21Ob3coKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlLUxvbmcnOlxuICAgICAgICAvLyBKYW51YXJ5IDEsIDIwMDFcbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVmFsKS5mb3JtYXQoJ01NTU0gRCwgWVlZWScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGUtSVNPLTg2MDEnOlxuICAgICAgICAvLyAyMDAxLzAxLzAxIHkvbS9kXG4gICAgICAgIHNSZXR1cm5EYXRlID0gZGF5anMoZGF0ZVZhbCkuZm9ybWF0KCdZWVlZL01NL0REJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZS1HcmVnb3JpYW4tMSc6XG4gICAgICAgIC8vIDAxIEphbnVhcnksIDIwMDFcbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVmFsKS5mb3JtYXQoJ0REIE1NTU0sIFlZWVknKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlLUdyZWdvcmlhbi0yJzpcbiAgICAgICAgLy8gSmFudWFyeSAwMSwgMjAwMVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVWYWwpLmZvcm1hdCgnTU1NTSBERCwgWVlZWScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGUtR3JlZ29yaWFuLTMnOlxuICAgICAgICAvLyAyMDAxLCBKYW51YXJ5IDAxXG4gICAgICAgIHNSZXR1cm5EYXRlID0gZGF5anMoZGF0ZVZhbCkuZm9ybWF0KCdZWVlZLCBNTU1NIEREJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZVRpbWUtQ3VzdG9tJzpcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gc1JldHVybkRhdGU7XG4gIH1cblxuICBnZW5lcmF0ZURhdGVUaW1lKGRhdGVUaW1lVmFsLCBkYXRlRm9ybWF0KSB7XG4gICAgbGV0IHNSZXR1cm5EYXRlID0gZGF0ZVRpbWVWYWw7XG5cbiAgICBpZiAoZGF0ZVRpbWVWYWwgPT0gbnVsbCB8fCBkYXRlVGltZVZhbCA9PSAnJykge1xuICAgICAgcmV0dXJuIGRhdGVUaW1lVmFsO1xuICAgIH1cblxuICAgIGRhdGVUaW1lVmFsID0gZGF0ZVRpbWVWYWwucmVwbGFjZSgnR01UJywgJyswMDAwJyk7XG5cbiAgICBzd2l0Y2ggKGRhdGVGb3JtYXQpIHtcbiAgICAgIGNhc2UgJ0RhdGVUaW1lLVNob3J0JzpcbiAgICAgICAgLy8gMS8xLzAxIDE6MDAgQU1cbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVGltZVZhbCkuZm9ybWF0KCdNL0QvWVkgaDptbSBBJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZVRpbWUtU2hvcnQtQ3VzdG9tJzpcbiAgICAgICAgLy8gMDEvMDEvMDEgMDE6MDAgQU1cbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVGltZVZhbCkuZm9ybWF0KCdNTS9ERC9ZWSBoaDptbSBBJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZVRpbWUtU2hvcnQtWVlZWS1DdXN0b20nOlxuICAgICAgICAvLyAwMS8wMS8yMDAxIDAxOjAwIEFNXG4gICAgICAgIHNSZXR1cm5EYXRlID0gZGF5anMoZGF0ZVRpbWVWYWwpLmZvcm1hdCgnTS9EL1lZWVkgaGg6bW0gQScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGVUaW1lLUxvbmctWVlZWS1DdXN0b20nOlxuICAgICAgICAvLyAwMS8wMS8wMSAwMTowMCBBTVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVUaW1lVmFsKS5mb3JtYXQoJ01NL0REL1lZWVksIGhoOm1tIEEnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlVGltZS1TaG9ydC1ZWVlZJzpcbiAgICAgICAgLy8gMS8xLzIwMDEgMTowMCBBTVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVUaW1lVmFsKS5mb3JtYXQoJ00vRC9ZWVlZIGg6bW0gQScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGVUaW1lLU1lZGl1bSc6XG4gICAgICAgIC8vIEphbiAxLCAyMDAxIDE6MDA6MDAgQU1cbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVGltZVZhbCkuZm9ybWF0KCdNTU0gRCwgWVlZWSBoOm1tOnNzIEEnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlVGltZS1Mb25nJzpcbiAgICAgICAgLy8gSmFudWFyeSAxLCAyMDAxIDE6MDA6MDAgQU1cbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVGltZVZhbCkuZm9ybWF0KCdNTU1NIEQsIFlZWVkgaDptbTpzcyBBJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZVRpbWUtRGF5TW9udGhZZWFyLUN1c3RvbSc6XG4gICAgICAgIC8vIDAxLUphbi0yMDAxIDE6MDA6MDAgQU1cbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVGltZVZhbCkuZm9ybWF0KCdERC1NTU0tWVlZWSBoOm1tOnNzIEEnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlVGltZS1GdWxsJzpcbiAgICAgICAgLy8gTW9uZGF5LCBKYW51YXJ5IDEsIDIwMDEgMTowMCBBTSBFRFRcbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVGltZVZhbCkuZm9ybWF0KCdkZGRkLCBNTU1NIEQsIFlZWVkgaDptbSBBIHonKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlVGltZS1GcmFtZSc6XG4gICAgICBjYXNlICdEYXRlVGltZS1GcmFtZS1TaG9ydCc6XG4gICAgICBjYXNlICdEYXRlVGltZS1TaW5jZSc6XG4gICAgICAgIC8vIDIgZGF5cywgNSBob3VycyBhZ29cbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVGltZVZhbCkuZnJvbU5vdygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGVUaW1lLUlTTy04NjAxJzpcbiAgICAgICAgLy8gMjAwMS8wMS8wMSAxOjAwOjAwIEFNICAgICB5L20vZFxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVUaW1lVmFsKS5mb3JtYXQoJ1lZWVkvTU0vREQgaDptbTpzcyBBJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZVRpbWUtR3JlZ29yaWFuLTEnOlxuICAgICAgICAvLyAwMSBKYW51YXJ5LCAyMDAxIDE6MDA6MDAgQU1cbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVGltZVZhbCkuZm9ybWF0KCdERCBNTU1NLCBZWVlZIGg6bW06c3MgQScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGVUaW1lLUdyZWdvcmlhbi0yJzpcbiAgICAgICAgLy8gSmFudWFyeSAwMSwgMjAwMSAxOjAwOjAwIEFNXG4gICAgICAgIHNSZXR1cm5EYXRlID0gZGF5anMoZGF0ZVRpbWVWYWwpLmZvcm1hdCgnTU1NTSBERCwgWVlZWSBoOm1tOnNzIEEnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlVGltZS1HcmVnb3JpYW4tMyc6XG4gICAgICAgIC8vIDIwMDEsIEphbnVhcnkgMDEgMTowMDowMCBBTVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVUaW1lVmFsKS5mb3JtYXQoJ1lZWVksIE1NTU0gREQgaDptbTpzcyBBJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZVRpbWUtQ3VzdG9tJzpcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gc1JldHVybkRhdGU7XG4gIH1cblxuICBnZXRJY29uRnJvbUZpbGVUeXBlKGZpbGVUeXBlKTogc3RyaW5nIHtcbiAgICBsZXQgaWNvbiA9ICdkb2N1bWVudC1kb2MnO1xuICAgIGlmICghZmlsZVR5cGUpIHJldHVybiBpY29uO1xuICAgIGlmIChmaWxlVHlwZS5zdGFydHNXaXRoKCdhdWRpbycpKSB7XG4gICAgICBpY29uID0gJ2F1ZGlvJztcbiAgICB9IGVsc2UgaWYgKGZpbGVUeXBlLnN0YXJ0c1dpdGgoJ3ZpZGVvJykpIHtcbiAgICAgIGljb24gPSAndmlkZW8nO1xuICAgIH0gZWxzZSBpZiAoZmlsZVR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UnKSkge1xuICAgICAgaWNvbiA9ICdwaWN0dXJlJztcbiAgICB9IGVsc2UgaWYgKGZpbGVUeXBlLmluY2x1ZGVzKCdwZGYnKSkge1xuICAgICAgaWNvbiA9ICdkb2N1bWVudC1wZGYnO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBbLCBzdWJ0eXBlXSA9IGZpbGVUeXBlLnNwbGl0KCcvJyk7XG4gICAgICBjb25zdCBmb3VuZE1hdGNoID0gc291cmNlcyA9PiB7XG4gICAgICAgIHJldHVybiBzb3VyY2VzLnNvbWUoa2V5ID0+IHN1YnR5cGUuaW5jbHVkZXMoa2V5KSk7XG4gICAgICB9O1xuXG4gICAgICBpZiAoZm91bmRNYXRjaChbJ2V4Y2VsJywgJ3NwcmVhZHNoZWV0J10pKSB7XG4gICAgICAgIGljb24gPSAnZG9jdW1lbnQteGxzJztcbiAgICAgIH0gZWxzZSBpZiAoZm91bmRNYXRjaChbJ3ppcCcsICdjb21wcmVzc2VkJywgJ2d6aXAnLCAncmFyJywgJ3RhciddKSkge1xuICAgICAgICBpY29uID0gJ2RvY3VtZW50LWNvbXByZXNzJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gaWNvbjtcbiAgfVxuXG4gIGdldEljb25Gb3JBdHRhY2htZW50KGF0dGFjaG1lbnQpIHtcbiAgICBsZXQgaWNvbjtcbiAgICBzd2l0Y2ggKGF0dGFjaG1lbnQudHlwZSkge1xuICAgICAgY2FzZSAnRklMRSc6XG4gICAgICAgIGljb24gPSB0aGlzLmdldEljb25Gcm9tRmlsZVR5cGUoYXR0YWNobWVudC5taW1lVHlwZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnVVJMJzpcbiAgICAgICAgaWNvbiA9ICdjaGFpbic7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgaWNvbiA9ICdkb2N1bWVudC1kb2MnO1xuICAgIH1cbiAgICByZXR1cm4gaWNvbjtcbiAgfVxuXG4gIGFkZFZpZXdDb250YWluZXIoKSB7XG4gICAgaWYgKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3ZpZXdDb250YWluZXJDb3VudCcpID09IG51bGwpIHtcbiAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ3ZpZXdDb250YWluZXJDb3VudCcsICcwJyk7XG4gICAgfVxuXG4gICAgbGV0IGNvdW50ID0gcGFyc2VJbnQoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgndmlld0NvbnRhaW5lckNvdW50JykgYXMgc3RyaW5nLCAxMCk7XG4gICAgY291bnQrKztcblxuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ3ZpZXdDb250YWluZXJDb3VudCcsIGNvdW50LnRvU3RyaW5nKCkpO1xuICB9XG5cbiAgcmVtb3ZlVmlld0NvbnRhaW5lcigpIHtcbiAgICByZXR1cm47XG5cbiAgICBsZXQgY291bnQgPSBwYXJzZUludChzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCd2aWV3Q29udGFpbmVyQ291bnQnKSBhcyBzdHJpbmcsIDEwKTtcbiAgICBjb3VudC0tO1xuXG4gICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgndmlld0NvbnRhaW5lckNvdW50JywgY291bnQudG9TdHJpbmcoKSk7XG4gIH1cblxuICBva1RvQWRkQ29udGFpbmVyVG9WQygpOiBib29sZWFuIHtcbiAgICBpZiAoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgndmlld0NvbnRhaW5lckNvdW50JykgPT0gbnVsbCkge1xuICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgndmlld0NvbnRhaW5lckNvdW50JywgJzAnKTtcbiAgICB9XG5cbiAgICBjb25zdCBjb3VudCA9IHBhcnNlSW50KHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3ZpZXdDb250YWluZXJDb3VudCcpIGFzIHN0cmluZywgMTApO1xuXG4gICAgcmV0dXJuIGNvdW50ID09PSAwO1xuICB9XG5cbiAgZ2V0VXNlcklkID0gdXNlciA9PiB7XG4gICAgbGV0IHVzZXJJZCA9ICcnO1xuICAgIGlmICh0eXBlb2YgdXNlciA9PT0gJ29iamVjdCcgJiYgdXNlciAhPT0gbnVsbCAmJiB1c2VyLnVzZXJJZCkge1xuICAgICAgdXNlcklkID0gdXNlci51c2VySWQ7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdXNlciA9PT0gJ3N0cmluZycgJiYgdXNlcikge1xuICAgICAgdXNlcklkID0gdXNlcjtcbiAgICB9XG4gICAgcmV0dXJuIHVzZXJJZDtcbiAgfTtcblxuICBzdGF0aWMgc2RrR2V0QXV0aEhlYWRlcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdhc2RrX0FIJykgYXMgc3RyaW5nO1xuICB9XG5cbiAgc3RhdGljIGlzRW1wdHlPYmplY3Qob2JqOiBPYmplY3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMob2JqKS5sZW5ndGggPT09IDA7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* versionHelpers.ts
|
|
3
|
-
*
|
|
4
|
-
* Container helper functions that can identify which version of
|
|
5
|
-
* PCore/PConnect is being run
|
|
6
|
-
*/
|
|
7
|
-
export const sdkVersion = '8.7';
|
|
8
|
-
export function compareSdkPCoreVersions() {
|
|
9
|
-
// const theConstellationVersion = PCore.getPCoreVersion();
|
|
10
|
-
console.warn(`Using Constellation version ${PCore.getPCoreVersion()}. Ensure this is the same version as your Infinity server.`);
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbkhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXNkay1jb21wb25lbnRzL3NyYy9saWIvX2hlbHBlcnMvdmVyc2lvbkhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDO0FBRWhDLE1BQU0sVUFBVSx1QkFBdUI7SUFDckMsMkRBQTJEO0lBQzNELE9BQU8sQ0FBQyxJQUFJLENBQUMsK0JBQStCLEtBQUssQ0FBQyxlQUFlLEVBQUUsNERBQTRELENBQUMsQ0FBQztBQUNuSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiB2ZXJzaW9uSGVscGVycy50c1xuICpcbiAqIENvbnRhaW5lciBoZWxwZXIgZnVuY3Rpb25zIHRoYXQgY2FuIGlkZW50aWZ5IHdoaWNoIHZlcnNpb24gb2ZcbiAqIFBDb3JlL1BDb25uZWN0IGlzIGJlaW5nIHJ1blxuICovXG5cbmV4cG9ydCBjb25zdCBzZGtWZXJzaW9uID0gJzguNyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21wYXJlU2RrUENvcmVWZXJzaW9ucygpIHtcbiAgLy8gY29uc3QgdGhlQ29uc3RlbGxhdGlvblZlcnNpb24gPSBQQ29yZS5nZXRQQ29yZVZlcnNpb24oKTtcbiAgY29uc29sZS53YXJuKGBVc2luZyBDb25zdGVsbGF0aW9uIHZlcnNpb24gJHtQQ29yZS5nZXRQQ29yZVZlcnNpb24oKX0uIEVuc3VyZSB0aGlzIGlzIHRoZSBzYW1lIHZlcnNpb24gYXMgeW91ciBJbmZpbml0eSBzZXJ2ZXIuYCk7XG59XG4iXX0=
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { Subject } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class ErrorMessagesService {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.subject = new Subject();
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
*
|
|
10
|
-
* @param sAction - show, dismiss
|
|
11
|
-
* @param sActionMessage - text to displayed, will be queued with others until dismiss
|
|
12
|
-
*/
|
|
13
|
-
sendMessage(sAction, sActionMessage) {
|
|
14
|
-
this.subject.next({ action: sAction, actionMessage: sActionMessage });
|
|
15
|
-
}
|
|
16
|
-
clearMessage() {
|
|
17
|
-
this.subject.next();
|
|
18
|
-
}
|
|
19
|
-
getMessage() {
|
|
20
|
-
return this.subject.asObservable();
|
|
21
|
-
}
|
|
22
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ErrorMessagesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
23
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ErrorMessagesService, providedIn: 'root' }); }
|
|
24
|
-
}
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ErrorMessagesService, decorators: [{
|
|
26
|
-
type: Injectable,
|
|
27
|
-
args: [{
|
|
28
|
-
providedIn: 'root'
|
|
29
|
-
}]
|
|
30
|
-
}] });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItbWVzc2FnZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fbWVzc2FnZXMvZXJyb3ItbWVzc2FnZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxvQkFBb0I7SUFIakM7UUFJVSxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQWlCLENBQUM7S0FrQmhEO0lBaEJDOzs7O09BSUc7SUFDSCxXQUFXLENBQUMsT0FBZSxFQUFFLGNBQXNCO1FBQ2pELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQzsrR0FsQlUsb0JBQW9CO21IQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7NEZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRXJyb3JNZXNzYWdlc1NlcnZpY2Uge1xuICBwcml2YXRlIHN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkIHwgb2JqZWN0PigpO1xuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gc0FjdGlvbiAtIHNob3csIGRpc21pc3NcbiAgICogQHBhcmFtIHNBY3Rpb25NZXNzYWdlIC0gdGV4dCB0byBkaXNwbGF5ZWQsIHdpbGwgYmUgcXVldWVkIHdpdGggb3RoZXJzIHVudGlsIGRpc21pc3NcbiAgICovXG4gIHNlbmRNZXNzYWdlKHNBY3Rpb246IHN0cmluZywgc0FjdGlvbk1lc3NhZ2U6IHN0cmluZykge1xuICAgIHRoaXMuc3ViamVjdC5uZXh0KHsgYWN0aW9uOiBzQWN0aW9uLCBhY3Rpb25NZXNzYWdlOiBzQWN0aW9uTWVzc2FnZSB9KTtcbiAgfVxuXG4gIGNsZWFyTWVzc2FnZSgpIHtcbiAgICB0aGlzLnN1YmplY3QubmV4dCgpO1xuICB9XG5cbiAgZ2V0TWVzc2FnZSgpOiBPYnNlcnZhYmxlPHZvaWQgfCBvYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5zdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { Subject } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class ProgressSpinnerService {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.subject = new Subject();
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Function to show/hide spinner
|
|
10
|
-
* @param bShow - true: show spinner, false: hide spinner
|
|
11
|
-
*/
|
|
12
|
-
sendMessage(bShow) {
|
|
13
|
-
this.subject.next({ show: bShow });
|
|
14
|
-
}
|
|
15
|
-
clearMessage() {
|
|
16
|
-
this.subject.next();
|
|
17
|
-
}
|
|
18
|
-
getMessage() {
|
|
19
|
-
return this.subject.asObservable();
|
|
20
|
-
}
|
|
21
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ProgressSpinnerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
22
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ProgressSpinnerService, providedIn: 'root' }); }
|
|
23
|
-
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ProgressSpinnerService, decorators: [{
|
|
25
|
-
type: Injectable,
|
|
26
|
-
args: [{
|
|
27
|
-
providedIn: 'root'
|
|
28
|
-
}]
|
|
29
|
-
}] });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3Mtc3Bpbm5lci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1zZGstY29tcG9uZW50cy9zcmMvbGliL19tZXNzYWdlcy9wcm9ncmVzcy1zcGlubmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUszQyxNQUFNLE9BQU8sc0JBQXNCO0lBSG5DO1FBSVUsWUFBTyxHQUFHLElBQUksT0FBTyxFQUFpQixDQUFDO0tBaUJoRDtJQWZDOzs7T0FHRztJQUNILFdBQVcsQ0FBQyxLQUFjO1FBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JDLENBQUM7K0dBakJVLHNCQUFzQjttSEFBdEIsc0JBQXNCLGNBRnJCLE1BQU07OzRGQUVQLHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFByb2dyZXNzU3Bpbm5lclNlcnZpY2Uge1xuICBwcml2YXRlIHN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkIHwgb2JqZWN0PigpO1xuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0byBzaG93L2hpZGUgc3Bpbm5lclxuICAgKiBAcGFyYW0gYlNob3cgLSB0cnVlOiBzaG93IHNwaW5uZXIsIGZhbHNlOiBoaWRlIHNwaW5uZXJcbiAgICovXG4gIHNlbmRNZXNzYWdlKGJTaG93OiBib29sZWFuKSB7XG4gICAgdGhpcy5zdWJqZWN0Lm5leHQoeyBzaG93OiBiU2hvdyB9KTtcbiAgfVxuXG4gIGNsZWFyTWVzc2FnZSgpIHtcbiAgICB0aGlzLnN1YmplY3QubmV4dCgpO1xuICB9XG5cbiAgZ2V0TWVzc2FnZSgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLnN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { Subject } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class UpdateWorklistService {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.subject = new Subject();
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Function signals to update Work list
|
|
10
|
-
* @param bUpdate - true: update worklist, false - do nothing
|
|
11
|
-
*/
|
|
12
|
-
sendMessage(bUpdate) {
|
|
13
|
-
this.subject.next({ update: bUpdate });
|
|
14
|
-
}
|
|
15
|
-
clearMessage() {
|
|
16
|
-
this.subject.next();
|
|
17
|
-
}
|
|
18
|
-
getMessage() {
|
|
19
|
-
return this.subject.asObservable();
|
|
20
|
-
}
|
|
21
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: UpdateWorklistService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
22
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: UpdateWorklistService, providedIn: 'root' }); }
|
|
23
|
-
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: UpdateWorklistService, decorators: [{
|
|
25
|
-
type: Injectable,
|
|
26
|
-
args: [{
|
|
27
|
-
providedIn: 'root'
|
|
28
|
-
}]
|
|
29
|
-
}] });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLXdvcmtsaXN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXNkay1jb21wb25lbnRzL3NyYy9saWIvX21lc3NhZ2VzL3VwZGF0ZS13b3JrbGlzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLHFCQUFxQjtJQUhsQztRQUlVLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBaUIsQ0FBQztLQWlCaEQ7SUFmQzs7O09BR0c7SUFDSCxXQUFXLENBQUMsT0FBZ0I7UUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQzsrR0FqQlUscUJBQXFCO21IQUFyQixxQkFBcUIsY0FGcEIsTUFBTTs7NEZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVXBkYXRlV29ya2xpc3RTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBzdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZCB8IG9iamVjdD4oKTtcblxuICAvKipcbiAgICogRnVuY3Rpb24gc2lnbmFscyB0byB1cGRhdGUgV29yayBsaXN0XG4gICAqIEBwYXJhbSBiVXBkYXRlIC0gdHJ1ZTogdXBkYXRlIHdvcmtsaXN0LCBmYWxzZSAtIGRvIG5vdGhpbmdcbiAgICovXG4gIHNlbmRNZXNzYWdlKGJVcGRhdGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnN1YmplY3QubmV4dCh7IHVwZGF0ZTogYlVwZGF0ZSB9KTtcbiAgfVxuXG4gIGNsZWFyTWVzc2FnZSgpIHtcbiAgICB0aGlzLnN1YmplY3QubmV4dCgpO1xuICB9XG5cbiAgZ2V0TWVzc2FnZSgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLnN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { HttpParams, HttpHeaders } from '@angular/common/http';
|
|
3
|
-
import { endpoints } from './endpoints';
|
|
4
|
-
import { Utils } from '../_helpers/utils';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common/http";
|
|
7
|
-
import * as i2 from "./server-config.service";
|
|
8
|
-
export class CaseService {
|
|
9
|
-
constructor(http, scService) {
|
|
10
|
-
this.http = http;
|
|
11
|
-
this.scService = scService;
|
|
12
|
-
}
|
|
13
|
-
// caseTypeUrl = endpoints.BASEURL + endpoints.CASETYPES;
|
|
14
|
-
// get a list of possible case types to create
|
|
15
|
-
getCaseTypes() {
|
|
16
|
-
const caseParams = new HttpParams();
|
|
17
|
-
let caseHeaders = new HttpHeaders();
|
|
18
|
-
this.caseTypeUrl = this.scService.getBaseUrl() + endpoints.API + endpoints.CASETYPES;
|
|
19
|
-
caseHeaders = caseHeaders.append('Authorization', Utils.sdkGetAuthHeader());
|
|
20
|
-
caseHeaders = caseHeaders.append('Content-Type', 'application/json');
|
|
21
|
-
return this.http.get(this.caseTypeUrl, { observe: 'response', params: caseParams, headers: caseHeaders });
|
|
22
|
-
}
|
|
23
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: CaseService, deps: [{ token: i1.HttpClient }, { token: i2.ServerConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
24
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: CaseService, providedIn: 'root' }); }
|
|
25
|
-
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: CaseService, decorators: [{
|
|
27
|
-
type: Injectable,
|
|
28
|
-
args: [{
|
|
29
|
-
providedIn: 'root'
|
|
30
|
-
}]
|
|
31
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ServerConfigService }] });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1zZGstY29tcG9uZW50cy9zcmMvbGliL19zZXJ2aWNlcy9jYXNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFeEMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7O0FBSzFDLE1BQU0sT0FBTyxXQUFXO0lBQ3RCLFlBQ1UsSUFBZ0IsRUFDaEIsU0FBOEI7UUFEOUIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixjQUFTLEdBQVQsU0FBUyxDQUFxQjtJQUNyQyxDQUFDO0lBR0oseURBQXlEO0lBRXpELDhDQUE4QztJQUM5QyxZQUFZO1FBQ1YsTUFBTSxVQUFVLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNwQyxJQUFJLFdBQVcsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBRXBDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsR0FBRyxTQUFTLENBQUMsR0FBRyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUM7UUFFckYsV0FBVyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFFNUUsV0FBVyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFFckUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzVHLENBQUM7K0dBckJVLFdBQVc7bUhBQVgsV0FBVyxjQUZWLE1BQU07OzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcywgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBlbmRwb2ludHMgfSBmcm9tICcuL2VuZHBvaW50cyc7XG5pbXBvcnQgeyBTZXJ2ZXJDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2ZXItY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXRpbHMgfSBmcm9tICcuLi9faGVscGVycy91dGlscyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENhc2VTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgc2NTZXJ2aWNlOiBTZXJ2ZXJDb25maWdTZXJ2aWNlXG4gICkge31cblxuICBjYXNlVHlwZVVybDogc3RyaW5nO1xuICAvLyBjYXNlVHlwZVVybCA9IGVuZHBvaW50cy5CQVNFVVJMICsgZW5kcG9pbnRzLkNBU0VUWVBFUztcblxuICAvLyBnZXQgYSBsaXN0IG9mIHBvc3NpYmxlIGNhc2UgdHlwZXMgdG8gY3JlYXRlXG4gIGdldENhc2VUeXBlcygpIHtcbiAgICBjb25zdCBjYXNlUGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBsZXQgY2FzZUhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKTtcblxuICAgIHRoaXMuY2FzZVR5cGVVcmwgPSB0aGlzLnNjU2VydmljZS5nZXRCYXNlVXJsKCkgKyBlbmRwb2ludHMuQVBJICsgZW5kcG9pbnRzLkNBU0VUWVBFUztcblxuICAgIGNhc2VIZWFkZXJzID0gY2FzZUhlYWRlcnMuYXBwZW5kKCdBdXRob3JpemF0aW9uJywgVXRpbHMuc2RrR2V0QXV0aEhlYWRlcigpKTtcblxuICAgIGNhc2VIZWFkZXJzID0gY2FzZUhlYWRlcnMuYXBwZW5kKCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbicpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5jYXNlVHlwZVVybCwgeyBvYnNlcnZlOiAncmVzcG9uc2UnLCBwYXJhbXM6IGNhc2VQYXJhbXMsIGhlYWRlcnM6IGNhc2VIZWFkZXJzIH0pO1xuICB9XG59XG4iXX0=
|