@netgrif/components-core 6.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +132 -0
- package/README.md +105 -0
- package/bundles/netgrif-components-core.umd.js +32298 -0
- package/bundles/netgrif-components-core.umd.js.map +1 -0
- package/bundles/netgrif-components-core.umd.min.js +17 -0
- package/bundles/netgrif-components-core.umd.min.js.map +1 -0
- package/commons/angular-cli-devkit-core-strings.d.ts +93 -0
- package/commons/import-to-add.d.ts +5 -0
- package/commons/schema.d.ts +277 -0
- package/commons/view-class-info.d.ts +22 -0
- package/esm2015/assets/i18n/de.json +419 -0
- package/esm2015/assets/i18n/en.json +419 -0
- package/esm2015/assets/i18n/sk.json +419 -0
- package/esm2015/commons/angular-cli-devkit-core-strings.js +157 -0
- package/esm2015/commons/import-to-add.js +7 -0
- package/esm2015/commons/schema.js +7 -0
- package/esm2015/commons/view-class-info.js +52 -0
- package/esm2015/lib/admin/public-api.js +9 -0
- package/esm2015/lib/admin/role-assignment/abstract-role-assignment.js +77 -0
- package/esm2015/lib/admin/role-assignment/services/ProcessList.js +155 -0
- package/esm2015/lib/admin/role-assignment/services/role-assignment.service.js +40 -0
- package/esm2015/lib/admin/user-invite/abstract-user-invite.component.js +77 -0
- package/esm2015/lib/admin/user-invite/services/organization-list.service.js +63 -0
- package/esm2015/lib/admin/user-invite/services/user-invite.service.js +31 -0
- package/esm2015/lib/allowed-nets/public-api.js +4 -0
- package/esm2015/lib/allowed-nets/services/allowed-nets.service.js +74 -0
- package/esm2015/lib/allowed-nets/services/base-allowed-nets.service.js +54 -0
- package/esm2015/lib/allowed-nets/services/factory/allowed-nets-service-factory.js +129 -0
- package/esm2015/lib/authentication/anonymous/anonymous.service.js +63 -0
- package/esm2015/lib/authentication/authentication.factory.js +16 -0
- package/esm2015/lib/authentication/authentication.module.js +32 -0
- package/esm2015/lib/authentication/components/abstract-authentication-overlay.js +50 -0
- package/esm2015/lib/authentication/models/credentials.js +2 -0
- package/esm2015/lib/authentication/models/public-api.js +5 -0
- package/esm2015/lib/authentication/models/transformer.js +2 -0
- package/esm2015/lib/authentication/models/user.transformer.js +19 -0
- package/esm2015/lib/authentication/public-api.js +14 -0
- package/esm2015/lib/authentication/services/anonymous-authentication-interceptor.js +44 -0
- package/esm2015/lib/authentication/services/authentication/authentication.service.js +71 -0
- package/esm2015/lib/authentication/services/authentication-interceptor.js +52 -0
- package/esm2015/lib/authentication/services/authentication-method.service.js +5 -0
- package/esm2015/lib/authentication/services/guard/authentication-guard.service.js +39 -0
- package/esm2015/lib/authentication/services/methods/basic-authentication/basic-authentication.service.js +48 -0
- package/esm2015/lib/authentication/services/methods/null-authentication/null-authentication.service.js +19 -0
- package/esm2015/lib/authentication/services/public-api.js +7 -0
- package/esm2015/lib/authentication/session/null-storage.js +15 -0
- package/esm2015/lib/authentication/session/public-api.js +3 -0
- package/esm2015/lib/authentication/session/services/session.service.js +156 -0
- package/esm2015/lib/authentication/sign-up/models/user-invitation-request.js +2 -0
- package/esm2015/lib/authentication/sign-up/models/user-registration-request.js +2 -0
- package/esm2015/lib/authentication/sign-up/public-api.js +8 -0
- package/esm2015/lib/authentication/sign-up/services/sign-up.service.js +105 -0
- package/esm2015/lib/authentication/sign-up/sign-up.module.js +13 -0
- package/esm2015/lib/authorization/authority/authority-guard.service.js +50 -0
- package/esm2015/lib/authorization/group/group-guard.service.js +67 -0
- package/esm2015/lib/authorization/permission/permission.service.js +116 -0
- package/esm2015/lib/authorization/public-api.js +10 -0
- package/esm2015/lib/authorization/role/role-guard.service.js +105 -0
- package/esm2015/lib/changed-fields/public-api.js +2 -0
- package/esm2015/lib/changed-fields/services/changed-fields.service.js +32 -0
- package/esm2015/lib/configuration/configuration.service.js +190 -0
- package/esm2015/lib/configuration/public-api.js +3 -0
- package/esm2015/lib/covalent/covalent.module.js +22 -0
- package/esm2015/lib/currency/currency.module.js +23 -0
- package/esm2015/lib/dashboard/cards/count-card/abstract-count-card.js +39 -0
- package/esm2015/lib/dashboard/cards/custom-card/abstract-custom-card.js +47 -0
- package/esm2015/lib/dashboard/cards/iframe-card/abstract-iframe-card.js +14 -0
- package/esm2015/lib/dashboard/cards/model/card-grid-element.js +2 -0
- package/esm2015/lib/dashboard/cards/model/count-card.js +2 -0
- package/esm2015/lib/dashboard/cards/model/custom-dashboard-model/aggregation-query.js +2 -0
- package/esm2015/lib/dashboard/cards/model/custom-dashboard-model/aggregation-result.js +2 -0
- package/esm2015/lib/dashboard/cards/model/custom-dashboard-model/custom-card.js +2 -0
- package/esm2015/lib/dashboard/cards/model/custom-dashboard-model/dashboard-event-content.js +2 -0
- package/esm2015/lib/dashboard/cards/model/custom-dashboard-model/dashboard-multi-data.js +7 -0
- package/esm2015/lib/dashboard/cards/model/custom-dashboard-model/dashboard-single-data.js +7 -0
- package/esm2015/lib/dashboard/cards/model/dashboard-card-types.js +13 -0
- package/esm2015/lib/dashboard/cards/model/dashboard-card.js +2 -0
- package/esm2015/lib/dashboard/cards/model/graph-card.js +2 -0
- package/esm2015/lib/dashboard/cards/model/iframe-card.js +2 -0
- package/esm2015/lib/dashboard/dashboard-content/abstract-dashboard-content.js +19 -0
- package/esm2015/lib/dashboard/dashboard-content/dashboard-params.js +2 -0
- package/esm2015/lib/dashboard/public-api.js +20 -0
- package/esm2015/lib/data-fields/boolean-field/abstract-boolean-field.component.js +40 -0
- package/esm2015/lib/data-fields/boolean-field/models/boolean-field.js +24 -0
- package/esm2015/lib/data-fields/button-field/abstract-button-field.component.js +62 -0
- package/esm2015/lib/data-fields/button-field/models/button-field.js +27 -0
- package/esm2015/lib/data-fields/data-field-template/abstract-data-field-template.component.js +101 -0
- package/esm2015/lib/data-fields/data-field-template/models/wrapped-boolean.js +6 -0
- package/esm2015/lib/data-fields/data-fields.module.js +35 -0
- package/esm2015/lib/data-fields/date-field/abstract-date-field.component.js +21 -0
- package/esm2015/lib/data-fields/date-field/models/custom-date-adapter.js +11 -0
- package/esm2015/lib/data-fields/date-field/models/date-field.js +10 -0
- package/esm2015/lib/data-fields/date-time-field/abstract-date-time-field.component.js +21 -0
- package/esm2015/lib/data-fields/date-time-field/models/date-time-field.js +10 -0
- package/esm2015/lib/data-fields/enumeration-field/abstract-enumeration-field.component.js +17 -0
- package/esm2015/lib/data-fields/enumeration-field/enumeration-autocomplete-dynamic-field/abstract-enumeration-autocomplete-dynamic-field.component.js +43 -0
- package/esm2015/lib/data-fields/enumeration-field/enumeration-autocomplete-select-field/abstract-enumeration-autocomplete-select-field.component.js +53 -0
- package/esm2015/lib/data-fields/enumeration-field/enumeration-icon-field/abstract-enumeration-icon-field.component.js +37 -0
- package/esm2015/lib/data-fields/enumeration-field/enumeration-list-field/abstract-enumeration-list-field.component.js +11 -0
- package/esm2015/lib/data-fields/enumeration-field/enumeration-select-field/abstract-enumeration-select-field.component.js +11 -0
- package/esm2015/lib/data-fields/enumeration-field/enumeration-stepper-field/abstract-enumeration-stepper-field.component.js +40 -0
- package/esm2015/lib/data-fields/enumeration-field/models/dynamic-enumeration-field.js +44 -0
- package/esm2015/lib/data-fields/enumeration-field/models/enumeration-field.js +59 -0
- package/esm2015/lib/data-fields/file-field/abstract-file-field.component.js +390 -0
- package/esm2015/lib/data-fields/file-field/abstract-preview-dialog/preview-dialog-data.js +2 -0
- package/esm2015/lib/data-fields/file-field/models/file-field-value.js +2 -0
- package/esm2015/lib/data-fields/file-field/models/file-field.js +106 -0
- package/esm2015/lib/data-fields/file-list-field/abstract-file-list-field.component.js +261 -0
- package/esm2015/lib/data-fields/file-list-field/models/file-list-field-value.js +2 -0
- package/esm2015/lib/data-fields/file-list-field/models/file-list-field.js +83 -0
- package/esm2015/lib/data-fields/filter-field/abstract-filter-field-content.component.js +29 -0
- package/esm2015/lib/data-fields/filter-field/abstract-filter-field.component.js +28 -0
- package/esm2015/lib/data-fields/filter-field/models/filter-field-injection-token.js +7 -0
- package/esm2015/lib/data-fields/filter-field/models/filter-field.js +15 -0
- package/esm2015/lib/data-fields/i18n-field/abstract-i18n-field.component.js +19 -0
- package/esm2015/lib/data-fields/i18n-field/i18n-divider-field/abstract-i18n-divider-field.component.js +26 -0
- package/esm2015/lib/data-fields/i18n-field/i18n-text-field/abstract-i18n-text-field.component.js +40 -0
- package/esm2015/lib/data-fields/i18n-field/models/i18n-field-value.js +2 -0
- package/esm2015/lib/data-fields/i18n-field/models/i18n-field.js +10 -0
- package/esm2015/lib/data-fields/models/abstract-data-field-component.js +39 -0
- package/esm2015/lib/data-fields/models/abstract-data-field.js +391 -0
- package/esm2015/lib/data-fields/models/behavior.js +2 -0
- package/esm2015/lib/data-fields/models/boolean-label-enabled-token.js +3 -0
- package/esm2015/lib/data-fields/models/changed-fields.js +2 -0
- package/esm2015/lib/data-fields/models/component.js +2 -0
- package/esm2015/lib/data-fields/models/format-filter.js +2 -0
- package/esm2015/lib/data-fields/models/icon.js +6 -0
- package/esm2015/lib/data-fields/models/invalid-data-policy-token.js +11 -0
- package/esm2015/lib/data-fields/models/layout.js +2 -0
- package/esm2015/lib/data-fields/models/material-appearance.js +14 -0
- package/esm2015/lib/data-fields/models/properties.js +2 -0
- package/esm2015/lib/data-fields/models/template-appearance.js +15 -0
- package/esm2015/lib/data-fields/models/validation.js +2 -0
- package/esm2015/lib/data-fields/multichoice-field/abstract-multichoice-field.component.js +17 -0
- package/esm2015/lib/data-fields/multichoice-field/models/multichoice-field.js +41 -0
- package/esm2015/lib/data-fields/multichoice-field/multichoice-list-field/abstract-multichoice-list-field.component.js +9 -0
- package/esm2015/lib/data-fields/multichoice-field/multichoice-select-field/abstract-multichoice-select-field.component.js +9 -0
- package/esm2015/lib/data-fields/number-field/abstract-number-errors.component.js +45 -0
- package/esm2015/lib/data-fields/number-field/abstract-number-field.component.js +18 -0
- package/esm2015/lib/data-fields/number-field/currency-number-field/abstract-currency-number-field.component.js +48 -0
- package/esm2015/lib/data-fields/number-field/models/number-field.js +131 -0
- package/esm2015/lib/data-fields/number-field/number-default-field/abstract-default-number-field.component.js +7 -0
- package/esm2015/lib/data-fields/public-api.js +73 -0
- package/esm2015/lib/data-fields/task-ref-field/model/task-ref-field.js +7 -0
- package/esm2015/lib/data-fields/text-field/abstract-text-errors.component.js +35 -0
- package/esm2015/lib/data-fields/text-field/abstract-text-field.component.js +15 -0
- package/esm2015/lib/data-fields/text-field/html-textarea-field/abstract-html-textarea-field.component.js +39 -0
- package/esm2015/lib/data-fields/text-field/models/text-area-field.js +13 -0
- package/esm2015/lib/data-fields/text-field/models/text-field.js +85 -0
- package/esm2015/lib/data-fields/text-field/password-text-field/abstract-password-text-field.component.js +17 -0
- package/esm2015/lib/data-fields/text-field/rich-textarea-field/abstract-rich-textarea-field.component.js +30 -0
- package/esm2015/lib/data-fields/text-field/simple-text-field/abstract-simple-text-field.component.js +17 -0
- package/esm2015/lib/data-fields/text-field/textarea-field/abstract-textarea-field.component.js +40 -0
- package/esm2015/lib/data-fields/time-instance-abstract-field/abstract-time-instance-field.component.js +45 -0
- package/esm2015/lib/data-fields/time-instance-abstract-field/models/abstract-time-instance-field.js +105 -0
- package/esm2015/lib/data-fields/user-field/abstract-user-field.component.js +59 -0
- package/esm2015/lib/data-fields/user-field/models/user-field.js +14 -0
- package/esm2015/lib/data-fields/user-field/models/user-value.js +36 -0
- package/esm2015/lib/dialog/components/alert-dialog/alert-dialog.component.js +38 -0
- package/esm2015/lib/dialog/components/alert-dialog/alert-dialog.module.js +28 -0
- package/esm2015/lib/dialog/components/confirm-dialog/confirm-dialog.component.js +52 -0
- package/esm2015/lib/dialog/components/confirm-dialog/confirm-dialog.module.js +28 -0
- package/esm2015/lib/dialog/components/prompt-dialog/prompt-dialog.component.js +42 -0
- package/esm2015/lib/dialog/components/prompt-dialog/prompt-dialog.module.js +30 -0
- package/esm2015/lib/dialog/dialog.module.js +29 -0
- package/esm2015/lib/dialog/models/DialogData.js +2 -0
- package/esm2015/lib/dialog/models/DialogResult.js +2 -0
- package/esm2015/lib/dialog/models/abstract-dialog.js +21 -0
- package/esm2015/lib/dialog/public-api.js +9 -0
- package/esm2015/lib/dialog/services/dialog.service.js +82 -0
- package/esm2015/lib/event/model/event-constants.js +8 -0
- package/esm2015/lib/event/model/event-outcomes/case-outcomes/case-event-outcome.js +2 -0
- package/esm2015/lib/event/model/event-outcomes/case-outcomes/create-case-event-outcome.js +2 -0
- package/esm2015/lib/event/model/event-outcomes/case-outcomes/delete-case-event-outcome.js +2 -0
- package/esm2015/lib/event/model/event-outcomes/data-outcomes/get-data-event-outcome.js +2 -0
- package/esm2015/lib/event/model/event-outcomes/data-outcomes/get-data-groups-event-outcome.js +2 -0
- package/esm2015/lib/event/model/event-outcomes/data-outcomes/get-data-localised-event-outcome.js +2 -0
- package/esm2015/lib/event/model/event-outcomes/data-outcomes/set-data-event-outcome.js +2 -0
- package/esm2015/lib/event/model/event-outcomes/petrinet-outcomes/petri-net-event-outcome.js +2 -0
- package/esm2015/lib/event/model/event-outcomes/task-outcomes/assign-task-event-outcome.js +2 -0
- package/esm2015/lib/event/model/event-outcomes/task-outcomes/cancel-task-event-outcome.js +2 -0
- package/esm2015/lib/event/model/event-outcomes/task-outcomes/delegate-task-event-outcome.js +2 -0
- package/esm2015/lib/event/model/event-outcomes/task-outcomes/finish-task-event-outcome.js +2 -0
- package/esm2015/lib/event/model/event-outcomes/task-outcomes/task-event-outcome.js +2 -0
- package/esm2015/lib/event/public-api.js +19 -0
- package/esm2015/lib/event/services/event.service.js +57 -0
- package/esm2015/lib/event/services/interfaces/changed-fields-map.js +2 -0
- package/esm2015/lib/event-queue/model/queued-event.js +31 -0
- package/esm2015/lib/event-queue/public-api.js +5 -0
- package/esm2015/lib/event-queue/services/event-queue.service.js +63 -0
- package/esm2015/lib/filter/filter.repository.js +141 -0
- package/esm2015/lib/filter/models/case-search-request-body.js +2 -0
- package/esm2015/lib/filter/models/filter-type.js +11 -0
- package/esm2015/lib/filter/models/filter.js +56 -0
- package/esm2015/lib/filter/models/filters-filter-injection-token.js +9 -0
- package/esm2015/lib/filter/models/merge-operator.js +11 -0
- package/esm2015/lib/filter/models/merged-filter-params.js +2 -0
- package/esm2015/lib/filter/models/merged-filter.js +111 -0
- package/esm2015/lib/filter/models/simple-filter.js +91 -0
- package/esm2015/lib/filter/models/task-search-request-body.js +2 -0
- package/esm2015/lib/filter/models/user-filter-constants.js +39 -0
- package/esm2015/lib/filter/public-api.js +18 -0
- package/esm2015/lib/filter/user-filters.service.js +337 -0
- package/esm2015/lib/forms/email-submission/abstract-email-submission-form.component.js +31 -0
- package/esm2015/lib/forms/forgotten-password/abstract-forgotten-password.component.js +32 -0
- package/esm2015/lib/forms/has-form.js +2 -0
- package/esm2015/lib/forms/login/abstract-login-form.component.js +58 -0
- package/esm2015/lib/forms/models/abstract-registration.component.js +94 -0
- package/esm2015/lib/forms/models/password.validator.js +21 -0
- package/esm2015/lib/forms/public-api.js +7 -0
- package/esm2015/lib/forms/registration/abstract-registration-form.component.js +37 -0
- package/esm2015/lib/groups/public-api.js +3 -0
- package/esm2015/lib/groups/services/active-group.service.js +88 -0
- package/esm2015/lib/groups/services/next-group.service.js +104 -0
- package/esm2015/lib/header/abstract-header-service.js +394 -0
- package/esm2015/lib/header/abstract-header.component.js +159 -0
- package/esm2015/lib/header/case-header/case-header.service.js +81 -0
- package/esm2015/lib/header/case-header/case-menta-enum.js +9 -0
- package/esm2015/lib/header/header-modes/abstract-header-mode.component.js +12 -0
- package/esm2015/lib/header/header-modes/edit-mode/abstract-edit-mode.component.js +73 -0
- package/esm2015/lib/header/header-modes/loading-mode/abstract-loading-mode.component.js +13 -0
- package/esm2015/lib/header/header-modes/search-mode/abstract-search-mode.component.js +86 -0
- package/esm2015/lib/header/header-modes/sort-mode/abstract-sort-mode.component.js +15 -0
- package/esm2015/lib/header/header-state.js +43 -0
- package/esm2015/lib/header/models/default-headers-token.js +3 -0
- package/esm2015/lib/header/models/fields-group.js +2 -0
- package/esm2015/lib/header/models/header-column.js +22 -0
- package/esm2015/lib/header/models/header-mode.js +7 -0
- package/esm2015/lib/header/models/header-type.js +7 -0
- package/esm2015/lib/header/models/public-api.js +12 -0
- package/esm2015/lib/header/models/user-changes/column-header-change.js +2 -0
- package/esm2015/lib/header/models/user-changes/edit-change-description.js +2 -0
- package/esm2015/lib/header/models/user-changes/header-change-description.js +2 -0
- package/esm2015/lib/header/models/user-changes/header-change-type.js +20 -0
- package/esm2015/lib/header/models/user-changes/header-change.js +2 -0
- package/esm2015/lib/header/models/user-changes/mode-change-description.js +2 -0
- package/esm2015/lib/header/models/user-changes/search-change-description.js +2 -0
- package/esm2015/lib/header/models/user-changes/sort-change-description.js +2 -0
- package/esm2015/lib/header/public-api.js +21 -0
- package/esm2015/lib/header/services/overflow.service.js +94 -0
- package/esm2015/lib/header/task-header/task-header.service.js +66 -0
- package/esm2015/lib/header/task-header/task-meta-enum.js +11 -0
- package/esm2015/lib/header/workflow-header/workflow-header.service.js +48 -0
- package/esm2015/lib/header/workflow-header/workflow-meta-enum.js +10 -0
- package/esm2015/lib/legal/legal-notice/abstract-legal-notice.component.js +16 -0
- package/esm2015/lib/legal/public-api.js +2 -0
- package/esm2015/lib/logger/models/log-entry.js +61 -0
- package/esm2015/lib/logger/public-api.js +10 -0
- package/esm2015/lib/logger/publishers/console-log-publisher.js +32 -0
- package/esm2015/lib/logger/publishers/local-storage-log-publisher.js +40 -0
- package/esm2015/lib/logger/publishers/log-publisher.js +12 -0
- package/esm2015/lib/logger/services/log-level.js +10 -0
- package/esm2015/lib/logger/services/log-publisher.service.js +59 -0
- package/esm2015/lib/logger/services/logger.service.js +77 -0
- package/esm2015/lib/material/material.module.js +108 -0
- package/esm2015/lib/moment/public-api.js +2 -0
- package/esm2015/lib/moment/time-formats.js +26 -0
- package/esm2015/lib/navigation/group-navigation-component-resolver/abstract-group-navigation-component-resolver.component.js +36 -0
- package/esm2015/lib/navigation/group-navigation-component-resolver/group-navigation-component-resolver.service.js +34 -0
- package/esm2015/lib/navigation/group-navigation-component-resolver/group-navigation-view-id-segment-factory.js +5 -0
- package/esm2015/lib/navigation/model/filter-case-injection-token.js +6 -0
- package/esm2015/lib/navigation/model/group-navigation-component-resolver-component-injection-token.js +6 -0
- package/esm2015/lib/navigation/model/group-navigation-constants.js +59 -0
- package/esm2015/lib/navigation/model/group-navigation-item-label.js +2 -0
- package/esm2015/lib/navigation/navigation-drawer/abstract-navigation-drawer.component.js +131 -0
- package/esm2015/lib/navigation/navigation-drawer/abstract-navigation-resizable-drawer.component.js +14 -0
- package/esm2015/lib/navigation/navigation-rail/abstract-navigation-rail.component.js +32 -0
- package/esm2015/lib/navigation/navigation-tree/abstract-navigation-tree.component.js +371 -0
- package/esm2015/lib/navigation/public-api.js +19 -0
- package/esm2015/lib/navigation/quick-panel/components/abstract-quick-panel.component.js +25 -0
- package/esm2015/lib/navigation/quick-panel/components/internal-link/abstract-internal-link.component.js +12 -0
- package/esm2015/lib/navigation/quick-panel/components/language-selector/abstract-language-selector.component.js +52 -0
- package/esm2015/lib/navigation/quick-panel/components/logout-shortcut/abstract-logout-shortcut.component.js +21 -0
- package/esm2015/lib/navigation/quick-panel/components/paper-view.service.js +38 -0
- package/esm2015/lib/navigation/quick-panel/public-api.js +8 -0
- package/esm2015/lib/navigation/utility/filter-extraction.service.js +87 -0
- package/esm2015/lib/navigation/utility/navigation-item-task-utility-methods.js +78 -0
- package/esm2015/lib/panel/abstract/featured-value.js +2 -0
- package/esm2015/lib/panel/abstract/panel-with-header-binding.js +47 -0
- package/esm2015/lib/panel/abstract/panel-with-immediate-data.js +62 -0
- package/esm2015/lib/panel/abstract/tabbed-virtual-scroll.component.js +28 -0
- package/esm2015/lib/panel/abstract-panel.component.js +44 -0
- package/esm2015/lib/panel/case-panel/abstract-case-panel.component.js +88 -0
- package/esm2015/lib/panel/immediate/abstract-immediate-filter-text-content.component.js +38 -0
- package/esm2015/lib/panel/immediate/abstract-immediate-filter-text.component.js +21 -0
- package/esm2015/lib/panel/immediate/model/filter-text-injection-token.js +6 -0
- package/esm2015/lib/panel/public-api.js +15 -0
- package/esm2015/lib/panel/task-panel/abstract-task-panel.component.js +281 -0
- package/esm2015/lib/panel/task-panel/models/disable-functions.js +3 -0
- package/esm2015/lib/panel/task-panel-list/abstract-task-list.component.js +89 -0
- package/esm2015/lib/panel/task-panel-list/task-panel-data/task-panel-data.js +2 -0
- package/esm2015/lib/panel/workflow-panel/abstract-workflow-panel.component.js +103 -0
- package/esm2015/lib/process/net.js +101 -0
- package/esm2015/lib/process/netRole.js +2 -0
- package/esm2015/lib/process/permissions.js +12 -0
- package/esm2015/lib/process/petri-net-reference-with-permissions.js +2 -0
- package/esm2015/lib/process/process.service.js +301 -0
- package/esm2015/lib/process/public-api.js +8 -0
- package/esm2015/lib/process/public-process.service.js +29 -0
- package/esm2015/lib/process/rolesAndPermissions.js +2 -0
- package/esm2015/lib/process/transaction.js +2 -0
- package/esm2015/lib/process/transition.js +2 -0
- package/esm2015/lib/public/factories/get-net-and-create-case.js +22 -0
- package/esm2015/lib/public/factories/public-factory-resolver.js +13 -0
- package/esm2015/lib/public/factories/public-search-factory.js +17 -0
- package/esm2015/lib/public/public-api.js +5 -0
- package/esm2015/lib/public/services/public-url-resolver.service.js +20 -0
- package/esm2015/lib/resources/abstract-endpoint/abstract-resource.service.js +79 -0
- package/esm2015/lib/resources/abstract-endpoint/count-service.js +2 -0
- package/esm2015/lib/resources/engine-endpoint/case-resource.service.js +133 -0
- package/esm2015/lib/resources/engine-endpoint/dashboard-resource.service.js +33 -0
- package/esm2015/lib/resources/engine-endpoint/petri-net-resource.service.js +161 -0
- package/esm2015/lib/resources/engine-endpoint/public/public-case-resource.service.js +46 -0
- package/esm2015/lib/resources/engine-endpoint/public/public-petri-net-resource.service.js +108 -0
- package/esm2015/lib/resources/engine-endpoint/public/public-task-resource.service.js +224 -0
- package/esm2015/lib/resources/engine-endpoint/task-resource.service.js +306 -0
- package/esm2015/lib/resources/engine-endpoint/user-resource.service.js +191 -0
- package/esm2015/lib/resources/interface/assigned-user-policy.js +2 -0
- package/esm2015/lib/resources/interface/author.js +2 -0
- package/esm2015/lib/resources/interface/authority.js +2 -0
- package/esm2015/lib/resources/interface/case-get-request-body.js +2 -0
- package/esm2015/lib/resources/interface/case.js +2 -0
- package/esm2015/lib/resources/interface/changed-field-container.js +2 -0
- package/esm2015/lib/resources/interface/count.js +2 -0
- package/esm2015/lib/resources/interface/create-case-request-body.js +2 -0
- package/esm2015/lib/resources/interface/data-group-layout.js +59 -0
- package/esm2015/lib/resources/interface/data-groups.js +19 -0
- package/esm2015/lib/resources/interface/event-outcome.js +2 -0
- package/esm2015/lib/resources/interface/field-alignment.js +10 -0
- package/esm2015/lib/resources/interface/fields.js +2 -0
- package/esm2015/lib/resources/interface/file-resource.js +2 -0
- package/esm2015/lib/resources/interface/group.js +2 -0
- package/esm2015/lib/resources/interface/immediate-data.js +2 -0
- package/esm2015/lib/resources/interface/link.js +2 -0
- package/esm2015/lib/resources/interface/message-resource.js +2 -0
- package/esm2015/lib/resources/interface/page.js +2 -0
- package/esm2015/lib/resources/interface/pagination.js +2 -0
- package/esm2015/lib/resources/interface/petri-net-object-id.js +2 -0
- package/esm2015/lib/resources/interface/petri-net-reference.js +2 -0
- package/esm2015/lib/resources/interface/petri-net-request-body.js +2 -0
- package/esm2015/lib/resources/interface/petri-net.js +2 -0
- package/esm2015/lib/resources/interface/preferences.js +2 -0
- package/esm2015/lib/resources/interface/process-role.js +2 -0
- package/esm2015/lib/resources/interface/response-data.js +2 -0
- package/esm2015/lib/resources/interface/task-layout.js +2 -0
- package/esm2015/lib/resources/interface/task-reference.js +2 -0
- package/esm2015/lib/resources/interface/task-set-data-request-body.js +2 -0
- package/esm2015/lib/resources/interface/task.js +2 -0
- package/esm2015/lib/resources/interface/user-process-role.js +2 -0
- package/esm2015/lib/resources/interface/user-resource-small.js +2 -0
- package/esm2015/lib/resources/interface/user-resource.js +2 -0
- package/esm2015/lib/resources/public-api.js +46 -0
- package/esm2015/lib/resources/resource-provider.service.js +168 -0
- package/esm2015/lib/resources/types/nae-date-type.js +5 -0
- package/esm2015/lib/routing/dynamic-navigation-route-provider/dynamic-navigation-route-provider.service.js +36 -0
- package/esm2015/lib/routing/public-api.js +7 -0
- package/esm2015/lib/routing/redirect-service/redirect.service.js +103 -0
- package/esm2015/lib/routing/routing-builder/routing-builder.service.js +190 -0
- package/esm2015/lib/routing/view-service/model/view-entry.js +2 -0
- package/esm2015/lib/routing/view-service/view.service.js +35 -0
- package/esm2015/lib/search/advanced-search-component/abstract-advanced-search.component.js +49 -0
- package/esm2015/lib/search/advanced-search-component-initialization-service/advanced-search-component-initialization.service.js +34 -0
- package/esm2015/lib/search/category-factory/category-factory.js +94 -0
- package/esm2015/lib/search/category-factory/category-resolver.service.js +149 -0
- package/esm2015/lib/search/category-factory/category-serialisation-pair.js +2 -0
- package/esm2015/lib/search/category-factory/default-categories-factories.js +67 -0
- package/esm2015/lib/search/category-factory/default-search-categories.module.js +50 -0
- package/esm2015/lib/search/category-factory/optional-dependencies.js +2 -0
- package/esm2015/lib/search/category-factory/search-categories-injection-token.js +24 -0
- package/esm2015/lib/search/fulltext-search-component/abstract-fulltext-search.component.js +17 -0
- package/esm2015/lib/search/header-search-service/header-search.service.js +226 -0
- package/esm2015/lib/search/models/base-filter-injection-token.js +6 -0
- package/esm2015/lib/search/models/base-filter.js +2 -0
- package/esm2015/lib/search/models/boolean-operator.js +10 -0
- package/esm2015/lib/search/models/category/autocomplete-category.js +129 -0
- package/esm2015/lib/search/models/category/autocomplete-options.js +2 -0
- package/esm2015/lib/search/models/category/case/case-author.js +21 -0
- package/esm2015/lib/search/models/category/case/case-creation-date-time.js +43 -0
- package/esm2015/lib/search/models/category/case/case-creation-date.js +43 -0
- package/esm2015/lib/search/models/category/case/case-dataset.js +397 -0
- package/esm2015/lib/search/models/category/case/case-net-attribute-autocomplete-category.js +23 -0
- package/esm2015/lib/search/models/category/case/case-process.js +73 -0
- package/esm2015/lib/search/models/category/case/case-role.js +24 -0
- package/esm2015/lib/search/models/category/case/case-search.enum.js +15 -0
- package/esm2015/lib/search/models/category/case/case-simple-dataset.js +135 -0
- package/esm2015/lib/search/models/category/case/case-string-id.js +27 -0
- package/esm2015/lib/search/models/category/case/case-task.js +24 -0
- package/esm2015/lib/search/models/category/case/case-title.js +29 -0
- package/esm2015/lib/search/models/category/case/case-visual-id.js +23 -0
- package/esm2015/lib/search/models/category/categories.js +24 -0
- package/esm2015/lib/search/models/category/category.js +524 -0
- package/esm2015/lib/search/models/category/name-id-pair.js +2 -0
- package/esm2015/lib/search/models/category/net-attribute-autocomplete-category.js +59 -0
- package/esm2015/lib/search/models/category/net-attribute-pair.js +2 -0
- package/esm2015/lib/search/models/category/no-configuration-autocomplete-category.js +36 -0
- package/esm2015/lib/search/models/category/no-configuration-category.js +39 -0
- package/esm2015/lib/search/models/category/no-configuration-user-autocomplete-category.js +28 -0
- package/esm2015/lib/search/models/category/search-autocomplete-option.js +2 -0
- package/esm2015/lib/search/models/category/search-input-type.js +14 -0
- package/esm2015/lib/search/models/category/task/task-assignee.js +21 -0
- package/esm2015/lib/search/models/category/task/task-net-attribute-autocomplete-category.js +23 -0
- package/esm2015/lib/search/models/category/task/task-process.js +50 -0
- package/esm2015/lib/search/models/category/task/task-role.js +23 -0
- package/esm2015/lib/search/models/category/task/task-task.js +23 -0
- package/esm2015/lib/search/models/category/user-autocomplete.js +59 -0
- package/esm2015/lib/search/models/component-configuration/search-component-configuration-injection-token.js +8 -0
- package/esm2015/lib/search/models/component-configuration/search-component-configuration.js +2 -0
- package/esm2015/lib/search/models/component-configuration/search-mode.js +9 -0
- package/esm2015/lib/search/models/configuration-input.js +52 -0
- package/esm2015/lib/search/models/datafield-map-key.js +69 -0
- package/esm2015/lib/search/models/escape-result.js +2 -0
- package/esm2015/lib/search/models/operator/equals-date-time.js +26 -0
- package/esm2015/lib/search/models/operator/equals-date.js +26 -0
- package/esm2015/lib/search/models/operator/equals.js +21 -0
- package/esm2015/lib/search/models/operator/in-range-date-time.js +43 -0
- package/esm2015/lib/search/models/operator/in-range-date.js +42 -0
- package/esm2015/lib/search/models/operator/in-range.js +22 -0
- package/esm2015/lib/search/models/operator/is-null.js +69 -0
- package/esm2015/lib/search/models/operator/less-than-date-time.js +27 -0
- package/esm2015/lib/search/models/operator/less-than-date.js +27 -0
- package/esm2015/lib/search/models/operator/less-than-equal-date-time.js +27 -0
- package/esm2015/lib/search/models/operator/less-than-equal-date.js +26 -0
- package/esm2015/lib/search/models/operator/less-than-equal.js +17 -0
- package/esm2015/lib/search/models/operator/less-than.js +17 -0
- package/esm2015/lib/search/models/operator/like.js +29 -0
- package/esm2015/lib/search/models/operator/more-than-date-time.js +29 -0
- package/esm2015/lib/search/models/operator/more-than-date.js +29 -0
- package/esm2015/lib/search/models/operator/more-than-equal-date-time.js +27 -0
- package/esm2015/lib/search/models/operator/more-than-equal-date.js +27 -0
- package/esm2015/lib/search/models/operator/more-than-equal.js +17 -0
- package/esm2015/lib/search/models/operator/more-than.js +17 -0
- package/esm2015/lib/search/models/operator/not-equals-date-time.js +24 -0
- package/esm2015/lib/search/models/operator/not-equals-date.js +27 -0
- package/esm2015/lib/search/models/operator/not-equals.js +30 -0
- package/esm2015/lib/search/models/operator/operator.js +124 -0
- package/esm2015/lib/search/models/operator/operators.js +31 -0
- package/esm2015/lib/search/models/operator/substring.js +27 -0
- package/esm2015/lib/search/models/operator-template-part-type.js +15 -0
- package/esm2015/lib/search/models/operator-template-part.js +31 -0
- package/esm2015/lib/search/models/persistance/filter-metadata-allowed-nets.js +2 -0
- package/esm2015/lib/search/models/persistance/filter-metadata.js +2 -0
- package/esm2015/lib/search/models/persistance/filter-text-segment.js +2 -0
- package/esm2015/lib/search/models/persistance/generator-metadata.js +2 -0
- package/esm2015/lib/search/models/persistance/saved-filter-metadata.js +2 -0
- package/esm2015/lib/search/models/predicate/clause-predicate.js +78 -0
- package/esm2015/lib/search/models/predicate/editable-clause-predicate-with-generators.js +47 -0
- package/esm2015/lib/search/models/predicate/editable-clause-predicate.js +116 -0
- package/esm2015/lib/search/models/predicate/editable-elementary-predicate.js +20 -0
- package/esm2015/lib/search/models/predicate/editable-predicate-with-generator.js +37 -0
- package/esm2015/lib/search/models/predicate/editable-predicate.js +22 -0
- package/esm2015/lib/search/models/predicate/elementary-predicate.js +14 -0
- package/esm2015/lib/search/models/predicate/predicate-with-generator.js +95 -0
- package/esm2015/lib/search/models/predicate/predicate.js +90 -0
- package/esm2015/lib/search/models/predicate-removal-event.js +2 -0
- package/esm2015/lib/search/models/query/query.js +72 -0
- package/esm2015/lib/search/models/search-index.js +76 -0
- package/esm2015/lib/search/models/wrap-result.js +2 -0
- package/esm2015/lib/search/operator-service/operator-resolver.service.js +109 -0
- package/esm2015/lib/search/operator-service/operator.service.js +39 -0
- package/esm2015/lib/search/public-api.js +107 -0
- package/esm2015/lib/search/search-clause-component/abstract-search-clause.component.js +52 -0
- package/esm2015/lib/search/search-component/abstract-search.component.js +171 -0
- package/esm2015/lib/search/search-configuration-input-component/abstract-search-configuration-input.component.js +75 -0
- package/esm2015/lib/search/search-keyword-resolver-service/search-index-resolver.service.js +36 -0
- package/esm2015/lib/search/search-operand-input-component/abstract-search-operand-input.component.js +97 -0
- package/esm2015/lib/search/search-predicate-component/abstract-search-predicate.component.js +144 -0
- package/esm2015/lib/search/search-service/search.service.js +306 -0
- package/esm2015/lib/side-menu/content-components/filter-selector/abstract-filter-selector.component.js +163 -0
- package/esm2015/lib/side-menu/content-components/filter-selector/filter-selector-list-item/abstract-filter-selector-list-item.component.js +22 -0
- package/esm2015/lib/side-menu/content-components/filter-selector/model/filter-selector-injection-data.js +2 -0
- package/esm2015/lib/side-menu/content-components/filter-selector/model/filtered-array.js +32 -0
- package/esm2015/lib/side-menu/content-components/import-net/abstract-import-net.component.js +123 -0
- package/esm2015/lib/side-menu/content-components/injection-tokens.js +8 -0
- package/esm2015/lib/side-menu/content-components/load-filter/abstract-load-filter.component.js +42 -0
- package/esm2015/lib/side-menu/content-components/load-filter/model/load-filter-injection-data.js +2 -0
- package/esm2015/lib/side-menu/content-components/new-case/abstract-new-case.component.js +230 -0
- package/esm2015/lib/side-menu/content-components/new-case/model/new-case-injection-data.js +2 -0
- package/esm2015/lib/side-menu/content-components/option-selector/abstract-option-selector.component.js +28 -0
- package/esm2015/lib/side-menu/content-components/option-selector/model/option-selector-injection-data.js +2 -0
- package/esm2015/lib/side-menu/content-components/public-api.js +20 -0
- package/esm2015/lib/side-menu/content-components/save-filter/abstract-save-filter.component.js +38 -0
- package/esm2015/lib/side-menu/content-components/save-filter/model/save-filter-injection-data.js +2 -0
- package/esm2015/lib/side-menu/content-components/user-assign/abstract-user-assign.component.js +60 -0
- package/esm2015/lib/side-menu/content-components/user-assign/model/user-list-injected-data.js +2 -0
- package/esm2015/lib/side-menu/content-components/user-assign/user-assign-list/abstract-user-assign-list.component.js +102 -0
- package/esm2015/lib/side-menu/content-components/user-assign/user-assign-list/user-assign-item/abstract-user-assign-item.component.js +13 -0
- package/esm2015/lib/side-menu/models/portal-wrapper.js +13 -0
- package/esm2015/lib/side-menu/models/side-menu-control.js +36 -0
- package/esm2015/lib/side-menu/models/side-menu-event.js +2 -0
- package/esm2015/lib/side-menu/models/side-menu-injection-data.js +2 -0
- package/esm2015/lib/side-menu/models/side-menu-ref.js +16 -0
- package/esm2015/lib/side-menu/models/side-menu-size.js +7 -0
- package/esm2015/lib/side-menu/net-version-visible-injection-token.js +4 -0
- package/esm2015/lib/side-menu/public-api.js +15 -0
- package/esm2015/lib/side-menu/services/side-menu.service.js +86 -0
- package/esm2015/lib/side-menu/side-menu-container/abstract-side-menu-container.component.js +34 -0
- package/esm2015/lib/side-menu/side-menu-injection-token.js +3 -0
- package/esm2015/lib/snack-bar/components/error-snack-bar/error-snack-bar.component.js +26 -0
- package/esm2015/lib/snack-bar/components/generic-snack-bar/generic-snack-bar.component.js +26 -0
- package/esm2015/lib/snack-bar/components/success-snack-bar/success-snack-bar.component.js +26 -0
- package/esm2015/lib/snack-bar/components/warning-snack-bar/warning-snack-bar.component.js +26 -0
- package/esm2015/lib/snack-bar/models/abstract-snack-bar.js +18 -0
- package/esm2015/lib/snack-bar/models/injection-token-snackbar.js +4 -0
- package/esm2015/lib/snack-bar/models/snack-bar-enums.js +12 -0
- package/esm2015/lib/snack-bar/models/snack-bar-injection-data.js +2 -0
- package/esm2015/lib/snack-bar/public-api.js +15 -0
- package/esm2015/lib/snack-bar/services/snack-bar.service.js +92 -0
- package/esm2015/lib/snack-bar/snack-bar.module.js +33 -0
- package/esm2015/lib/tabs/classes/opened-tab.js +48 -0
- package/esm2015/lib/tabs/classes/tab-view.js +262 -0
- package/esm2015/lib/tabs/interfaces.js +2 -0
- package/esm2015/lib/tabs/public-api.js +6 -0
- package/esm2015/lib/tabs/tab-creation-detector/abstract-tab-creation-detector.component.js +17 -0
- package/esm2015/lib/tabs/tab-data-injection-token/tab-data-injection-token.js +8 -0
- package/esm2015/lib/tabs/tab-view/abstract-tab-view.component.js +67 -0
- package/esm2015/lib/task/interfaces/task-operations.js +2 -0
- package/esm2015/lib/task/models/null-task-operations.js +26 -0
- package/esm2015/lib/task/models/subject-task-operations.js +58 -0
- package/esm2015/lib/task/models/task-operations-injection-token.js +3 -0
- package/esm2015/lib/task/models/task-set-data-request-context.js +2 -0
- package/esm2015/lib/task/public-api.js +19 -0
- package/esm2015/lib/task/services/assign-policy.service.js +175 -0
- package/esm2015/lib/task/services/assign-task.service.js +191 -0
- package/esm2015/lib/task/services/cancel-task.service.js +189 -0
- package/esm2015/lib/task/services/data-focus-policy.service.js +36 -0
- package/esm2015/lib/task/services/delegate-task.service.js +185 -0
- package/esm2015/lib/task/services/finish-policy.service.js +79 -0
- package/esm2015/lib/task/services/finish-task.service.js +207 -0
- package/esm2015/lib/task/services/selected-case.service.js +38 -0
- package/esm2015/lib/task/services/task-data.service.js +538 -0
- package/esm2015/lib/task/services/task-handling-service.js +57 -0
- package/esm2015/lib/task/services/task-request-state.service.js +113 -0
- package/esm2015/lib/task-content/field-component-resolver/abstract-field-component-resolver.component.js +39 -0
- package/esm2015/lib/task-content/model/async-rendering-configuration-injection-token.js +8 -0
- package/esm2015/lib/task-content/model/async-rendering-configuration.js +2 -0
- package/esm2015/lib/task-content/model/datafield-grid-layout-element.js +2 -0
- package/esm2015/lib/task-content/model/field-type-resource.js +23 -0
- package/esm2015/lib/task-content/model/policy.js +31 -0
- package/esm2015/lib/task-content/model/resource-interface.js +2 -0
- package/esm2015/lib/task-content/model/split-data-group.js +2 -0
- package/esm2015/lib/task-content/model/subgrid.js +235 -0
- package/esm2015/lib/task-content/model/task-content-element-type.js +19 -0
- package/esm2015/lib/task-content/model/task-event-notification.js +15 -0
- package/esm2015/lib/task-content/model/task-event.js +10 -0
- package/esm2015/lib/task-content/public-api.js +21 -0
- package/esm2015/lib/task-content/services/field-converter.service.js +348 -0
- package/esm2015/lib/task-content/services/single-task-content.service.js +72 -0
- package/esm2015/lib/task-content/services/task-content.service.js +266 -0
- package/esm2015/lib/task-content/services/task-event.service.js +45 -0
- package/esm2015/lib/task-content/services/unlimited-task-content.service.js +64 -0
- package/esm2015/lib/task-content/task-content/abstract-task-content.component.js +656 -0
- package/esm2015/lib/toolbar/abstract-toolbar.component.js +22 -0
- package/esm2015/lib/toolbar/public-api.js +2 -0
- package/esm2015/lib/translate/language.service.js +85 -0
- package/esm2015/lib/translate/public-api.js +3 -0
- package/esm2015/lib/translate/translate-interceptor.js +23 -0
- package/esm2015/lib/translate/translate-lib.module.js +38 -0
- package/esm2015/lib/user/components/user-card/abstract-user-card.component.js +44 -0
- package/esm2015/lib/user/models/iuser.js +2 -0
- package/esm2015/lib/user/models/public-api.js +6 -0
- package/esm2015/lib/user/models/user.js +37 -0
- package/esm2015/lib/user/models/view-id-injection-tokens.js +4 -0
- package/esm2015/lib/user/profile/abstract-profile.component.js +29 -0
- package/esm2015/lib/user/public-api.js +12 -0
- package/esm2015/lib/user/services/user-comparator.service.js +26 -0
- package/esm2015/lib/user/services/user-list.service.js +186 -0
- package/esm2015/lib/user/services/user-preference.service.js +152 -0
- package/esm2015/lib/user/services/user.service.js +203 -0
- package/esm2015/lib/user/services/view-id.service.js +30 -0
- package/esm2015/lib/utility/array-to-observable.js +10 -0
- package/esm2015/lib/utility/call-chain/after-action.js +12 -0
- package/esm2015/lib/utility/call-chain/call-chain.service.js +34 -0
- package/esm2015/lib/utility/clear-time-information.js +11 -0
- package/esm2015/lib/utility/destroy-subscription.js +10 -0
- package/esm2015/lib/utility/get-field.js +48 -0
- package/esm2015/lib/utility/get-immediate-data.js +9 -0
- package/esm2015/lib/utility/grid-layout/grid-layout-helper.js +76 -0
- package/esm2015/lib/utility/grid-layout/model/grid-element-with-item.js +2 -0
- package/esm2015/lib/utility/grid-layout/model/grid-element.js +2 -0
- package/esm2015/lib/utility/grid-layout/model/grid-filler.js +50 -0
- package/esm2015/lib/utility/incrementing-counter.js +21 -0
- package/esm2015/lib/utility/loading-emitter.js +19 -0
- package/esm2015/lib/utility/loading-with-filter-emitter.js +30 -0
- package/esm2015/lib/utility/navigation-item-task-filter-factory.js +11 -0
- package/esm2015/lib/utility/navigation-item-task-search-categories-factory.js +35 -0
- package/esm2015/lib/utility/of-void.js +12 -0
- package/esm2015/lib/utility/pagination/load-all-pages.js +46 -0
- package/esm2015/lib/utility/pagination/page-has-content.js +8 -0
- package/esm2015/lib/utility/process-message-response.js +17 -0
- package/esm2015/lib/utility/public-api.js +47 -0
- package/esm2015/lib/utility/refresh-tree.js +9 -0
- package/esm2015/lib/utility/result-with-after-actions.js +27 -0
- package/esm2015/lib/utility/service/case-list-font-color.service.js +45 -0
- package/esm2015/lib/utility/service/spinner-overlay.service.js +48 -0
- package/esm2015/lib/utility/stop-propagation.js +5 -0
- package/esm2015/lib/utility/tests/mocks/mock-authentication-method-service.js +12 -0
- package/esm2015/lib/utility/tests/mocks/mock-authentication.service.js +18 -0
- package/esm2015/lib/utility/tests/mocks/mock-endpoint.js +44 -0
- package/esm2015/lib/utility/tests/mocks/mock-sign-up.service.js +29 -0
- package/esm2015/lib/utility/tests/mocks/mock-user-autocomplete-value.js +14 -0
- package/esm2015/lib/utility/tests/mocks/mock-user-preference.service.js +42 -0
- package/esm2015/lib/utility/tests/mocks/mock-user-resource.service.js +48 -0
- package/esm2015/lib/utility/tests/search-category-mock-dependencies.js +19 -0
- package/esm2015/lib/utility/tests/test-config.js +424 -0
- package/esm2015/lib/utility/tests/test-factory-methods.js +21 -0
- package/esm2015/lib/utility/tests/test-mock-dependencies.module.js +31 -0
- package/esm2015/lib/utility/tests/test-view-service.js +24 -0
- package/esm2015/lib/utility/tests/utility/configure-category.js +14 -0
- package/esm2015/lib/utility/tests/utility/create-mock-case-outcome.js +16 -0
- package/esm2015/lib/utility/tests/utility/create-mock-case.js +36 -0
- package/esm2015/lib/utility/tests/utility/create-mock-datagroup.js +35 -0
- package/esm2015/lib/utility/tests/utility/create-mock-field.js +41 -0
- package/esm2015/lib/utility/tests/utility/create-mock-get-data-outcome.js +15 -0
- package/esm2015/lib/utility/tests/utility/create-mock-immediate-data.js +15 -0
- package/esm2015/lib/utility/tests/utility/create-mock-net.js +27 -0
- package/esm2015/lib/utility/tests/utility/create-mock-page.js +23 -0
- package/esm2015/lib/utility/tests/utility/create-mock-petri-net-outcome.js +14 -0
- package/esm2015/lib/utility/tests/utility/create-mock-set-data-outcome.js +19 -0
- package/esm2015/lib/utility/tests/utility/create-mock-task-outcome.js +18 -0
- package/esm2015/lib/utility/tests/utility/create-mock-task.js +34 -0
- package/esm2015/lib/view/abstract/page-load-request-context.js +25 -0
- package/esm2015/lib/view/abstract/sortable-view.js +62 -0
- package/esm2015/lib/view/abstract/view-with-headers.js +20 -0
- package/esm2015/lib/view/case-view/abstract-case-view.js +40 -0
- package/esm2015/lib/view/case-view/components/case-list/abstract-case-list.component.js +82 -0
- package/esm2015/lib/view/case-view/models/case-page-load-request-result.js +2 -0
- package/esm2015/lib/view/case-view/models/case-view-params.js +2 -0
- package/esm2015/lib/view/case-view/models/new-case-configuration-injection-token.js +7 -0
- package/esm2015/lib/view/case-view/models/new-case-configuration.js +2 -0
- package/esm2015/lib/view/case-view/service/case-view-service.js +273 -0
- package/esm2015/lib/view/case-view/tabbed-case-view.js +66 -0
- package/esm2015/lib/view/public-api.js +42 -0
- package/esm2015/lib/view/task-view/abstract-task-view.js +13 -0
- package/esm2015/lib/view/task-view/models/injected-tabbed-task-view-data.js +2 -0
- package/esm2015/lib/view/task-view/models/injection-token-task-endpoint.js +6 -0
- package/esm2015/lib/view/task-view/models/task-endpoint.js +9 -0
- package/esm2015/lib/view/task-view/models/task-page-load-request-result.js +2 -0
- package/esm2015/lib/view/task-view/models/task-view-configuration-injection-token.js +20 -0
- package/esm2015/lib/view/task-view/models/task-view-configuration.js +2 -0
- package/esm2015/lib/view/task-view/models/task-view-params.js +2 -0
- package/esm2015/lib/view/task-view/service/task-view.service.js +292 -0
- package/esm2015/lib/view/task-view/tabbed-task-view.js +22 -0
- package/esm2015/lib/view/tree-case-view/model/tree-petriflow-identifiers.js +43 -0
- package/esm2015/lib/view/tree-case-view/tree-case-view.service.js +17 -0
- package/esm2015/lib/view/tree-case-view/tree-component/abstract-tree.component.js +141 -0
- package/esm2015/lib/view/tree-case-view/tree-component/add-child-node/abstract-add-child-node.component.js +14 -0
- package/esm2015/lib/view/tree-case-view/tree-component/case-tree.service.js +843 -0
- package/esm2015/lib/view/tree-case-view/tree-component/model/case-tree-node.js +104 -0
- package/esm2015/lib/view/tree-case-view/tree-component/model/case-tree-path.js +2 -0
- package/esm2015/lib/view/tree-case-view/tree-component/model/expansion-tree.js +2 -0
- package/esm2015/lib/view/tree-case-view/tree-component/remove-node/abstract-remove-node.component.js +14 -0
- package/esm2015/lib/view/tree-case-view/tree-task-content/abstract-tree-task-content.component.js +55 -0
- package/esm2015/lib/view/tree-case-view/tree-task-content/tree-task-content.service.js +288 -0
- package/esm2015/lib/view/workflow-view/abstract-workflow-view.component.js +68 -0
- package/esm2015/lib/view/workflow-view/models/injection-token-workflow-service.js +10 -0
- package/esm2015/lib/view/workflow-view/workflow-view.service.js +211 -0
- package/esm2015/netgrif-components-core.js +20 -0
- package/esm2015/public-api.js +45 -0
- package/esm5/assets/i18n/de.json +419 -0
- package/esm5/assets/i18n/en.json +419 -0
- package/esm5/assets/i18n/sk.json +419 -0
- package/esm5/commons/angular-cli-devkit-core-strings.js +157 -0
- package/esm5/commons/import-to-add.js +9 -0
- package/esm5/commons/schema.js +7 -0
- package/esm5/commons/view-class-info.js +57 -0
- package/esm5/lib/admin/public-api.js +9 -0
- package/esm5/lib/admin/role-assignment/abstract-role-assignment.js +84 -0
- package/esm5/lib/admin/role-assignment/services/ProcessList.js +179 -0
- package/esm5/lib/admin/role-assignment/services/role-assignment.service.js +50 -0
- package/esm5/lib/admin/user-invite/abstract-user-invite.component.js +84 -0
- package/esm5/lib/admin/user-invite/services/organization-list.service.js +82 -0
- package/esm5/lib/admin/user-invite/services/user-invite.service.js +37 -0
- package/esm5/lib/allowed-nets/public-api.js +4 -0
- package/esm5/lib/allowed-nets/services/allowed-nets.service.js +94 -0
- package/esm5/lib/allowed-nets/services/base-allowed-nets.service.js +65 -0
- package/esm5/lib/allowed-nets/services/factory/allowed-nets-service-factory.js +132 -0
- package/esm5/lib/authentication/anonymous/anonymous.service.js +73 -0
- package/esm5/lib/authentication/authentication.factory.js +16 -0
- package/esm5/lib/authentication/authentication.module.js +36 -0
- package/esm5/lib/authentication/components/abstract-authentication-overlay.js +53 -0
- package/esm5/lib/authentication/models/credentials.js +2 -0
- package/esm5/lib/authentication/models/public-api.js +5 -0
- package/esm5/lib/authentication/models/transformer.js +2 -0
- package/esm5/lib/authentication/models/user.transformer.js +23 -0
- package/esm5/lib/authentication/public-api.js +14 -0
- package/esm5/lib/authentication/services/anonymous-authentication-interceptor.js +47 -0
- package/esm5/lib/authentication/services/authentication/authentication.service.js +84 -0
- package/esm5/lib/authentication/services/authentication-interceptor.js +55 -0
- package/esm5/lib/authentication/services/authentication-method.service.js +7 -0
- package/esm5/lib/authentication/services/guard/authentication-guard.service.js +41 -0
- package/esm5/lib/authentication/services/methods/basic-authentication/basic-authentication.service.js +54 -0
- package/esm5/lib/authentication/services/methods/null-authentication/null-authentication.service.js +23 -0
- package/esm5/lib/authentication/services/public-api.js +7 -0
- package/esm5/lib/authentication/session/null-storage.js +19 -0
- package/esm5/lib/authentication/session/public-api.js +3 -0
- package/esm5/lib/authentication/session/services/session.service.js +193 -0
- package/esm5/lib/authentication/sign-up/models/user-invitation-request.js +2 -0
- package/esm5/lib/authentication/sign-up/models/user-registration-request.js +2 -0
- package/esm5/lib/authentication/sign-up/public-api.js +8 -0
- package/esm5/lib/authentication/sign-up/services/sign-up.service.js +107 -0
- package/esm5/lib/authentication/sign-up/sign-up.module.js +17 -0
- package/esm5/lib/authorization/authority/authority-guard.service.js +52 -0
- package/esm5/lib/authorization/group/group-guard.service.js +69 -0
- package/esm5/lib/authorization/permission/permission.service.js +126 -0
- package/esm5/lib/authorization/public-api.js +10 -0
- package/esm5/lib/authorization/role/role-guard.service.js +108 -0
- package/esm5/lib/changed-fields/public-api.js +2 -0
- package/esm5/lib/changed-fields/services/changed-fields.service.js +38 -0
- package/esm5/lib/configuration/configuration.service.js +208 -0
- package/esm5/lib/configuration/public-api.js +3 -0
- package/esm5/lib/covalent/covalent.module.js +26 -0
- package/esm5/lib/currency/currency.module.js +25 -0
- package/esm5/lib/dashboard/cards/count-card/abstract-count-card.js +42 -0
- package/esm5/lib/dashboard/cards/custom-card/abstract-custom-card.js +50 -0
- package/esm5/lib/dashboard/cards/iframe-card/abstract-iframe-card.js +16 -0
- package/esm5/lib/dashboard/cards/model/card-grid-element.js +2 -0
- package/esm5/lib/dashboard/cards/model/count-card.js +2 -0
- package/esm5/lib/dashboard/cards/model/custom-dashboard-model/aggregation-query.js +2 -0
- package/esm5/lib/dashboard/cards/model/custom-dashboard-model/aggregation-result.js +2 -0
- package/esm5/lib/dashboard/cards/model/custom-dashboard-model/custom-card.js +2 -0
- package/esm5/lib/dashboard/cards/model/custom-dashboard-model/dashboard-event-content.js +2 -0
- package/esm5/lib/dashboard/cards/model/custom-dashboard-model/dashboard-multi-data.js +9 -0
- package/esm5/lib/dashboard/cards/model/custom-dashboard-model/dashboard-single-data.js +9 -0
- package/esm5/lib/dashboard/cards/model/dashboard-card-types.js +13 -0
- package/esm5/lib/dashboard/cards/model/dashboard-card.js +2 -0
- package/esm5/lib/dashboard/cards/model/graph-card.js +2 -0
- package/esm5/lib/dashboard/cards/model/iframe-card.js +2 -0
- package/esm5/lib/dashboard/dashboard-content/abstract-dashboard-content.js +21 -0
- package/esm5/lib/dashboard/dashboard-content/dashboard-params.js +2 -0
- package/esm5/lib/dashboard/public-api.js +20 -0
- package/esm5/lib/data-fields/boolean-field/abstract-boolean-field.component.js +45 -0
- package/esm5/lib/data-fields/boolean-field/models/boolean-field.js +29 -0
- package/esm5/lib/data-fields/button-field/abstract-button-field.component.js +68 -0
- package/esm5/lib/data-fields/button-field/models/button-field.js +37 -0
- package/esm5/lib/data-fields/data-field-template/abstract-data-field-template.component.js +111 -0
- package/esm5/lib/data-fields/data-field-template/models/wrapped-boolean.js +10 -0
- package/esm5/lib/data-fields/data-fields.module.js +39 -0
- package/esm5/lib/data-fields/date-field/abstract-date-field.component.js +26 -0
- package/esm5/lib/data-fields/date-field/models/custom-date-adapter.js +18 -0
- package/esm5/lib/data-fields/date-field/models/date-field.js +14 -0
- package/esm5/lib/data-fields/date-time-field/abstract-date-time-field.component.js +26 -0
- package/esm5/lib/data-fields/date-time-field/models/date-time-field.js +14 -0
- package/esm5/lib/data-fields/enumeration-field/abstract-enumeration-field.component.js +22 -0
- package/esm5/lib/data-fields/enumeration-field/enumeration-autocomplete-dynamic-field/abstract-enumeration-autocomplete-dynamic-field.component.js +47 -0
- package/esm5/lib/data-fields/enumeration-field/enumeration-autocomplete-select-field/abstract-enumeration-autocomplete-select-field.component.js +57 -0
- package/esm5/lib/data-fields/enumeration-field/enumeration-icon-field/abstract-enumeration-icon-field.component.js +39 -0
- package/esm5/lib/data-fields/enumeration-field/enumeration-list-field/abstract-enumeration-list-field.component.js +15 -0
- package/esm5/lib/data-fields/enumeration-field/enumeration-select-field/abstract-enumeration-select-field.component.js +15 -0
- package/esm5/lib/data-fields/enumeration-field/enumeration-stepper-field/abstract-enumeration-stepper-field.component.js +43 -0
- package/esm5/lib/data-fields/enumeration-field/models/dynamic-enumeration-field.js +63 -0
- package/esm5/lib/data-fields/enumeration-field/models/enumeration-field.js +79 -0
- package/esm5/lib/data-fields/file-field/abstract-file-field.component.js +405 -0
- package/esm5/lib/data-fields/file-field/abstract-preview-dialog/preview-dialog-data.js +2 -0
- package/esm5/lib/data-fields/file-field/models/file-field-value.js +2 -0
- package/esm5/lib/data-fields/file-field/models/file-field.js +128 -0
- package/esm5/lib/data-fields/file-list-field/abstract-file-list-field.component.js +278 -0
- package/esm5/lib/data-fields/file-list-field/models/file-list-field-value.js +2 -0
- package/esm5/lib/data-fields/file-list-field/models/file-list-field.js +105 -0
- package/esm5/lib/data-fields/filter-field/abstract-filter-field-content.component.js +36 -0
- package/esm5/lib/data-fields/filter-field/abstract-filter-field.component.js +33 -0
- package/esm5/lib/data-fields/filter-field/models/filter-field-injection-token.js +7 -0
- package/esm5/lib/data-fields/filter-field/models/filter-field.js +28 -0
- package/esm5/lib/data-fields/i18n-field/abstract-i18n-field.component.js +23 -0
- package/esm5/lib/data-fields/i18n-field/i18n-divider-field/abstract-i18n-divider-field.component.js +30 -0
- package/esm5/lib/data-fields/i18n-field/i18n-text-field/abstract-i18n-text-field.component.js +42 -0
- package/esm5/lib/data-fields/i18n-field/models/i18n-field-value.js +2 -0
- package/esm5/lib/data-fields/i18n-field/models/i18n-field.js +16 -0
- package/esm5/lib/data-fields/models/abstract-data-field-component.js +45 -0
- package/esm5/lib/data-fields/models/abstract-data-field.js +501 -0
- package/esm5/lib/data-fields/models/behavior.js +2 -0
- package/esm5/lib/data-fields/models/boolean-label-enabled-token.js +3 -0
- package/esm5/lib/data-fields/models/changed-fields.js +2 -0
- package/esm5/lib/data-fields/models/component.js +2 -0
- package/esm5/lib/data-fields/models/format-filter.js +2 -0
- package/esm5/lib/data-fields/models/icon.js +6 -0
- package/esm5/lib/data-fields/models/invalid-data-policy-token.js +11 -0
- package/esm5/lib/data-fields/models/layout.js +2 -0
- package/esm5/lib/data-fields/models/material-appearance.js +14 -0
- package/esm5/lib/data-fields/models/properties.js +2 -0
- package/esm5/lib/data-fields/models/template-appearance.js +15 -0
- package/esm5/lib/data-fields/models/validation.js +2 -0
- package/esm5/lib/data-fields/multichoice-field/abstract-multichoice-field.component.js +22 -0
- package/esm5/lib/data-fields/multichoice-field/models/multichoice-field.js +60 -0
- package/esm5/lib/data-fields/multichoice-field/multichoice-list-field/abstract-multichoice-list-field.component.js +13 -0
- package/esm5/lib/data-fields/multichoice-field/multichoice-select-field/abstract-multichoice-select-field.component.js +13 -0
- package/esm5/lib/data-fields/number-field/abstract-number-errors.component.js +49 -0
- package/esm5/lib/data-fields/number-field/abstract-number-field.component.js +23 -0
- package/esm5/lib/data-fields/number-field/currency-number-field/abstract-currency-number-field.component.js +54 -0
- package/esm5/lib/data-fields/number-field/models/number-field.js +137 -0
- package/esm5/lib/data-fields/number-field/number-default-field/abstract-default-number-field.component.js +11 -0
- package/esm5/lib/data-fields/public-api.js +73 -0
- package/esm5/lib/data-fields/task-ref-field/model/task-ref-field.js +11 -0
- package/esm5/lib/data-fields/text-field/abstract-text-errors.component.js +37 -0
- package/esm5/lib/data-fields/text-field/abstract-text-field.component.js +19 -0
- package/esm5/lib/data-fields/text-field/html-textarea-field/abstract-html-textarea-field.component.js +45 -0
- package/esm5/lib/data-fields/text-field/models/text-area-field.js +19 -0
- package/esm5/lib/data-fields/text-field/models/text-field.js +96 -0
- package/esm5/lib/data-fields/text-field/password-text-field/abstract-password-text-field.component.js +22 -0
- package/esm5/lib/data-fields/text-field/rich-textarea-field/abstract-rich-textarea-field.component.js +35 -0
- package/esm5/lib/data-fields/text-field/simple-text-field/abstract-simple-text-field.component.js +22 -0
- package/esm5/lib/data-fields/text-field/textarea-field/abstract-textarea-field.component.js +46 -0
- package/esm5/lib/data-fields/time-instance-abstract-field/abstract-time-instance-field.component.js +52 -0
- package/esm5/lib/data-fields/time-instance-abstract-field/models/abstract-time-instance-field.js +110 -0
- package/esm5/lib/data-fields/user-field/abstract-user-field.component.js +65 -0
- package/esm5/lib/data-fields/user-field/models/user-field.js +23 -0
- package/esm5/lib/data-fields/user-field/models/user-value.js +58 -0
- package/esm5/lib/dialog/components/alert-dialog/alert-dialog.component.js +43 -0
- package/esm5/lib/dialog/components/alert-dialog/alert-dialog.module.js +32 -0
- package/esm5/lib/dialog/components/confirm-dialog/confirm-dialog.component.js +57 -0
- package/esm5/lib/dialog/components/confirm-dialog/confirm-dialog.module.js +32 -0
- package/esm5/lib/dialog/components/prompt-dialog/prompt-dialog.component.js +47 -0
- package/esm5/lib/dialog/components/prompt-dialog/prompt-dialog.module.js +34 -0
- package/esm5/lib/dialog/dialog.module.js +33 -0
- package/esm5/lib/dialog/models/DialogData.js +2 -0
- package/esm5/lib/dialog/models/DialogResult.js +2 -0
- package/esm5/lib/dialog/models/abstract-dialog.js +23 -0
- package/esm5/lib/dialog/public-api.js +9 -0
- package/esm5/lib/dialog/services/dialog.service.js +84 -0
- package/esm5/lib/event/model/event-constants.js +8 -0
- package/esm5/lib/event/model/event-outcomes/case-outcomes/case-event-outcome.js +2 -0
- package/esm5/lib/event/model/event-outcomes/case-outcomes/create-case-event-outcome.js +2 -0
- package/esm5/lib/event/model/event-outcomes/case-outcomes/delete-case-event-outcome.js +2 -0
- package/esm5/lib/event/model/event-outcomes/data-outcomes/get-data-event-outcome.js +2 -0
- package/esm5/lib/event/model/event-outcomes/data-outcomes/get-data-groups-event-outcome.js +2 -0
- package/esm5/lib/event/model/event-outcomes/data-outcomes/get-data-localised-event-outcome.js +2 -0
- package/esm5/lib/event/model/event-outcomes/data-outcomes/set-data-event-outcome.js +2 -0
- package/esm5/lib/event/model/event-outcomes/petrinet-outcomes/petri-net-event-outcome.js +2 -0
- package/esm5/lib/event/model/event-outcomes/task-outcomes/assign-task-event-outcome.js +2 -0
- package/esm5/lib/event/model/event-outcomes/task-outcomes/cancel-task-event-outcome.js +2 -0
- package/esm5/lib/event/model/event-outcomes/task-outcomes/delegate-task-event-outcome.js +2 -0
- package/esm5/lib/event/model/event-outcomes/task-outcomes/finish-task-event-outcome.js +2 -0
- package/esm5/lib/event/model/event-outcomes/task-outcomes/task-event-outcome.js +2 -0
- package/esm5/lib/event/public-api.js +19 -0
- package/esm5/lib/event/services/event.service.js +60 -0
- package/esm5/lib/event/services/interfaces/changed-fields-map.js +2 -0
- package/esm5/lib/event-queue/model/queued-event.js +34 -0
- package/esm5/lib/event-queue/public-api.js +5 -0
- package/esm5/lib/event-queue/services/event-queue.service.js +66 -0
- package/esm5/lib/filter/filter.repository.js +145 -0
- package/esm5/lib/filter/models/case-search-request-body.js +2 -0
- package/esm5/lib/filter/models/filter-type.js +11 -0
- package/esm5/lib/filter/models/filter.js +71 -0
- package/esm5/lib/filter/models/filters-filter-injection-token.js +9 -0
- package/esm5/lib/filter/models/merge-operator.js +11 -0
- package/esm5/lib/filter/models/merged-filter-params.js +2 -0
- package/esm5/lib/filter/models/merged-filter.js +120 -0
- package/esm5/lib/filter/models/simple-filter.js +96 -0
- package/esm5/lib/filter/models/task-search-request-body.js +2 -0
- package/esm5/lib/filter/models/user-filter-constants.js +39 -0
- package/esm5/lib/filter/public-api.js +18 -0
- package/esm5/lib/filter/user-filters.service.js +357 -0
- package/esm5/lib/forms/email-submission/abstract-email-submission-form.component.js +33 -0
- package/esm5/lib/forms/forgotten-password/abstract-forgotten-password.component.js +37 -0
- package/esm5/lib/forms/has-form.js +2 -0
- package/esm5/lib/forms/login/abstract-login-form.component.js +61 -0
- package/esm5/lib/forms/models/abstract-registration.component.js +106 -0
- package/esm5/lib/forms/models/password.validator.js +21 -0
- package/esm5/lib/forms/public-api.js +7 -0
- package/esm5/lib/forms/registration/abstract-registration-form.component.js +42 -0
- package/esm5/lib/groups/public-api.js +3 -0
- package/esm5/lib/groups/services/active-group.service.js +107 -0
- package/esm5/lib/groups/services/next-group.service.js +135 -0
- package/esm5/lib/header/abstract-header-service.js +485 -0
- package/esm5/lib/header/abstract-header.component.js +171 -0
- package/esm5/lib/header/case-header/case-header.service.js +86 -0
- package/esm5/lib/header/case-header/case-menta-enum.js +9 -0
- package/esm5/lib/header/header-modes/abstract-header-mode.component.js +14 -0
- package/esm5/lib/header/header-modes/edit-mode/abstract-edit-mode.component.js +81 -0
- package/esm5/lib/header/header-modes/loading-mode/abstract-loading-mode.component.js +17 -0
- package/esm5/lib/header/header-modes/search-mode/abstract-search-mode.component.js +94 -0
- package/esm5/lib/header/header-modes/sort-mode/abstract-sort-mode.component.js +19 -0
- package/esm5/lib/header/header-state.js +53 -0
- package/esm5/lib/header/models/default-headers-token.js +3 -0
- package/esm5/lib/header/models/fields-group.js +2 -0
- package/esm5/lib/header/models/header-column.js +29 -0
- package/esm5/lib/header/models/header-mode.js +7 -0
- package/esm5/lib/header/models/header-type.js +7 -0
- package/esm5/lib/header/models/public-api.js +12 -0
- package/esm5/lib/header/models/user-changes/column-header-change.js +2 -0
- package/esm5/lib/header/models/user-changes/edit-change-description.js +2 -0
- package/esm5/lib/header/models/user-changes/header-change-description.js +2 -0
- package/esm5/lib/header/models/user-changes/header-change-type.js +20 -0
- package/esm5/lib/header/models/user-changes/header-change.js +2 -0
- package/esm5/lib/header/models/user-changes/mode-change-description.js +2 -0
- package/esm5/lib/header/models/user-changes/search-change-description.js +2 -0
- package/esm5/lib/header/models/user-changes/sort-change-description.js +2 -0
- package/esm5/lib/header/public-api.js +21 -0
- package/esm5/lib/header/services/overflow.service.js +112 -0
- package/esm5/lib/header/task-header/task-header.service.js +71 -0
- package/esm5/lib/header/task-header/task-meta-enum.js +11 -0
- package/esm5/lib/header/workflow-header/workflow-header.service.js +53 -0
- package/esm5/lib/header/workflow-header/workflow-meta-enum.js +10 -0
- package/esm5/lib/legal/legal-notice/abstract-legal-notice.component.js +26 -0
- package/esm5/lib/legal/public-api.js +2 -0
- package/esm5/lib/logger/models/log-entry.js +68 -0
- package/esm5/lib/logger/public-api.js +10 -0
- package/esm5/lib/logger/publishers/console-log-publisher.js +36 -0
- package/esm5/lib/logger/publishers/local-storage-log-publisher.js +45 -0
- package/esm5/lib/logger/publishers/log-publisher.js +15 -0
- package/esm5/lib/logger/services/log-level.js +10 -0
- package/esm5/lib/logger/services/log-publisher.service.js +66 -0
- package/esm5/lib/logger/services/logger.service.js +107 -0
- package/esm5/lib/material/material.module.js +112 -0
- package/esm5/lib/moment/public-api.js +2 -0
- package/esm5/lib/moment/time-formats.js +26 -0
- package/esm5/lib/navigation/group-navigation-component-resolver/abstract-group-navigation-component-resolver.component.js +40 -0
- package/esm5/lib/navigation/group-navigation-component-resolver/group-navigation-component-resolver.service.js +37 -0
- package/esm5/lib/navigation/group-navigation-component-resolver/group-navigation-view-id-segment-factory.js +5 -0
- package/esm5/lib/navigation/model/filter-case-injection-token.js +6 -0
- package/esm5/lib/navigation/model/group-navigation-component-resolver-component-injection-token.js +6 -0
- package/esm5/lib/navigation/model/group-navigation-constants.js +59 -0
- package/esm5/lib/navigation/model/group-navigation-item-label.js +2 -0
- package/esm5/lib/navigation/navigation-drawer/abstract-navigation-drawer.component.js +142 -0
- package/esm5/lib/navigation/navigation-drawer/abstract-navigation-resizable-drawer.component.js +17 -0
- package/esm5/lib/navigation/navigation-rail/abstract-navigation-rail.component.js +38 -0
- package/esm5/lib/navigation/navigation-tree/abstract-navigation-tree.component.js +415 -0
- package/esm5/lib/navigation/public-api.js +19 -0
- package/esm5/lib/navigation/quick-panel/components/abstract-quick-panel.component.js +30 -0
- package/esm5/lib/navigation/quick-panel/components/internal-link/abstract-internal-link.component.js +14 -0
- package/esm5/lib/navigation/quick-panel/components/language-selector/abstract-language-selector.component.js +59 -0
- package/esm5/lib/navigation/quick-panel/components/logout-shortcut/abstract-logout-shortcut.component.js +24 -0
- package/esm5/lib/navigation/quick-panel/components/paper-view.service.js +44 -0
- package/esm5/lib/navigation/quick-panel/public-api.js +8 -0
- package/esm5/lib/navigation/utility/filter-extraction.service.js +89 -0
- package/esm5/lib/navigation/utility/navigation-item-task-utility-methods.js +78 -0
- package/esm5/lib/panel/abstract/featured-value.js +2 -0
- package/esm5/lib/panel/abstract/panel-with-header-binding.js +50 -0
- package/esm5/lib/panel/abstract/panel-with-immediate-data.js +67 -0
- package/esm5/lib/panel/abstract/tabbed-virtual-scroll.component.js +35 -0
- package/esm5/lib/panel/abstract-panel.component.js +46 -0
- package/esm5/lib/panel/case-panel/abstract-case-panel.component.js +94 -0
- package/esm5/lib/panel/immediate/abstract-immediate-filter-text-content.component.js +45 -0
- package/esm5/lib/panel/immediate/abstract-immediate-filter-text.component.js +23 -0
- package/esm5/lib/panel/immediate/model/filter-text-injection-token.js +6 -0
- package/esm5/lib/panel/public-api.js +15 -0
- package/esm5/lib/panel/task-panel/abstract-task-panel.component.js +302 -0
- package/esm5/lib/panel/task-panel/models/disable-functions.js +3 -0
- package/esm5/lib/panel/task-panel-list/abstract-task-list.component.js +99 -0
- package/esm5/lib/panel/task-panel-list/task-panel-data/task-panel-data.js +2 -0
- package/esm5/lib/panel/workflow-panel/abstract-workflow-panel.component.js +109 -0
- package/esm5/lib/process/net.js +155 -0
- package/esm5/lib/process/netRole.js +2 -0
- package/esm5/lib/process/permissions.js +12 -0
- package/esm5/lib/process/petri-net-reference-with-permissions.js +2 -0
- package/esm5/lib/process/process.service.js +325 -0
- package/esm5/lib/process/public-api.js +8 -0
- package/esm5/lib/process/public-process.service.js +34 -0
- package/esm5/lib/process/rolesAndPermissions.js +2 -0
- package/esm5/lib/process/transaction.js +2 -0
- package/esm5/lib/process/transition.js +2 -0
- package/esm5/lib/public/factories/get-net-and-create-case.js +22 -0
- package/esm5/lib/public/factories/public-factory-resolver.js +13 -0
- package/esm5/lib/public/factories/public-search-factory.js +17 -0
- package/esm5/lib/public/public-api.js +5 -0
- package/esm5/lib/public/services/public-url-resolver.service.js +26 -0
- package/esm5/lib/resources/abstract-endpoint/abstract-resource.service.js +85 -0
- package/esm5/lib/resources/abstract-endpoint/count-service.js +2 -0
- package/esm5/lib/resources/engine-endpoint/case-resource.service.js +149 -0
- package/esm5/lib/resources/engine-endpoint/dashboard-resource.service.js +37 -0
- package/esm5/lib/resources/engine-endpoint/petri-net-resource.service.js +174 -0
- package/esm5/lib/resources/engine-endpoint/public/public-case-resource.service.js +52 -0
- package/esm5/lib/resources/engine-endpoint/public/public-petri-net-resource.service.js +120 -0
- package/esm5/lib/resources/engine-endpoint/public/public-task-resource.service.js +238 -0
- package/esm5/lib/resources/engine-endpoint/task-resource.service.js +327 -0
- package/esm5/lib/resources/engine-endpoint/user-resource.service.js +210 -0
- package/esm5/lib/resources/interface/assigned-user-policy.js +2 -0
- package/esm5/lib/resources/interface/author.js +2 -0
- package/esm5/lib/resources/interface/authority.js +2 -0
- package/esm5/lib/resources/interface/case-get-request-body.js +2 -0
- package/esm5/lib/resources/interface/case.js +2 -0
- package/esm5/lib/resources/interface/changed-field-container.js +2 -0
- package/esm5/lib/resources/interface/count.js +2 -0
- package/esm5/lib/resources/interface/create-case-request-body.js +2 -0
- package/esm5/lib/resources/interface/data-group-layout.js +59 -0
- package/esm5/lib/resources/interface/data-groups.js +19 -0
- package/esm5/lib/resources/interface/event-outcome.js +2 -0
- package/esm5/lib/resources/interface/field-alignment.js +10 -0
- package/esm5/lib/resources/interface/fields.js +2 -0
- package/esm5/lib/resources/interface/file-resource.js +2 -0
- package/esm5/lib/resources/interface/group.js +2 -0
- package/esm5/lib/resources/interface/immediate-data.js +2 -0
- package/esm5/lib/resources/interface/link.js +2 -0
- package/esm5/lib/resources/interface/message-resource.js +2 -0
- package/esm5/lib/resources/interface/page.js +2 -0
- package/esm5/lib/resources/interface/pagination.js +2 -0
- package/esm5/lib/resources/interface/petri-net-object-id.js +2 -0
- package/esm5/lib/resources/interface/petri-net-reference.js +2 -0
- package/esm5/lib/resources/interface/petri-net-request-body.js +2 -0
- package/esm5/lib/resources/interface/petri-net.js +2 -0
- package/esm5/lib/resources/interface/preferences.js +2 -0
- package/esm5/lib/resources/interface/process-role.js +2 -0
- package/esm5/lib/resources/interface/response-data.js +2 -0
- package/esm5/lib/resources/interface/task-layout.js +2 -0
- package/esm5/lib/resources/interface/task-reference.js +2 -0
- package/esm5/lib/resources/interface/task-set-data-request-body.js +2 -0
- package/esm5/lib/resources/interface/task.js +2 -0
- package/esm5/lib/resources/interface/user-process-role.js +2 -0
- package/esm5/lib/resources/interface/user-resource-small.js +2 -0
- package/esm5/lib/resources/interface/user-resource.js +2 -0
- package/esm5/lib/resources/public-api.js +46 -0
- package/esm5/lib/resources/resource-provider.service.js +174 -0
- package/esm5/lib/resources/types/nae-date-type.js +5 -0
- package/esm5/lib/routing/dynamic-navigation-route-provider/dynamic-navigation-route-provider.service.js +42 -0
- package/esm5/lib/routing/public-api.js +7 -0
- package/esm5/lib/routing/redirect-service/redirect.service.js +130 -0
- package/esm5/lib/routing/routing-builder/routing-builder.service.js +207 -0
- package/esm5/lib/routing/view-service/model/view-entry.js +2 -0
- package/esm5/lib/routing/view-service/view.service.js +38 -0
- package/esm5/lib/search/advanced-search-component/abstract-advanced-search.component.js +64 -0
- package/esm5/lib/search/advanced-search-component-initialization-service/advanced-search-component-initialization.service.js +40 -0
- package/esm5/lib/search/category-factory/category-factory.js +96 -0
- package/esm5/lib/search/category-factory/category-resolver.service.js +152 -0
- package/esm5/lib/search/category-factory/category-serialisation-pair.js +2 -0
- package/esm5/lib/search/category-factory/default-categories-factories.js +67 -0
- package/esm5/lib/search/category-factory/default-search-categories.module.js +54 -0
- package/esm5/lib/search/category-factory/optional-dependencies.js +2 -0
- package/esm5/lib/search/category-factory/search-categories-injection-token.js +24 -0
- package/esm5/lib/search/fulltext-search-component/abstract-fulltext-search.component.js +20 -0
- package/esm5/lib/search/header-search-service/header-search.service.js +250 -0
- package/esm5/lib/search/models/base-filter-injection-token.js +6 -0
- package/esm5/lib/search/models/base-filter.js +2 -0
- package/esm5/lib/search/models/boolean-operator.js +10 -0
- package/esm5/lib/search/models/category/autocomplete-category.js +155 -0
- package/esm5/lib/search/models/category/autocomplete-options.js +2 -0
- package/esm5/lib/search/models/category/case/case-author.js +29 -0
- package/esm5/lib/search/models/category/case/case-creation-date-time.js +51 -0
- package/esm5/lib/search/models/category/case/case-creation-date.js +51 -0
- package/esm5/lib/search/models/category/case/case-dataset.js +444 -0
- package/esm5/lib/search/models/category/case/case-net-attribute-autocomplete-category.js +28 -0
- package/esm5/lib/search/models/category/case/case-process.js +84 -0
- package/esm5/lib/search/models/category/case/case-role.js +32 -0
- package/esm5/lib/search/models/category/case/case-search.enum.js +15 -0
- package/esm5/lib/search/models/category/case/case-simple-dataset.js +153 -0
- package/esm5/lib/search/models/category/case/case-string-id.js +35 -0
- package/esm5/lib/search/models/category/case/case-task.js +32 -0
- package/esm5/lib/search/models/category/case/case-title.js +37 -0
- package/esm5/lib/search/models/category/case/case-visual-id.js +31 -0
- package/esm5/lib/search/models/category/categories.js +24 -0
- package/esm5/lib/search/models/category/category.js +585 -0
- package/esm5/lib/search/models/category/name-id-pair.js +2 -0
- package/esm5/lib/search/models/category/net-attribute-autocomplete-category.js +66 -0
- package/esm5/lib/search/models/category/net-attribute-pair.js +2 -0
- package/esm5/lib/search/models/category/no-configuration-autocomplete-category.js +48 -0
- package/esm5/lib/search/models/category/no-configuration-category.js +51 -0
- package/esm5/lib/search/models/category/no-configuration-user-autocomplete-category.js +33 -0
- package/esm5/lib/search/models/category/search-autocomplete-option.js +2 -0
- package/esm5/lib/search/models/category/search-input-type.js +14 -0
- package/esm5/lib/search/models/category/task/task-assignee.js +29 -0
- package/esm5/lib/search/models/category/task/task-net-attribute-autocomplete-category.js +28 -0
- package/esm5/lib/search/models/category/task/task-process.js +61 -0
- package/esm5/lib/search/models/category/task/task-role.js +31 -0
- package/esm5/lib/search/models/category/task/task-task.js +31 -0
- package/esm5/lib/search/models/category/user-autocomplete.js +64 -0
- package/esm5/lib/search/models/component-configuration/search-component-configuration-injection-token.js +8 -0
- package/esm5/lib/search/models/component-configuration/search-component-configuration.js +2 -0
- package/esm5/lib/search/models/component-configuration/search-mode.js +9 -0
- package/esm5/lib/search/models/configuration-input.js +71 -0
- package/esm5/lib/search/models/datafield-map-key.js +91 -0
- package/esm5/lib/search/models/escape-result.js +2 -0
- package/esm5/lib/search/models/operator/equals-date-time.js +31 -0
- package/esm5/lib/search/models/operator/equals-date.js +31 -0
- package/esm5/lib/search/models/operator/equals.js +25 -0
- package/esm5/lib/search/models/operator/in-range-date-time.js +47 -0
- package/esm5/lib/search/models/operator/in-range-date.js +46 -0
- package/esm5/lib/search/models/operator/in-range.js +26 -0
- package/esm5/lib/search/models/operator/is-null.js +75 -0
- package/esm5/lib/search/models/operator/less-than-date-time.js +32 -0
- package/esm5/lib/search/models/operator/less-than-date.js +32 -0
- package/esm5/lib/search/models/operator/less-than-equal-date-time.js +32 -0
- package/esm5/lib/search/models/operator/less-than-equal-date.js +31 -0
- package/esm5/lib/search/models/operator/less-than-equal.js +21 -0
- package/esm5/lib/search/models/operator/less-than.js +21 -0
- package/esm5/lib/search/models/operator/like.js +33 -0
- package/esm5/lib/search/models/operator/more-than-date-time.js +34 -0
- package/esm5/lib/search/models/operator/more-than-date.js +34 -0
- package/esm5/lib/search/models/operator/more-than-equal-date-time.js +32 -0
- package/esm5/lib/search/models/operator/more-than-equal-date.js +32 -0
- package/esm5/lib/search/models/operator/more-than-equal.js +21 -0
- package/esm5/lib/search/models/operator/more-than.js +21 -0
- package/esm5/lib/search/models/operator/not-equals-date-time.js +29 -0
- package/esm5/lib/search/models/operator/not-equals-date.js +32 -0
- package/esm5/lib/search/models/operator/not-equals.js +35 -0
- package/esm5/lib/search/models/operator/operator.js +134 -0
- package/esm5/lib/search/models/operator/operators.js +31 -0
- package/esm5/lib/search/models/operator/substring.js +31 -0
- package/esm5/lib/search/models/operator-template-part-type.js +15 -0
- package/esm5/lib/search/models/operator-template-part.js +42 -0
- package/esm5/lib/search/models/persistance/filter-metadata-allowed-nets.js +2 -0
- package/esm5/lib/search/models/persistance/filter-metadata.js +2 -0
- package/esm5/lib/search/models/persistance/filter-text-segment.js +2 -0
- package/esm5/lib/search/models/persistance/generator-metadata.js +2 -0
- package/esm5/lib/search/models/persistance/saved-filter-metadata.js +2 -0
- package/esm5/lib/search/models/predicate/clause-predicate.js +95 -0
- package/esm5/lib/search/models/predicate/editable-clause-predicate-with-generators.js +79 -0
- package/esm5/lib/search/models/predicate/editable-clause-predicate.js +146 -0
- package/esm5/lib/search/models/predicate/editable-elementary-predicate.js +30 -0
- package/esm5/lib/search/models/predicate/editable-predicate-with-generator.js +47 -0
- package/esm5/lib/search/models/predicate/editable-predicate.js +32 -0
- package/esm5/lib/search/models/predicate/elementary-predicate.js +24 -0
- package/esm5/lib/search/models/predicate/predicate-with-generator.js +114 -0
- package/esm5/lib/search/models/predicate/predicate.js +110 -0
- package/esm5/lib/search/models/predicate-removal-event.js +2 -0
- package/esm5/lib/search/models/query/query.js +83 -0
- package/esm5/lib/search/models/search-index.js +76 -0
- package/esm5/lib/search/models/wrap-result.js +2 -0
- package/esm5/lib/search/operator-service/operator-resolver.service.js +113 -0
- package/esm5/lib/search/operator-service/operator.service.js +41 -0
- package/esm5/lib/search/public-api.js +107 -0
- package/esm5/lib/search/search-clause-component/abstract-search-clause.component.js +67 -0
- package/esm5/lib/search/search-component/abstract-search.component.js +201 -0
- package/esm5/lib/search/search-configuration-input-component/abstract-search-configuration-input.component.js +82 -0
- package/esm5/lib/search/search-keyword-resolver-service/search-index-resolver.service.js +40 -0
- package/esm5/lib/search/search-operand-input-component/abstract-search-operand-input.component.js +113 -0
- package/esm5/lib/search/search-predicate-component/abstract-search-predicate.component.js +162 -0
- package/esm5/lib/search/search-service/search.service.js +405 -0
- package/esm5/lib/side-menu/content-components/filter-selector/abstract-filter-selector.component.js +166 -0
- package/esm5/lib/side-menu/content-components/filter-selector/filter-selector-list-item/abstract-filter-selector-list-item.component.js +26 -0
- package/esm5/lib/side-menu/content-components/filter-selector/model/filter-selector-injection-data.js +2 -0
- package/esm5/lib/side-menu/content-components/filter-selector/model/filtered-array.js +37 -0
- package/esm5/lib/side-menu/content-components/import-net/abstract-import-net.component.js +152 -0
- package/esm5/lib/side-menu/content-components/injection-tokens.js +8 -0
- package/esm5/lib/side-menu/content-components/load-filter/abstract-load-filter.component.js +47 -0
- package/esm5/lib/side-menu/content-components/load-filter/model/load-filter-injection-data.js +2 -0
- package/esm5/lib/side-menu/content-components/new-case/abstract-new-case.component.js +264 -0
- package/esm5/lib/side-menu/content-components/new-case/model/new-case-injection-data.js +2 -0
- package/esm5/lib/side-menu/content-components/option-selector/abstract-option-selector.component.js +31 -0
- package/esm5/lib/side-menu/content-components/option-selector/model/option-selector-injection-data.js +2 -0
- package/esm5/lib/side-menu/content-components/public-api.js +20 -0
- package/esm5/lib/side-menu/content-components/save-filter/abstract-save-filter.component.js +43 -0
- package/esm5/lib/side-menu/content-components/save-filter/model/save-filter-injection-data.js +2 -0
- package/esm5/lib/side-menu/content-components/user-assign/abstract-user-assign.component.js +74 -0
- package/esm5/lib/side-menu/content-components/user-assign/model/user-list-injected-data.js +2 -0
- package/esm5/lib/side-menu/content-components/user-assign/user-assign-list/abstract-user-assign-list.component.js +113 -0
- package/esm5/lib/side-menu/content-components/user-assign/user-assign-list/user-assign-item/abstract-user-assign-item.component.js +15 -0
- package/esm5/lib/side-menu/models/portal-wrapper.js +23 -0
- package/esm5/lib/side-menu/models/side-menu-control.js +47 -0
- package/esm5/lib/side-menu/models/side-menu-event.js +2 -0
- package/esm5/lib/side-menu/models/side-menu-injection-data.js +2 -0
- package/esm5/lib/side-menu/models/side-menu-ref.js +26 -0
- package/esm5/lib/side-menu/models/side-menu-size.js +7 -0
- package/esm5/lib/side-menu/net-version-visible-injection-token.js +4 -0
- package/esm5/lib/side-menu/public-api.js +15 -0
- package/esm5/lib/side-menu/services/side-menu.service.js +90 -0
- package/esm5/lib/side-menu/side-menu-container/abstract-side-menu-container.component.js +36 -0
- package/esm5/lib/side-menu/side-menu-injection-token.js +3 -0
- package/esm5/lib/snack-bar/components/error-snack-bar/error-snack-bar.component.js +31 -0
- package/esm5/lib/snack-bar/components/generic-snack-bar/generic-snack-bar.component.js +31 -0
- package/esm5/lib/snack-bar/components/success-snack-bar/success-snack-bar.component.js +31 -0
- package/esm5/lib/snack-bar/components/warning-snack-bar/warning-snack-bar.component.js +31 -0
- package/esm5/lib/snack-bar/models/abstract-snack-bar.js +20 -0
- package/esm5/lib/snack-bar/models/injection-token-snackbar.js +4 -0
- package/esm5/lib/snack-bar/models/snack-bar-enums.js +12 -0
- package/esm5/lib/snack-bar/models/snack-bar-injection-data.js +2 -0
- package/esm5/lib/snack-bar/public-api.js +15 -0
- package/esm5/lib/snack-bar/services/snack-bar.service.js +105 -0
- package/esm5/lib/snack-bar/snack-bar.module.js +37 -0
- package/esm5/lib/tabs/classes/opened-tab.js +50 -0
- package/esm5/lib/tabs/classes/tab-view.js +283 -0
- package/esm5/lib/tabs/interfaces.js +2 -0
- package/esm5/lib/tabs/public-api.js +6 -0
- package/esm5/lib/tabs/tab-creation-detector/abstract-tab-creation-detector.component.js +21 -0
- package/esm5/lib/tabs/tab-data-injection-token/tab-data-injection-token.js +8 -0
- package/esm5/lib/tabs/tab-view/abstract-tab-view.component.js +71 -0
- package/esm5/lib/task/interfaces/task-operations.js +2 -0
- package/esm5/lib/task/models/null-task-operations.js +30 -0
- package/esm5/lib/task/models/subject-task-operations.js +76 -0
- package/esm5/lib/task/models/task-operations-injection-token.js +3 -0
- package/esm5/lib/task/models/task-set-data-request-context.js +2 -0
- package/esm5/lib/task/public-api.js +19 -0
- package/esm5/lib/task/services/assign-policy.service.js +189 -0
- package/esm5/lib/task/services/assign-task.service.js +200 -0
- package/esm5/lib/task/services/cancel-task.service.js +198 -0
- package/esm5/lib/task/services/data-focus-policy.service.js +40 -0
- package/esm5/lib/task/services/delegate-task.service.js +196 -0
- package/esm5/lib/task/services/finish-policy.service.js +85 -0
- package/esm5/lib/task/services/finish-task.service.js +215 -0
- package/esm5/lib/task/services/selected-case.service.js +48 -0
- package/esm5/lib/task/services/task-data.service.js +597 -0
- package/esm5/lib/task/services/task-handling-service.js +68 -0
- package/esm5/lib/task/services/task-request-state.service.js +118 -0
- package/esm5/lib/task-content/field-component-resolver/abstract-field-component-resolver.component.js +41 -0
- package/esm5/lib/task-content/model/async-rendering-configuration-injection-token.js +8 -0
- package/esm5/lib/task-content/model/async-rendering-configuration.js +2 -0
- package/esm5/lib/task-content/model/datafield-grid-layout-element.js +2 -0
- package/esm5/lib/task-content/model/field-type-resource.js +23 -0
- package/esm5/lib/task-content/model/policy.js +31 -0
- package/esm5/lib/task-content/model/resource-interface.js +2 -0
- package/esm5/lib/task-content/model/split-data-group.js +2 -0
- package/esm5/lib/task-content/model/subgrid.js +247 -0
- package/esm5/lib/task-content/model/task-content-element-type.js +19 -0
- package/esm5/lib/task-content/model/task-event-notification.js +15 -0
- package/esm5/lib/task-content/model/task-event.js +10 -0
- package/esm5/lib/task-content/public-api.js +21 -0
- package/esm5/lib/task-content/services/field-converter.service.js +350 -0
- package/esm5/lib/task-content/services/single-task-content.service.js +85 -0
- package/esm5/lib/task-content/services/task-content.service.js +314 -0
- package/esm5/lib/task-content/services/task-event.service.js +54 -0
- package/esm5/lib/task-content/services/unlimited-task-content.service.js +77 -0
- package/esm5/lib/task-content/task-content/abstract-task-content.component.js +687 -0
- package/esm5/lib/toolbar/abstract-toolbar.component.js +24 -0
- package/esm5/lib/toolbar/public-api.js +2 -0
- package/esm5/lib/translate/language.service.js +89 -0
- package/esm5/lib/translate/public-api.js +3 -0
- package/esm5/lib/translate/translate-interceptor.js +25 -0
- package/esm5/lib/translate/translate-lib.module.js +42 -0
- package/esm5/lib/user/components/user-card/abstract-user-card.component.js +58 -0
- package/esm5/lib/user/models/iuser.js +2 -0
- package/esm5/lib/user/models/public-api.js +6 -0
- package/esm5/lib/user/models/user.js +51 -0
- package/esm5/lib/user/models/view-id-injection-tokens.js +4 -0
- package/esm5/lib/user/profile/abstract-profile.component.js +40 -0
- package/esm5/lib/user/public-api.js +12 -0
- package/esm5/lib/user/services/user-comparator.service.js +28 -0
- package/esm5/lib/user/services/user-list.service.js +220 -0
- package/esm5/lib/user/services/user-preference.service.js +164 -0
- package/esm5/lib/user/services/user.service.js +224 -0
- package/esm5/lib/user/services/view-id.service.js +36 -0
- package/esm5/lib/utility/array-to-observable.js +10 -0
- package/esm5/lib/utility/call-chain/after-action.js +19 -0
- package/esm5/lib/utility/call-chain/call-chain.service.js +36 -0
- package/esm5/lib/utility/clear-time-information.js +11 -0
- package/esm5/lib/utility/destroy-subscription.js +10 -0
- package/esm5/lib/utility/get-field.js +48 -0
- package/esm5/lib/utility/get-immediate-data.js +9 -0
- package/esm5/lib/utility/grid-layout/grid-layout-helper.js +105 -0
- package/esm5/lib/utility/grid-layout/model/grid-element-with-item.js +2 -0
- package/esm5/lib/utility/grid-layout/model/grid-element.js +2 -0
- package/esm5/lib/utility/grid-layout/model/grid-filler.js +52 -0
- package/esm5/lib/utility/incrementing-counter.js +23 -0
- package/esm5/lib/utility/loading-emitter.js +28 -0
- package/esm5/lib/utility/loading-with-filter-emitter.js +41 -0
- package/esm5/lib/utility/navigation-item-task-filter-factory.js +11 -0
- package/esm5/lib/utility/navigation-item-task-search-categories-factory.js +35 -0
- package/esm5/lib/utility/of-void.js +12 -0
- package/esm5/lib/utility/pagination/load-all-pages.js +47 -0
- package/esm5/lib/utility/pagination/page-has-content.js +8 -0
- package/esm5/lib/utility/process-message-response.js +17 -0
- package/esm5/lib/utility/public-api.js +47 -0
- package/esm5/lib/utility/refresh-tree.js +9 -0
- package/esm5/lib/utility/result-with-after-actions.js +34 -0
- package/esm5/lib/utility/service/case-list-font-color.service.js +47 -0
- package/esm5/lib/utility/service/spinner-overlay.service.js +51 -0
- package/esm5/lib/utility/stop-propagation.js +5 -0
- package/esm5/lib/utility/tests/mocks/mock-authentication-method-service.js +19 -0
- package/esm5/lib/utility/tests/mocks/mock-authentication.service.js +33 -0
- package/esm5/lib/utility/tests/mocks/mock-endpoint.js +46 -0
- package/esm5/lib/utility/tests/mocks/mock-sign-up.service.js +31 -0
- package/esm5/lib/utility/tests/mocks/mock-user-autocomplete-value.js +15 -0
- package/esm5/lib/utility/tests/mocks/mock-user-preference.service.js +53 -0
- package/esm5/lib/utility/tests/mocks/mock-user-resource.service.js +52 -0
- package/esm5/lib/utility/tests/search-category-mock-dependencies.js +21 -0
- package/esm5/lib/utility/tests/test-config.js +428 -0
- package/esm5/lib/utility/tests/test-factory-methods.js +21 -0
- package/esm5/lib/utility/tests/test-mock-dependencies.module.js +35 -0
- package/esm5/lib/utility/tests/test-view-service.js +28 -0
- package/esm5/lib/utility/tests/utility/configure-category.js +14 -0
- package/esm5/lib/utility/tests/utility/create-mock-case-outcome.js +19 -0
- package/esm5/lib/utility/tests/utility/create-mock-case.js +40 -0
- package/esm5/lib/utility/tests/utility/create-mock-datagroup.js +39 -0
- package/esm5/lib/utility/tests/utility/create-mock-field.js +47 -0
- package/esm5/lib/utility/tests/utility/create-mock-get-data-outcome.js +20 -0
- package/esm5/lib/utility/tests/utility/create-mock-immediate-data.js +17 -0
- package/esm5/lib/utility/tests/utility/create-mock-net.js +34 -0
- package/esm5/lib/utility/tests/utility/create-mock-page.js +24 -0
- package/esm5/lib/utility/tests/utility/create-mock-petri-net-outcome.js +16 -0
- package/esm5/lib/utility/tests/utility/create-mock-set-data-outcome.js +24 -0
- package/esm5/lib/utility/tests/utility/create-mock-task-outcome.js +22 -0
- package/esm5/lib/utility/tests/utility/create-mock-task.js +38 -0
- package/esm5/lib/view/abstract/page-load-request-context.js +34 -0
- package/esm5/lib/view/abstract/sortable-view.js +65 -0
- package/esm5/lib/view/abstract/view-with-headers.js +27 -0
- package/esm5/lib/view/case-view/abstract-case-view.js +47 -0
- package/esm5/lib/view/case-view/components/case-list/abstract-case-list.component.js +92 -0
- package/esm5/lib/view/case-view/models/case-page-load-request-result.js +2 -0
- package/esm5/lib/view/case-view/models/case-view-params.js +2 -0
- package/esm5/lib/view/case-view/models/new-case-configuration-injection-token.js +7 -0
- package/esm5/lib/view/case-view/models/new-case-configuration.js +2 -0
- package/esm5/lib/view/case-view/service/case-view-service.js +300 -0
- package/esm5/lib/view/case-view/tabbed-case-view.js +75 -0
- package/esm5/lib/view/public-api.js +42 -0
- package/esm5/lib/view/task-view/abstract-task-view.js +18 -0
- package/esm5/lib/view/task-view/models/injected-tabbed-task-view-data.js +2 -0
- package/esm5/lib/view/task-view/models/injection-token-task-endpoint.js +6 -0
- package/esm5/lib/view/task-view/models/task-endpoint.js +9 -0
- package/esm5/lib/view/task-view/models/task-page-load-request-result.js +2 -0
- package/esm5/lib/view/task-view/models/task-view-configuration-injection-token.js +20 -0
- package/esm5/lib/view/task-view/models/task-view-configuration.js +2 -0
- package/esm5/lib/view/task-view/models/task-view-params.js +2 -0
- package/esm5/lib/view/task-view/service/task-view.service.js +333 -0
- package/esm5/lib/view/task-view/tabbed-task-view.js +27 -0
- package/esm5/lib/view/tree-case-view/model/tree-petriflow-identifiers.js +43 -0
- package/esm5/lib/view/tree-case-view/tree-case-view.service.js +19 -0
- package/esm5/lib/view/tree-case-view/tree-component/abstract-tree.component.js +165 -0
- package/esm5/lib/view/tree-case-view/tree-component/add-child-node/abstract-add-child-node.component.js +16 -0
- package/esm5/lib/view/tree-case-view/tree-component/case-tree.service.js +899 -0
- package/esm5/lib/view/tree-case-view/tree-component/model/case-tree-node.js +106 -0
- package/esm5/lib/view/tree-case-view/tree-component/model/case-tree-path.js +2 -0
- package/esm5/lib/view/tree-case-view/tree-component/model/expansion-tree.js +2 -0
- package/esm5/lib/view/tree-case-view/tree-component/remove-node/abstract-remove-node.component.js +16 -0
- package/esm5/lib/view/tree-case-view/tree-task-content/abstract-tree-task-content.component.js +66 -0
- package/esm5/lib/view/tree-case-view/tree-task-content/tree-task-content.service.js +308 -0
- package/esm5/lib/view/workflow-view/abstract-workflow-view.component.js +74 -0
- package/esm5/lib/view/workflow-view/models/injection-token-workflow-service.js +10 -0
- package/esm5/lib/view/workflow-view/workflow-view.service.js +232 -0
- package/esm5/netgrif-components-core.js +20 -0
- package/esm5/public-api.js +45 -0
- package/fesm2015/netgrif-components-core.js +28627 -0
- package/fesm2015/netgrif-components-core.js.map +1 -0
- package/fesm5/netgrif-components-core.js +31716 -0
- package/fesm5/netgrif-components-core.js.map +1 -0
- package/lib/admin/public-api.d.ts +6 -0
- package/lib/admin/role-assignment/abstract-role-assignment.d.ts +31 -0
- package/lib/admin/role-assignment/services/ProcessList.d.ts +43 -0
- package/lib/admin/role-assignment/services/role-assignment.service.d.ts +16 -0
- package/lib/admin/user-invite/abstract-user-invite.component.d.ts +30 -0
- package/lib/admin/user-invite/services/organization-list.service.d.ts +16 -0
- package/lib/admin/user-invite/services/user-invite.service.d.ts +9 -0
- package/lib/allowed-nets/public-api.d.ts +3 -0
- package/lib/allowed-nets/services/allowed-nets.service.d.ts +45 -0
- package/lib/allowed-nets/services/base-allowed-nets.service.d.ts +27 -0
- package/lib/allowed-nets/services/factory/allowed-nets-service-factory.d.ts +59 -0
- package/lib/authentication/anonymous/anonymous.service.d.ts +18 -0
- package/lib/authentication/authentication.factory.d.ts +5 -0
- package/lib/authentication/authentication.module.d.ts +2 -0
- package/lib/authentication/components/abstract-authentication-overlay.d.ts +21 -0
- package/lib/authentication/models/credentials.d.ts +4 -0
- package/lib/authentication/models/public-api.d.ts +3 -0
- package/lib/authentication/models/transformer.d.ts +3 -0
- package/lib/authentication/models/user.transformer.d.ts +8 -0
- package/lib/authentication/public-api.d.ts +8 -0
- package/lib/authentication/services/anonymous-authentication-interceptor.d.ts +8 -0
- package/lib/authentication/services/authentication/authentication.service.d.ts +23 -0
- package/lib/authentication/services/authentication-interceptor.d.ts +12 -0
- package/lib/authentication/services/authentication-method.service.d.ts +8 -0
- package/lib/authentication/services/guard/authentication-guard.service.d.ts +11 -0
- package/lib/authentication/services/methods/basic-authentication/basic-authentication.service.d.ts +13 -0
- package/lib/authentication/services/methods/null-authentication/null-authentication.service.d.ts +9 -0
- package/lib/authentication/services/public-api.d.ts +5 -0
- package/lib/authentication/session/null-storage.d.ts +9 -0
- package/lib/authentication/session/public-api.d.ts +1 -0
- package/lib/authentication/session/services/session.service.d.ts +35 -0
- package/lib/authentication/sign-up/models/user-invitation-request.d.ts +5 -0
- package/lib/authentication/sign-up/models/user-registration-request.d.ts +6 -0
- package/lib/authentication/sign-up/public-api.d.ts +4 -0
- package/lib/authentication/sign-up/services/sign-up.service.d.ts +29 -0
- package/lib/authentication/sign-up/sign-up.module.d.ts +2 -0
- package/lib/authorization/authority/authority-guard.service.d.ts +16 -0
- package/lib/authorization/group/group-guard.service.d.ts +19 -0
- package/lib/authorization/permission/permission.service.d.ts +22 -0
- package/lib/authorization/public-api.d.ts +4 -0
- package/lib/authorization/role/role-guard.service.d.ts +29 -0
- package/lib/changed-fields/public-api.d.ts +1 -0
- package/lib/changed-fields/services/changed-fields.service.d.ts +12 -0
- package/lib/configuration/configuration.service.d.ts +69 -0
- package/lib/configuration/public-api.d.ts +1 -0
- package/lib/covalent/covalent.module.d.ts +2 -0
- package/lib/currency/currency.module.d.ts +3 -0
- package/lib/dashboard/cards/count-card/abstract-count-card.d.ts +19 -0
- package/lib/dashboard/cards/custom-card/abstract-custom-card.d.ts +39 -0
- package/lib/dashboard/cards/iframe-card/abstract-iframe-card.d.ts +10 -0
- package/lib/dashboard/cards/model/card-grid-element.d.ts +4 -0
- package/lib/dashboard/cards/model/count-card.d.ts +11 -0
- package/lib/dashboard/cards/model/custom-dashboard-model/aggregation-query.d.ts +9 -0
- package/lib/dashboard/cards/model/custom-dashboard-model/aggregation-result.d.ts +18 -0
- package/lib/dashboard/cards/model/custom-dashboard-model/custom-card.d.ts +14 -0
- package/lib/dashboard/cards/model/custom-dashboard-model/dashboard-event-content.d.ts +5 -0
- package/lib/dashboard/cards/model/custom-dashboard-model/dashboard-multi-data.d.ts +6 -0
- package/lib/dashboard/cards/model/custom-dashboard-model/dashboard-single-data.d.ts +5 -0
- package/lib/dashboard/cards/model/dashboard-card-types.d.ts +11 -0
- package/lib/dashboard/cards/model/dashboard-card.d.ts +7 -0
- package/lib/dashboard/cards/model/graph-card.d.ts +5 -0
- package/lib/dashboard/cards/model/iframe-card.d.ts +6 -0
- package/lib/dashboard/dashboard-content/abstract-dashboard-content.d.ts +15 -0
- package/lib/dashboard/dashboard-content/dashboard-params.d.ts +8 -0
- package/lib/dashboard/public-api.d.ts +16 -0
- package/lib/data-fields/boolean-field/abstract-boolean-field.component.d.ts +11 -0
- package/lib/data-fields/boolean-field/models/boolean-field.d.ts +15 -0
- package/lib/data-fields/button-field/abstract-button-field.component.d.ts +25 -0
- package/lib/data-fields/button-field/models/button-field.d.ts +22 -0
- package/lib/data-fields/data-field-template/abstract-data-field-template.component.d.ts +65 -0
- package/lib/data-fields/data-field-template/models/wrapped-boolean.d.ts +6 -0
- package/lib/data-fields/data-fields.module.d.ts +2 -0
- package/lib/data-fields/date-field/abstract-date-field.component.d.ts +9 -0
- package/lib/data-fields/date-field/models/custom-date-adapter.d.ts +4 -0
- package/lib/data-fields/date-field/models/date-field.d.ts +10 -0
- package/lib/data-fields/date-time-field/abstract-date-time-field.component.d.ts +9 -0
- package/lib/data-fields/date-time-field/models/date-time-field.d.ts +10 -0
- package/lib/data-fields/enumeration-field/abstract-enumeration-field.component.d.ts +6 -0
- package/lib/data-fields/enumeration-field/enumeration-autocomplete-dynamic-field/abstract-enumeration-autocomplete-dynamic-field.component.d.ts +21 -0
- package/lib/data-fields/enumeration-field/enumeration-autocomplete-select-field/abstract-enumeration-autocomplete-select-field.component.d.ts +26 -0
- package/lib/data-fields/enumeration-field/enumeration-icon-field/abstract-enumeration-icon-field.component.d.ts +17 -0
- package/lib/data-fields/enumeration-field/enumeration-list-field/abstract-enumeration-list-field.component.d.ts +10 -0
- package/lib/data-fields/enumeration-field/enumeration-select-field/abstract-enumeration-select-field.component.d.ts +10 -0
- package/lib/data-fields/enumeration-field/enumeration-stepper-field/abstract-enumeration-stepper-field.component.d.ts +18 -0
- package/lib/data-fields/enumeration-field/models/dynamic-enumeration-field.d.ts +25 -0
- package/lib/data-fields/enumeration-field/models/enumeration-field.d.ts +35 -0
- package/lib/data-fields/file-field/abstract-file-field.component.d.ts +147 -0
- package/lib/data-fields/file-field/abstract-preview-dialog/preview-dialog-data.d.ts +9 -0
- package/lib/data-fields/file-field/models/file-field-value.d.ts +4 -0
- package/lib/data-fields/file-field/models/file-field.d.ts +73 -0
- package/lib/data-fields/file-list-field/abstract-file-list-field.component.d.ts +73 -0
- package/lib/data-fields/file-list-field/models/file-list-field-value.d.ts +4 -0
- package/lib/data-fields/file-list-field/models/file-list-field.d.ts +41 -0
- package/lib/data-fields/filter-field/abstract-filter-field-content.component.d.ts +12 -0
- package/lib/data-fields/filter-field/abstract-filter-field.component.d.ts +14 -0
- package/lib/data-fields/filter-field/models/filter-field-injection-token.d.ts +7 -0
- package/lib/data-fields/filter-field/models/filter-field.d.ts +13 -0
- package/lib/data-fields/i18n-field/abstract-i18n-field.component.d.ts +7 -0
- package/lib/data-fields/i18n-field/i18n-divider-field/abstract-i18n-divider-field.component.d.ts +13 -0
- package/lib/data-fields/i18n-field/i18n-text-field/abstract-i18n-text-field.component.d.ts +18 -0
- package/lib/data-fields/i18n-field/models/i18n-field-value.d.ts +5 -0
- package/lib/data-fields/i18n-field/models/i18n-field.d.ts +9 -0
- package/lib/data-fields/models/abstract-data-field-component.d.ts +32 -0
- package/lib/data-fields/models/abstract-data-field.d.ts +220 -0
- package/lib/data-fields/models/behavior.d.ts +40 -0
- package/lib/data-fields/models/boolean-label-enabled-token.d.ts +2 -0
- package/lib/data-fields/models/changed-fields.d.ts +44 -0
- package/lib/data-fields/models/component.d.ts +7 -0
- package/lib/data-fields/models/format-filter.d.ts +5 -0
- package/lib/data-fields/models/icon.d.ts +9 -0
- package/lib/data-fields/models/invalid-data-policy-token.d.ts +10 -0
- package/lib/data-fields/models/layout.d.ts +22 -0
- package/lib/data-fields/models/material-appearance.d.ts +12 -0
- package/lib/data-fields/models/properties.d.ts +3 -0
- package/lib/data-fields/models/template-appearance.d.ts +13 -0
- package/lib/data-fields/models/validation.d.ts +15 -0
- package/lib/data-fields/multichoice-field/abstract-multichoice-field.component.d.ts +6 -0
- package/lib/data-fields/multichoice-field/models/multichoice-field.d.ts +26 -0
- package/lib/data-fields/multichoice-field/multichoice-list-field/abstract-multichoice-list-field.component.d.ts +10 -0
- package/lib/data-fields/multichoice-field/multichoice-select-field/abstract-multichoice-select-field.component.d.ts +8 -0
- package/lib/data-fields/number-field/abstract-number-errors.component.d.ts +13 -0
- package/lib/data-fields/number-field/abstract-number-field.component.d.ts +8 -0
- package/lib/data-fields/number-field/currency-number-field/abstract-currency-number-field.component.d.ts +15 -0
- package/lib/data-fields/number-field/models/number-field.d.ts +36 -0
- package/lib/data-fields/number-field/number-default-field/abstract-default-number-field.component.d.ts +5 -0
- package/lib/data-fields/public-api.d.ts +67 -0
- package/lib/data-fields/task-ref-field/model/task-ref-field.d.ts +8 -0
- package/lib/data-fields/text-field/abstract-text-errors.component.d.ts +10 -0
- package/lib/data-fields/text-field/abstract-text-field.component.d.ts +6 -0
- package/lib/data-fields/text-field/html-textarea-field/abstract-html-textarea-field.component.d.ts +39 -0
- package/lib/data-fields/text-field/models/text-area-field.d.ts +12 -0
- package/lib/data-fields/text-field/models/text-field.d.ts +36 -0
- package/lib/data-fields/text-field/password-text-field/abstract-password-text-field.component.d.ts +13 -0
- package/lib/data-fields/text-field/rich-textarea-field/abstract-rich-textarea-field.component.d.ts +16 -0
- package/lib/data-fields/text-field/simple-text-field/abstract-simple-text-field.component.d.ts +13 -0
- package/lib/data-fields/text-field/textarea-field/abstract-textarea-field.component.d.ts +22 -0
- package/lib/data-fields/time-instance-abstract-field/abstract-time-instance-field.component.d.ts +9 -0
- package/lib/data-fields/time-instance-abstract-field/models/abstract-time-instance-field.d.ts +41 -0
- package/lib/data-fields/user-field/abstract-user-field.component.d.ts +36 -0
- package/lib/data-fields/user-field/models/user-field.d.ts +13 -0
- package/lib/data-fields/user-field/models/user-value.d.ts +24 -0
- package/lib/dialog/components/alert-dialog/alert-dialog.component.d.ts +19 -0
- package/lib/dialog/components/alert-dialog/alert-dialog.module.d.ts +2 -0
- package/lib/dialog/components/confirm-dialog/confirm-dialog.component.d.ts +24 -0
- package/lib/dialog/components/confirm-dialog/confirm-dialog.module.d.ts +2 -0
- package/lib/dialog/components/prompt-dialog/prompt-dialog.component.d.ts +23 -0
- package/lib/dialog/components/prompt-dialog/prompt-dialog.module.d.ts +2 -0
- package/lib/dialog/dialog.module.d.ts +2 -0
- package/lib/dialog/models/DialogData.d.ts +8 -0
- package/lib/dialog/models/DialogResult.d.ts +5 -0
- package/lib/dialog/models/abstract-dialog.d.ts +18 -0
- package/lib/dialog/public-api.d.ts +5 -0
- package/lib/dialog/services/dialog.service.d.ts +43 -0
- package/lib/event/model/event-constants.d.ts +6 -0
- package/lib/event/model/event-outcomes/case-outcomes/case-event-outcome.d.ts +5 -0
- package/lib/event/model/event-outcomes/case-outcomes/create-case-event-outcome.d.ts +3 -0
- package/lib/event/model/event-outcomes/case-outcomes/delete-case-event-outcome.d.ts +3 -0
- package/lib/event/model/event-outcomes/data-outcomes/get-data-event-outcome.d.ts +5 -0
- package/lib/event/model/event-outcomes/data-outcomes/get-data-groups-event-outcome.d.ts +5 -0
- package/lib/event/model/event-outcomes/data-outcomes/get-data-localised-event-outcome.d.ts +5 -0
- package/lib/event/model/event-outcomes/data-outcomes/set-data-event-outcome.d.ts +5 -0
- package/lib/event/model/event-outcomes/petrinet-outcomes/petri-net-event-outcome.d.ts +5 -0
- package/lib/event/model/event-outcomes/task-outcomes/assign-task-event-outcome.d.ts +3 -0
- package/lib/event/model/event-outcomes/task-outcomes/cancel-task-event-outcome.d.ts +3 -0
- package/lib/event/model/event-outcomes/task-outcomes/delegate-task-event-outcome.d.ts +3 -0
- package/lib/event/model/event-outcomes/task-outcomes/finish-task-event-outcome.d.ts +3 -0
- package/lib/event/model/event-outcomes/task-outcomes/task-event-outcome.d.ts +5 -0
- package/lib/event/public-api.d.ts +15 -0
- package/lib/event/services/event.service.d.ts +7 -0
- package/lib/event/services/interfaces/changed-fields-map.d.ts +6 -0
- package/lib/event-queue/model/queued-event.d.ts +21 -0
- package/lib/event-queue/public-api.d.ts +2 -0
- package/lib/event-queue/services/event-queue.service.d.ts +21 -0
- package/lib/filter/filter.repository.d.ts +59 -0
- package/lib/filter/models/case-search-request-body.d.ts +88 -0
- package/lib/filter/models/filter-type.d.ts +9 -0
- package/lib/filter/models/filter.d.ts +68 -0
- package/lib/filter/models/filters-filter-injection-token.d.ts +9 -0
- package/lib/filter/models/merge-operator.d.ts +9 -0
- package/lib/filter/models/merged-filter-params.d.ts +13 -0
- package/lib/filter/models/merged-filter.d.ts +75 -0
- package/lib/filter/models/simple-filter.d.ts +74 -0
- package/lib/filter/models/task-search-request-body.d.ts +83 -0
- package/lib/filter/models/user-filter-constants.d.ts +37 -0
- package/lib/filter/public-api.d.ts +12 -0
- package/lib/filter/user-filters.service.d.ts +116 -0
- package/lib/forms/email-submission/abstract-email-submission-form.component.d.ts +13 -0
- package/lib/forms/forgotten-password/abstract-forgotten-password.component.d.ts +16 -0
- package/lib/forms/has-form.d.ts +10 -0
- package/lib/forms/login/abstract-login-form.component.d.ts +24 -0
- package/lib/forms/models/abstract-registration.component.d.ts +42 -0
- package/lib/forms/models/password.validator.d.ts +7 -0
- package/lib/forms/public-api.d.ts +6 -0
- package/lib/forms/registration/abstract-registration-form.component.d.ts +19 -0
- package/lib/groups/public-api.d.ts +2 -0
- package/lib/groups/services/active-group.service.d.ts +49 -0
- package/lib/groups/services/next-group.service.d.ts +52 -0
- package/lib/header/abstract-header-service.d.ts +133 -0
- package/lib/header/abstract-header.component.d.ts +52 -0
- package/lib/header/case-header/case-header.service.d.ts +21 -0
- package/lib/header/case-header/case-menta-enum.d.ts +7 -0
- package/lib/header/header-modes/abstract-header-mode.component.d.ts +5 -0
- package/lib/header/header-modes/edit-mode/abstract-edit-mode.component.d.ts +28 -0
- package/lib/header/header-modes/loading-mode/abstract-loading-mode.component.d.ts +8 -0
- package/lib/header/header-modes/search-mode/abstract-search-mode.component.d.ts +48 -0
- package/lib/header/header-modes/sort-mode/abstract-sort-mode.component.d.ts +8 -0
- package/lib/header/header-state.d.ts +28 -0
- package/lib/header/models/default-headers-token.d.ts +2 -0
- package/lib/header/models/fields-group.d.ts +9 -0
- package/lib/header/models/header-column.d.ts +17 -0
- package/lib/header/models/header-mode.d.ts +5 -0
- package/lib/header/models/header-type.d.ts +5 -0
- package/lib/header/models/public-api.d.ts +11 -0
- package/lib/header/models/user-changes/column-header-change.d.ts +6 -0
- package/lib/header/models/user-changes/edit-change-description.d.ts +7 -0
- package/lib/header/models/user-changes/header-change-description.d.ts +5 -0
- package/lib/header/models/user-changes/header-change-type.d.ts +18 -0
- package/lib/header/models/user-changes/header-change.d.ts +17 -0
- package/lib/header/models/user-changes/mode-change-description.d.ts +5 -0
- package/lib/header/models/user-changes/search-change-description.d.ts +13 -0
- package/lib/header/models/user-changes/sort-change-description.d.ts +13 -0
- package/lib/header/public-api.d.ts +14 -0
- package/lib/header/services/overflow.service.d.ts +28 -0
- package/lib/header/task-header/task-header.service.d.ts +18 -0
- package/lib/header/task-header/task-meta-enum.d.ts +9 -0
- package/lib/header/workflow-header/workflow-header.service.d.ts +14 -0
- package/lib/header/workflow-header/workflow-meta-enum.d.ts +8 -0
- package/lib/legal/legal-notice/abstract-legal-notice.component.d.ts +13 -0
- package/lib/legal/public-api.d.ts +1 -0
- package/lib/logger/models/log-entry.d.ts +38 -0
- package/lib/logger/public-api.d.ts +7 -0
- package/lib/logger/publishers/console-log-publisher.d.ts +8 -0
- package/lib/logger/publishers/local-storage-log-publisher.d.ts +9 -0
- package/lib/logger/publishers/log-publisher.d.ts +8 -0
- package/lib/logger/services/log-level.d.ts +8 -0
- package/lib/logger/services/log-publisher.service.d.ts +22 -0
- package/lib/logger/services/logger.service.d.ts +25 -0
- package/lib/material/material.module.d.ts +2 -0
- package/lib/moment/public-api.d.ts +1 -0
- package/lib/moment/time-formats.d.ts +24 -0
- package/lib/navigation/group-navigation-component-resolver/abstract-group-navigation-component-resolver.component.d.ts +21 -0
- package/lib/navigation/group-navigation-component-resolver/group-navigation-component-resolver.service.d.ts +14 -0
- package/lib/navigation/group-navigation-component-resolver/group-navigation-view-id-segment-factory.d.ts +2 -0
- package/lib/navigation/model/filter-case-injection-token.d.ts +6 -0
- package/lib/navigation/model/group-navigation-component-resolver-component-injection-token.d.ts +6 -0
- package/lib/navigation/model/group-navigation-constants.d.ts +57 -0
- package/lib/navigation/model/group-navigation-item-label.d.ts +4 -0
- package/lib/navigation/navigation-drawer/abstract-navigation-drawer.component.d.ts +49 -0
- package/lib/navigation/navigation-drawer/abstract-navigation-resizable-drawer.component.d.ts +8 -0
- package/lib/navigation/navigation-rail/abstract-navigation-rail.component.d.ts +14 -0
- package/lib/navigation/navigation-tree/abstract-navigation-tree.component.d.ts +131 -0
- package/lib/navigation/public-api.d.ts +13 -0
- package/lib/navigation/quick-panel/components/abstract-quick-panel.component.d.ts +15 -0
- package/lib/navigation/quick-panel/components/internal-link/abstract-internal-link.component.d.ts +7 -0
- package/lib/navigation/quick-panel/components/language-selector/abstract-language-selector.component.d.ts +24 -0
- package/lib/navigation/quick-panel/components/logout-shortcut/abstract-logout-shortcut.component.d.ts +14 -0
- package/lib/navigation/quick-panel/components/paper-view.service.d.ts +6 -0
- package/lib/navigation/quick-panel/public-api.d.ts +5 -0
- package/lib/navigation/utility/filter-extraction.service.d.ts +18 -0
- package/lib/navigation/utility/navigation-item-task-utility-methods.d.ts +33 -0
- package/lib/panel/abstract/featured-value.d.ts +13 -0
- package/lib/panel/abstract/panel-with-header-binding.d.ts +23 -0
- package/lib/panel/abstract/panel-with-immediate-data.d.ts +18 -0
- package/lib/panel/abstract/tabbed-virtual-scroll.component.d.ts +10 -0
- package/lib/panel/abstract-panel.component.d.ts +23 -0
- package/lib/panel/case-panel/abstract-case-panel.component.d.ts +41 -0
- package/lib/panel/immediate/abstract-immediate-filter-text-content.component.d.ts +16 -0
- package/lib/panel/immediate/abstract-immediate-filter-text.component.d.ts +14 -0
- package/lib/panel/immediate/model/filter-text-injection-token.d.ts +10 -0
- package/lib/panel/public-api.d.ts +12 -0
- package/lib/panel/task-panel/abstract-task-panel.component.d.ts +109 -0
- package/lib/panel/task-panel/models/disable-functions.d.ts +10 -0
- package/lib/panel/task-panel-list/abstract-task-list.component.d.ts +46 -0
- package/lib/panel/task-panel-list/task-panel-data/task-panel-data.d.ts +8 -0
- package/lib/panel/workflow-panel/abstract-workflow-panel.component.d.ts +57 -0
- package/lib/process/net.d.ts +95 -0
- package/lib/process/netRole.d.ts +4 -0
- package/lib/process/permissions.d.ts +30 -0
- package/lib/process/petri-net-reference-with-permissions.d.ts +7 -0
- package/lib/process/process.service.d.ts +94 -0
- package/lib/process/public-api.d.ts +7 -0
- package/lib/process/public-process.service.d.ts +8 -0
- package/lib/process/rolesAndPermissions.d.ts +6 -0
- package/lib/process/transaction.d.ts +5 -0
- package/lib/process/transition.d.ts +7 -0
- package/lib/public/factories/get-net-and-create-case.d.ts +6 -0
- package/lib/public/factories/public-factory-resolver.d.ts +6 -0
- package/lib/public/factories/public-search-factory.d.ts +9 -0
- package/lib/public/public-api.d.ts +4 -0
- package/lib/public/services/public-url-resolver.service.d.ts +6 -0
- package/lib/resources/abstract-endpoint/abstract-resource.service.d.ts +38 -0
- package/lib/resources/abstract-endpoint/count-service.d.ts +6 -0
- package/lib/resources/engine-endpoint/case-resource.service.d.ts +86 -0
- package/lib/resources/engine-endpoint/dashboard-resource.service.d.ts +10 -0
- package/lib/resources/engine-endpoint/petri-net-resource.service.d.ts +105 -0
- package/lib/resources/engine-endpoint/public/public-case-resource.service.d.ts +20 -0
- package/lib/resources/engine-endpoint/public/public-petri-net-resource.service.d.ts +72 -0
- package/lib/resources/engine-endpoint/public/public-task-resource.service.d.ts +95 -0
- package/lib/resources/engine-endpoint/task-resource.service.d.ts +134 -0
- package/lib/resources/engine-endpoint/user-resource.service.d.ts +133 -0
- package/lib/resources/interface/assigned-user-policy.d.ts +4 -0
- package/lib/resources/interface/author.d.ts +15 -0
- package/lib/resources/interface/authority.d.ts +13 -0
- package/lib/resources/interface/case-get-request-body.d.ts +79 -0
- package/lib/resources/interface/case.d.ts +124 -0
- package/lib/resources/interface/changed-field-container.d.ts +4 -0
- package/lib/resources/interface/count.d.ts +15 -0
- package/lib/resources/interface/create-case-request-body.d.ts +11 -0
- package/lib/resources/interface/data-group-layout.d.ts +62 -0
- package/lib/resources/interface/data-groups.d.ts +60 -0
- package/lib/resources/interface/event-outcome.d.ts +10 -0
- package/lib/resources/interface/field-alignment.d.ts +8 -0
- package/lib/resources/interface/fields.d.ts +218 -0
- package/lib/resources/interface/file-resource.d.ts +22 -0
- package/lib/resources/interface/group.d.ts +18 -0
- package/lib/resources/interface/immediate-data.d.ts +44 -0
- package/lib/resources/interface/link.d.ts +18 -0
- package/lib/resources/interface/message-resource.d.ts +24 -0
- package/lib/resources/interface/page.d.ts +14 -0
- package/lib/resources/interface/pagination.d.ts +21 -0
- package/lib/resources/interface/petri-net-object-id.d.ts +12 -0
- package/lib/resources/interface/petri-net-reference.d.ts +46 -0
- package/lib/resources/interface/petri-net-request-body.d.ts +14 -0
- package/lib/resources/interface/petri-net.d.ts +10 -0
- package/lib/resources/interface/preferences.d.ts +16 -0
- package/lib/resources/interface/process-role.d.ts +9 -0
- package/lib/resources/interface/response-data.d.ts +19 -0
- package/lib/resources/interface/task-layout.d.ts +11 -0
- package/lib/resources/interface/task-reference.d.ts +17 -0
- package/lib/resources/interface/task-set-data-request-body.d.ts +35 -0
- package/lib/resources/interface/task.d.ts +72 -0
- package/lib/resources/interface/user-process-role.d.ts +13 -0
- package/lib/resources/interface/user-resource-small.d.ts +11 -0
- package/lib/resources/interface/user-resource.d.ts +16 -0
- package/lib/resources/public-api.d.ts +42 -0
- package/lib/resources/resource-provider.service.d.ts +53 -0
- package/lib/resources/types/nae-date-type.d.ts +7 -0
- package/lib/routing/dynamic-navigation-route-provider/dynamic-navigation-route-provider.service.d.ts +12 -0
- package/lib/routing/public-api.d.ts +5 -0
- package/lib/routing/redirect-service/redirect.service.d.ts +22 -0
- package/lib/routing/routing-builder/routing-builder.service.d.ts +23 -0
- package/lib/routing/view-service/model/view-entry.d.ts +14 -0
- package/lib/routing/view-service/view.service.d.ts +29 -0
- package/lib/search/advanced-search-component/abstract-advanced-search.component.d.ts +25 -0
- package/lib/search/advanced-search-component-initialization-service/advanced-search-component-initialization.service.d.ts +22 -0
- package/lib/search/category-factory/category-factory.d.ts +55 -0
- package/lib/search/category-factory/category-resolver.service.d.ts +48 -0
- package/lib/search/category-factory/category-serialisation-pair.d.ts +10 -0
- package/lib/search/category-factory/default-categories-factories.d.ts +32 -0
- package/lib/search/category-factory/default-search-categories.module.d.ts +2 -0
- package/lib/search/category-factory/optional-dependencies.d.ts +22 -0
- package/lib/search/category-factory/search-categories-injection-token.d.ts +24 -0
- package/lib/search/fulltext-search-component/abstract-fulltext-search.component.d.ts +7 -0
- package/lib/search/header-search-service/header-search.service.d.ts +112 -0
- package/lib/search/models/base-filter-injection-token.d.ts +6 -0
- package/lib/search/models/base-filter.d.ts +18 -0
- package/lib/search/models/boolean-operator.d.ts +7 -0
- package/lib/search/models/category/autocomplete-category.d.ts +94 -0
- package/lib/search/models/category/autocomplete-options.d.ts +17 -0
- package/lib/search/models/category/case/case-author.d.ts +12 -0
- package/lib/search/models/category/case/case-creation-date-time.d.ts +16 -0
- package/lib/search/models/category/case/case-creation-date.d.ts +16 -0
- package/lib/search/models/category/case/case-dataset.d.ts +94 -0
- package/lib/search/models/category/case/case-net-attribute-autocomplete-category.d.ts +18 -0
- package/lib/search/models/category/case/case-process.d.ts +27 -0
- package/lib/search/models/category/case/case-role.d.ts +15 -0
- package/lib/search/models/category/case/case-search.enum.d.ts +13 -0
- package/lib/search/models/category/case/case-simple-dataset.d.ts +58 -0
- package/lib/search/models/category/case/case-string-id.d.ts +11 -0
- package/lib/search/models/category/case/case-task.d.ts +15 -0
- package/lib/search/models/category/case/case-title.d.ts +11 -0
- package/lib/search/models/category/case/case-visual-id.d.ts +11 -0
- package/lib/search/models/category/categories.d.ts +20 -0
- package/lib/search/models/category/category.d.ts +363 -0
- package/lib/search/models/category/name-id-pair.d.ts +13 -0
- package/lib/search/models/category/net-attribute-autocomplete-category.d.ts +55 -0
- package/lib/search/models/category/net-attribute-pair.d.ts +17 -0
- package/lib/search/models/category/no-configuration-autocomplete-category.d.ts +28 -0
- package/lib/search/models/category/no-configuration-category.d.ts +30 -0
- package/lib/search/models/category/no-configuration-user-autocomplete-category.d.ts +20 -0
- package/lib/search/models/category/search-autocomplete-option.d.ts +21 -0
- package/lib/search/models/category/search-input-type.d.ts +12 -0
- package/lib/search/models/category/task/task-assignee.d.ts +12 -0
- package/lib/search/models/category/task/task-net-attribute-autocomplete-category.d.ts +18 -0
- package/lib/search/models/category/task/task-process.d.ts +19 -0
- package/lib/search/models/category/task/task-role.d.ts +15 -0
- package/lib/search/models/category/task/task-task.d.ts +15 -0
- package/lib/search/models/category/user-autocomplete.d.ts +28 -0
- package/lib/search/models/component-configuration/search-component-configuration-injection-token.d.ts +8 -0
- package/lib/search/models/component-configuration/search-component-configuration.d.ts +21 -0
- package/lib/search/models/component-configuration/search-mode.d.ts +7 -0
- package/lib/search/models/configuration-input.d.ts +38 -0
- package/lib/search/models/datafield-map-key.d.ts +28 -0
- package/lib/search/models/escape-result.d.ts +13 -0
- package/lib/search/models/operator/equals-date-time.d.ts +19 -0
- package/lib/search/models/operator/equals-date.d.ts +19 -0
- package/lib/search/models/operator/equals.d.ts +13 -0
- package/lib/search/models/operator/in-range-date-time.d.ts +24 -0
- package/lib/search/models/operator/in-range-date.d.ts +24 -0
- package/lib/search/models/operator/in-range.d.ts +12 -0
- package/lib/search/models/operator/is-null.d.ts +51 -0
- package/lib/search/models/operator/less-than-date-time.d.ts +16 -0
- package/lib/search/models/operator/less-than-date.d.ts +16 -0
- package/lib/search/models/operator/less-than-equal-date-time.d.ts +16 -0
- package/lib/search/models/operator/less-than-equal-date.d.ts +16 -0
- package/lib/search/models/operator/less-than-equal.d.ts +10 -0
- package/lib/search/models/operator/less-than.d.ts +10 -0
- package/lib/search/models/operator/like.d.ts +18 -0
- package/lib/search/models/operator/more-than-date-time.d.ts +16 -0
- package/lib/search/models/operator/more-than-date.d.ts +16 -0
- package/lib/search/models/operator/more-than-equal-date-time.d.ts +16 -0
- package/lib/search/models/operator/more-than-equal-date.d.ts +16 -0
- package/lib/search/models/operator/more-than-equal.d.ts +10 -0
- package/lib/search/models/operator/more-than.d.ts +10 -0
- package/lib/search/models/operator/not-equals-date-time.d.ts +13 -0
- package/lib/search/models/operator/not-equals-date.d.ts +16 -0
- package/lib/search/models/operator/not-equals.d.ts +18 -0
- package/lib/search/models/operator/operator.d.ts +98 -0
- package/lib/search/models/operator/operators.d.ts +29 -0
- package/lib/search/models/operator/substring.d.ts +13 -0
- package/lib/search/models/operator-template-part-type.d.ts +13 -0
- package/lib/search/models/operator-template-part.d.ts +26 -0
- package/lib/search/models/persistance/filter-metadata-allowed-nets.d.ts +14 -0
- package/lib/search/models/persistance/filter-metadata.d.ts +29 -0
- package/lib/search/models/persistance/filter-text-segment.d.ts +19 -0
- package/lib/search/models/persistance/generator-metadata.d.ts +44 -0
- package/lib/search/models/persistance/saved-filter-metadata.d.ts +26 -0
- package/lib/search/models/predicate/clause-predicate.d.ts +56 -0
- package/lib/search/models/predicate/editable-clause-predicate-with-generators.d.ts +24 -0
- package/lib/search/models/predicate/editable-clause-predicate.d.ts +67 -0
- package/lib/search/models/predicate/editable-elementary-predicate.d.ts +13 -0
- package/lib/search/models/predicate/editable-predicate-with-generator.d.ts +28 -0
- package/lib/search/models/predicate/editable-predicate.d.ts +14 -0
- package/lib/search/models/predicate/elementary-predicate.d.ts +10 -0
- package/lib/search/models/predicate/predicate-with-generator.d.ts +45 -0
- package/lib/search/models/predicate/predicate.d.ts +52 -0
- package/lib/search/models/predicate-removal-event.d.ts +13 -0
- package/lib/search/models/query/query.d.ts +44 -0
- package/lib/search/models/search-index.d.ts +74 -0
- package/lib/search/models/wrap-result.d.ts +13 -0
- package/lib/search/operator-service/operator-resolver.service.d.ts +23 -0
- package/lib/search/operator-service/operator.service.d.ts +16 -0
- package/lib/search/public-api.d.ts +98 -0
- package/lib/search/search-clause-component/abstract-search-clause.component.d.ts +28 -0
- package/lib/search/search-component/abstract-search.component.d.ts +86 -0
- package/lib/search/search-configuration-input-component/abstract-search-configuration-input.component.d.ts +42 -0
- package/lib/search/search-keyword-resolver-service/search-index-resolver.service.d.ts +25 -0
- package/lib/search/search-operand-input-component/abstract-search-operand-input.component.d.ts +38 -0
- package/lib/search/search-predicate-component/abstract-search-predicate.component.d.ts +64 -0
- package/lib/search/search-service/search.service.d.ts +182 -0
- package/lib/side-menu/content-components/filter-selector/abstract-filter-selector.component.d.ts +105 -0
- package/lib/side-menu/content-components/filter-selector/filter-selector-list-item/abstract-filter-selector-list-item.component.d.ts +20 -0
- package/lib/side-menu/content-components/filter-selector/model/filter-selector-injection-data.d.ts +20 -0
- package/lib/side-menu/content-components/filter-selector/model/filtered-array.d.ts +25 -0
- package/lib/side-menu/content-components/import-net/abstract-import-net.component.d.ts +50 -0
- package/lib/side-menu/content-components/injection-tokens.d.ts +8 -0
- package/lib/side-menu/content-components/load-filter/abstract-load-filter.component.d.ts +13 -0
- package/lib/side-menu/content-components/load-filter/model/load-filter-injection-data.d.ts +8 -0
- package/lib/side-menu/content-components/new-case/abstract-new-case.component.d.ts +62 -0
- package/lib/side-menu/content-components/new-case/model/new-case-injection-data.d.ts +13 -0
- package/lib/side-menu/content-components/option-selector/abstract-option-selector.component.d.ts +14 -0
- package/lib/side-menu/content-components/option-selector/model/option-selector-injection-data.d.ts +24 -0
- package/lib/side-menu/content-components/public-api.d.ts +17 -0
- package/lib/side-menu/content-components/save-filter/abstract-save-filter.component.d.ts +15 -0
- package/lib/side-menu/content-components/save-filter/model/save-filter-injection-data.d.ts +4 -0
- package/lib/side-menu/content-components/user-assign/abstract-user-assign.component.d.ts +46 -0
- package/lib/side-menu/content-components/user-assign/model/user-list-injected-data.d.ts +11 -0
- package/lib/side-menu/content-components/user-assign/user-assign-list/abstract-user-assign-list.component.d.ts +83 -0
- package/lib/side-menu/content-components/user-assign/user-assign-list/user-assign-item/abstract-user-assign-item.component.d.ts +16 -0
- package/lib/side-menu/models/portal-wrapper.d.ts +9 -0
- package/lib/side-menu/models/side-menu-control.d.ts +15 -0
- package/lib/side-menu/models/side-menu-event.d.ts +6 -0
- package/lib/side-menu/models/side-menu-injection-data.d.ts +3 -0
- package/lib/side-menu/models/side-menu-ref.d.ts +8 -0
- package/lib/side-menu/models/side-menu-size.d.ts +5 -0
- package/lib/side-menu/net-version-visible-injection-token.d.ts +3 -0
- package/lib/side-menu/public-api.d.ts +10 -0
- package/lib/side-menu/services/side-menu.service.d.ts +35 -0
- package/lib/side-menu/side-menu-container/abstract-side-menu-container.component.d.ts +16 -0
- package/lib/side-menu/side-menu-injection-token.d.ts +3 -0
- package/lib/snack-bar/components/error-snack-bar/error-snack-bar.component.d.ts +8 -0
- package/lib/snack-bar/components/generic-snack-bar/generic-snack-bar.component.d.ts +8 -0
- package/lib/snack-bar/components/success-snack-bar/success-snack-bar.component.d.ts +8 -0
- package/lib/snack-bar/components/warning-snack-bar/warning-snack-bar.component.d.ts +8 -0
- package/lib/snack-bar/models/abstract-snack-bar.d.ts +10 -0
- package/lib/snack-bar/models/injection-token-snackbar.d.ts +4 -0
- package/lib/snack-bar/models/snack-bar-enums.d.ts +9 -0
- package/lib/snack-bar/models/snack-bar-injection-data.d.ts +5 -0
- package/lib/snack-bar/public-api.d.ts +10 -0
- package/lib/snack-bar/services/snack-bar.service.d.ts +18 -0
- package/lib/snack-bar/snack-bar.module.d.ts +2 -0
- package/lib/tabs/classes/opened-tab.d.ts +67 -0
- package/lib/tabs/classes/tab-view.d.ts +123 -0
- package/lib/tabs/interfaces.d.ts +135 -0
- package/lib/tabs/public-api.d.ts +5 -0
- package/lib/tabs/tab-creation-detector/abstract-tab-creation-detector.component.d.ts +18 -0
- package/lib/tabs/tab-data-injection-token/tab-data-injection-token.d.ts +8 -0
- package/lib/tabs/tab-view/abstract-tab-view.component.d.ts +38 -0
- package/lib/task/interfaces/task-operations.d.ts +35 -0
- package/lib/task/models/null-task-operations.d.ts +22 -0
- package/lib/task/models/subject-task-operations.d.ts +37 -0
- package/lib/task/models/task-operations-injection-token.d.ts +3 -0
- package/lib/task/models/task-set-data-request-context.d.ts +11 -0
- package/lib/task/public-api.d.ts +15 -0
- package/lib/task/services/assign-policy.service.d.ts +81 -0
- package/lib/task/services/assign-task.service.d.ts +78 -0
- package/lib/task/services/cancel-task.service.d.ts +79 -0
- package/lib/task/services/data-focus-policy.service.d.ts +16 -0
- package/lib/task/services/delegate-task.service.d.ts +70 -0
- package/lib/task/services/finish-policy.service.d.ts +38 -0
- package/lib/task/services/finish-task.service.d.ts +76 -0
- package/lib/task/services/selected-case.service.d.ts +35 -0
- package/lib/task/services/task-data.service.d.ts +177 -0
- package/lib/task/services/task-handling-service.d.ts +41 -0
- package/lib/task/services/task-request-state.service.d.ts +64 -0
- package/lib/task-content/field-component-resolver/abstract-field-component-resolver.component.d.ts +22 -0
- package/lib/task-content/model/async-rendering-configuration-injection-token.d.ts +8 -0
- package/lib/task-content/model/async-rendering-configuration.d.ts +22 -0
- package/lib/task-content/model/datafield-grid-layout-element.d.ts +9 -0
- package/lib/task-content/model/field-type-resource.d.ts +21 -0
- package/lib/task-content/model/policy.d.ts +27 -0
- package/lib/task-content/model/resource-interface.d.ts +37 -0
- package/lib/task-content/model/split-data-group.d.ts +7 -0
- package/lib/task-content/model/subgrid.d.ts +145 -0
- package/lib/task-content/model/task-content-element-type.d.ts +19 -0
- package/lib/task-content/model/task-event-notification.d.ts +32 -0
- package/lib/task-content/model/task-event.d.ts +8 -0
- package/lib/task-content/public-api.d.ts +17 -0
- package/lib/task-content/services/field-converter.service.d.ts +58 -0
- package/lib/task-content/services/single-task-content.service.d.ts +42 -0
- package/lib/task-content/services/task-content.service.d.ts +125 -0
- package/lib/task-content/services/task-event.service.d.ts +28 -0
- package/lib/task-content/services/unlimited-task-content.service.d.ts +42 -0
- package/lib/task-content/task-content/abstract-task-content.component.d.ts +263 -0
- package/lib/toolbar/abstract-toolbar.component.d.ts +15 -0
- package/lib/toolbar/public-api.d.ts +1 -0
- package/lib/translate/language.service.d.ts +20 -0
- package/lib/translate/public-api.d.ts +2 -0
- package/lib/translate/translate-interceptor.d.ts +8 -0
- package/lib/translate/translate-lib.module.d.ts +5 -0
- package/lib/user/components/user-card/abstract-user-card.component.d.ts +22 -0
- package/lib/user/models/iuser.d.ts +19 -0
- package/lib/user/models/public-api.d.ts +3 -0
- package/lib/user/models/user.d.ts +29 -0
- package/lib/user/models/view-id-injection-tokens.d.ts +3 -0
- package/lib/user/profile/abstract-profile.component.d.ts +14 -0
- package/lib/user/public-api.d.ts +8 -0
- package/lib/user/services/user-comparator.service.d.ts +7 -0
- package/lib/user/services/user-list.service.d.ts +111 -0
- package/lib/user/services/user-preference.service.d.ts +37 -0
- package/lib/user/services/user.service.d.ts +65 -0
- package/lib/user/services/view-id.service.d.ts +7 -0
- package/lib/utility/array-to-observable.d.ts +6 -0
- package/lib/utility/call-chain/after-action.d.ts +8 -0
- package/lib/utility/call-chain/call-chain.service.d.ts +16 -0
- package/lib/utility/clear-time-information.d.ts +6 -0
- package/lib/utility/destroy-subscription.d.ts +6 -0
- package/lib/utility/get-field.d.ts +34 -0
- package/lib/utility/get-immediate-data.d.ts +8 -0
- package/lib/utility/grid-layout/grid-layout-helper.d.ts +10 -0
- package/lib/utility/grid-layout/model/grid-element-with-item.d.ts +4 -0
- package/lib/utility/grid-layout/model/grid-element.d.ts +12 -0
- package/lib/utility/grid-layout/model/grid-filler.d.ts +10 -0
- package/lib/utility/incrementing-counter.d.ts +14 -0
- package/lib/utility/loading-emitter.d.ts +8 -0
- package/lib/utility/loading-with-filter-emitter.d.ts +12 -0
- package/lib/utility/navigation-item-task-filter-factory.d.ts +9 -0
- package/lib/utility/navigation-item-task-search-categories-factory.d.ts +15 -0
- package/lib/utility/of-void.d.ts +6 -0
- package/lib/utility/pagination/load-all-pages.d.ts +13 -0
- package/lib/utility/pagination/page-has-content.d.ts +6 -0
- package/lib/utility/process-message-response.d.ts +10 -0
- package/lib/utility/public-api.d.ts +45 -0
- package/lib/utility/refresh-tree.d.ts +5 -0
- package/lib/utility/result-with-after-actions.d.ts +21 -0
- package/lib/utility/service/case-list-font-color.service.d.ts +15 -0
- package/lib/utility/service/spinner-overlay.service.d.ts +13 -0
- package/lib/utility/stop-propagation.d.ts +1 -0
- package/lib/utility/tests/mocks/mock-authentication-method-service.d.ts +8 -0
- package/lib/utility/tests/mocks/mock-authentication.service.d.ts +10 -0
- package/lib/utility/tests/mocks/mock-endpoint.d.ts +25 -0
- package/lib/utility/tests/mocks/mock-sign-up.service.d.ts +20 -0
- package/lib/utility/tests/mocks/mock-user-autocomplete-value.d.ts +7 -0
- package/lib/utility/tests/mocks/mock-user-preference.service.d.ts +15 -0
- package/lib/utility/tests/mocks/mock-user-resource.service.d.ts +17 -0
- package/lib/utility/tests/search-category-mock-dependencies.d.ts +6 -0
- package/lib/utility/tests/test-config.d.ts +4 -0
- package/lib/utility/tests/test-factory-methods.d.ts +7 -0
- package/lib/utility/tests/test-mock-dependencies.module.d.ts +12 -0
- package/lib/utility/tests/test-view-service.d.ts +7 -0
- package/lib/utility/tests/utility/configure-category.d.ts +13 -0
- package/lib/utility/tests/utility/create-mock-case-outcome.d.ts +10 -0
- package/lib/utility/tests/utility/create-mock-case.d.ts +8 -0
- package/lib/utility/tests/utility/create-mock-datagroup.d.ts +18 -0
- package/lib/utility/tests/utility/create-mock-field.d.ts +19 -0
- package/lib/utility/tests/utility/create-mock-get-data-outcome.d.ts +7 -0
- package/lib/utility/tests/utility/create-mock-immediate-data.d.ts +8 -0
- package/lib/utility/tests/utility/create-mock-net.d.ts +17 -0
- package/lib/utility/tests/utility/create-mock-page.d.ts +7 -0
- package/lib/utility/tests/utility/create-mock-petri-net-outcome.d.ts +9 -0
- package/lib/utility/tests/utility/create-mock-set-data-outcome.d.ts +12 -0
- package/lib/utility/tests/utility/create-mock-task-outcome.d.ts +11 -0
- package/lib/utility/tests/utility/create-mock-task.d.ts +8 -0
- package/lib/view/abstract/page-load-request-context.d.ts +40 -0
- package/lib/view/abstract/sortable-view.d.ts +19 -0
- package/lib/view/abstract/view-with-headers.d.ts +13 -0
- package/lib/view/case-view/abstract-case-view.d.ts +25 -0
- package/lib/view/case-view/components/case-list/abstract-case-list.component.d.ts +35 -0
- package/lib/view/case-view/models/case-page-load-request-result.d.ts +14 -0
- package/lib/view/case-view/models/case-view-params.d.ts +3 -0
- package/lib/view/case-view/models/new-case-configuration-injection-token.d.ts +7 -0
- package/lib/view/case-view/models/new-case-configuration.d.ts +9 -0
- package/lib/view/case-view/service/case-view-service.d.ts +73 -0
- package/lib/view/case-view/tabbed-case-view.d.ts +26 -0
- package/lib/view/public-api.d.ts +35 -0
- package/lib/view/task-view/abstract-task-view.d.ts +12 -0
- package/lib/view/task-view/models/injected-tabbed-task-view-data.d.ts +12 -0
- package/lib/view/task-view/models/injection-token-task-endpoint.d.ts +6 -0
- package/lib/view/task-view/models/task-endpoint.d.ts +7 -0
- package/lib/view/task-view/models/task-page-load-request-result.d.ts +14 -0
- package/lib/view/task-view/models/task-view-configuration-injection-token.d.ts +13 -0
- package/lib/view/task-view/models/task-view-configuration.d.ts +19 -0
- package/lib/view/task-view/models/task-view-params.d.ts +3 -0
- package/lib/view/task-view/service/task-view.service.d.ts +68 -0
- package/lib/view/task-view/tabbed-task-view.d.ts +11 -0
- package/lib/view/tree-case-view/model/tree-petriflow-identifiers.d.ts +41 -0
- package/lib/view/tree-case-view/tree-case-view.service.d.ts +9 -0
- package/lib/view/tree-case-view/tree-component/abstract-tree.component.d.ts +99 -0
- package/lib/view/tree-case-view/tree-component/add-child-node/abstract-add-child-node.component.d.ts +8 -0
- package/lib/view/tree-case-view/tree-component/case-tree.service.d.ts +300 -0
- package/lib/view/tree-case-view/tree-component/model/case-tree-node.d.ts +57 -0
- package/lib/view/tree-case-view/tree-component/model/case-tree-path.d.ts +8 -0
- package/lib/view/tree-case-view/tree-component/model/expansion-tree.d.ts +6 -0
- package/lib/view/tree-case-view/tree-component/remove-node/abstract-remove-node.component.d.ts +8 -0
- package/lib/view/tree-case-view/tree-task-content/abstract-tree-task-content.component.d.ts +32 -0
- package/lib/view/tree-case-view/tree-task-content/tree-task-content.service.d.ts +112 -0
- package/lib/view/workflow-view/abstract-workflow-view.component.d.ts +30 -0
- package/lib/view/workflow-view/models/injection-token-workflow-service.d.ts +10 -0
- package/lib/view/workflow-view/workflow-view.service.d.ts +52 -0
- package/netgrif-components-core.d.ts +25 -0
- package/netgrif-components-core.metadata.json +1 -0
- package/package.json +79 -0
- package/public-api.d.ts +39 -0
- package/schematics/_commons/angular-cli-devkit-core-strings.d.ts +93 -0
- package/schematics/_commons/angular-cli-devkit-core-strings.js +167 -0
- package/schematics/_commons/angular-cli-devkit-core-strings.js.map +1 -0
- package/schematics/_commons/import-to-add.d.ts +5 -0
- package/schematics/_commons/import-to-add.js +11 -0
- package/schematics/_commons/import-to-add.js.map +1 -0
- package/schematics/_commons/view-class-info.d.ts +22 -0
- package/schematics/_commons/view-class-info.js +58 -0
- package/schematics/_commons/view-class-info.js.map +1 -0
- package/schematics/_utility/models/file-data.d.ts +6 -0
- package/schematics/_utility/models/file-data.js +3 -0
- package/schematics/_utility/models/file-data.js.map +1 -0
- package/schematics/_utility/models/file-system-node.d.ts +6 -0
- package/schematics/_utility/models/file-system-node.js +12 -0
- package/schematics/_utility/models/file-system-node.js.map +1 -0
- package/schematics/_utility/models/project-info.d.ts +13 -0
- package/schematics/_utility/models/project-info.js +20 -0
- package/schematics/_utility/models/project-info.js.map +1 -0
- package/schematics/_utility/modified-library-functions.d.ts +24 -0
- package/schematics/_utility/modified-library-functions.js +150 -0
- package/schematics/_utility/modified-library-functions.js.map +1 -0
- package/schematics/_utility/utility-functions.d.ts +60 -0
- package/schematics/_utility/utility-functions.js +221 -0
- package/schematics/_utility/utility-functions.js.map +1 -0
- package/schematics/add/add/index.d.ts +2 -0
- package/schematics/add/add/index.js +27 -0
- package/schematics/add/add/index.js.map +1 -0
- package/schematics/add/create-nae-files/files/app-routing.module.ts.template +13 -0
- package/schematics/add/create-nae-files/index.d.ts +2 -0
- package/schematics/add/create-nae-files/index.js +154 -0
- package/schematics/add/create-nae-files/index.js.map +1 -0
- package/schematics/add/create-nae-files/schema.json +7 -0
- package/schematics/collection.json +30 -0
- package/schematics/configuration-service/files/__project@dasherize__-configuration.service.ts.template +13 -0
- package/schematics/configuration-service/schema.json +7 -0
- package/schematics/configuration-service/schematic-create-configuration-service.d.ts +2 -0
- package/schematics/configuration-service/schematic-create-configuration-service.js +41 -0
- package/schematics/configuration-service/schematic-create-configuration-service.js.map +1 -0
- package/schematics/migrations/4.1/migration-4.1.d.ts +5 -0
- package/schematics/migrations/4.1/migration-4.1.js +37 -0
- package/schematics/migrations/4.1/migration-4.1.js.map +1 -0
- package/schematics/migrations.json +10 -0
- package/schematics/view/_utility/view-service-functions.d.ts +9 -0
- package/schematics/view/_utility/view-service-functions.js +59 -0
- package/schematics/view/_utility/view-service-functions.js.map +1 -0
- package/schematics/view/_utility/view-utility-functions.d.ts +7 -0
- package/schematics/view/_utility/view-utility-functions.js +53 -0
- package/schematics/view/_utility/view-utility-functions.js.map +1 -0
- package/schematics/view-service/files/__project@dasherize__-view.service.ts.template +14 -0
- package/schematics/view-service/schema.json +7 -0
- package/schematics/view-service/schematic-create-view-service.d.ts +2 -0
- package/schematics/view-service/schematic-create-view-service.js +25 -0
- package/schematics/view-service/schematic-create-view-service.js.map +1 -0
- package/src/assets/i18n/de.json +419 -0
- package/src/assets/i18n/en.json +419 -0
- package/src/assets/i18n/sk.json +419 -0
- package/src/schema/nae-schema.json +770 -0
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
import { Inject, Injectable, Optional } from '@angular/core';
|
|
2
|
+
import { BooleanOperator } from '../models/boolean-operator';
|
|
3
|
+
import { Filter } from '../../filter/models/filter';
|
|
4
|
+
import { BehaviorSubject, forkJoin, Observable, Subject } from 'rxjs';
|
|
5
|
+
import { SimpleFilter } from '../../filter/models/simple-filter';
|
|
6
|
+
import { MergeOperator } from '../../filter/models/merge-operator';
|
|
7
|
+
import { distinctUntilChanged, map, tap } from 'rxjs/operators';
|
|
8
|
+
import { EditableClausePredicateWithGenerators } from '../models/predicate/editable-clause-predicate-with-generators';
|
|
9
|
+
import { NAE_BASE_FILTER } from '../models/base-filter-injection-token';
|
|
10
|
+
import { LoggerService } from '../../logger/services/logger.service';
|
|
11
|
+
import { CategoryFactory } from '../category-factory/category-factory';
|
|
12
|
+
import { LoadingEmitter } from '../../utility/loading-emitter';
|
|
13
|
+
/**
|
|
14
|
+
* Holds information about the filter that is currently applied to the view component, that provides this services.
|
|
15
|
+
*/
|
|
16
|
+
export class SearchService {
|
|
17
|
+
/**
|
|
18
|
+
* The {@link Predicate} tree root uses an [AND]{@link BooleanOperator#AND} operator to combine the Predicates.
|
|
19
|
+
* @param _log {@link LoggerService}
|
|
20
|
+
* @param _categoryFactory a {@link CategoryFactory} instance. This dependency is optional.
|
|
21
|
+
* It is required if we want to load predicate filter from saved metadata
|
|
22
|
+
* @param baseFilter Filter that should be applied to the view when no searching is being performed.
|
|
23
|
+
* Injected trough the {@link NAE_BASE_FILTER} injection token.
|
|
24
|
+
*/
|
|
25
|
+
constructor(_log, _categoryFactory, baseFilter) {
|
|
26
|
+
this._log = _log;
|
|
27
|
+
this._categoryFactory = _categoryFactory;
|
|
28
|
+
if (baseFilter.filter instanceof Filter) {
|
|
29
|
+
this._baseFilter = baseFilter.filter.clone();
|
|
30
|
+
}
|
|
31
|
+
else if (baseFilter.filter instanceof Observable) {
|
|
32
|
+
this._baseFilter = new SimpleFilter('', baseFilter.filterType, { process: { identifier: '__EMPTY__' } });
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
throw new Error('Unsupported BaseFilter input! You must provide the NAE_BASE_FILTER injection token with proper values!');
|
|
36
|
+
}
|
|
37
|
+
this._predicateQueryChanged$ = new Subject();
|
|
38
|
+
this._rootPredicate = new EditableClausePredicateWithGenerators(BooleanOperator.AND, this._predicateQueryChanged$, undefined, true);
|
|
39
|
+
this._activeFilter = new BehaviorSubject(this._baseFilter);
|
|
40
|
+
this._predicateRemoved$ = new Subject();
|
|
41
|
+
this._loadingFromMetadata$ = new LoadingEmitter();
|
|
42
|
+
if (baseFilter.filter instanceof Observable) {
|
|
43
|
+
this.subFilter = baseFilter.filter.subscribe((filter) => {
|
|
44
|
+
this._baseFilter = filter.clone();
|
|
45
|
+
this.updateActiveFilter();
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
this.predicateQueryChanged$.subscribe(() => {
|
|
49
|
+
this.updateActiveFilter();
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
ngOnDestroy() {
|
|
53
|
+
this._predicateRemoved$.complete();
|
|
54
|
+
this._activeFilter.complete();
|
|
55
|
+
this._predicateQueryChanged$.complete();
|
|
56
|
+
if (this.subFilter) {
|
|
57
|
+
this.subFilter.unsubscribe();
|
|
58
|
+
}
|
|
59
|
+
this._loadingFromMetadata$.complete();
|
|
60
|
+
this._rootPredicate.destroy();
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* @returns the Filter that is currently applied to the view
|
|
64
|
+
*/
|
|
65
|
+
get activeFilter() {
|
|
66
|
+
return this._activeFilter.getValue();
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* @returns an `Observable` that updates every time the active Filter changes.
|
|
70
|
+
*/
|
|
71
|
+
get activeFilter$() {
|
|
72
|
+
return this._activeFilter.asObservable();
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* @returns `true` if a filter other than the base filter is currently applied.
|
|
76
|
+
* Returns `false` if only the base filter is currently applied.
|
|
77
|
+
*/
|
|
78
|
+
get additionalFiltersApplied() {
|
|
79
|
+
return !this._rootPredicate.query.isEmpty || !!this._fullTextFilter;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* @returns `true` if any visible predicates are applied.
|
|
83
|
+
* Returns `false` if there are no predicates, or if there are only hidden predicates applied
|
|
84
|
+
*/
|
|
85
|
+
get hasVisiblePredicates() {
|
|
86
|
+
for (const predicate of this._rootPredicate.getPredicateMap().values()) {
|
|
87
|
+
if (predicate.isVisible) {
|
|
88
|
+
return true;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* @returns a copy of the base filter
|
|
95
|
+
*/
|
|
96
|
+
get baseFilter() {
|
|
97
|
+
return this._baseFilter.clone();
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* @returns an Observable that emits the index of the removed predicate whenever a predicate is removed
|
|
101
|
+
*/
|
|
102
|
+
get predicateRemoved$() {
|
|
103
|
+
return this._predicateRemoved$.asObservable();
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* @returns the root predicate of the search service, that can be used to generate search requests with custom queries
|
|
107
|
+
*/
|
|
108
|
+
get rootPredicate() {
|
|
109
|
+
return this._rootPredicate;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* @returns the type of the filter held in this search service instance
|
|
113
|
+
*/
|
|
114
|
+
get filterType() {
|
|
115
|
+
return this.baseFilter.type;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* @returns whether the search service is currently loading its state from metadata or not.
|
|
119
|
+
*
|
|
120
|
+
* See [loadFromMetadata()]{@link SearchService#loadFromMetadata}
|
|
121
|
+
*/
|
|
122
|
+
get loadingFromMetadata() {
|
|
123
|
+
return this._loadingFromMetadata$.value;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* @returns an `Observable` that emits `true` if the search service is currently loading its state from metadata,
|
|
127
|
+
* emits `false` otherwise.
|
|
128
|
+
*
|
|
129
|
+
* See [loadFromMetadata()]{@link SearchService#loadFromMetadata}
|
|
130
|
+
*/
|
|
131
|
+
get loadingFromMetadata$() {
|
|
132
|
+
return this._loadingFromMetadata$.asObservable();
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* @returns an Observable that emits whenever the root predicates query changes
|
|
136
|
+
*/
|
|
137
|
+
get predicateQueryChanged$() {
|
|
138
|
+
return this._predicateQueryChanged$.asObservable().pipe(map(() => this._rootPredicate.query), distinctUntilChanged((prev, curr) => prev && prev.equals(curr)));
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Adds a {@link Predicate} to the Predicate root and updates the active Filter.
|
|
142
|
+
*
|
|
143
|
+
* Predicates added this way will not be visible in the search GUI.
|
|
144
|
+
* If you want to make sure your predicates are visible (and editable)
|
|
145
|
+
* use the [addGeneratedLeafPredicate()]{@link SearchService#addGeneratedLeafPredicate} method instead.
|
|
146
|
+
* @param newPredicate Predicate that should be added to the search queries.
|
|
147
|
+
* @returns the index of the added Predicate
|
|
148
|
+
*/
|
|
149
|
+
addPredicate(newPredicate) {
|
|
150
|
+
return this._rootPredicate.addPredicate(newPredicate, false);
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Adds a new hidden branch of the predicate tree with a singular leaf node containing the provided Query.
|
|
154
|
+
*
|
|
155
|
+
* This can be used to add predicates to the search tree (think header search),
|
|
156
|
+
* which can be made visible and editable in the search GUI later.
|
|
157
|
+
* @param generator the generator that is in such state, that it generates the Query, that should be added as branch/leaf.
|
|
158
|
+
* If the generator doesn't currently generate a query a node with an empty query will be added.
|
|
159
|
+
*/
|
|
160
|
+
addGeneratedLeafPredicate(generator) {
|
|
161
|
+
const branchId = this._rootPredicate.addNewClausePredicate(BooleanOperator.OR, false);
|
|
162
|
+
const branch = this._rootPredicate.getPredicateMap().get(branchId).getWrappedPredicate();
|
|
163
|
+
branch.addNewPredicateFromGenerator(generator);
|
|
164
|
+
return branchId;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Removes the {@link Predicate} object from the provided index. If the index is invalid does nothing.
|
|
168
|
+
* Updates the the active Filter if the Predicate tree was affected.
|
|
169
|
+
* @param index index of the Predicate that should be removed
|
|
170
|
+
* @param clearInput whether the input, that corresponds to the predicate should be cleared
|
|
171
|
+
*/
|
|
172
|
+
removePredicate(index, clearInput = true) {
|
|
173
|
+
if (this._rootPredicate.removePredicate(index)) {
|
|
174
|
+
this._predicateRemoved$.next({ index, clearInput });
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Removes all {@link Predicate} objects that contribute to the search. Updates the active Filter if it was affected.
|
|
179
|
+
*
|
|
180
|
+
* @param clearHidden whether the hidden predicates should be cleared as well
|
|
181
|
+
*/
|
|
182
|
+
clearPredicates(clearHidden = false) {
|
|
183
|
+
if (this._rootPredicate.getPredicateMap().size > 0) {
|
|
184
|
+
for (const [id, predicate] of this._rootPredicate.getPredicateMap().entries()) {
|
|
185
|
+
if (clearHidden || predicate.isVisible) {
|
|
186
|
+
this.removePredicate(id);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
this.updateActiveFilter();
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Adds a {@link Filter} with the [fullText]{@link CaseSearchRequestBody#fullText} attribute set to the provided value.
|
|
194
|
+
* If full text filter is already set, it will be replaced.
|
|
195
|
+
* @param searchedSubstring value that should be searched on all full text fields
|
|
196
|
+
*/
|
|
197
|
+
setFullTextFilter(searchedSubstring) {
|
|
198
|
+
this._fullTextFilter = new SimpleFilter('', this._baseFilter.type, { fullText: searchedSubstring });
|
|
199
|
+
this.updateActiveFilter();
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Clears the full text filter (if set). If the full text filter is not set, does nothing.
|
|
203
|
+
*/
|
|
204
|
+
clearFullTextFilter() {
|
|
205
|
+
const wasFulltextSet = this._fullTextFilter !== undefined;
|
|
206
|
+
this._fullTextFilter = undefined;
|
|
207
|
+
if (wasFulltextSet) {
|
|
208
|
+
this.updateActiveFilter();
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Shows the predicates with the given ids. Skips ids that don't exist.
|
|
213
|
+
* @param predicateIds the ids of the predicates that should be shown.
|
|
214
|
+
*/
|
|
215
|
+
show(predicateIds) {
|
|
216
|
+
this._rootPredicate.showPredicates(predicateIds);
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Reads the current query from the predicate tree, combines it with the base Filter and full text Filter (if set)
|
|
220
|
+
* and updates the active Filter.
|
|
221
|
+
*/
|
|
222
|
+
updateActiveFilter() {
|
|
223
|
+
let additionalFilter;
|
|
224
|
+
if (!this._rootPredicate.query.isEmpty) {
|
|
225
|
+
additionalFilter = new SimpleFilter('', this._baseFilter.type, { query: this._rootPredicate.query.value });
|
|
226
|
+
}
|
|
227
|
+
if (this._fullTextFilter) {
|
|
228
|
+
if (additionalFilter) {
|
|
229
|
+
additionalFilter = additionalFilter.merge(this._fullTextFilter, MergeOperator.AND);
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
additionalFilter = this._fullTextFilter;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
if (additionalFilter) {
|
|
236
|
+
this._activeFilter.next(this._baseFilter.merge(additionalFilter, MergeOperator.AND));
|
|
237
|
+
}
|
|
238
|
+
else {
|
|
239
|
+
this._activeFilter.next(this._baseFilter.clone());
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* @returns `undefined` if the predicate tree contains no complete query.
|
|
244
|
+
* Otherwise returns the serialized form of the completed queries in the predicate tree.
|
|
245
|
+
*/
|
|
246
|
+
createPredicateMetadata() {
|
|
247
|
+
return this._rootPredicate.createGeneratorMetadata();
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Replaces the current predicate filter by the one corresponding to the provided generator metadata.
|
|
251
|
+
*
|
|
252
|
+
* The {@link CategoryFactory} instance must be provided for this service if we want to use this method. Logs an error and does nothing.
|
|
253
|
+
*
|
|
254
|
+
* The `filterType` of this search service must match the `filterType` of the provided metadata. Otherwise an error is thrown.
|
|
255
|
+
*
|
|
256
|
+
* @param metadata the serialized state of the predicate tree that should be restored to this search service
|
|
257
|
+
*/
|
|
258
|
+
loadFromMetadata(metadata) {
|
|
259
|
+
if (this._categoryFactory === null) {
|
|
260
|
+
this._log.error('A CategoryFactory instance must be provided for the SearchService'
|
|
261
|
+
+ ' if you want to reconstruct a predicate filter from saved metadata');
|
|
262
|
+
return;
|
|
263
|
+
}
|
|
264
|
+
if (metadata.filterType !== this.filterType) {
|
|
265
|
+
throw Error(`The filter type of the provided metadata (${metadata.filterType}) does not match the filter type of the search service (${this.filterType})!`);
|
|
266
|
+
}
|
|
267
|
+
this.clearPredicates(true);
|
|
268
|
+
this._loadingFromMetadata$.on();
|
|
269
|
+
const generatorObservables = [];
|
|
270
|
+
for (const clause of metadata.predicateMetadata) {
|
|
271
|
+
const branchId = this._rootPredicate.addNewClausePredicate(BooleanOperator.OR);
|
|
272
|
+
const branchPredicate = this._rootPredicate.getPredicateMap().get(branchId)
|
|
273
|
+
.getWrappedPredicate();
|
|
274
|
+
for (const predicate of clause) {
|
|
275
|
+
const localBranchReference = branchPredicate;
|
|
276
|
+
generatorObservables.push(this._categoryFactory.getFromMetadata(predicate).pipe(tap(generator => {
|
|
277
|
+
localBranchReference.addNewPredicateFromGenerator(generator);
|
|
278
|
+
})));
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
forkJoin(generatorObservables).subscribe(() => {
|
|
282
|
+
this._loadingFromMetadata$.off();
|
|
283
|
+
this.updateActiveFilter();
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* @returns an Array of filter text segments that correspond to the currently displayed completed predicates
|
|
288
|
+
*/
|
|
289
|
+
createFilterTextSegments() {
|
|
290
|
+
return this._rootPredicate.createFilterTextSegments();
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
SearchService.ctorParameters = () => [
|
|
294
|
+
{ type: LoggerService },
|
|
295
|
+
{ type: CategoryFactory, decorators: [{ type: Optional }] },
|
|
296
|
+
{ type: undefined, decorators: [{ type: Inject, args: [NAE_BASE_FILTER,] }] }
|
|
297
|
+
];
|
|
298
|
+
SearchService.decorators = [
|
|
299
|
+
{ type: Injectable }
|
|
300
|
+
];
|
|
301
|
+
SearchService.ctorParameters = () => [
|
|
302
|
+
{ type: LoggerService },
|
|
303
|
+
{ type: CategoryFactory, decorators: [{ type: Optional }] },
|
|
304
|
+
{ type: undefined, decorators: [{ type: Inject, args: [NAE_BASE_FILTER,] }] }
|
|
305
|
+
];
|
|
306
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUvIiwic291cmNlcyI6WyJsaWIvc2VhcmNoL3NlYXJjaC1zZXJ2aWNlL3NlYXJjaC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFhLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxlQUFlLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQWUsTUFBTSxNQUFNLENBQUM7QUFFbEYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQy9ELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUdqRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBQyxxQ0FBcUMsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBR3BILE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUV0RSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDbkUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBRXJFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUk3RDs7R0FFRztBQUVILE1BQU0sT0FBTyxhQUFhO0lBNkJ0Qjs7Ozs7OztPQU9HO0lBQ0gsWUFBc0IsSUFBbUIsRUFDUCxnQkFBaUMsRUFDOUIsVUFBc0I7UUFGckMsU0FBSSxHQUFKLElBQUksQ0FBZTtRQUNQLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7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TUFBTSxTQUFTLElBQUksTUFBTSxFQUFFO2dCQUM1QixNQUFNLG9CQUFvQixHQUFHLGVBQWUsQ0FBQztnQkFDN0Msb0JBQW9CLENBQUMsSUFBSSxDQUNyQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUU7b0JBQ2xFLG9CQUFvQixDQUFDLDRCQUE0QixDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUNqRSxDQUFDLENBQUMsQ0FBQyxDQUNOLENBQUM7YUFDTDtTQUNKO1FBRUQsUUFBUSxDQUFDLG9CQUFvQixDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMxQyxJQUFJLENBQUMscUJBQXFCLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7O09BRUc7SUFDSSx3QkFBd0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDMUQsQ0FBQzs7O1lBL1MyQixhQUFhO1lBQ1csZUFBZSx1QkFBdEQsUUFBUTs0Q0FDUixNQUFNLFNBQUMsZUFBZTs7O1lBeEN0QyxVQUFVOzs7WUFWSCxhQUFhO1lBQ2IsZUFBZSx1QkFnRE4sUUFBUTs0Q0FDUixNQUFNLFNBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Qm9vbGVhbk9wZXJhdG9yfSBmcm9tICcuLi9tb2RlbHMvYm9vbGVhbi1vcGVyYXRvcic7XG5pbXBvcnQge0ZpbHRlcn0gZnJvbSAnLi4vLi4vZmlsdGVyL21vZGVscy9maWx0ZXInO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGZvcmtKb2luLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtQcmVkaWNhdGV9IGZyb20gJy4uL21vZGVscy9wcmVkaWNhdGUvcHJlZGljYXRlJztcbmltcG9ydCB7U2ltcGxlRmlsdGVyfSBmcm9tICcuLi8uLi9maWx0ZXIvbW9kZWxzL3NpbXBsZS1maWx0ZXInO1xuaW1wb3J0IHtNZXJnZU9wZXJhdG9yfSBmcm9tICcuLi8uLi9maWx0ZXIvbW9kZWxzL21lcmdlLW9wZXJhdG9yJztcbmltcG9ydCB7UHJlZGljYXRlUmVtb3ZhbEV2ZW50fSBmcm9tICcuLi9tb2RlbHMvcHJlZGljYXRlLXJlbW92YWwtZXZlbnQnO1xuaW1wb3J0IHtRdWVyeX0gZnJvbSAnLi4vbW9kZWxzL3F1ZXJ5L3F1ZXJ5JztcbmltcG9ydCB7ZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0VkaXRhYmxlQ2xhdXNlUHJlZGljYXRlV2l0aEdlbmVyYXRvcnN9IGZyb20gJy4uL21vZGVscy9wcmVkaWNhdGUvZWRpdGFibGUtY2xhdXNlLXByZWRpY2F0ZS13aXRoLWdlbmVyYXRvcnMnO1xuaW1wb3J0IHtDYXRlZ29yeX0gZnJvbSAnLi4vbW9kZWxzL2NhdGVnb3J5L2NhdGVnb3J5JztcbmltcG9ydCB7UHJlZGljYXRlVHJlZU1ldGFkYXRhfSBmcm9tICcuLi9tb2RlbHMvcGVyc2lzdGFuY2UvZ2VuZXJhdG9yLW1ldGFkYXRhJztcbmltcG9ydCB7TkFFX0JBU0VfRklMVEVSfSBmcm9tICcuLi9tb2RlbHMvYmFzZS1maWx0ZXItaW5qZWN0aW9uLXRva2VuJztcbmltcG9ydCB7QmFzZUZpbHRlcn0gZnJvbSAnLi4vbW9kZWxzL2Jhc2UtZmlsdGVyJztcbmltcG9ydCB7TG9nZ2VyU2VydmljZX0gZnJvbSAnLi4vLi4vbG9nZ2VyL3NlcnZpY2VzL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7Q2F0ZWdvcnlGYWN0b3J5fSBmcm9tICcuLi9jYXRlZ29yeS1mYWN0b3J5L2NhdGVnb3J5LWZhY3RvcnknO1xuaW1wb3J0IHtGaWx0ZXJUeXBlfSBmcm9tICcuLi8uLi9maWx0ZXIvbW9kZWxzL2ZpbHRlci10eXBlJztcbmltcG9ydCB7TG9hZGluZ0VtaXR0ZXJ9IGZyb20gJy4uLy4uL3V0aWxpdHkvbG9hZGluZy1lbWl0dGVyJztcbmltcG9ydCB7RmlsdGVyTWV0YWRhdGF9IGZyb20gJy4uL21vZGVscy9wZXJzaXN0YW5jZS9maWx0ZXItbWV0YWRhdGEnO1xuaW1wb3J0IHtGaWx0ZXJUZXh0U2VnbWVudH0gZnJvbSAnLi4vbW9kZWxzL3BlcnNpc3RhbmNlL2ZpbHRlci10ZXh0LXNlZ21lbnQnO1xuXG4vKipcbiAqIEhvbGRzIGluZm9ybWF0aW9uIGFib3V0IHRoZSBmaWx0ZXIgdGhhdCBpcyBjdXJyZW50bHkgYXBwbGllZCB0byB0aGUgdmlldyBjb21wb25lbnQsIHRoYXQgcHJvdmlkZXMgdGhpcyBzZXJ2aWNlcy5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNlYXJjaFNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIEZpbHRlcn0gdGhhdCBpcyBhcHBsaWVkIHRvIHRoZSB2aWV3LCBldmVuIGlmIHRoZSB1c2VyIGRvZXNuJ3Qgc2VhcmNoIGFueXRoaW5nLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBfYmFzZUZpbHRlcjogRmlsdGVyO1xuICAgIC8qKlxuICAgICAqIEhvbGRzIHRoZSB7QGxpbmsgUHJlZGljYXRlfSB0cmVlIHJvb3QgZm9yIHVzZXIgc2VhcmNoIHF1ZXJpZXMuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF9yb290UHJlZGljYXRlOiBFZGl0YWJsZUNsYXVzZVByZWRpY2F0ZVdpdGhHZW5lcmF0b3JzO1xuICAgIC8qKlxuICAgICAqIEhvbGRzIHRoZSB7QGxpbmsgRmlsdGVyfSB0aGF0IGlzIGN1cnJlbnRseSBiZWluZyBhcHBsaWVkIHRvIHRoZSB2aWV3LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBfYWN0aXZlRmlsdGVyOiBCZWhhdmlvclN1YmplY3Q8RmlsdGVyPjtcbiAgICAvKipcbiAgICAgKiBIb2xkcyB0aGUgZnVsbCB0ZXh0IHtAbGluayBGaWx0ZXJ9IGlmIHNldCwgYHVuZGVmaW5lZGAgb3RoZXJ3aXNlLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBfZnVsbFRleHRGaWx0ZXI6IFNpbXBsZUZpbHRlciB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBUaGUgaW5kZXggb2YgYSByZW1vdmVkIHtAbGluayBQcmVkaWNhdGV9IGlzIGVtbWl0ZWQgaW50byB0aGlzIHN0cmVhbVxuICAgICAqL1xuICAgIHByb3RlY3RlZCBfcHJlZGljYXRlUmVtb3ZlZCQ6IFN1YmplY3Q8UHJlZGljYXRlUmVtb3ZhbEV2ZW50PjtcbiAgICBwcm90ZWN0ZWQgX2xvYWRpbmdGcm9tTWV0YWRhdGEkOiBMb2FkaW5nRW1pdHRlcjtcbiAgICAvKipcbiAgICAgKiBUaGUgYHJvb3RQcmVkaWNhdGVgIHVzZXMgdGhpcyBzdHJlYW0gdG8gbm90aWZ5IHRoZSBzZWFyY2ggc2VydmljZSBhYm91dCBjaGFuZ2VzIHRvIHRoZSBoZWxkIHF1ZXJ5XG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfcHJlZGljYXRlUXVlcnlDaGFuZ2VkJDogU3ViamVjdDx2b2lkPjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN1YkZpbHRlcjogU3Vic2NyaXB0aW9uO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHtAbGluayBQcmVkaWNhdGV9IHRyZWUgcm9vdCB1c2VzIGFuIFtBTkRde0BsaW5rIEJvb2xlYW5PcGVyYXRvciNBTkR9IG9wZXJhdG9yIHRvIGNvbWJpbmUgdGhlIFByZWRpY2F0ZXMuXG4gICAgICogQHBhcmFtIF9sb2cge0BsaW5rIExvZ2dlclNlcnZpY2V9XG4gICAgICogQHBhcmFtIF9jYXRlZ29yeUZhY3RvcnkgYSB7QGxpbmsgQ2F0ZWdvcnlGYWN0b3J5fSBpbnN0YW5jZS4gVGhpcyBkZXBlbmRlbmN5IGlzIG9wdGlvbmFsLlxuICAgICAqIEl0IGlzIHJlcXVpcmVkIGlmIHdlIHdhbnQgdG8gbG9hZCBwcmVkaWNhdGUgZmlsdGVyIGZyb20gc2F2ZWQgbWV0YWRhdGFcbiAgICAgKiBAcGFyYW0gYmFzZUZpbHRlciBGaWx0ZXIgdGhhdCBzaG91bGQgYmUgYXBwbGllZCB0byB0aGUgdmlldyB3aGVuIG5vIHNlYXJjaGluZyBpcyBiZWluZyBwZXJmb3JtZWQuXG4gICAgICogSW5qZWN0ZWQgdHJvdWdoIHRoZSB7QGxpbmsgTkFFX0JBU0VfRklMVEVSfSBpbmplY3Rpb24gdG9rZW4uXG4gICAgICovXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9sb2c6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIF9jYXRlZ29yeUZhY3Rvcnk6IENhdGVnb3J5RmFjdG9yeSxcbiAgICAgICAgICAgICAgICBASW5qZWN0KE5BRV9CQVNFX0ZJTFRFUikgYmFzZUZpbHRlcjogQmFzZUZpbHRlcikge1xuICAgICAgICBpZiAoYmFzZUZpbHRlci5maWx0ZXIgaW5zdGFuY2VvZiBGaWx0ZXIpIHtcbiAgICAgICAgICAgIHRoaXMuX2Jhc2VGaWx0ZXIgPSBiYXNlRmlsdGVyLmZpbHRlci5jbG9uZSgpO1xuICAgICAgICB9IGVsc2UgaWYgKGJhc2VGaWx0ZXIuZmlsdGVyIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgICAgICAgdGhpcy5fYmFzZUZpbHRlciA9IG5ldyBTaW1wbGVGaWx0ZXIoJycsIGJhc2VGaWx0ZXIuZmlsdGVyVHlwZSwge3Byb2Nlc3M6IHtpZGVudGlmaWVyOiAnX19FTVBUWV9fJ319KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgQmFzZUZpbHRlciBpbnB1dCEgWW91IG11c3QgcHJvdmlkZSB0aGUgTkFFX0JBU0VfRklMVEVSIGluamVjdGlvbiB0b2tlbiB3aXRoIHByb3BlciB2YWx1ZXMhJyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9wcmVkaWNhdGVRdWVyeUNoYW5nZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICAgICAgdGhpcy5fcm9vdFByZWRpY2F0ZSA9IG5ldyBFZGl0YWJsZUNsYXVzZVByZWRpY2F0ZVdpdGhHZW5lcmF0b3JzKEJvb2xlYW5PcGVyYXRvci5BTkQsIHRoaXMuX3ByZWRpY2F0ZVF1ZXJ5Q2hhbmdlZCQsIHVuZGVmaW5lZCwgdHJ1ZSk7XG4gICAgICAgIHRoaXMuX2FjdGl2ZUZpbHRlciA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RmlsdGVyPih0aGlzLl9iYXNlRmlsdGVyKTtcbiAgICAgICAgdGhpcy5fcHJlZGljYXRlUmVtb3ZlZCQgPSBuZXcgU3ViamVjdDxQcmVkaWNhdGVSZW1vdmFsRXZlbnQ+KCk7XG4gICAgICAgIHRoaXMuX2xvYWRpbmdGcm9tTWV0YWRhdGEkID0gbmV3IExvYWRpbmdFbWl0dGVyKCk7XG5cbiAgICAgICAgaWYgKGJhc2VGaWx0ZXIuZmlsdGVyIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgICAgICAgdGhpcy5zdWJGaWx0ZXIgPSBiYXNlRmlsdGVyLmZpbHRlci5zdWJzY3JpYmUoKGZpbHRlcikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2Jhc2VGaWx0ZXIgPSBmaWx0ZXIuY2xvbmUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUFjdGl2ZUZpbHRlcigpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByZWRpY2F0ZVF1ZXJ5Q2hhbmdlZCQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQWN0aXZlRmlsdGVyKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9wcmVkaWNhdGVSZW1vdmVkJC5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLl9hY3RpdmVGaWx0ZXIuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5fcHJlZGljYXRlUXVlcnlDaGFuZ2VkJC5jb21wbGV0ZSgpO1xuICAgICAgICBpZiAodGhpcy5zdWJGaWx0ZXIpIHtcbiAgICAgICAgICAgIHRoaXMuc3ViRmlsdGVyLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fbG9hZGluZ0Zyb21NZXRhZGF0YSQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5fcm9vdFByZWRpY2F0ZS5kZXN0cm95KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgdGhlIEZpbHRlciB0aGF0IGlzIGN1cnJlbnRseSBhcHBsaWVkIHRvIHRoZSB2aWV3XG4gICAgICovXG4gICAgcHVibGljIGdldCBhY3RpdmVGaWx0ZXIoKTogRmlsdGVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FjdGl2ZUZpbHRlci5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEByZXR1cm5zIGFuIGBPYnNlcnZhYmxlYCB0aGF0IHVwZGF0ZXMgZXZlcnkgdGltZSB0aGUgYWN0aXZlIEZpbHRlciBjaGFuZ2VzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgYWN0aXZlRmlsdGVyJCgpOiBPYnNlcnZhYmxlPEZpbHRlcj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWN0aXZlRmlsdGVyLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEByZXR1cm5zIGB0cnVlYCBpZiBhIGZpbHRlciBvdGhlciB0aGFuIHRoZSBiYXNlIGZpbHRlciBpcyBjdXJyZW50bHkgYXBwbGllZC5cbiAgICAgKiBSZXR1cm5zIGBmYWxzZWAgaWYgb25seSB0aGUgYmFzZSBmaWx0ZXIgaXMgY3VycmVudGx5IGFwcGxpZWQuXG4gICAgICovXG4gICAgcHVibGljIGdldCBhZGRpdGlvbmFsRmlsdGVyc0FwcGxpZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5fcm9vdFByZWRpY2F0ZS5xdWVyeS5pc0VtcHR5IHx8ICEhdGhpcy5fZnVsbFRleHRGaWx0ZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIGFueSB2aXNpYmxlIHByZWRpY2F0ZXMgYXJlIGFwcGxpZWQuXG4gICAgICogUmV0dXJucyBgZmFsc2VgIGlmIHRoZXJlIGFyZSBubyBwcmVkaWNhdGVzLCBvciBpZiB0aGVyZSBhcmUgb25seSBoaWRkZW4gcHJlZGljYXRlcyBhcHBsaWVkXG4gICAgICovXG4gICAgcHVibGljIGdldCBoYXNWaXNpYmxlUHJlZGljYXRlcygpOiBib29sZWFuIHtcbiAgICAgICAgZm9yIChjb25zdCBwcmVkaWNhdGUgb2YgdGhpcy5fcm9vdFByZWRpY2F0ZS5nZXRQcmVkaWNhdGVNYXAoKS52YWx1ZXMoKSkge1xuICAgICAgICAgICAgaWYgKHByZWRpY2F0ZS5pc1Zpc2libGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgYSBjb3B5IG9mIHRoZSBiYXNlIGZpbHRlclxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgYmFzZUZpbHRlcigpOiBGaWx0ZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fYmFzZUZpbHRlci5jbG9uZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgaW5kZXggb2YgdGhlIHJlbW92ZWQgcHJlZGljYXRlIHdoZW5ldmVyIGEgcHJlZGljYXRlIGlzIHJlbW92ZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IHByZWRpY2F0ZVJlbW92ZWQkKCk6IE9ic2VydmFibGU8UHJlZGljYXRlUmVtb3ZhbEV2ZW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wcmVkaWNhdGVSZW1vdmVkJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyB0aGUgcm9vdCBwcmVkaWNhdGUgb2YgdGhlIHNlYXJjaCBzZXJ2aWNlLCB0aGF0IGNhbiBiZSB1c2VkIHRvIGdlbmVyYXRlIHNlYXJjaCByZXF1ZXN0cyB3aXRoIGN1c3RvbSBxdWVyaWVzXG4gICAgICovXG4gICAgcHVibGljIGdldCByb290UHJlZGljYXRlKCk6IEVkaXRhYmxlQ2xhdXNlUHJlZGljYXRlV2l0aEdlbmVyYXRvcnMge1xuICAgICAgICByZXR1cm4gdGhpcy5fcm9vdFByZWRpY2F0ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyB0aGUgdHlwZSBvZiB0aGUgZmlsdGVyIGhlbGQgaW4gdGhpcyBzZWFyY2ggc2VydmljZSBpbnN0YW5jZVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgZmlsdGVyVHlwZSgpOiBGaWx0ZXJUeXBlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZUZpbHRlci50eXBlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEByZXR1cm5zIHdoZXRoZXIgdGhlIHNlYXJjaCBzZXJ2aWNlIGlzIGN1cnJlbnRseSBsb2FkaW5nIGl0cyBzdGF0ZSBmcm9tIG1ldGFkYXRhIG9yIG5vdC5cbiAgICAgKlxuICAgICAqIFNlZSBbbG9hZEZyb21NZXRhZGF0YSgpXXtAbGluayBTZWFyY2hTZXJ2aWNlI2xvYWRGcm9tTWV0YWRhdGF9XG4gICAgICovXG4gICAgcHVibGljIGdldCBsb2FkaW5nRnJvbU1ldGFkYXRhKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fbG9hZGluZ0Zyb21NZXRhZGF0YSQudmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgYW4gYE9ic2VydmFibGVgIHRoYXQgZW1pdHMgYHRydWVgIGlmIHRoZSBzZWFyY2ggc2VydmljZSBpcyBjdXJyZW50bHkgbG9hZGluZyBpdHMgc3RhdGUgZnJvbSBtZXRhZGF0YSxcbiAgICAgKiBlbWl0cyBgZmFsc2VgIG90aGVyd2lzZS5cbiAgICAgKlxuICAgICAqIFNlZSBbbG9hZEZyb21NZXRhZGF0YSgpXXtAbGluayBTZWFyY2hTZXJ2aWNlI2xvYWRGcm9tTWV0YWRhdGF9XG4gICAgICovXG4gICAgcHVibGljIGdldCBsb2FkaW5nRnJvbU1ldGFkYXRhJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvYWRpbmdGcm9tTWV0YWRhdGEkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB3aGVuZXZlciB0aGUgcm9vdCBwcmVkaWNhdGVzIHF1ZXJ5IGNoYW5nZXNcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgZ2V0IHByZWRpY2F0ZVF1ZXJ5Q2hhbmdlZCQoKTogT2JzZXJ2YWJsZTxRdWVyeT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcHJlZGljYXRlUXVlcnlDaGFuZ2VkJC5hc09ic2VydmFibGUoKS5waXBlKFxuICAgICAgICAgICAgbWFwKCgpID0+IHRoaXMuX3Jvb3RQcmVkaWNhdGUucXVlcnkpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKHByZXYsIGN1cnIpID0+IHByZXYgJiYgcHJldi5lcXVhbHMoY3VycikpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcyBhIHtAbGluayBQcmVkaWNhdGV9IHRvIHRoZSBQcmVkaWNhdGUgcm9vdCBhbmQgdXBkYXRlcyB0aGUgYWN0aXZlIEZpbHRlci5cbiAgICAgKlxuICAgICAqIFByZWRpY2F0ZXMgYWRkZWQgdGhpcyB3YXkgd2lsbCBub3QgYmUgdmlzaWJsZSBpbiB0aGUgc2VhcmNoIEdVSS5cbiAgICAgKiBJZiB5b3Ugd2FudCB0byBtYWtlIHN1cmUgeW91ciBwcmVkaWNhdGVzIGFyZSB2aXNpYmxlIChhbmQgZWRpdGFibGUpXG4gICAgICogdXNlIHRoZSBbYWRkR2VuZXJhdGVkTGVhZlByZWRpY2F0ZSgpXXtAbGluayBTZWFyY2hTZXJ2aWNlI2FkZEdlbmVyYXRlZExlYWZQcmVkaWNhdGV9IG1ldGhvZCBpbnN0ZWFkLlxuICAgICAqIEBwYXJhbSBuZXdQcmVkaWNhdGUgUHJlZGljYXRlIHRoYXQgc2hvdWxkIGJlIGFkZGVkIHRvIHRoZSBzZWFyY2ggcXVlcmllcy5cbiAgICAgKiBAcmV0dXJucyB0aGUgaW5kZXggb2YgdGhlIGFkZGVkIFByZWRpY2F0ZVxuICAgICAqL1xuICAgIHB1YmxpYyBhZGRQcmVkaWNhdGUobmV3UHJlZGljYXRlOiBQcmVkaWNhdGUpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fcm9vdFByZWRpY2F0ZS5hZGRQcmVkaWNhdGUobmV3UHJlZGljYXRlLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcyBhIG5ldyBoaWRkZW4gYnJhbmNoIG9mIHRoZSBwcmVkaWNhdGUgdHJlZSB3aXRoIGEgc2luZ3VsYXIgbGVhZiBub2RlIGNvbnRhaW5pbmcgdGhlIHByb3ZpZGVkIFF1ZXJ5LlxuICAgICAqXG4gICAgICogVGhpcyBjYW4gYmUgdXNlZCB0byBhZGQgcHJlZGljYXRlcyB0byB0aGUgc2VhcmNoIHRyZWUgKHRoaW5rIGhlYWRlciBzZWFyY2gpLFxuICAgICAqIHdoaWNoIGNhbiBiZSBtYWRlIHZpc2libGUgYW5kIGVkaXRhYmxlIGluIHRoZSBzZWFyY2ggR1VJIGxhdGVyLlxuICAgICAqIEBwYXJhbSBnZW5lcmF0b3IgdGhlIGdlbmVyYXRvciB0aGF0IGlzIGluIHN1Y2ggc3RhdGUsIHRoYXQgaXQgZ2VuZXJhdGVzIHRoZSBRdWVyeSwgdGhhdCBzaG91bGQgYmUgYWRkZWQgYXMgYnJhbmNoL2xlYWYuXG4gICAgICogSWYgdGhlIGdlbmVyYXRvciBkb2Vzbid0IGN1cnJlbnRseSBnZW5lcmF0ZSBhIHF1ZXJ5IGEgbm9kZSB3aXRoIGFuIGVtcHR5IHF1ZXJ5IHdpbGwgYmUgYWRkZWQuXG4gICAgICovXG4gICAgcHVibGljIGFkZEdlbmVyYXRlZExlYWZQcmVkaWNhdGUoZ2VuZXJhdG9yOiBDYXRlZ29yeTxhbnk+KTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgYnJhbmNoSWQgPSB0aGlzLl9yb290UHJlZGljYXRlLmFkZE5ld0NsYXVzZVByZWRpY2F0ZShCb29sZWFuT3BlcmF0b3IuT1IsIGZhbHNlKTtcbiAgICAgICAgY29uc3QgYnJhbmNoID0gKFxuICAgICAgICAgICAgdGhpcy5fcm9vdFByZWRpY2F0ZS5nZXRQcmVkaWNhdGVNYXAoKS5nZXQoYnJhbmNoSWQpLmdldFdyYXBwZWRQcmVkaWNhdGUoKSBhcyB1bmtub3duIGFzIEVkaXRhYmxlQ2xhdXNlUHJlZGljYXRlV2l0aEdlbmVyYXRvcnNcbiAgICAgICAgKTtcbiAgICAgICAgYnJhbmNoLmFkZE5ld1ByZWRpY2F0ZUZyb21HZW5lcmF0b3IoZ2VuZXJhdG9yKTtcbiAgICAgICAgcmV0dXJuIGJyYW5jaElkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgdGhlIHtAbGluayBQcmVkaWNhdGV9IG9iamVjdCBmcm9tIHRoZSBwcm92aWRlZCBpbmRleC4gSWYgdGhlIGluZGV4IGlzIGludmFsaWQgZG9lcyBub3RoaW5nLlxuICAgICAqIFVwZGF0ZXMgdGhlIHRoZSBhY3RpdmUgRmlsdGVyIGlmIHRoZSBQcmVkaWNhdGUgdHJlZSB3YXMgYWZmZWN0ZWQuXG4gICAgICogQHBhcmFtIGluZGV4IGluZGV4IG9mIHRoZSBQcmVkaWNhdGUgdGhhdCBzaG91bGQgYmUgcmVtb3ZlZFxuICAgICAqIEBwYXJhbSBjbGVhcklucHV0IHdoZXRoZXIgdGhlIGlucHV0LCB0aGF0IGNvcnJlc3BvbmRzIHRvIHRoZSBwcmVkaWNhdGUgc2hvdWxkIGJlIGNsZWFyZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVtb3ZlUHJlZGljYXRlKGluZGV4OiBudW1iZXIsIGNsZWFySW5wdXQgPSB0cnVlKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9yb290UHJlZGljYXRlLnJlbW92ZVByZWRpY2F0ZShpbmRleCkpIHtcbiAgICAgICAgICAgIHRoaXMuX3ByZWRpY2F0ZVJlbW92ZWQkLm5leHQoe2luZGV4LCBjbGVhcklucHV0fSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGFsbCB7QGxpbmsgUHJlZGljYXRlfSBvYmplY3RzIHRoYXQgY29udHJpYnV0ZSB0byB0aGUgc2VhcmNoLiBVcGRhdGVzIHRoZSBhY3RpdmUgRmlsdGVyIGlmIGl0IHdhcyBhZmZlY3RlZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjbGVhckhpZGRlbiB3aGV0aGVyIHRoZSBoaWRkZW4gcHJlZGljYXRlcyBzaG91bGQgYmUgY2xlYXJlZCBhcyB3ZWxsXG4gICAgICovXG4gICAgcHVibGljIGNsZWFyUHJlZGljYXRlcyhjbGVhckhpZGRlbiA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9yb290UHJlZGljYXRlLmdldFByZWRpY2F0ZU1hcCgpLnNpemUgPiAwKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IFtpZCwgcHJlZGljYXRlXSBvZiB0aGlzLl9yb290UHJlZGljYXRlLmdldFByZWRpY2F0ZU1hcCgpLmVudHJpZXMoKSkge1xuICAgICAgICAgICAgICAgIGlmIChjbGVhckhpZGRlbiB8fCBwcmVkaWNhdGUuaXNWaXNpYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlUHJlZGljYXRlKGlkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUFjdGl2ZUZpbHRlcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcyBhIHtAbGluayBGaWx0ZXJ9IHdpdGggdGhlIFtmdWxsVGV4dF17QGxpbmsgQ2FzZVNlYXJjaFJlcXVlc3RCb2R5I2Z1bGxUZXh0fSBhdHRyaWJ1dGUgc2V0IHRvIHRoZSBwcm92aWRlZCB2YWx1ZS5cbiAgICAgKiBJZiBmdWxsIHRleHQgZmlsdGVyIGlzIGFscmVhZHkgc2V0LCBpdCB3aWxsIGJlIHJlcGxhY2VkLlxuICAgICAqIEBwYXJhbSBzZWFyY2hlZFN1YnN0cmluZyB2YWx1ZSB0aGF0IHNob3VsZCBiZSBzZWFyY2hlZCBvbiBhbGwgZnVsbCB0ZXh0IGZpZWxkc1xuICAgICAqL1xuICAgIHB1YmxpYyBzZXRGdWxsVGV4dEZpbHRlcihzZWFyY2hlZFN1YnN0cmluZzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Z1bGxUZXh0RmlsdGVyID0gbmV3IFNpbXBsZUZpbHRlcignJywgdGhpcy5fYmFzZUZpbHRlci50eXBlLCB7ZnVsbFRleHQ6IHNlYXJjaGVkU3Vic3RyaW5nfSk7XG4gICAgICAgIHRoaXMudXBkYXRlQWN0aXZlRmlsdGVyKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xlYXJzIHRoZSBmdWxsIHRleHQgZmlsdGVyIChpZiBzZXQpLiBJZiB0aGUgZnVsbCB0ZXh0IGZpbHRlciBpcyBub3Qgc2V0LCBkb2VzIG5vdGhpbmcuXG4gICAgICovXG4gICAgcHVibGljIGNsZWFyRnVsbFRleHRGaWx0ZXIoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHdhc0Z1bGx0ZXh0U2V0ID0gdGhpcy5fZnVsbFRleHRGaWx0ZXIgIT09IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5fZnVsbFRleHRGaWx0ZXIgPSB1bmRlZmluZWQ7XG4gICAgICAgIGlmICh3YXNGdWxsdGV4dFNldCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVBY3RpdmVGaWx0ZXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3dzIHRoZSBwcmVkaWNhdGVzIHdpdGggdGhlIGdpdmVuIGlkcy4gU2tpcHMgaWRzIHRoYXQgZG9uJ3QgZXhpc3QuXG4gICAgICogQHBhcmFtIHByZWRpY2F0ZUlkcyB0aGUgaWRzIG9mIHRoZSBwcmVkaWNhdGVzIHRoYXQgc2hvdWxkIGJlIHNob3duLlxuICAgICAqL1xuICAgIHB1YmxpYyBzaG93KHByZWRpY2F0ZUlkczogQXJyYXk8bnVtYmVyPik6IHZvaWQge1xuICAgICAgICB0aGlzLl9yb290UHJlZGljYXRlLnNob3dQcmVkaWNhdGVzKHByZWRpY2F0ZUlkcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVhZHMgdGhlIGN1cnJlbnQgcXVlcnkgZnJvbSB0aGUgcHJlZGljYXRlIHRyZWUsIGNvbWJpbmVzIGl0IHdpdGggdGhlIGJhc2UgRmlsdGVyIGFuZCBmdWxsIHRleHQgRmlsdGVyIChpZiBzZXQpXG4gICAgICogYW5kIHVwZGF0ZXMgdGhlIGFjdGl2ZSBGaWx0ZXIuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHVwZGF0ZUFjdGl2ZUZpbHRlcigpOiB2b2lkIHtcbiAgICAgICAgbGV0IGFkZGl0aW9uYWxGaWx0ZXI6IEZpbHRlcjtcbiAgICAgICAgaWYgKCF0aGlzLl9yb290UHJlZGljYXRlLnF1ZXJ5LmlzRW1wdHkpIHtcbiAgICAgICAgICAgIGFkZGl0aW9uYWxGaWx0ZXIgPSBuZXcgU2ltcGxlRmlsdGVyKCcnLCB0aGlzLl9iYXNlRmlsdGVyLnR5cGUsIHtxdWVyeTogdGhpcy5fcm9vdFByZWRpY2F0ZS5xdWVyeS52YWx1ZX0pO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLl9mdWxsVGV4dEZpbHRlcikge1xuICAgICAgICAgICAgaWYgKGFkZGl0aW9uYWxGaWx0ZXIpIHtcbiAgICAgICAgICAgICAgICBhZGRpdGlvbmFsRmlsdGVyID0gYWRkaXRpb25hbEZpbHRlci5tZXJnZSh0aGlzLl9mdWxsVGV4dEZpbHRlciwgTWVyZ2VPcGVyYXRvci5BTkQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBhZGRpdGlvbmFsRmlsdGVyID0gdGhpcy5fZnVsbFRleHRGaWx0ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFkZGl0aW9uYWxGaWx0ZXIpIHtcbiAgICAgICAgICAgIHRoaXMuX2FjdGl2ZUZpbHRlci5uZXh0KHRoaXMuX2Jhc2VGaWx0ZXIubWVyZ2UoYWRkaXRpb25hbEZpbHRlciwgTWVyZ2VPcGVyYXRvci5BTkQpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2FjdGl2ZUZpbHRlci5uZXh0KHRoaXMuX2Jhc2VGaWx0ZXIuY2xvbmUoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyBgdW5kZWZpbmVkYCBpZiB0aGUgcHJlZGljYXRlIHRyZWUgY29udGFpbnMgbm8gY29tcGxldGUgcXVlcnkuXG4gICAgICogT3RoZXJ3aXNlIHJldHVybnMgdGhlIHNlcmlhbGl6ZWQgZm9ybSBvZiB0aGUgY29tcGxldGVkIHF1ZXJpZXMgaW4gdGhlIHByZWRpY2F0ZSB0cmVlLlxuICAgICAqL1xuICAgIHB1YmxpYyBjcmVhdGVQcmVkaWNhdGVNZXRhZGF0YSgpOiBQcmVkaWNhdGVUcmVlTWV0YWRhdGEgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5fcm9vdFByZWRpY2F0ZS5jcmVhdGVHZW5lcmF0b3JNZXRhZGF0YSgpIGFzIFByZWRpY2F0ZVRyZWVNZXRhZGF0YTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXBsYWNlcyB0aGUgY3VycmVudCBwcmVkaWNhdGUgZmlsdGVyIGJ5IHRoZSBvbmUgY29ycmVzcG9uZGluZyB0byB0aGUgcHJvdmlkZWQgZ2VuZXJhdG9yIG1ldGFkYXRhLlxuICAgICAqXG4gICAgICogVGhlIHtAbGluayBDYXRlZ29yeUZhY3Rvcnl9IGluc3RhbmNlIG11c3QgYmUgcHJvdmlkZWQgZm9yIHRoaXMgc2VydmljZSBpZiB3ZSB3YW50IHRvIHVzZSB0aGlzIG1ldGhvZC4gTG9ncyBhbiBlcnJvciBhbmQgZG9lcyBub3RoaW5nLlxuICAgICAqXG4gICAgICogVGhlIGBmaWx0ZXJUeXBlYCBvZiB0aGlzIHNlYXJjaCBzZXJ2aWNlIG11c3QgbWF0Y2ggdGhlIGBmaWx0ZXJUeXBlYCBvZiB0aGUgcHJvdmlkZWQgbWV0YWRhdGEuIE90aGVyd2lzZSBhbiBlcnJvciBpcyB0aHJvd24uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWV0YWRhdGEgdGhlIHNlcmlhbGl6ZWQgc3RhdGUgb2YgdGhlIHByZWRpY2F0ZSB0cmVlIHRoYXQgc2hvdWxkIGJlIHJlc3RvcmVkIHRvIHRoaXMgc2VhcmNoIHNlcnZpY2VcbiAgICAgKi9cbiAgICBwdWJsaWMgbG9hZEZyb21NZXRhZGF0YShtZXRhZGF0YTogRmlsdGVyTWV0YWRhdGEpIHtcbiAgICAgICAgaWYgKHRoaXMuX2NhdGVnb3J5RmFjdG9yeSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5fbG9nLmVycm9yKCdBIENhdGVnb3J5RmFjdG9yeSBpbnN0YW5jZSBtdXN0IGJlIHByb3ZpZGVkIGZvciB0aGUgU2VhcmNoU2VydmljZSdcbiAgICAgICAgICAgICAgICArICcgaWYgeW91IHdhbnQgdG8gcmVjb25zdHJ1Y3QgYSBwcmVkaWNhdGUgZmlsdGVyIGZyb20gc2F2ZWQgbWV0YWRhdGEnKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtZXRhZGF0YS5maWx0ZXJUeXBlICE9PSB0aGlzLmZpbHRlclR5cGUpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKGBUaGUgZmlsdGVyIHR5cGUgb2YgdGhlIHByb3ZpZGVkIG1ldGFkYXRhICgke21ldGFkYXRhLmZpbHRlclR5cGVcbiAgICAgICAgICAgIH0pIGRvZXMgbm90IG1hdGNoIHRoZSBmaWx0ZXIgdHlwZSBvZiB0aGUgc2VhcmNoIHNlcnZpY2UgKCR7dGhpcy5maWx0ZXJUeXBlfSkhYCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNsZWFyUHJlZGljYXRlcyh0cnVlKTtcbiAgICAgICAgdGhpcy5fbG9hZGluZ0Zyb21NZXRhZGF0YSQub24oKTtcblxuICAgICAgICBjb25zdCBnZW5lcmF0b3JPYnNlcnZhYmxlcyA9IFtdO1xuXG4gICAgICAgIGZvciAoY29uc3QgY2xhdXNlIG9mIG1ldGFkYXRhLnByZWRpY2F0ZU1ldGFkYXRhKSB7XG4gICAgICAgICAgICBjb25zdCBicmFuY2hJZCA9IHRoaXMuX3Jvb3RQcmVkaWNhdGUuYWRkTmV3Q2xhdXNlUHJlZGljYXRlKEJvb2xlYW5PcGVyYXRvci5PUik7XG4gICAgICAgICAgICBjb25zdCBicmFuY2hQcmVkaWNhdGUgPSAoXG4gICAgICAgICAgICAgICAgdGhpcy5fcm9vdFByZWRpY2F0ZS5nZXRQcmVkaWNhdGVNYXAoKS5nZXQoYnJhbmNoSWQpXG4gICAgICAgICAgICAgICAgICAgIC5nZXRXcmFwcGVkUHJlZGljYXRlKCkgYXMgdW5rbm93biBhcyBFZGl0YWJsZUNsYXVzZVByZWRpY2F0ZVdpdGhHZW5lcmF0b3JzXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgZm9yIChjb25zdCBwcmVkaWNhdGUgb2YgY2xhdXNlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbG9jYWxCcmFuY2hSZWZlcmVuY2UgPSBicmFuY2hQcmVkaWNhdGU7XG4gICAgICAgICAgICAgICAgZ2VuZXJhdG9yT2JzZXJ2YWJsZXMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2F0ZWdvcnlGYWN0b3J5LmdldEZyb21NZXRhZGF0YShwcmVkaWNhdGUpLnBpcGUodGFwKGdlbmVyYXRvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsb2NhbEJyYW5jaFJlZmVyZW5jZS5hZGROZXdQcmVkaWNhdGVGcm9tR2VuZXJhdG9yKGdlbmVyYXRvcik7XG4gICAgICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBmb3JrSm9pbihnZW5lcmF0b3JPYnNlcnZhYmxlcykuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2xvYWRpbmdGcm9tTWV0YWRhdGEkLm9mZigpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVBY3RpdmVGaWx0ZXIoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgYW4gQXJyYXkgb2YgZmlsdGVyIHRleHQgc2VnbWVudHMgdGhhdCBjb3JyZXNwb25kIHRvIHRoZSBjdXJyZW50bHkgZGlzcGxheWVkIGNvbXBsZXRlZCBwcmVkaWNhdGVzXG4gICAgICovXG4gICAgcHVibGljIGNyZWF0ZUZpbHRlclRleHRTZWdtZW50cygpOiBBcnJheTxGaWx0ZXJUZXh0U2VnbWVudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcm9vdFByZWRpY2F0ZS5jcmVhdGVGaWx0ZXJUZXh0U2VnbWVudHMoKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { Inject, ViewChild } from '@angular/core';
|
|
2
|
+
import { NAE_SIDE_MENU_CONTROL } from '../../side-menu-injection-token';
|
|
3
|
+
import { SideMenuControl } from '../../models/side-menu-control';
|
|
4
|
+
import { FilterRepository } from '../../../filter/filter.repository';
|
|
5
|
+
import { FilteredArray } from './model/filtered-array';
|
|
6
|
+
import { FilterType } from '../../../filter/models/filter-type';
|
|
7
|
+
import { FormControl } from '@angular/forms';
|
|
8
|
+
/**
|
|
9
|
+
* Allows user to choose a {@link Filter} from the {@link FilterRepository}.
|
|
10
|
+
*
|
|
11
|
+
* Publishes events to the {@link SideMenuControl} object when:
|
|
12
|
+
*
|
|
13
|
+
* - filter is selected by the user. Message: `New selected filter`, Data: is either the selected filter or `undefined` if the user
|
|
14
|
+
* deselected the filter
|
|
15
|
+
*
|
|
16
|
+
* - filter selection is confirmed by the user. Message: `Selected filter was confirmed`, Data: the selected filter. If the user didn't
|
|
17
|
+
* select any filter this event will not be published.
|
|
18
|
+
*
|
|
19
|
+
*/
|
|
20
|
+
export class AbstractFilterSelectorComponent {
|
|
21
|
+
/**
|
|
22
|
+
* Retrieves the {@link Filter} objects from the {@link FilterRepository} and instantiates this component.
|
|
23
|
+
*
|
|
24
|
+
* Filters that are available for selection can be set using the injected data. See {@link FilterSelectorInjectionData}
|
|
25
|
+
* for more information.
|
|
26
|
+
* @param _sideMenuControl -
|
|
27
|
+
* @param _filterRepository -
|
|
28
|
+
*/
|
|
29
|
+
constructor(_sideMenuControl, _filterRepository) {
|
|
30
|
+
this._sideMenuControl = _sideMenuControl;
|
|
31
|
+
this._filterRepository = _filterRepository;
|
|
32
|
+
/**
|
|
33
|
+
* @ignore
|
|
34
|
+
* Stores the predicate used for filtering of filters with {@linkFilteredArray}.
|
|
35
|
+
* @param item some filter from the list
|
|
36
|
+
* @param searchInput value the user is searching for
|
|
37
|
+
*/
|
|
38
|
+
this._filterPredicate = (item, searchInput) => {
|
|
39
|
+
return item.title
|
|
40
|
+
? item.title.toLocaleLowerCase().includes(searchInput.toLocaleLowerCase())
|
|
41
|
+
: item.id.toLocaleLowerCase().includes(searchInput.toLocaleLowerCase());
|
|
42
|
+
};
|
|
43
|
+
const filterConstraints = _sideMenuControl.data;
|
|
44
|
+
let caseFilters = [];
|
|
45
|
+
let taskFilters = [];
|
|
46
|
+
if (filterConstraints && filterConstraints.filterIdsConstraint) {
|
|
47
|
+
const filters = this._filterRepository.getFilters(filterConstraints.filterIdsConstraint);
|
|
48
|
+
filters.forEach(filter => {
|
|
49
|
+
if (filter.type === FilterType.CASE &&
|
|
50
|
+
(!filterConstraints.filterTypeConstraint || filterConstraints.filterTypeConstraint === FilterType.CASE)) {
|
|
51
|
+
caseFilters.push(filter);
|
|
52
|
+
}
|
|
53
|
+
else if (filter.type === FilterType.TASK &&
|
|
54
|
+
(!filterConstraints.filterTypeConstraint || filterConstraints.filterTypeConstraint === FilterType.TASK)) {
|
|
55
|
+
taskFilters.push(filter);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
if (!filterConstraints ||
|
|
61
|
+
!filterConstraints.filterTypeConstraint ||
|
|
62
|
+
filterConstraints.filterTypeConstraint === FilterType.CASE) {
|
|
63
|
+
caseFilters = this._filterRepository.getFilters(this._filterRepository.getCaseFilterList());
|
|
64
|
+
}
|
|
65
|
+
if (!filterConstraints ||
|
|
66
|
+
!filterConstraints.filterTypeConstraint ||
|
|
67
|
+
filterConstraints.filterTypeConstraint === FilterType.TASK) {
|
|
68
|
+
taskFilters = this._filterRepository.getFilters(this._filterRepository.getTaskFilterList());
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
this.caseFilters = new FilteredArray(caseFilters, this._filterPredicate);
|
|
72
|
+
this.taskFilters = new FilteredArray(taskFilters, this._filterPredicate);
|
|
73
|
+
this.searchFormControl = new FormControl();
|
|
74
|
+
this.subValue = this.searchFormControl.valueChanges.subscribe(newValue => this.filterFilters(newValue));
|
|
75
|
+
}
|
|
76
|
+
ngOnDestroy() {
|
|
77
|
+
this.subValue.unsubscribe();
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* @ignore
|
|
81
|
+
* Changes the currently selected filter and publishes an event about this to the output stream in {@link SideMenuControl}.
|
|
82
|
+
* @param filter the newly selected filter
|
|
83
|
+
*/
|
|
84
|
+
filterSelected(filter) {
|
|
85
|
+
this._selectedFilter = filter;
|
|
86
|
+
this._sideMenuControl.publish({
|
|
87
|
+
opened: true,
|
|
88
|
+
message: 'New selected filter',
|
|
89
|
+
data: this._selectedFilter
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* @ignore
|
|
94
|
+
* Closes the side menu and publishes an event with the currently selected filter.
|
|
95
|
+
*/
|
|
96
|
+
filterSelectionConfirmed() {
|
|
97
|
+
if (this._selectedFilter !== undefined) {
|
|
98
|
+
this._sideMenuControl.close({
|
|
99
|
+
opened: false,
|
|
100
|
+
message: 'Selected filter was confirmed',
|
|
101
|
+
data: this._selectedFilter
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* @ignore
|
|
107
|
+
* Clears selection of task filters and ensures that only one case filter can be selected at once.
|
|
108
|
+
* @param event list change event published byt the material component
|
|
109
|
+
*/
|
|
110
|
+
caseFilterSelected(event) {
|
|
111
|
+
if (event.options[0].selected) {
|
|
112
|
+
this.filterSelected(event.options[0].value);
|
|
113
|
+
if (this.taskFilterList) {
|
|
114
|
+
this.taskFilterList.deselectAll();
|
|
115
|
+
}
|
|
116
|
+
// TODO 20.4.2020 - change to [multiple] input attribute on MatSelectionList in HTML,
|
|
117
|
+
// once Covalent supports material 9.1.0 or above
|
|
118
|
+
this.caseFilterList.deselectAll();
|
|
119
|
+
event.options[0].selected = true;
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
this.filterSelected(undefined);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* @ignore
|
|
127
|
+
* Clears selection of case filters and ensures that only one task filter can be selected at once.
|
|
128
|
+
* @param event list change event published byt the material component
|
|
129
|
+
*/
|
|
130
|
+
taskFilterSelected(event) {
|
|
131
|
+
if (event.options[0].selected) {
|
|
132
|
+
this.filterSelected(event.options[0].value);
|
|
133
|
+
if (this.caseFilterList) {
|
|
134
|
+
this.caseFilterList.deselectAll();
|
|
135
|
+
}
|
|
136
|
+
// TODO 20.4.2020 - change to [multiple] input attribute on MatSelectionList in HTML,
|
|
137
|
+
// once Covalent supports material 9.1.0 or above
|
|
138
|
+
this.taskFilterList.deselectAll();
|
|
139
|
+
event.options[0].selected = true;
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
this.filterSelected(undefined);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* @ignore
|
|
147
|
+
* Filters both lists of filters based on user search input.
|
|
148
|
+
* @param newValue user search input value
|
|
149
|
+
*/
|
|
150
|
+
filterFilters(newValue) {
|
|
151
|
+
this.caseFilters.filter(newValue);
|
|
152
|
+
this.taskFilters.filter(newValue);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
AbstractFilterSelectorComponent.ctorParameters = () => [
|
|
156
|
+
{ type: SideMenuControl, decorators: [{ type: Inject, args: [NAE_SIDE_MENU_CONTROL,] }] },
|
|
157
|
+
{ type: FilterRepository }
|
|
158
|
+
];
|
|
159
|
+
AbstractFilterSelectorComponent.propDecorators = {
|
|
160
|
+
caseFilterList: [{ type: ViewChild, args: ['caseFilterList',] }],
|
|
161
|
+
taskFilterList: [{ type: ViewChild, args: ['taskFilterList',] }]
|
|
162
|
+
};
|
|
163
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZmlsdGVyLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZXRncmlmL2NvbXBvbmVudHMtY29yZS8iLCJzb3VyY2VzIjpbImxpYi9zaWRlLW1lbnUvY29udGVudC1jb21wb25lbnRzL2ZpbHRlci1zZWxlY3Rvci9hYnN0cmFjdC1maWx0ZXItc2VsZWN0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQWEsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUduRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQzlELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUkzQzs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sT0FBZ0IsK0JBQStCO0lBb0RqRDs7Ozs7OztPQU9HO0lBQ0gsWUFBcUQsZ0JBQWlDLEVBQ2hFLGlCQUFtQztRQURKLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFDaEUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQXJCekQ7Ozs7O1dBS0c7UUFDTyxxQkFBZ0IsR0FBRyxDQUFDLElBQVksRUFBRSxXQUFtQixFQUFFLEVBQUU7WUFDL0QsT0FBTyxJQUFJLENBQUMsS0FBSztnQkFDakIsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQzFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGlCQUFpQixFQUFFLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUM7UUFDNUUsQ0FBQyxDQUFBO1FBWUcsTUFBTSxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFtQyxDQUFDO1FBRS9FLElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxpQkFBaUIsSUFBSSxpQkFBaUIsQ0FBQyxtQkFBbUIsRUFBRTtZQUM1RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDekYsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDckIsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxJQUFJO29CQUMvQixDQUFDLENBQUMsaUJBQWlCLENBQUMsb0JBQW9CLElBQUksaUJBQWlCLENBQUMsb0JBQW9CLEtBQUssVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUN6RyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2lCQUM1QjtxQkFBTSxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLElBQUk7b0JBQ3RDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsSUFBSSxpQkFBaUIsQ0FBQyxvQkFBb0IsS0FBSyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ3pHLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQzVCO1lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDTjthQUFNO1lBQ0gsSUFBSSxDQUFDLGlCQUFpQjtnQkFDbEIsQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0I7Z0JBQ3ZDLGlCQUFpQixDQUFDLG9CQUFvQixLQUFLLFVBQVUsQ0FBQyxJQUFJLEVBQUU7Z0JBQzVELFdBQVcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUM7YUFDL0Y7WUFDRCxJQUFJLENBQUMsaUJBQWlCO2dCQUNsQixDQUFDLGlCQUFpQixDQUFDLG9CQUFvQjtnQkFDdkMsaUJBQWlCLENBQUMsb0JBQW9CLEtBQUssVUFBVSxDQUFDLElBQUksRUFBRTtnQkFDNUQsV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQzthQUMvRjtTQUNKO1FBRUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLGFBQWEsQ0FBUyxXQUFXLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLGFBQWEsQ0FBUyxXQUFXLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFakYsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDM0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUM1RyxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxjQUFjLENBQUMsTUFBYztRQUNoQyxJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQztRQUM5QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDO1lBQzFCLE1BQU0sRUFBRSxJQUFJO1lBQ1osT0FBTyxFQUFFLHFCQUFxQjtZQUM5QixJQUFJLEVBQUUsSUFBSSxDQUFDLGVBQWU7U0FDN0IsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7T0FHRztJQUNJLHdCQUF3QjtRQUMzQixJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssU0FBUyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7Z0JBQ3hCLE1BQU0sRUFBRSxLQUFLO2dCQUNiLE9BQU8sRUFBRSwrQkFBK0I7Z0JBQ3hDLElBQUksRUFBRSxJQUFJLENBQUMsZUFBZTthQUM3QixDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksa0JBQWtCLENBQUMsS0FBNkI7UUFDbkQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtZQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUMsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQ3JDO1lBQ0QscUZBQXFGO1lBQ3JGLGtEQUFrRDtZQUNsRCxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2xDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztTQUNwQzthQUFNO1lBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNsQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksa0JBQWtCLENBQUMsS0FBNkI7UUFDbkQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtZQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUMsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQ3JDO1lBQ0QscUZBQXFGO1lBQ3JGLGtEQUFrRDtZQUNsRCxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2xDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztTQUNwQzthQUFNO1lBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNsQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksYUFBYSxDQUFDLFFBQWdCO1FBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7OztZQXZNRyxlQUFlLHVCQWtGTixNQUFNLFNBQUMscUJBQXFCO1lBakZyQyxnQkFBZ0I7Ozs2QkFzRG5CLFNBQVMsU0FBQyxnQkFBZ0I7NkJBSzFCLFNBQVMsU0FBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgT25EZXN0cm95LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOQUVfU0lERV9NRU5VX0NPTlRST0x9IGZyb20gJy4uLy4uL3NpZGUtbWVudS1pbmplY3Rpb24tdG9rZW4nO1xuaW1wb3J0IHtTaWRlTWVudUNvbnRyb2x9IGZyb20gJy4uLy4uL21vZGVscy9zaWRlLW1lbnUtY29udHJvbCc7XG5pbXBvcnQge0ZpbHRlclJlcG9zaXRvcnl9IGZyb20gJy4uLy4uLy4uL2ZpbHRlci9maWx0ZXIucmVwb3NpdG9yeSc7XG5pbXBvcnQge0ZpbHRlcn0gZnJvbSAnLi4vLi4vLi4vZmlsdGVyL21vZGVscy9maWx0ZXInO1xuaW1wb3J0IHtGaWx0ZXJTZWxlY3RvckluamVjdGlvbkRhdGF9IGZyb20gJy4vbW9kZWwvZmlsdGVyLXNlbGVjdG9yLWluamVjdGlvbi1kYXRhJztcbmltcG9ydCB7RmlsdGVyZWRBcnJheX0gZnJvbSAnLi9tb2RlbC9maWx0ZXJlZC1hcnJheSc7XG5pbXBvcnQge0ZpbHRlclR5cGV9IGZyb20gJy4uLy4uLy4uL2ZpbHRlci9tb2RlbHMvZmlsdGVyLXR5cGUnO1xuaW1wb3J0IHtGb3JtQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtNYXRTZWxlY3Rpb25MaXN0LCBNYXRTZWxlY3Rpb25MaXN0Q2hhbmdlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBBbGxvd3MgdXNlciB0byBjaG9vc2UgYSB7QGxpbmsgRmlsdGVyfSBmcm9tIHRoZSB7QGxpbmsgRmlsdGVyUmVwb3NpdG9yeX0uXG4gKlxuICogUHVibGlzaGVzIGV2ZW50cyB0byB0aGUge0BsaW5rIFNpZGVNZW51Q29udHJvbH0gb2JqZWN0IHdoZW46XG4gKlxuICogLSBmaWx0ZXIgaXMgc2VsZWN0ZWQgYnkgdGhlIHVzZXIuIE1lc3NhZ2U6IGBOZXcgc2VsZWN0ZWQgZmlsdGVyYCwgRGF0YTogaXMgZWl0aGVyIHRoZSBzZWxlY3RlZCBmaWx0ZXIgb3IgYHVuZGVmaW5lZGAgaWYgdGhlIHVzZXJcbiAqIGRlc2VsZWN0ZWQgdGhlIGZpbHRlclxuICpcbiAqIC0gZmlsdGVyIHNlbGVjdGlvbiBpcyBjb25maXJtZWQgYnkgdGhlIHVzZXIuIE1lc3NhZ2U6IGBTZWxlY3RlZCBmaWx0ZXIgd2FzIGNvbmZpcm1lZGAsIERhdGE6IHRoZSBzZWxlY3RlZCBmaWx0ZXIuIElmIHRoZSB1c2VyIGRpZG4ndFxuICogc2VsZWN0IGFueSBmaWx0ZXIgdGhpcyBldmVudCB3aWxsIG5vdCBiZSBwdWJsaXNoZWQuXG4gKlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RGaWx0ZXJTZWxlY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICogQ2FzZSBmaWx0ZXJzIGJvdW5kIHRvIEhUTUxcbiAgICAgKi9cbiAgICBwdWJsaWMgY2FzZUZpbHRlcnM6IEZpbHRlcmVkQXJyYXk8RmlsdGVyPjtcbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICogVGFzayBmaWx0ZXJzIGJvdW5kIHRvIGh0bWxcbiAgICAgKi9cbiAgICBwdWJsaWMgdGFza0ZpbHRlcnM6IEZpbHRlcmVkQXJyYXk8RmlsdGVyPjtcbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICogVGFzayBmaWx0ZXJzIGJvdW5kIHRvIGh0bWxcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgc3ViVmFsdWU6IFN1YnNjcmlwdGlvbjtcbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICogYEZvcm1Db250cm9sYCBmb3IgdGhlIHNlYXJjaCBpbnB1dFxuICAgICAqL1xuICAgIHB1YmxpYyBzZWFyY2hGb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XG5cbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICogQ3VycmVudGx5IHNlbGVjdGVkIGZpbHRlci4gYHVuZGVmaW5lZGAgaWYgbm8gZmlsdGVyIGlzIHNlbGVjdGVkLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBfc2VsZWN0ZWRGaWx0ZXI6IEZpbHRlcjtcblxuICAgIC8qKlxuICAgICAqIEBpZ25vcmVcbiAgICAgKiBSZWZlcmVuY2UgdG8gdGhlIGBtYXQtc2VsZWN0aW9uLWxpc3RgIGNvbXBvbmVudCwgdGhhdCBob2xkcyB0aGUgbGlzdCBvZiBjYXNlIGZpbHRlcnMuXG4gICAgICovXG4gICAgQFZpZXdDaGlsZCgnY2FzZUZpbHRlckxpc3QnKSBjYXNlRmlsdGVyTGlzdDogTWF0U2VsZWN0aW9uTGlzdDtcbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICogUmVmZXJlbmNlIHRvIHRoZSBgbWF0LXNlbGVjdGlvbi1saXN0YCBjb21wb25lbnQsIHRoYXQgaG9sZHMgdGhlIGxpc3Qgb2YgdGFzayBmaWx0ZXJzLlxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoJ3Rhc2tGaWx0ZXJMaXN0JykgdGFza0ZpbHRlckxpc3Q6IE1hdFNlbGVjdGlvbkxpc3Q7XG5cbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICogU3RvcmVzIHRoZSBwcmVkaWNhdGUgdXNlZCBmb3IgZmlsdGVyaW5nIG9mIGZpbHRlcnMgd2l0aCB7QGxpbmtGaWx0ZXJlZEFycmF5fS5cbiAgICAgKiBAcGFyYW0gaXRlbSBzb21lIGZpbHRlciBmcm9tIHRoZSBsaXN0XG4gICAgICogQHBhcmFtIHNlYXJjaElucHV0IHZhbHVlIHRoZSB1c2VyIGlzIHNlYXJjaGluZyBmb3JcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX2ZpbHRlclByZWRpY2F0ZSA9IChpdGVtOiBGaWx0ZXIsIHNlYXJjaElucHV0OiBzdHJpbmcpID0+IHtcbiAgICAgICAgcmV0dXJuIGl0ZW0udGl0bGVcbiAgICAgICAgPyBpdGVtLnRpdGxlLnRvTG9jYWxlTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoSW5wdXQudG9Mb2NhbGVMb3dlckNhc2UoKSlcbiAgICAgICAgOiBpdGVtLmlkLnRvTG9jYWxlTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoSW5wdXQudG9Mb2NhbGVMb3dlckNhc2UoKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSB7QGxpbmsgRmlsdGVyfSBvYmplY3RzIGZyb20gdGhlIHtAbGluayBGaWx0ZXJSZXBvc2l0b3J5fSBhbmQgaW5zdGFudGlhdGVzIHRoaXMgY29tcG9uZW50LlxuICAgICAqXG4gICAgICogRmlsdGVycyB0aGF0IGFyZSBhdmFpbGFibGUgZm9yIHNlbGVjdGlvbiBjYW4gYmUgc2V0IHVzaW5nIHRoZSBpbmplY3RlZCBkYXRhLiBTZWUge0BsaW5rIEZpbHRlclNlbGVjdG9ySW5qZWN0aW9uRGF0YX1cbiAgICAgKiBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAgICAgKiBAcGFyYW0gX3NpZGVNZW51Q29udHJvbCAtXG4gICAgICogQHBhcmFtIF9maWx0ZXJSZXBvc2l0b3J5IC1cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KE5BRV9TSURFX01FTlVfQ09OVFJPTCkgcHJvdGVjdGVkIF9zaWRlTWVudUNvbnRyb2w6IFNpZGVNZW51Q29udHJvbCxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2ZpbHRlclJlcG9zaXRvcnk6IEZpbHRlclJlcG9zaXRvcnkpIHtcbiAgICAgICAgY29uc3QgZmlsdGVyQ29uc3RyYWludHMgPSBfc2lkZU1lbnVDb250cm9sLmRhdGEgYXMgRmlsdGVyU2VsZWN0b3JJbmplY3Rpb25EYXRhO1xuXG4gICAgICAgIGxldCBjYXNlRmlsdGVycyA9IFtdO1xuICAgICAgICBsZXQgdGFza0ZpbHRlcnMgPSBbXTtcbiAgICAgICAgaWYgKGZpbHRlckNvbnN0cmFpbnRzICYmIGZpbHRlckNvbnN0cmFpbnRzLmZpbHRlcklkc0NvbnN0cmFpbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbHRlcnMgPSB0aGlzLl9maWx0ZXJSZXBvc2l0b3J5LmdldEZpbHRlcnMoZmlsdGVyQ29uc3RyYWludHMuZmlsdGVySWRzQ29uc3RyYWludCk7XG4gICAgICAgICAgICBmaWx0ZXJzLmZvckVhY2goZmlsdGVyID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZmlsdGVyLnR5cGUgPT09IEZpbHRlclR5cGUuQ0FTRSAmJlxuICAgICAgICAgICAgICAgICAgICAoIWZpbHRlckNvbnN0cmFpbnRzLmZpbHRlclR5cGVDb25zdHJhaW50IHx8IGZpbHRlckNvbnN0cmFpbnRzLmZpbHRlclR5cGVDb25zdHJhaW50ID09PSBGaWx0ZXJUeXBlLkNBU0UpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2VGaWx0ZXJzLnB1c2goZmlsdGVyKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGZpbHRlci50eXBlID09PSBGaWx0ZXJUeXBlLlRBU0sgJiZcbiAgICAgICAgICAgICAgICAgICAgKCFmaWx0ZXJDb25zdHJhaW50cy5maWx0ZXJUeXBlQ29uc3RyYWludCB8fCBmaWx0ZXJDb25zdHJhaW50cy5maWx0ZXJUeXBlQ29uc3RyYWludCA9PT0gRmlsdGVyVHlwZS5UQVNLKSkge1xuICAgICAgICAgICAgICAgICAgICB0YXNrRmlsdGVycy5wdXNoKGZpbHRlcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoIWZpbHRlckNvbnN0cmFpbnRzIHx8XG4gICAgICAgICAgICAgICAgIWZpbHRlckNvbnN0cmFpbnRzLmZpbHRlclR5cGVDb25zdHJhaW50IHx8XG4gICAgICAgICAgICAgICAgZmlsdGVyQ29uc3RyYWludHMuZmlsdGVyVHlwZUNvbnN0cmFpbnQgPT09IEZpbHRlclR5cGUuQ0FTRSkge1xuICAgICAgICAgICAgICAgIGNhc2VGaWx0ZXJzID0gdGhpcy5fZmlsdGVyUmVwb3NpdG9yeS5nZXRGaWx0ZXJzKHRoaXMuX2ZpbHRlclJlcG9zaXRvcnkuZ2V0Q2FzZUZpbHRlckxpc3QoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIWZpbHRlckNvbnN0cmFpbnRzIHx8XG4gICAgICAgICAgICAgICAgIWZpbHRlckNvbnN0cmFpbnRzLmZpbHRlclR5cGVDb25zdHJhaW50IHx8XG4gICAgICAgICAgICAgICAgZmlsdGVyQ29uc3RyYWludHMuZmlsdGVyVHlwZUNvbnN0cmFpbnQgPT09IEZpbHRlclR5cGUuVEFTSykge1xuICAgICAgICAgICAgICAgIHRhc2tGaWx0ZXJzID0gdGhpcy5fZmlsdGVyUmVwb3NpdG9yeS5nZXRGaWx0ZXJzKHRoaXMuX2ZpbHRlclJlcG9zaXRvcnkuZ2V0VGFza0ZpbHRlckxpc3QoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNhc2VGaWx0ZXJzID0gbmV3IEZpbHRlcmVkQXJyYXk8RmlsdGVyPihjYXNlRmlsdGVycywgdGhpcy5fZmlsdGVyUHJlZGljYXRlKTtcbiAgICAgICAgdGhpcy50YXNrRmlsdGVycyA9IG5ldyBGaWx0ZXJlZEFycmF5PEZpbHRlcj4odGFza0ZpbHRlcnMsIHRoaXMuX2ZpbHRlclByZWRpY2F0ZSk7XG5cbiAgICAgICAgdGhpcy5zZWFyY2hGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xuICAgICAgICB0aGlzLnN1YlZhbHVlID0gdGhpcy5zZWFyY2hGb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKG5ld1ZhbHVlID0+IHRoaXMuZmlsdGVyRmlsdGVycyhuZXdWYWx1ZSkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YlZhbHVlLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqIENoYW5nZXMgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBmaWx0ZXIgYW5kIHB1Ymxpc2hlcyBhbiBldmVudCBhYm91dCB0aGlzIHRvIHRoZSBvdXRwdXQgc3RyZWFtIGluIHtAbGluayBTaWRlTWVudUNvbnRyb2x9LlxuICAgICAqIEBwYXJhbSBmaWx0ZXIgdGhlIG5ld2x5IHNlbGVjdGVkIGZpbHRlclxuICAgICAqL1xuICAgIHB1YmxpYyBmaWx0ZXJTZWxlY3RlZChmaWx0ZXI6IEZpbHRlcik6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZWxlY3RlZEZpbHRlciA9IGZpbHRlcjtcbiAgICAgICAgdGhpcy5fc2lkZU1lbnVDb250cm9sLnB1Ymxpc2goe1xuICAgICAgICAgICAgb3BlbmVkOiB0cnVlLFxuICAgICAgICAgICAgbWVzc2FnZTogJ05ldyBzZWxlY3RlZCBmaWx0ZXInLFxuICAgICAgICAgICAgZGF0YTogdGhpcy5fc2VsZWN0ZWRGaWx0ZXJcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqIENsb3NlcyB0aGUgc2lkZSBtZW51IGFuZCBwdWJsaXNoZXMgYW4gZXZlbnQgd2l0aCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIGZpbHRlci5cbiAgICAgKi9cbiAgICBwdWJsaWMgZmlsdGVyU2VsZWN0aW9uQ29uZmlybWVkKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWRGaWx0ZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5fc2lkZU1lbnVDb250cm9sLmNsb3NlKHtcbiAgICAgICAgICAgICAgICBvcGVuZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICdTZWxlY3RlZCBmaWx0ZXIgd2FzIGNvbmZpcm1lZCcsXG4gICAgICAgICAgICAgICAgZGF0YTogdGhpcy5fc2VsZWN0ZWRGaWx0ZXJcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqIENsZWFycyBzZWxlY3Rpb24gb2YgdGFzayBmaWx0ZXJzIGFuZCBlbnN1cmVzIHRoYXQgb25seSBvbmUgY2FzZSBmaWx0ZXIgY2FuIGJlIHNlbGVjdGVkIGF0IG9uY2UuXG4gICAgICogQHBhcmFtIGV2ZW50IGxpc3QgY2hhbmdlIGV2ZW50IHB1Ymxpc2hlZCBieXQgdGhlIG1hdGVyaWFsIGNvbXBvbmVudFxuICAgICAqL1xuICAgIHB1YmxpYyBjYXNlRmlsdGVyU2VsZWN0ZWQoZXZlbnQ6IE1hdFNlbGVjdGlvbkxpc3RDaGFuZ2UpOiB2b2lkIHtcbiAgICAgICAgaWYgKGV2ZW50Lm9wdGlvbnNbMF0uc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyU2VsZWN0ZWQoZXZlbnQub3B0aW9uc1swXS52YWx1ZSk7XG4gICAgICAgICAgICBpZiAodGhpcy50YXNrRmlsdGVyTGlzdCkge1xuICAgICAgICAgICAgICAgIHRoaXMudGFza0ZpbHRlckxpc3QuZGVzZWxlY3RBbGwoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIFRPRE8gMjAuNC4yMDIwIC0gY2hhbmdlIHRvIFttdWx0aXBsZV0gaW5wdXQgYXR0cmlidXRlIG9uIE1hdFNlbGVjdGlvbkxpc3QgaW4gSFRNTCxcbiAgICAgICAgICAgIC8vICBvbmNlIENvdmFsZW50IHN1cHBvcnRzIG1hdGVyaWFsIDkuMS4wIG9yIGFib3ZlXG4gICAgICAgICAgICB0aGlzLmNhc2VGaWx0ZXJMaXN0LmRlc2VsZWN0QWxsKCk7XG4gICAgICAgICAgICBldmVudC5vcHRpb25zWzBdLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyU2VsZWN0ZWQodW5kZWZpbmVkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpZ25vcmVcbiAgICAgKiBDbGVhcnMgc2VsZWN0aW9uIG9mIGNhc2UgZmlsdGVycyBhbmQgZW5zdXJlcyB0aGF0IG9ubHkgb25lIHRhc2sgZmlsdGVyIGNhbiBiZSBzZWxlY3RlZCBhdCBvbmNlLlxuICAgICAqIEBwYXJhbSBldmVudCBsaXN0IGNoYW5nZSBldmVudCBwdWJsaXNoZWQgYnl0IHRoZSBtYXRlcmlhbCBjb21wb25lbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgdGFza0ZpbHRlclNlbGVjdGVkKGV2ZW50OiBNYXRTZWxlY3Rpb25MaXN0Q2hhbmdlKTogdm9pZCB7XG4gICAgICAgIGlmIChldmVudC5vcHRpb25zWzBdLnNlbGVjdGVkKSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlclNlbGVjdGVkKGV2ZW50Lm9wdGlvbnNbMF0udmFsdWUpO1xuICAgICAgICAgICAgaWYgKHRoaXMuY2FzZUZpbHRlckxpc3QpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhc2VGaWx0ZXJMaXN0LmRlc2VsZWN0QWxsKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBUT0RPIDIwLjQuMjAyMCAtIGNoYW5nZSB0byBbbXVsdGlwbGVdIGlucHV0IGF0dHJpYnV0ZSBvbiBNYXRTZWxlY3Rpb25MaXN0IGluIEhUTUwsXG4gICAgICAgICAgICAvLyAgb25jZSBDb3ZhbGVudCBzdXBwb3J0cyBtYXRlcmlhbCA5LjEuMCBvciBhYm92ZVxuICAgICAgICAgICAgdGhpcy50YXNrRmlsdGVyTGlzdC5kZXNlbGVjdEFsbCgpO1xuICAgICAgICAgICAgZXZlbnQub3B0aW9uc1swXS5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlclNlbGVjdGVkKHVuZGVmaW5lZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICogRmlsdGVycyBib3RoIGxpc3RzIG9mIGZpbHRlcnMgYmFzZWQgb24gdXNlciBzZWFyY2ggaW5wdXQuXG4gICAgICogQHBhcmFtIG5ld1ZhbHVlIHVzZXIgc2VhcmNoIGlucHV0IHZhbHVlXG4gICAgICovXG4gICAgcHVibGljIGZpbHRlckZpbHRlcnMobmV3VmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmNhc2VGaWx0ZXJzLmZpbHRlcihuZXdWYWx1ZSk7XG4gICAgICAgIHRoaXMudGFza0ZpbHRlcnMuZmlsdGVyKG5ld1ZhbHVlKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Input } from '@angular/core';
|
|
2
|
+
/**
|
|
3
|
+
* @ignore
|
|
4
|
+
* Renders a single filter in the selection list.
|
|
5
|
+
*/
|
|
6
|
+
export class AbstractFilterSelectorListItemComponent {
|
|
7
|
+
/**
|
|
8
|
+
* Sets the text bound to HTML, to either the filter title (if it exists), or to it's ID.
|
|
9
|
+
*/
|
|
10
|
+
ngOnInit() {
|
|
11
|
+
if (this.filter.title) {
|
|
12
|
+
this.text = this.filter.title;
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
this.text = this.filter.id;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
AbstractFilterSelectorListItemComponent.propDecorators = {
|
|
20
|
+
filter: [{ type: Input }]
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZmlsdGVyLXNlbGVjdG9yLWxpc3QtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUvIiwic291cmNlcyI6WyJsaWIvc2lkZS1tZW51L2NvbnRlbnQtY29tcG9uZW50cy9maWx0ZXItc2VsZWN0b3IvZmlsdGVyLXNlbGVjdG9yLWxpc3QtaXRlbS9hYnN0cmFjdC1maWx0ZXItc2VsZWN0b3ItbGlzdC1pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBRzVDOzs7R0FHRztBQUNILE1BQU0sT0FBZ0IsdUNBQXVDO0lBV3pEOztPQUVHO0lBQ0gsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7WUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztTQUNqQzthQUFNO1lBQ0gsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztTQUM5QjtJQUNMLENBQUM7OztxQkFmQSxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RmlsdGVyfSBmcm9tICcuLi8uLi8uLi8uLi9maWx0ZXIvbW9kZWxzL2ZpbHRlcic7XG5cbi8qKlxuICogQGlnbm9yZVxuICogUmVuZGVycyBhIHNpbmdsZSBmaWx0ZXIgaW4gdGhlIHNlbGVjdGlvbiBsaXN0LlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RGaWx0ZXJTZWxlY3Rvckxpc3RJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIC8qKlxuICAgICAqIEZpbHRlciB0aGF0IHNob3VsZCBiZSByZW5kZXJlZFxuICAgICAqL1xuICAgIEBJbnB1dCgpIGZpbHRlcjogRmlsdGVyO1xuICAgIC8qKlxuICAgICAqIFRleHQgdGhhdCBpcyBib3VuZCB0byBIVE1MXG4gICAgICovXG4gICAgcHVibGljIHRleHQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIHRleHQgYm91bmQgdG8gSFRNTCwgdG8gZWl0aGVyIHRoZSBmaWx0ZXIgdGl0bGUgKGlmIGl0IGV4aXN0cyksIG9yIHRvIGl0J3MgSUQuXG4gICAgICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZpbHRlci50aXRsZSkge1xuICAgICAgICAgICAgdGhpcy50ZXh0ID0gdGhpcy5maWx0ZXIudGl0bGU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRleHQgPSB0aGlzLmZpbHRlci5pZDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXNlbGVjdG9yLWluamVjdGlvbi1kYXRhLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlLyIsInNvdXJjZXMiOlsibGliL3NpZGUtbWVudS9jb250ZW50LWNvbXBvbmVudHMvZmlsdGVyLXNlbGVjdG9yL21vZGVsL2ZpbHRlci1zZWxlY3Rvci1pbmplY3Rpb24tZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTaWRlTWVudUluamVjdGlvbkRhdGF9IGZyb20gJy4uLy4uLy4uL21vZGVscy9zaWRlLW1lbnUtaW5qZWN0aW9uLWRhdGEnO1xuaW1wb3J0IHtGaWx0ZXJUeXBlfSBmcm9tICcuLi8uLi8uLi8uLi9maWx0ZXIvbW9kZWxzL2ZpbHRlci10eXBlJztcblxuLyoqXG4gKiBPYmplY3RzIG9mIHRoaXMgdHlwZSBjYW4gYmUgdXNlZCB0byBjb25zdHJhaW4gZmlsdGVycyBsaXN0ZWQgaW4ge0BsaW5rIEFic3RyYWN0RmlsdGVyU2VsZWN0b3JDb21wb25lbnR9LlxuICpcbiAqIElmIG5vIGNvbnN0cmFpbnRzIGFyZSBwcm92aWRlZCwgYWxsIGZpbHRlcnMgZnJvbSB7QGxpbmsgRmlsdGVyUmVwb3NpdG9yeX0gd2lsbCBiZSBkaXNwbGF5ZWQuXG4gKlxuICogSWYgYm90aCBjb25zdHJhaW50cyBhcmUgcHJvdmlkZWQgYW5kIFtsaXN0ZWQgZmlsdGVyIElEc117QGxpbmsgRmlsdGVyU2VsZWN0b3JJbmplY3Rpb25EYXRhI2ZpbHRlcklkc0NvbnN0cmFpbnR9IGFyZSBub3RcbiAqIG9mIGEgc2luZ2xlIFt0eXBlXXtAbGluayBGaWx0ZXJTZWxlY3RvckluamVjdGlvbkRhdGEjZmlsdGVyVHlwZUNvbnN0cmFpbnR9LCBvbmx5IHRoZSBmaWx0ZXJzIG9mIHRoZSBzcGVjaWZpZWQgdHlwZSB3aWxsIGJlIGRpc3BsYXllZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJTZWxlY3RvckluamVjdGlvbkRhdGEgZXh0ZW5kcyBTaWRlTWVudUluamVjdGlvbkRhdGEge1xuICAgIC8qKlxuICAgICAqIENvbnN0cmFpbnMgZmlsdGVycyBzaG93biBpbiB7QGxpbmsgQWJzdHJhY3RGaWx0ZXJTZWxlY3RvckNvbXBvbmVudH0gdG8gYSBzaW5nbGUgdHlwZS5cbiAgICAgKi9cbiAgICBmaWx0ZXJUeXBlQ29uc3RyYWludD86IEZpbHRlclR5cGU7XG4gICAgLyoqXG4gICAgICogQ29uc3RyYWlucyBmaWx0ZXJzIHNob3duIGluIHtAbGluayBBYnN0cmFjdEZpbHRlclNlbGVjdG9yQ29tcG9uZW50fSB0byBzcGVjaWZpYyBmaWx0ZXJzLCBieSB0aGVpciBJRHMuXG4gICAgICovXG4gICAgZmlsdGVySWRzQ29uc3RyYWludD86IEFycmF5PHN0cmluZz47XG59XG4iXX0=
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Simple class that generalizes filtering of array of elements.
|
|
3
|
+
* Filtered Results are contained in a separate array and can be bound to HTML.
|
|
4
|
+
* @typeparam T type of elements contained in the arrays.
|
|
5
|
+
*/
|
|
6
|
+
export class FilteredArray {
|
|
7
|
+
/**
|
|
8
|
+
* @param _unfiltered elements that can be filtered
|
|
9
|
+
* @param _filterPredicate predicate that is used to filter elements of the provided array. It should return `true` if `item` with
|
|
10
|
+
* the given `data` should appear in the filtered array.
|
|
11
|
+
*/
|
|
12
|
+
constructor(_unfiltered, _filterPredicate) {
|
|
13
|
+
this._unfiltered = _unfiltered;
|
|
14
|
+
this._filterPredicate = _filterPredicate;
|
|
15
|
+
this.filtered = [];
|
|
16
|
+
this.filtered.push(...this._unfiltered);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Applies the filter predicate on all items of the unfiltered array.
|
|
20
|
+
* Each item that returns `true` will be included in the filtered array.
|
|
21
|
+
* @param data data that is sent to the {@link FilteredArray#_filterPredicate} for evaluation
|
|
22
|
+
*/
|
|
23
|
+
filter(data) {
|
|
24
|
+
this.filtered.splice(0, this.filtered.length);
|
|
25
|
+
this._unfiltered.forEach(item => {
|
|
26
|
+
if (this._filterPredicate(item, data)) {
|
|
27
|
+
this.filtered.push(item);
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyZWQtYXJyYXkuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUvIiwic291cmNlcyI6WyJsaWIvc2lkZS1tZW51L2NvbnRlbnQtY29tcG9uZW50cy9maWx0ZXItc2VsZWN0b3IvbW9kZWwvZmlsdGVyZWQtYXJyYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBT3RCOzs7O09BSUc7SUFDSCxZQUFvQixXQUFxQixFQUFVLGdCQUFpRDtRQUFoRixnQkFBVyxHQUFYLFdBQVcsQ0FBVTtRQUFVLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUM7UUFDaEcsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsSUFBUztRQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM1QixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzVCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFNpbXBsZSBjbGFzcyB0aGF0IGdlbmVyYWxpemVzIGZpbHRlcmluZyBvZiBhcnJheSBvZiBlbGVtZW50cy5cbiAqIEZpbHRlcmVkIFJlc3VsdHMgYXJlIGNvbnRhaW5lZCBpbiBhIHNlcGFyYXRlIGFycmF5IGFuZCBjYW4gYmUgYm91bmQgdG8gSFRNTC5cbiAqIEB0eXBlcGFyYW0gVCB0eXBlIG9mIGVsZW1lbnRzIGNvbnRhaW5lZCBpbiB0aGUgYXJyYXlzLlxuICovXG5leHBvcnQgY2xhc3MgRmlsdGVyZWRBcnJheTxUPiB7XG5cbiAgICAvKipcbiAgICAgKiBDb250YWlucyBhbGwgdGhlIGVsZW1lbnRzIGZyb20gdGhlIHByb3ZpZGVkIGFycmF5LCB0aGF0IG1hdGNoIHRoZSBwcm92aWRlZCBwcmVkaWNhdGUuXG4gICAgICovXG4gICAgcHVibGljIGZpbHRlcmVkOiBBcnJheTxUPjtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBfdW5maWx0ZXJlZCBlbGVtZW50cyB0aGF0IGNhbiBiZSBmaWx0ZXJlZFxuICAgICAqIEBwYXJhbSBfZmlsdGVyUHJlZGljYXRlIHByZWRpY2F0ZSB0aGF0IGlzIHVzZWQgdG8gZmlsdGVyIGVsZW1lbnRzIG9mIHRoZSBwcm92aWRlZCBhcnJheS4gSXQgc2hvdWxkIHJldHVybiBgdHJ1ZWAgaWYgYGl0ZW1gIHdpdGhcbiAgICAgKiB0aGUgZ2l2ZW4gYGRhdGFgIHNob3VsZCBhcHBlYXIgaW4gdGhlIGZpbHRlcmVkIGFycmF5LlxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX3VuZmlsdGVyZWQ6IEFycmF5PFQ+LCBwcml2YXRlIF9maWx0ZXJQcmVkaWNhdGU6IChpdGVtOiBULCBkYXRhOiBhbnkpID0+IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5maWx0ZXJlZCA9IFtdO1xuICAgICAgICB0aGlzLmZpbHRlcmVkLnB1c2goLi4udGhpcy5fdW5maWx0ZXJlZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQXBwbGllcyB0aGUgZmlsdGVyIHByZWRpY2F0ZSBvbiBhbGwgaXRlbXMgb2YgdGhlIHVuZmlsdGVyZWQgYXJyYXkuXG4gICAgICogRWFjaCBpdGVtIHRoYXQgcmV0dXJucyBgdHJ1ZWAgd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgZmlsdGVyZWQgYXJyYXkuXG4gICAgICogQHBhcmFtIGRhdGEgZGF0YSB0aGF0IGlzIHNlbnQgdG8gdGhlIHtAbGluayBGaWx0ZXJlZEFycmF5I19maWx0ZXJQcmVkaWNhdGV9IGZvciBldmFsdWF0aW9uXG4gICAgICovXG4gICAgcHVibGljIGZpbHRlcihkYXRhOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5maWx0ZXJlZC5zcGxpY2UoMCwgdGhpcy5maWx0ZXJlZC5sZW5ndGgpO1xuICAgICAgICB0aGlzLl91bmZpbHRlcmVkLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5fZmlsdGVyUHJlZGljYXRlKGl0ZW0sIGRhdGEpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJlZC5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|