@tsi-developpement/tsi-shared-ui 0.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/esm2022/lib/consts/app-providers.mjs +11 -0
- package/esm2022/lib/consts/html-template.const.mjs +40 -0
- package/esm2022/lib/consts/index.mjs +8 -0
- package/esm2022/lib/consts/localization-key.mjs +12 -0
- package/esm2022/lib/consts/locals.const.mjs +8 -0
- package/esm2022/lib/consts/queryParamNames.const.mjs +11 -0
- package/esm2022/lib/consts/themes.mjs +5 -0
- package/esm2022/lib/consts/tsi-consts.mjs +45 -0
- package/esm2022/lib/end-points/authorization-endpoints.mjs +35 -0
- package/esm2022/lib/end-points/baseuri.mjs +11 -0
- package/esm2022/lib/end-points/endpoints.mjs +208 -0
- package/esm2022/lib/end-points/import-export-endpoint.mjs +35 -0
- package/esm2022/lib/end-points/index.mjs +7 -0
- package/esm2022/lib/end-points/presentation-settings-endpoints.mjs +13 -0
- package/esm2022/lib/end-points/reporting-endpoints.mjs +55 -0
- package/esm2022/lib/end-points/shared-endpoint.mjs +12 -0
- package/esm2022/lib/end-points/user-identity-endpoints.mjs +61 -0
- package/esm2022/lib/enums/Language.mjs +9 -0
- package/esm2022/lib/enums/auto-complete.mjs +6 -0
- package/esm2022/lib/enums/button-type.enum.mjs +6 -0
- package/esm2022/lib/enums/claim-types.mjs +15 -0
- package/esm2022/lib/enums/code-format.mjs +6 -0
- package/esm2022/lib/enums/component-use-modes-enum.mjs +19 -0
- package/esm2022/lib/enums/css-units.mjs +10 -0
- package/esm2022/lib/enums/decimal-format.mjs +8 -0
- package/esm2022/lib/enums/display-types.mjs +35 -0
- package/esm2022/lib/enums/filter-operator-type.mjs +34 -0
- package/esm2022/lib/enums/form-validation-error.mjs +7 -0
- package/esm2022/lib/enums/grid-selection-mode.mjs +7 -0
- package/esm2022/lib/enums/grid-sort-mode.mjs +7 -0
- package/esm2022/lib/enums/http-method-types.mjs +6 -0
- package/esm2022/lib/enums/index.mjs +25 -0
- package/esm2022/lib/enums/input-types.mjs +20 -0
- package/esm2022/lib/enums/layout-orientation.mjs +6 -0
- package/esm2022/lib/enums/logout-reason-enum.mjs +8 -0
- package/esm2022/lib/enums/modal-size-enum.mjs +10 -0
- package/esm2022/lib/enums/report-type.mjs +9 -0
- package/esm2022/lib/enums/status.mjs +9 -0
- package/esm2022/lib/enums/text-box-type.mjs +7 -0
- package/esm2022/lib/enums/tooltipPosition.enum.mjs +8 -0
- package/esm2022/lib/enums/tsi-component-enum.mjs +40 -0
- package/esm2022/lib/enums/type-import.mjs +6 -0
- package/esm2022/lib/functions/array.functions.mjs +8 -0
- package/esm2022/lib/functions/index.mjs +3 -0
- package/esm2022/lib/functions/modal-open.function.mjs +69 -0
- package/esm2022/lib/guards/admin.guard.mjs +37 -0
- package/esm2022/lib/guards/auth.guard.mjs +30 -0
- package/esm2022/lib/guards/index.mjs +4 -0
- package/esm2022/lib/guards/permission.guard.mjs +32 -0
- package/esm2022/lib/interfaces/configuration/configuration.mjs +2 -0
- package/esm2022/lib/interfaces/generic-form/generic-form.mjs +118 -0
- package/esm2022/lib/interfaces/generic-types/dictionary.mjs +2 -0
- package/esm2022/lib/interfaces/grid/grid-configuration.mjs +2 -0
- package/esm2022/lib/interfaces/index.mjs +12 -0
- package/esm2022/lib/interfaces/modal/dynamic.component.mjs +7 -0
- package/esm2022/lib/interfaces/modal/modal-size.mjs +2 -0
- package/esm2022/lib/interfaces/pagination/pagination-base.mjs +2 -0
- package/esm2022/lib/interfaces/select-list/combo-status-model.mjs +10 -0
- package/esm2022/lib/interfaces/settings/app-settings.mjs +2 -0
- package/esm2022/lib/interfaces/styles/css-size-property.mjs +17 -0
- package/esm2022/lib/interfaces/translation/translation.mjs +2 -0
- package/esm2022/lib/models/Notes/Note.mjs +7 -0
- package/esm2022/lib/models/application/configuration/endpoint-infos.mjs +3 -0
- package/esm2022/lib/models/application/configuration/entity-delete-behavior.mjs +2 -0
- package/esm2022/lib/models/authorization/authorization-token-mapper.mjs +24 -0
- package/esm2022/lib/models/authorization/authorization-token.mjs +2 -0
- package/esm2022/lib/models/common/component-descriminator.mjs +2 -0
- package/esm2022/lib/models/common/entity-properties.mjs +2 -0
- package/esm2022/lib/models/common/entity-validations.mjs +2 -0
- package/esm2022/lib/models/common/event-schema.mjs +2 -0
- package/esm2022/lib/models/common/key-value-pair.mjs +2 -0
- package/esm2022/lib/models/entity-info/entity-info.mjs +29 -0
- package/esm2022/lib/models/filter/filter-by-existing-values.mjs +7 -0
- package/esm2022/lib/models/filter/paged-result-request-base.mjs +13 -0
- package/esm2022/lib/models/filter/search-field.mjs +2 -0
- package/esm2022/lib/models/import-export/import-export.mjs +15 -0
- package/esm2022/lib/models/index.mjs +38 -0
- package/esm2022/lib/models/journalisation-application/journalisation-application.mjs +10 -0
- package/esm2022/lib/models/journalisation-application/status-history.mjs +3 -0
- package/esm2022/lib/models/layout/layout-config.mjs +2 -0
- package/esm2022/lib/models/modal/bs-modal.mjs +6 -0
- package/esm2022/lib/models/presentation-settings/presentation-settings.mjs +8 -0
- package/esm2022/lib/models/progress-bar/progress-bar-create-request.mjs +2 -0
- package/esm2022/lib/models/progress-bar/progress-bar-response.mjs +8 -0
- package/esm2022/lib/models/progress-bar/progress-bar-update-request.mjs +3 -0
- package/esm2022/lib/models/remote-services-utility/subscription-result.mjs +17 -0
- package/esm2022/lib/models/reporting/json-data-connection.mjs +2 -0
- package/esm2022/lib/models/reporting/optional-endpoints.mjs +2 -0
- package/esm2022/lib/models/reporting/report-template-response.mjs +2 -0
- package/esm2022/lib/models/reporting/report-to-edit-template.mjs +2 -0
- package/esm2022/lib/models/reporting/report-to-print.mjs +2 -0
- package/esm2022/lib/models/reporting/report-to-template.mjs +2 -0
- package/esm2022/lib/models/settings/devise.mjs +3 -0
- package/esm2022/lib/models/settings/fichier.mjs +6 -0
- package/esm2022/lib/models/settings/type-fichier.mjs +3 -0
- package/esm2022/lib/models/tsi-card/tsi-card.mjs +3 -0
- package/esm2022/lib/models/user-identity/login-response.mjs +7 -0
- package/esm2022/lib/models/user-identity/tenant.mjs +3 -0
- package/esm2022/lib/models/user-identity/user-identity.mjs +3 -0
- package/esm2022/lib/models/workflow/workflow.mjs +14 -0
- package/esm2022/lib/package-initializer.mjs +7 -0
- package/esm2022/lib/pipes/cut-label.pipe.mjs +23 -0
- package/esm2022/lib/pipes/index.mjs +8 -0
- package/esm2022/lib/pipes/localize.pipe.mjs +51 -0
- package/esm2022/lib/pipes/modal-label.pipe.mjs +37 -0
- package/esm2022/lib/pipes/shorten.pipe.mjs +20 -0
- package/esm2022/lib/pipes/to-number.pipe.mjs +20 -0
- package/esm2022/lib/pipes/tsi-currency.pipe.mjs +29 -0
- package/esm2022/lib/pipes/tsi-decimal.pipe.mjs +21 -0
- package/esm2022/lib/providers/index.mjs +2 -0
- package/esm2022/lib/providers/shared-ui-tsi.provider.mjs +15 -0
- package/esm2022/lib/routes/admin.routes.mjs +5 -0
- package/esm2022/lib/routes/app.routes.mjs +7 -0
- package/esm2022/lib/routes/identity.routes.mjs +4 -0
- package/esm2022/lib/routes/index.mjs +5 -0
- package/esm2022/lib/routes/manage-reporting.routes.mjs +5 -0
- package/esm2022/lib/services/Component-Finder/tsi-component-finder.service.mjs +22 -0
- package/esm2022/lib/services/Import-Export/modele-import.service.mjs +59 -0
- package/esm2022/lib/services/Note/Note.service.mjs +35 -0
- package/esm2022/lib/services/UserIdentity/identity-platform-authentication.service.mjs +29 -0
- package/esm2022/lib/services/UserIdentity/user-identity.service.mjs +40 -0
- package/esm2022/lib/services/application/api-explorer.service.mjs +24 -0
- package/esm2022/lib/services/application/app.layout.service.mjs +97 -0
- package/esm2022/lib/services/application/parametres-application-parambase.service.mjs +20 -0
- package/esm2022/lib/services/authorization/authorization.service.mjs +124 -0
- package/esm2022/lib/services/authorization/identity-manager.service.mjs +97 -0
- package/esm2022/lib/services/base/crud-base.service.mjs +38 -0
- package/esm2022/lib/services/configuration/entity-configuration.service.mjs +49 -0
- package/esm2022/lib/services/currentUser/currentUser.service.mjs +49 -0
- package/esm2022/lib/services/date-helper.service.mjs +133 -0
- package/esm2022/lib/services/dialog-data.service.mjs +32 -0
- package/esm2022/lib/services/fichier/fichier-upload.service.mjs +44 -0
- package/esm2022/lib/services/fichier/fichier.service.mjs +20 -0
- package/esm2022/lib/services/formula.service.mjs +20 -0
- package/esm2022/lib/services/generator/html-template-generator.service.mjs +196 -0
- package/esm2022/lib/services/index.mjs +41 -0
- package/esm2022/lib/services/journalisation/journalisation-application.service.mjs +23 -0
- package/esm2022/lib/services/journalisation/status-history.service.mjs +23 -0
- package/esm2022/lib/services/layout/layout-helper.service.mjs +72 -0
- package/esm2022/lib/services/modal/tsi-bs-modal.service.mjs +37 -0
- package/esm2022/lib/services/modal/tsi-modal.service.mjs +21 -0
- package/esm2022/lib/services/module-code/module-code.service.mjs +31 -0
- package/esm2022/lib/services/module-main-parameter.service.mjs +31 -0
- package/esm2022/lib/services/notification/error-response-manager.service.mjs +57 -0
- package/esm2022/lib/services/notification/tsi-confirmation.service.mjs +37 -0
- package/esm2022/lib/services/notification/tsi-message.service.mjs +54 -0
- package/esm2022/lib/services/notification/tsi-notification.service.mjs +47 -0
- package/esm2022/lib/services/presentation-setting/presentation-designer-base.service.mjs +26 -0
- package/esm2022/lib/services/presentation-setting/presentation-designer.service.mjs +58 -0
- package/esm2022/lib/services/presentation-setting/presentation-setting.service.mjs +39 -0
- package/esm2022/lib/services/progress-bar/progress-bar-helper.service.mjs +39 -0
- package/esm2022/lib/services/progress-bar/progress-bar.service.mjs +30 -0
- package/esm2022/lib/services/record-info-popup.service.mjs +21 -0
- package/esm2022/lib/services/reporting/dashboard-module.service.mjs +24 -0
- package/esm2022/lib/services/reporting/reporting.service.mjs +111 -0
- package/esm2022/lib/services/settings/app-settings.service.mjs +47 -0
- package/esm2022/lib/services/settings/keyboard-shortcut.service.mjs +30 -0
- package/esm2022/lib/services/status/entityStatus.service.mjs +21 -0
- package/esm2022/lib/services/translation/translation.service.mjs +71 -0
- package/esm2022/lib/services/validation/entity-validations.service.mjs +21 -0
- package/esm2022/lib/services/validation/generic-validation-state.service.mjs +30 -0
- package/esm2022/lib/services/validation/input-registry.service.mjs +25 -0
- package/esm2022/lib/services/workflow/workflow-configuration.service.mjs +80 -0
- package/esm2022/lib/shared.module.mjs +643 -0
- package/esm2022/lib/tsi-base/components/app-base/app-base.component.mjs +101 -0
- package/esm2022/lib/tsi-base/components/tsi-base/tsi-base.component.mjs +25 -0
- package/esm2022/lib/tsi-base/components/tsi-form-base/tsi-form-base.component.mjs +645 -0
- package/esm2022/lib/tsi-base/components/tsi-list-base/tsi-list-base.component.mjs +514 -0
- package/esm2022/lib/tsi-base/index.mjs +6 -0
- package/esm2022/lib/tsi-base/tsi-input-base/tsi-input-base.component.mjs +141 -0
- package/esm2022/lib/tsi-components/alert-import-message/alert-import-message.component.mjs +19 -0
- package/esm2022/lib/tsi-components/button-components/Tsi-Submit-Button/tsi-submit-button.component.mjs +40 -0
- package/esm2022/lib/tsi-components/button-components/tsi-button/tsi-button.component.mjs +75 -0
- package/esm2022/lib/tsi-components/create-or-edit-entity-informations/create-or-edit-entity-informations.component.mjs +173 -0
- package/esm2022/lib/tsi-components/create-or-edit-modele-import/create-or-edit-modele-import.component.mjs +201 -0
- package/esm2022/lib/tsi-components/index.mjs +80 -0
- package/esm2022/lib/tsi-components/input-components/editable-grid/editable-grid.component.mjs +643 -0
- package/esm2022/lib/tsi-components/input-components/tsi-checkbox/tsi-checkbox.component.mjs +120 -0
- package/esm2022/lib/tsi-components/input-components/tsi-currency-other-input/tsi-currency-other-input.component.mjs +53 -0
- package/esm2022/lib/tsi-components/input-components/tsi-currency-societe-input/tsi-currency-societe-input.component.mjs +62 -0
- package/esm2022/lib/tsi-components/input-components/tsi-date-picker/tsi-date-picker.component.mjs +116 -0
- package/esm2022/lib/tsi-components/input-components/tsi-decimal-input/tsi-decimal-input.component.mjs +51 -0
- package/esm2022/lib/tsi-components/input-components/tsi-file-manager/tsi-file-manager.component.mjs +195 -0
- package/esm2022/lib/tsi-components/input-components/tsi-formula-box/tsi-formula-box.component.mjs +54 -0
- package/esm2022/lib/tsi-components/input-components/tsi-integer/tsi-integer.component.mjs +55 -0
- package/esm2022/lib/tsi-components/input-components/tsi-radio-button/tsi-radio-button.component.mjs +43 -0
- package/esm2022/lib/tsi-components/input-components/tsi-rate-input/tsi-rate-input.component.mjs +56 -0
- package/esm2022/lib/tsi-components/input-components/tsi-search-combo/tsi-search-combo.component.mjs +649 -0
- package/esm2022/lib/tsi-components/input-components/tsi-text-area/tsi-text-area.component.mjs +44 -0
- package/esm2022/lib/tsi-components/input-components/tsi-text-box/tsi-text-box.component.mjs +50 -0
- package/esm2022/lib/tsi-components/input-components/tsi-time-picker/tsi-time-picker.component.mjs +65 -0
- package/esm2022/lib/tsi-components/logout-popup/logout-popup.component.mjs +12 -0
- package/esm2022/lib/tsi-components/manage-import-export/manage-import-export.component.mjs +435 -0
- package/esm2022/lib/tsi-components/manage-reporting/add-report-popup/add-report-popup.component.mjs +148 -0
- package/esm2022/lib/tsi-components/manage-reporting/manage-reporting.component.mjs +1075 -0
- package/esm2022/lib/tsi-components/message-components/tsi-error-message/tsi-error-message.component.mjs +31 -0
- package/esm2022/lib/tsi-components/message-components/tsi-info-message/tsi-info-message.component.mjs +24 -0
- package/esm2022/lib/tsi-components/message-components/tsi-redirection-message/tsi-redirection-message.component.mjs +19 -0
- package/esm2022/lib/tsi-components/message-components/tsi-success-message/tsi-success-message.component.mjs +22 -0
- package/esm2022/lib/tsi-components/modal-component/modal.component.mjs +138 -0
- package/esm2022/lib/tsi-components/modal-loader/modal-loader.component.mjs +58 -0
- package/esm2022/lib/tsi-components/output-components/display-nested-prop/display-nested-prop.component.mjs +32 -0
- package/esm2022/lib/tsi-components/output-components/tsi-checkbox-display/tsi-checkbox-display.component.mjs +18 -0
- package/esm2022/lib/tsi-components/output-components/tsi-currency-other-display/tsi-currency-other-display.component.mjs +17 -0
- package/esm2022/lib/tsi-components/output-components/tsi-currency-societe-display/tsi-currency-societe-display.component.mjs +57 -0
- package/esm2022/lib/tsi-components/output-components/tsi-date-display/tsi-date-display.component.mjs +27 -0
- package/esm2022/lib/tsi-components/output-components/tsi-decimal-display/tsi-decimal-display.component.mjs +25 -0
- package/esm2022/lib/tsi-components/output-components/tsi-display-grid/tsi-display-grid.component.mjs +139 -0
- package/esm2022/lib/tsi-components/output-components/tsi-generic-grid/tsi-generic-grid.component.mjs +1509 -0
- package/esm2022/lib/tsi-components/output-components/tsi-image-display/tsi-image-display.component.mjs +144 -0
- package/esm2022/lib/tsi-components/output-components/tsi-integer-display/tsi-integer-display.component.mjs +13 -0
- package/esm2022/lib/tsi-components/output-components/tsi-label/tsi-label.component.mjs +24 -0
- package/esm2022/lib/tsi-components/output-components/tsi-label-legend/tsi-label-legend.component.mjs +18 -0
- package/esm2022/lib/tsi-components/output-components/tsi-legend/tsi-legend.component.mjs +20 -0
- package/esm2022/lib/tsi-components/output-components/tsi-paragraph/tsi-paragraph.component.mjs +17 -0
- package/esm2022/lib/tsi-components/output-components/tsi-rate-display/tsi-rate-display.component.mjs +30 -0
- package/esm2022/lib/tsi-components/output-components/tsi-time-display/tsi-time-display.component.mjs +17 -0
- package/esm2022/lib/tsi-components/output-components/tsi-view-grid/tsi-view-grid.component.mjs +427 -0
- package/esm2022/lib/tsi-components/reporting/reporting.component.mjs +667 -0
- package/esm2022/lib/tsi-components/spinner/spinner.component.mjs +15 -0
- package/esm2022/lib/tsi-components/tsi-bubble-info/tsi-bubble-info.component.mjs +21 -0
- package/esm2022/lib/tsi-components/tsi-calender/context-menu/context-menu.component.mjs +46 -0
- package/esm2022/lib/tsi-components/tsi-calender/tsi-calender.component.mjs +297 -0
- package/esm2022/lib/tsi-components/tsi-card/tsi-card.component.mjs +64 -0
- package/esm2022/lib/tsi-components/tsi-card-list/tsi-card-list.component.mjs +112 -0
- package/esm2022/lib/tsi-components/tsi-change-password/tsi-change-password.component.mjs +39 -0
- package/esm2022/lib/tsi-components/tsi-code-generator/tsi-code-generator.component.mjs +83 -0
- package/esm2022/lib/tsi-components/tsi-divider/tsi-divider.component.mjs +18 -0
- package/esm2022/lib/tsi-components/tsi-form/tsi-form.component.mjs +305 -0
- package/esm2022/lib/tsi-components/tsi-form-modal-footer/tsi-form-modal-footer.component.mjs +15 -0
- package/esm2022/lib/tsi-components/tsi-generic-crud/tsi-generic-crud.component.mjs +883 -0
- package/esm2022/lib/tsi-components/tsi-generic-form/tsi-generic-form.component.mjs +149 -0
- package/esm2022/lib/tsi-components/tsi-kanban/tsi-kanban.component.mjs +231 -0
- package/esm2022/lib/tsi-components/tsi-log-event-history/tsi-log-event-history.component.mjs +119 -0
- package/esm2022/lib/tsi-components/tsi-modal/tsi-modal.component.mjs +25 -0
- package/esm2022/lib/tsi-components/tsi-modal-footer/tsi-modal-footer.component.mjs +119 -0
- package/esm2022/lib/tsi-components/tsi-modal-header/tsi-modal-header.component.mjs +54 -0
- package/esm2022/lib/tsi-components/tsi-notes-avertir/tsi-notes-avertir.component.mjs +27 -0
- package/esm2022/lib/tsi-components/tsi-notes-createoredit/tsi-notes.component.mjs +123 -0
- package/esm2022/lib/tsi-components/tsi-notes-grid/tsi-notes-grid.component.mjs +41 -0
- package/esm2022/lib/tsi-components/tsi-popup-text-viewer/tsi-popup-text-viewer.component.mjs +187 -0
- package/esm2022/lib/tsi-components/tsi-progress-bar/tsi-progress-bar.component.mjs +170 -0
- package/esm2022/lib/tsi-components/tsi-search-box/tsi-search-box.component.mjs +142 -0
- package/esm2022/lib/tsi-components/tsi-send-mail/tsi-send-mail.component.mjs +37 -0
- package/esm2022/lib/tsi-components/tsi-tab-panel/tsi-tab-panel.component.mjs +52 -0
- package/esm2022/lib/tsi-components/tsi-tab-view/tsi-tab-view.component.mjs +46 -0
- package/esm2022/lib/tsi-components/tsi-tenants/tsi-tenants.component.mjs +122 -0
- package/esm2022/lib/tsi-components/tsi-tooltip/tsi-tooltip.component.mjs +21 -0
- package/esm2022/lib/tsi-components/tsi-upload-fiche/tsi-upload-fiche.component.mjs +186 -0
- package/esm2022/lib/tsi-components/tsi-upload-grid/tsi-upload-grid.component.mjs +54 -0
- package/esm2022/lib/tsi-directives/auto-select.directive.mjs +33 -0
- package/esm2022/lib/tsi-directives/busy.directive.mjs +32 -0
- package/esm2022/lib/tsi-directives/dynamic-component-loader/ad.directive.mjs +16 -0
- package/esm2022/lib/tsi-directives/index.mjs +8 -0
- package/esm2022/lib/tsi-directives/module-main-parameter.directive.mjs +16 -0
- package/esm2022/lib/tsi-directives/presentation-designer-base.directive.mjs +238 -0
- package/esm2022/lib/tsi-directives/presentation-designer.directive.mjs +205 -0
- package/esm2022/lib/tsi-directives/validation.directive.mjs +85 -0
- package/esm2022/lib/tsi-helpers/compoent-reference.helper.mjs +7 -0
- package/esm2022/lib/tsi-helpers/date-helper.mjs +21 -0
- package/esm2022/lib/tsi-helpers/export-excel.helper.mjs +40 -0
- package/esm2022/lib/tsi-helpers/filter-helper.mjs +126 -0
- package/esm2022/lib/tsi-helpers/grid-col-style.helper.mjs +7 -0
- package/esm2022/lib/tsi-helpers/guid.helper.mjs +19 -0
- package/esm2022/lib/tsi-helpers/helpers.mjs +9 -0
- package/esm2022/lib/tsi-helpers/index.mjs +13 -0
- package/esm2022/lib/tsi-helpers/mapping-helper.mjs +10 -0
- package/esm2022/lib/tsi-helpers/object.helper.mjs +6 -0
- package/esm2022/lib/tsi-helpers/primeng-translate-config.mjs +55 -0
- package/esm2022/lib/tsi-helpers/storage-manager.mjs +33 -0
- package/esm2022/lib/tsi-helpers/type-registry.helper.mjs +49 -0
- package/esm2022/lib/types/enum-description.type.mjs +2 -0
- package/esm2022/lib/types/index.mjs +3 -0
- package/esm2022/lib/types/time-only.mjs +42 -0
- package/esm2022/public-api.mjs +21 -0
- package/esm2022/tsi-developpement-tsi-shared-ui.mjs +5 -0
- package/esm2022/tsi-tsi-shared-ui.mjs +5 -0
- package/fesm2022/tsi-developpement-tsi-shared-ui.mjs +17486 -0
- package/fesm2022/tsi-developpement-tsi-shared-ui.mjs.map +1 -0
- package/fesm2022/tsi-tsi-shared-ui.mjs +17486 -0
- package/fesm2022/tsi-tsi-shared-ui.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/consts/app-providers.d.ts +4 -0
- package/lib/consts/html-template.const.d.ts +12 -0
- package/lib/consts/index.d.ts +7 -0
- package/lib/consts/localization-key.d.ts +11 -0
- package/lib/consts/locals.const.d.ts +7 -0
- package/lib/consts/queryParamNames.const.d.ts +10 -0
- package/lib/consts/themes.d.ts +4 -0
- package/lib/consts/tsi-consts.d.ts +40 -0
- package/lib/end-points/authorization-endpoints.d.ts +31 -0
- package/lib/end-points/baseuri.d.ts +10 -0
- package/lib/end-points/endpoints.d.ts +205 -0
- package/lib/end-points/import-export-endpoint.d.ts +33 -0
- package/lib/end-points/index.d.ts +6 -0
- package/lib/end-points/presentation-settings-endpoints.d.ts +11 -0
- package/lib/end-points/reporting-endpoints.d.ts +53 -0
- package/lib/end-points/shared-endpoint.d.ts +9 -0
- package/lib/end-points/user-identity-endpoints.d.ts +59 -0
- package/lib/enums/Language.d.ts +9 -0
- package/lib/enums/auto-complete.d.ts +4 -0
- package/lib/enums/button-type.enum.d.ts +4 -0
- package/lib/enums/claim-types.d.ts +13 -0
- package/lib/enums/code-format.d.ts +4 -0
- package/lib/enums/component-use-modes-enum.d.ts +17 -0
- package/lib/enums/css-units.d.ts +8 -0
- package/lib/enums/decimal-format.d.ts +6 -0
- package/lib/enums/display-types.d.ts +17 -0
- package/lib/enums/filter-operator-type.d.ts +18 -0
- package/lib/enums/form-validation-error.d.ts +11 -0
- package/lib/enums/grid-selection-mode.d.ts +5 -0
- package/lib/enums/grid-sort-mode.d.ts +5 -0
- package/lib/enums/http-method-types.d.ts +4 -0
- package/lib/enums/index.d.ts +24 -0
- package/lib/enums/input-types.d.ts +18 -0
- package/lib/enums/layout-orientation.d.ts +4 -0
- package/lib/enums/logout-reason-enum.d.ts +6 -0
- package/lib/enums/modal-size-enum.d.ts +10 -0
- package/lib/enums/report-type.d.ts +7 -0
- package/lib/enums/status.d.ts +7 -0
- package/lib/enums/text-box-type.d.ts +5 -0
- package/lib/enums/tooltipPosition.enum.d.ts +6 -0
- package/lib/enums/tsi-component-enum.d.ts +37 -0
- package/lib/enums/type-import.d.ts +4 -0
- package/lib/functions/array.functions.d.ts +1 -0
- package/lib/functions/index.d.ts +1 -0
- package/lib/functions/modal-open.function.d.ts +9 -0
- package/lib/guards/admin.guard.d.ts +14 -0
- package/lib/guards/auth.guard.d.ts +12 -0
- package/lib/guards/index.d.ts +3 -0
- package/lib/guards/permission.guard.d.ts +2 -0
- package/lib/interfaces/configuration/configuration.d.ts +10 -0
- package/lib/interfaces/generic-form/generic-form.d.ts +45 -0
- package/lib/interfaces/generic-types/dictionary.d.ts +3 -0
- package/lib/interfaces/grid/grid-configuration.d.ts +116 -0
- package/lib/interfaces/index.d.ts +11 -0
- package/lib/interfaces/modal/dynamic.component.d.ts +18 -0
- package/lib/interfaces/modal/modal-size.d.ts +4 -0
- package/lib/interfaces/pagination/pagination-base.d.ts +46 -0
- package/lib/interfaces/select-list/combo-status-model.d.ts +8 -0
- package/lib/interfaces/settings/app-settings.d.ts +4 -0
- package/lib/interfaces/styles/css-size-property.d.ts +10 -0
- package/lib/interfaces/translation/translation.d.ts +10 -0
- package/lib/models/Notes/Note.d.ts +25 -0
- package/lib/models/application/configuration/endpoint-infos.d.ts +6 -0
- package/lib/models/application/configuration/entity-delete-behavior.d.ts +6 -0
- package/lib/models/authorization/authorization-token-mapper.d.ts +4 -0
- package/lib/models/authorization/authorization-token.d.ts +16 -0
- package/lib/models/common/component-descriminator.d.ts +4 -0
- package/lib/models/common/entity-properties.d.ts +5 -0
- package/lib/models/common/entity-validations.d.ts +7 -0
- package/lib/models/common/event-schema.d.ts +6 -0
- package/lib/models/common/key-value-pair.d.ts +4 -0
- package/lib/models/entity-info/entity-info.d.ts +37 -0
- package/lib/models/filter/filter-by-existing-values.d.ts +6 -0
- package/lib/models/filter/paged-result-request-base.d.ts +16 -0
- package/lib/models/filter/search-field.d.ts +35 -0
- package/lib/models/import-export/import-export.d.ts +28 -0
- package/lib/models/index.d.ts +37 -0
- package/lib/models/journalisation-application/journalisation-application.d.ts +39 -0
- package/lib/models/journalisation-application/status-history.d.ts +12 -0
- package/lib/models/layout/layout-config.d.ts +3 -0
- package/lib/models/modal/bs-modal.d.ts +5 -0
- package/lib/models/presentation-settings/presentation-settings.d.ts +14 -0
- package/lib/models/progress-bar/progress-bar-create-request.d.ts +8 -0
- package/lib/models/progress-bar/progress-bar-response.d.ts +10 -0
- package/lib/models/progress-bar/progress-bar-update-request.d.ts +9 -0
- package/lib/models/remote-services-utility/subscription-result.d.ts +15 -0
- package/lib/models/reporting/json-data-connection.d.ts +6 -0
- package/lib/models/reporting/optional-endpoints.d.ts +8 -0
- package/lib/models/reporting/report-template-response.d.ts +13 -0
- package/lib/models/reporting/report-to-edit-template.d.ts +29 -0
- package/lib/models/reporting/report-to-print.d.ts +18 -0
- package/lib/models/reporting/report-to-template.d.ts +19 -0
- package/lib/models/settings/devise.d.ts +9 -0
- package/lib/models/settings/fichier.d.ts +14 -0
- package/lib/models/settings/type-fichier.d.ts +4 -0
- package/lib/models/tsi-card/tsi-card.d.ts +9 -0
- package/lib/models/user-identity/login-response.d.ts +8 -0
- package/lib/models/user-identity/tenant.d.ts +5 -0
- package/lib/models/user-identity/user-identity.d.ts +5 -0
- package/lib/models/workflow/workflow.d.ts +36 -0
- package/lib/package-initializer.d.ts +1 -0
- package/lib/pipes/cut-label.pipe.d.ts +7 -0
- package/lib/pipes/index.d.ts +7 -0
- package/lib/pipes/localize.pipe.d.ts +11 -0
- package/lib/pipes/modal-label.pipe.d.ts +10 -0
- package/lib/pipes/shorten.pipe.d.ts +7 -0
- package/lib/pipes/to-number.pipe.d.ts +7 -0
- package/lib/pipes/tsi-currency.pipe.d.ts +10 -0
- package/lib/pipes/tsi-decimal.pipe.d.ts +7 -0
- package/lib/providers/index.d.ts +1 -0
- package/lib/providers/shared-ui-tsi.provider.d.ts +8 -0
- package/lib/routes/admin.routes.d.ts +4 -0
- package/lib/routes/app.routes.d.ts +6 -0
- package/lib/routes/identity.routes.d.ts +3 -0
- package/lib/routes/index.d.ts +4 -0
- package/lib/routes/manage-reporting.routes.d.ts +4 -0
- package/lib/services/Component-Finder/tsi-component-finder.service.d.ts +10 -0
- package/lib/services/Import-Export/modele-import.service.d.ts +21 -0
- package/lib/services/Note/Note.service.d.ts +15 -0
- package/lib/services/UserIdentity/identity-platform-authentication.service.d.ts +13 -0
- package/lib/services/UserIdentity/user-identity.service.d.ts +15 -0
- package/lib/services/application/api-explorer.service.d.ts +13 -0
- package/lib/services/application/app.layout.service.d.ts +47 -0
- package/lib/services/application/parametres-application-parambase.service.d.ts +10 -0
- package/lib/services/authorization/authorization.service.d.ts +46 -0
- package/lib/services/authorization/identity-manager.service.d.ts +23 -0
- package/lib/services/base/crud-base.service.d.ts +20 -0
- package/lib/services/configuration/entity-configuration.service.d.ts +22 -0
- package/lib/services/currentUser/currentUser.service.d.ts +26 -0
- package/lib/services/date-helper.service.d.ts +32 -0
- package/lib/services/dialog-data.service.d.ts +12 -0
- package/lib/services/fichier/fichier-upload.service.d.ts +15 -0
- package/lib/services/fichier/fichier.service.d.ts +10 -0
- package/lib/services/formula.service.d.ts +10 -0
- package/lib/services/generator/html-template-generator.service.d.ts +28 -0
- package/lib/services/index.d.ts +40 -0
- package/lib/services/journalisation/journalisation-application.service.d.ts +12 -0
- package/lib/services/journalisation/status-history.service.d.ts +12 -0
- package/lib/services/layout/layout-helper.service.d.ts +25 -0
- package/lib/services/modal/tsi-bs-modal.service.d.ts +16 -0
- package/lib/services/modal/tsi-modal.service.d.ts +9 -0
- package/lib/services/module-code/module-code.service.d.ts +18 -0
- package/lib/services/module-main-parameter.service.d.ts +12 -0
- package/lib/services/notification/error-response-manager.service.d.ts +13 -0
- package/lib/services/notification/tsi-confirmation.service.d.ts +11 -0
- package/lib/services/notification/tsi-message.service.d.ts +13 -0
- package/lib/services/notification/tsi-notification.service.d.ts +18 -0
- package/lib/services/presentation-setting/presentation-designer-base.service.d.ts +14 -0
- package/lib/services/presentation-setting/presentation-designer.service.d.ts +19 -0
- package/lib/services/presentation-setting/presentation-setting.service.d.ts +16 -0
- package/lib/services/progress-bar/progress-bar-helper.service.d.ts +19 -0
- package/lib/services/progress-bar/progress-bar.service.d.ts +16 -0
- package/lib/services/record-info-popup.service.d.ts +10 -0
- package/lib/services/reporting/dashboard-module.service.d.ts +11 -0
- package/lib/services/reporting/reporting.service.d.ts +32 -0
- package/lib/services/settings/app-settings.service.d.ts +13 -0
- package/lib/services/settings/keyboard-shortcut.service.d.ts +9 -0
- package/lib/services/status/entityStatus.service.d.ts +11 -0
- package/lib/services/translation/translation.service.d.ts +20 -0
- package/lib/services/validation/entity-validations.service.d.ts +10 -0
- package/lib/services/validation/generic-validation-state.service.d.ts +15 -0
- package/lib/services/validation/input-registry.service.d.ts +11 -0
- package/lib/services/workflow/workflow-configuration.service.d.ts +28 -0
- package/lib/shared.module.d.ts +141 -0
- package/lib/tsi-base/components/app-base/app-base.component.d.ts +28 -0
- package/lib/tsi-base/components/tsi-base/tsi-base.component.d.ts +11 -0
- package/lib/tsi-base/components/tsi-form-base/tsi-form-base.component.d.ts +118 -0
- package/lib/tsi-base/components/tsi-list-base/tsi-list-base.component.d.ts +85 -0
- package/lib/tsi-base/index.d.ts +5 -0
- package/lib/tsi-base/tsi-input-base/tsi-input-base.component.d.ts +34 -0
- package/lib/tsi-components/alert-import-message/alert-import-message.component.d.ts +10 -0
- package/lib/tsi-components/button-components/Tsi-Submit-Button/tsi-submit-button.component.d.ts +16 -0
- package/lib/tsi-components/button-components/tsi-button/tsi-button.component.d.ts +26 -0
- package/lib/tsi-components/create-or-edit-entity-informations/create-or-edit-entity-informations.component.d.ts +31 -0
- package/lib/tsi-components/create-or-edit-modele-import/create-or-edit-modele-import.component.d.ts +52 -0
- package/lib/tsi-components/index.d.ts +79 -0
- package/lib/tsi-components/input-components/editable-grid/editable-grid.component.d.ts +127 -0
- package/lib/tsi-components/input-components/tsi-checkbox/tsi-checkbox.component.d.ts +30 -0
- package/lib/tsi-components/input-components/tsi-currency-other-input/tsi-currency-other-input.component.d.ts +18 -0
- package/lib/tsi-components/input-components/tsi-currency-societe-input/tsi-currency-societe-input.component.d.ts +21 -0
- package/lib/tsi-components/input-components/tsi-date-picker/tsi-date-picker.component.d.ts +38 -0
- package/lib/tsi-components/input-components/tsi-decimal-input/tsi-decimal-input.component.d.ts +14 -0
- package/lib/tsi-components/input-components/tsi-file-manager/tsi-file-manager.component.d.ts +45 -0
- package/lib/tsi-components/input-components/tsi-formula-box/tsi-formula-box.component.d.ts +17 -0
- package/lib/tsi-components/input-components/tsi-integer/tsi-integer.component.d.ts +19 -0
- package/lib/tsi-components/input-components/tsi-radio-button/tsi-radio-button.component.d.ts +16 -0
- package/lib/tsi-components/input-components/tsi-rate-input/tsi-rate-input.component.d.ts +16 -0
- package/lib/tsi-components/input-components/tsi-search-combo/tsi-search-combo.component.d.ts +92 -0
- package/lib/tsi-components/input-components/tsi-text-area/tsi-text-area.component.d.ts +17 -0
- package/lib/tsi-components/input-components/tsi-text-box/tsi-text-box.component.d.ts +21 -0
- package/lib/tsi-components/input-components/tsi-time-picker/tsi-time-picker.component.d.ts +23 -0
- package/lib/tsi-components/logout-popup/logout-popup.component.d.ts +5 -0
- package/lib/tsi-components/manage-import-export/manage-import-export.component.d.ts +64 -0
- package/lib/tsi-components/manage-reporting/add-report-popup/add-report-popup.component.d.ts +151 -0
- package/lib/tsi-components/manage-reporting/manage-reporting.component.d.ts +109 -0
- package/lib/tsi-components/message-components/tsi-error-message/tsi-error-message.component.d.ts +15 -0
- package/lib/tsi-components/message-components/tsi-info-message/tsi-info-message.component.d.ts +13 -0
- package/lib/tsi-components/message-components/tsi-redirection-message/tsi-redirection-message.component.d.ts +9 -0
- package/lib/tsi-components/message-components/tsi-success-message/tsi-success-message.component.d.ts +13 -0
- package/lib/tsi-components/modal-component/modal.component.d.ts +25 -0
- package/lib/tsi-components/modal-loader/modal-loader.component.d.ts +27 -0
- package/lib/tsi-components/output-components/display-nested-prop/display-nested-prop.component.d.ts +14 -0
- package/lib/tsi-components/output-components/tsi-checkbox-display/tsi-checkbox-display.component.d.ts +6 -0
- package/lib/tsi-components/output-components/tsi-currency-other-display/tsi-currency-other-display.component.d.ts +7 -0
- package/lib/tsi-components/output-components/tsi-currency-societe-display/tsi-currency-societe-display.component.d.ts +19 -0
- package/lib/tsi-components/output-components/tsi-date-display/tsi-date-display.component.d.ts +10 -0
- package/lib/tsi-components/output-components/tsi-decimal-display/tsi-decimal-display.component.d.ts +9 -0
- package/lib/tsi-components/output-components/tsi-display-grid/tsi-display-grid.component.d.ts +41 -0
- package/lib/tsi-components/output-components/tsi-generic-grid/tsi-generic-grid.component.d.ts +231 -0
- package/lib/tsi-components/output-components/tsi-image-display/tsi-image-display.component.d.ts +46 -0
- package/lib/tsi-components/output-components/tsi-integer-display/tsi-integer-display.component.d.ts +6 -0
- package/lib/tsi-components/output-components/tsi-label/tsi-label.component.d.ts +8 -0
- package/lib/tsi-components/output-components/tsi-label-legend/tsi-label-legend.component.d.ts +6 -0
- package/lib/tsi-components/output-components/tsi-legend/tsi-legend.component.d.ts +9 -0
- package/lib/tsi-components/output-components/tsi-paragraph/tsi-paragraph.component.d.ts +6 -0
- package/lib/tsi-components/output-components/tsi-rate-display/tsi-rate-display.component.d.ts +10 -0
- package/lib/tsi-components/output-components/tsi-time-display/tsi-time-display.component.d.ts +7 -0
- package/lib/tsi-components/output-components/tsi-view-grid/tsi-view-grid.component.d.ts +97 -0
- package/lib/tsi-components/reporting/reporting.component.d.ts +103 -0
- package/lib/tsi-components/spinner/spinner.component.d.ts +8 -0
- package/lib/tsi-components/tsi-bubble-info/tsi-bubble-info.component.d.ts +9 -0
- package/lib/tsi-components/tsi-calender/context-menu/context-menu.component.d.ts +25 -0
- package/lib/tsi-components/tsi-calender/tsi-calender.component.d.ts +50 -0
- package/lib/tsi-components/tsi-card/tsi-card.component.d.ts +25 -0
- package/lib/tsi-components/tsi-card-list/tsi-card-list.component.d.ts +35 -0
- package/lib/tsi-components/tsi-change-password/tsi-change-password.component.d.ts +21 -0
- package/lib/tsi-components/tsi-code-generator/tsi-code-generator.component.d.ts +23 -0
- package/lib/tsi-components/tsi-divider/tsi-divider.component.d.ts +6 -0
- package/lib/tsi-components/tsi-form/tsi-form.component.d.ts +91 -0
- package/lib/tsi-components/tsi-form-modal-footer/tsi-form-modal-footer.component.d.ts +8 -0
- package/lib/tsi-components/tsi-generic-crud/tsi-generic-crud.component.d.ts +156 -0
- package/lib/tsi-components/tsi-generic-form/tsi-generic-form.component.d.ts +28 -0
- package/lib/tsi-components/tsi-kanban/tsi-kanban.component.d.ts +68 -0
- package/lib/tsi-components/tsi-log-event-history/tsi-log-event-history.component.d.ts +35 -0
- package/lib/tsi-components/tsi-modal/tsi-modal.component.d.ts +10 -0
- package/lib/tsi-components/tsi-modal-footer/tsi-modal-footer.component.d.ts +38 -0
- package/lib/tsi-components/tsi-modal-header/tsi-modal-header.component.d.ts +19 -0
- package/lib/tsi-components/tsi-notes-avertir/tsi-notes-avertir.component.d.ts +13 -0
- package/lib/tsi-components/tsi-notes-createoredit/tsi-notes.component.d.ts +21 -0
- package/lib/tsi-components/tsi-notes-grid/tsi-notes-grid.component.d.ts +12 -0
- package/lib/tsi-components/tsi-popup-text-viewer/tsi-popup-text-viewer.component.d.ts +41 -0
- package/lib/tsi-components/tsi-progress-bar/tsi-progress-bar.component.d.ts +38 -0
- package/lib/tsi-components/tsi-search-box/tsi-search-box.component.d.ts +44 -0
- package/lib/tsi-components/tsi-send-mail/tsi-send-mail.component.d.ts +21 -0
- package/lib/tsi-components/tsi-tab-panel/tsi-tab-panel.component.d.ts +18 -0
- package/lib/tsi-components/tsi-tab-view/tsi-tab-view.component.d.ts +17 -0
- package/lib/tsi-components/tsi-tenants/tsi-tenants.component.d.ts +39 -0
- package/lib/tsi-components/tsi-tooltip/tsi-tooltip.component.d.ts +9 -0
- package/lib/tsi-components/tsi-upload-fiche/tsi-upload-fiche.component.d.ts +35 -0
- package/lib/tsi-components/tsi-upload-grid/tsi-upload-grid.component.d.ts +13 -0
- package/lib/tsi-directives/auto-select.directive.d.ts +9 -0
- package/lib/tsi-directives/busy.directive.d.ts +11 -0
- package/lib/tsi-directives/dynamic-component-loader/ad.directive.d.ts +8 -0
- package/lib/tsi-directives/index.d.ts +7 -0
- package/lib/tsi-directives/module-main-parameter.directive.d.ts +8 -0
- package/lib/tsi-directives/presentation-designer-base.directive.d.ts +41 -0
- package/lib/tsi-directives/presentation-designer.directive.d.ts +37 -0
- package/lib/tsi-directives/validation.directive.d.ts +18 -0
- package/lib/tsi-helpers/compoent-reference.helper.d.ts +5 -0
- package/lib/tsi-helpers/date-helper.d.ts +6 -0
- package/lib/tsi-helpers/export-excel.helper.d.ts +5 -0
- package/lib/tsi-helpers/filter-helper.d.ts +12 -0
- package/lib/tsi-helpers/grid-col-style.helper.d.ts +5 -0
- package/lib/tsi-helpers/guid.helper.d.ts +6 -0
- package/lib/tsi-helpers/helpers.d.ts +4 -0
- package/lib/tsi-helpers/index.d.ts +12 -0
- package/lib/tsi-helpers/mapping-helper.d.ts +5 -0
- package/lib/tsi-helpers/object.helper.d.ts +3 -0
- package/lib/tsi-helpers/primeng-translate-config.d.ts +54 -0
- package/lib/tsi-helpers/storage-manager.d.ts +8 -0
- package/lib/tsi-helpers/type-registry.helper.d.ts +34 -0
- package/lib/types/enum-description.type.d.ts +3 -0
- package/lib/types/index.d.ts +2 -0
- package/lib/types/time-only.d.ts +17 -0
- package/package.json +24 -0
- package/public-api.d.ts +17 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
export class TsiDecimalDisplayComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.numOfDecimal = 2;
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
ngOnInit() {
|
|
10
|
+
this.formatDecimal = `1.${this.numOfDecimal ?? 2}-${this.numOfDecimal ?? 2}`;
|
|
11
|
+
}
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TsiDecimalDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TsiDecimalDisplayComponent, selector: "Tsi-Decimal-Display", inputs: { inputData: "inputData", formatDecimal: "formatDecimal", numOfDecimal: "numOfDecimal" }, ngImport: i0, template: "<span class=\"row flex justify-content-end p-2\">\r\n {{inputData | number:formatDecimal}} \r\n</span>\r\n", styles: [""], dependencies: [{ kind: "pipe", type: i1.DecimalPipe, name: "number" }] }); }
|
|
14
|
+
}
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TsiDecimalDisplayComponent, decorators: [{
|
|
16
|
+
type: Component,
|
|
17
|
+
args: [{ selector: 'Tsi-Decimal-Display', template: "<span class=\"row flex justify-content-end p-2\">\r\n {{inputData | number:formatDecimal}} \r\n</span>\r\n" }]
|
|
18
|
+
}], propDecorators: { inputData: [{
|
|
19
|
+
type: Input
|
|
20
|
+
}], formatDecimal: [{
|
|
21
|
+
type: Input
|
|
22
|
+
}], numOfDecimal: [{
|
|
23
|
+
type: Input
|
|
24
|
+
}] } });
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHNpLWRlY2ltYWwtZGlzcGxheS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90c2ktc2hhcmVkLXVpL3NyYy9saWIvdHNpLWNvbXBvbmVudHMvb3V0cHV0LWNvbXBvbmVudHMvdHNpLWRlY2ltYWwtZGlzcGxheS90c2ktZGVjaW1hbC1kaXNwbGF5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RzaS1zaGFyZWQtdWkvc3JjL2xpYi90c2ktY29tcG9uZW50cy9vdXRwdXQtY29tcG9uZW50cy90c2ktZGVjaW1hbC1kaXNwbGF5L3RzaS1kZWNpbWFsLWRpc3BsYXkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVFqRCxNQUFNLE9BQU8sMEJBQTBCO0lBTHZDO1FBU1MsaUJBQVksR0FBWSxDQUFDLENBQUM7S0FNbEM7SUFMRCxZQUFZO0lBRVYsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQy9FLENBQUM7K0dBVFUsMEJBQTBCO21HQUExQiwwQkFBMEIsNkpDUnZDLCtHQUdBOzs0RkRLYSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0UscUJBQXFCOzhCQU14QixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ1RzaS1EZWNpbWFsLURpc3BsYXknLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90c2ktZGVjaW1hbC1kaXNwbGF5LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90c2ktZGVjaW1hbC1kaXNwbGF5LmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHNpRGVjaW1hbERpc3BsYXlDb21wb25lbnQgeyAgXHJcbi8vI3JlZ2lvbiBpbnB1dHNcclxuQElucHV0KCkgaW5wdXREYXRhPzogbnVtYmVyO1xyXG5ASW5wdXQoKSBmb3JtYXREZWNpbWFsPzogc3RyaW5nO1xyXG5ASW5wdXQoKSBudW1PZkRlY2ltYWw/OiBudW1iZXIgPSAyO1xyXG4vLyNlbmRyZWdpb25cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1hdERlY2ltYWwgPSBgMS4ke3RoaXMubnVtT2ZEZWNpbWFsID8/IDJ9LSR7dGhpcy5udW1PZkRlY2ltYWwgPz8gMn1gO1xyXG4gIH1cclxufVxyXG4iLCI8c3BhbiBjbGFzcz1cInJvdyBmbGV4IGp1c3RpZnktY29udGVudC1lbmQgcC0yXCI+XHJcbiAgICB7e2lucHV0RGF0YSB8IG51bWJlcjpmb3JtYXREZWNpbWFsfX0gXHJcbjwvc3Bhbj5cclxuIl19
|
package/esm2022/lib/tsi-components/output-components/tsi-display-grid/tsi-display-grid.component.mjs
ADDED
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { DisplayTypes, GridSelectionMode } from '../../../enums';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "primeng/button";
|
|
6
|
+
import * as i3 from "primeng/api";
|
|
7
|
+
import * as i4 from "primeng/inputtext";
|
|
8
|
+
import * as i5 from "primeng/table";
|
|
9
|
+
import * as i6 from "primeng/tooltip";
|
|
10
|
+
import * as i7 from "../tsi-checkbox-display/tsi-checkbox-display.component";
|
|
11
|
+
import * as i8 from "../tsi-currency-other-display/tsi-currency-other-display.component";
|
|
12
|
+
import * as i9 from "../tsi-currency-societe-display/tsi-currency-societe-display.component";
|
|
13
|
+
import * as i10 from "../tsi-date-display/tsi-date-display.component";
|
|
14
|
+
import * as i11 from "../tsi-decimal-display/tsi-decimal-display.component";
|
|
15
|
+
import * as i12 from "../tsi-integer-display/tsi-integer-display.component";
|
|
16
|
+
import * as i13 from "../tsi-rate-display/tsi-rate-display.component";
|
|
17
|
+
import * as i14 from "../../../pipes/localize.pipe";
|
|
18
|
+
export class TsiDisplayGridComponent {
|
|
19
|
+
constructor() {
|
|
20
|
+
this.displayTypes = DisplayTypes;
|
|
21
|
+
this.selectedFullItems = [];
|
|
22
|
+
this.selectAll = false;
|
|
23
|
+
this.multipleGridSelectionMode = GridSelectionMode.Multiple;
|
|
24
|
+
//#endregion
|
|
25
|
+
//#region inputs
|
|
26
|
+
this.columns = [];
|
|
27
|
+
this.showHeader = true;
|
|
28
|
+
this.header = "List_des_elements";
|
|
29
|
+
this.key = 'uid';
|
|
30
|
+
this.gridData = [];
|
|
31
|
+
this.showHaveSumary = false;
|
|
32
|
+
this.selectKeyOnly = true;
|
|
33
|
+
this.selectionMode = GridSelectionMode.None;
|
|
34
|
+
this.selectedItems = [];
|
|
35
|
+
this.showFilters = true;
|
|
36
|
+
this.showSort = true;
|
|
37
|
+
this.paginator = true;
|
|
38
|
+
this.showSummaryFooter = true;
|
|
39
|
+
//#endregion
|
|
40
|
+
//#region outputs
|
|
41
|
+
this.rowClick = new EventEmitter();
|
|
42
|
+
this.rowDoubleClick = new EventEmitter();
|
|
43
|
+
this.selectedItemsChange = new EventEmitter();
|
|
44
|
+
this.buttonColumnClicked = new EventEmitter();
|
|
45
|
+
}
|
|
46
|
+
//#endregion
|
|
47
|
+
totalCount() {
|
|
48
|
+
if (this.gridData != null && this.gridData != undefined) {
|
|
49
|
+
return this.gridData.length;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
return 0;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
getData() {
|
|
56
|
+
return this.gridData ? this.gridData : [];
|
|
57
|
+
}
|
|
58
|
+
getSummary(col) {
|
|
59
|
+
let sum = 0;
|
|
60
|
+
if (col.haveSummary == true) {
|
|
61
|
+
this.gridData?.forEach((row) => {
|
|
62
|
+
sum += row[col.field];
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
return sum;
|
|
66
|
+
}
|
|
67
|
+
onSelectedItemsChanged() {
|
|
68
|
+
if (this.selectKeyOnly) {
|
|
69
|
+
let keys = [];
|
|
70
|
+
this.selectedFullItems.forEach(v => { keys.push(v[this.key]); });
|
|
71
|
+
this.selectedItemsChange.emit(keys);
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
this.selectedItemsChange.emit(this.selectedFullItems);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
onSelectAllChange(event) {
|
|
78
|
+
this.selectAll = event.checked;
|
|
79
|
+
if (this.selectAll) {
|
|
80
|
+
this.selectedFullItems = this.getData();
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
this.selectedFullItems = [];
|
|
84
|
+
}
|
|
85
|
+
this.onSelectedItemsChanged();
|
|
86
|
+
}
|
|
87
|
+
buttonClicked(key, field) {
|
|
88
|
+
this.buttonColumnClicked.emit({ field: field, key: key, selectKeyOnly: this.selectKeyOnly });
|
|
89
|
+
}
|
|
90
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TsiDisplayGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
91
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TsiDisplayGridComponent, selector: "Tsi-Display-Grid", inputs: { columns: "columns", showHeader: "showHeader", header: "header", key: "key", gridData: "gridData", gridSummaryData: "gridSummaryData", isTableLoading: "isTableLoading", showHaveSumary: "showHaveSumary", selectKeyOnly: "selectKeyOnly", selectionMode: "selectionMode", parent: "parent", selectedItems: "selectedItems", showFilters: "showFilters", showSort: "showSort", paginator: "paginator", showSummaryFooter: "showSummaryFooter", globalFilterFields: "globalFilterFields" }, outputs: { rowClick: "rowClick", rowDoubleClick: "rowDoubleClick", selectedItemsChange: "selectedItemsChange", buttonColumnClicked: "buttonColumnClicked" }, ngImport: i0, template: "<p-table #dt1 dataKey=\"{{key}}\" [(selectAll)]=\"selectAll\" [selectionMode]=\"selectionMode\" [(selection)]=\"selectedFullItems\"\r\n(onRowUnselect)=\"onSelectedItemsChanged()\" (selectAllChange)=\"onSelectAllChange($event)\" (onRowSelect)=\"onSelectedItemsChanged()\"\r\n [totalRecords]=\"totalCount()\" [reorderableColumns]=\"true\" [columns]=\"columns\" [paginator]=\"paginator\" [rows]=\"10\"\r\n [value]=\"getData()\" [globalFilterFields]=\"globalFilterFields ?? []\" [resizableColumns]=\"true\" [scrollable]=\"true\" appendTo=\"body\" styleClass=\"p-datatable-sm p-datatable-gridlines\"\r\n columnResizeMode=\"expand\" scrollHeight=\"600px\">\r\n <!-- <ng-template *ngIf=\"showHeader\" pTemplate=\"caption\">\r\n {{header | localize}}\r\n </ng-template> -->\r\n <ng-template pTemplate=\"caption\">\r\n <div class=\"flex\">\r\n <div *ngIf=\"showHeader\">\r\n {{header | localize}}\r\n </div>\r\n <span class=\"p-input-icon-left ml-auto\">\r\n <i class=\"pi pi-search\"></i>\r\n <input pInputText style=\"padding-left: 2.5rem!important; \" class=\"p-inputtext p-component p-element p-filled\" type=\"text\" #filterGlobalInput (input)=\"dt1.filterGlobal(filterGlobalInput.value, 'contains')\" placeholder=\"{{'' | localize}}\" />\r\n </span>\r\n </div>\r\n </ng-template>\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <th *ngIf=\"selectionMode == multipleGridSelectionMode\" style=\"width: 4rem\">\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n </th>\r\n <th pFrozenColumn *ngIf=\"showHaveSumary\" scope=\"col\" style=\"width:3rem\"></th>\r\n <th pFrozenColumn [frozen]=\"col.isFrozen\" scope=\"col\" [style.width]=\"col.isButton ? '4rem' : (col.width? col.width.getCSSValue() : '')\" [style]=\"col.style\" pTooltip=\"{{col.toolTipText | localize }}\" tooltipPosition=\"top\"\r\n *ngFor=\"let col of columns\" pReorderableColumn pSortableColumn=\"{{col.field}}\">\r\n <span *ngIf=\"!col.isButton\">\r\n <table class=\"p-0 m-0\">\r\n <tr>\r\n <td class=\"col p-0 m-0\">{{ col.header | localize }}\r\n\r\n </td>\r\n <td class=\"col-fixed p-0 m-0\" style=\"width: 1rem\"><p-sortIcon class=\"w-1rem m-0 p-0\"\r\n field=\"{{col.field}}\"></p-sortIcon>\r\n\r\n </td>\r\n </tr>\r\n </table>\r\n\r\n </span>\r\n </th>\r\n </tr>\r\n <tr *ngIf=\"showFilters; else notShowFilters\">\r\n <th *ngIf=\"selectionMode == multipleGridSelectionMode\" style=\"width: 4rem\">\r\n\r\n </th>\r\n <th pFrozenColumn class=\"stick\" *ngIf=\"showHaveSumary\" style=\"width:3rem\"></th>\r\n <th pFrozenColumn [frozen]=\"col.isFrozen\" scope=\"col\" *ngFor=\"let col of columns\">\r\n <p-columnFilter *ngIf=\"!col.isButton\" type=\"text\" field=\"{{col.field}}\"></p-columnFilter>\r\n </th>\r\n </tr>\r\n\r\n <ng-template #notShowFilters>\r\n <ng-container>\r\n <th pFrozenColumn class=\"stick\" *ngIf=\"showHaveSumary\" style=\"width:3rem\"></th>\r\n </ng-container>\r\n </ng-template>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-item let-columns=\"columns\" let-index=\"rowIndex\">\r\n <tr [pReorderableRow]=\"index\">\r\n <td *ngIf=\"selectionMode == multipleGridSelectionMode\">\r\n <p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\r\n </td>\r\n <td pFrozenColumn *ngIf=\"showHaveSumary\" scope=\"col\" style=\"width:3rem\"></td>\r\n <td pTooltip=\"{{col.toolTipText | localize }}\" tooltipPosition=\"top\" pFrozenColumn [frozen]=\"col.isFrozen\" style=\"width: max-content\" *ngFor=\"let col of columns\">\r\n\r\n <!-- Tsi-Currency-Societe-Input -->\r\n\r\n <div *ngIf=\"col.type == displayTypes.CURRENCY_SOCIETE_DISPLAY; else currencyOtherOutputBlock\">\r\n <Tsi-Currency-Societe-Display [inputData]=\"item[col.field]\">\r\n </Tsi-Currency-Societe-Display>\r\n </div>\r\n\r\n\r\n <!-- Tsi-Currency-Other-Input -->\r\n <ng-template #currencyOtherOutputBlock>\r\n <ng-container *ngIf=\"col.type == displayTypes.CURRENCY_OTHER_DISPLAY; else datePickerOutputBlock\">\r\n <Tsi-Currency-Other-Display [currency]=\"col.currencyCode\" [inputData]=\"item[col.field]\">\r\n </Tsi-Currency-Other-Display>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <!-- Tsi-Date-Picker -->\r\n <ng-template #datePickerOutputBlock>\r\n <ng-container *ngIf=\"col.type == displayTypes.DATE_DISPLAY; else checkBoxOutputBlock\">\r\n <Tsi-Date-Display [inputData]=\"item[col.field]\">\r\n </Tsi-Date-Display>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <!-- Tsi-CheckBox -->\r\n <ng-template #checkBoxOutputBlock>\r\n <ng-container *ngIf=\"col.type == displayTypes.CHECKBOX_DISPLAY; else decimalOutputBlock\">\r\n <Tsi-Checkbox-Display [inputData]=\"item[col.field]\">\r\n </Tsi-Checkbox-Display>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <!-- Tsi-Decimal-Input -->\r\n <ng-template #decimalOutputBlock>\r\n <ng-container *ngIf=\"col.type == displayTypes.DECIMAL_DISPLAY; else integerOutputBlock\">\r\n <Tsi-Decimal-Display [formatDecimal]=\"col.formatDecimal\" [inputData]=\"item[col.field]\" [numOfDecimal]=\"col.numOfDecimal\">\r\n </Tsi-Decimal-Display>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <!-- Tsi-Integer -->\r\n <ng-template #integerOutputBlock>\r\n <ng-container *ngIf=\"col.type == displayTypes.INTEGER_DISPLAY; else rateOutputBlock\">\r\n <Tsi-Integer-Display [inputData]=\"item[col.field]\">\r\n </Tsi-Integer-Display>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <!-- Tsi-Rate-Input -->\r\n <ng-template #rateOutputBlock>\r\n <ng-container *ngIf=\"col.type == displayTypes.RATE_DISPLAY; else displayButtonBlock\">\r\n <Tsi-Rate-Display [isFraction]=\"col.isFraction\" [inputData]=\"item[col.field]\" [numOfDecimal]=\"col.numOfDecimal\">\r\n </Tsi-Rate-Display>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <!-- Button -->\r\n <ng-template #displayButtonBlock>\r\n <ng-container *ngIf=\"col.isButton; else defaultTextOutputBlock\">\r\n\r\n <div class=\"flex align-items-center justify-content-center p-0\">\r\n <button class=\"p-0\" pButton pRipple type=\"button\" icon=\"{{col.buttonIcon}}\" class=\"{{col.styleClass}}\"\r\n (click)=\"buttonClicked(item[key], col.field)\">{{col.buttonLabel | localize}}</button>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <!-- Tsi-Text-Box -->\r\n <ng-template #defaultTextOutputBlock>\r\n <ng-container>\r\n <span>\r\n {{item[col.field]}}\r\n </span>\r\n </ng-container>\r\n </ng-template>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"showHaveSumary\" pTemplate=\"footer\" let-columns>\r\n <tr class=\"tfooter\">\r\n <td pFrozenColumn scope=\"col\" style=\"width:3rem\">Totals</td>\r\n <td pFrozenColumn [frozen]=\"col.isFrozen\" [style]=\"col.style\" scope=\"col\"\r\n *ngFor=\"let col of columns\">\r\n <div *ngIf=\"col.haveSummary\">\r\n <!-- Tsi-Currency-Societe-Display -->\r\n <div *ngIf=\"col.type == displayTypes.CURRENCY_SOCIETE_DISPLAY; else currencyOtherOutputBlock\">\r\n <Tsi-Currency-Societe-Display [inputData]=\"getSummary(col)\">\r\n </Tsi-Currency-Societe-Display>\r\n </div>\r\n\r\n <!-- Tsi-Currency-Other-Display -->\r\n <ng-template #currencyOtherOutputBlock>\r\n <ng-container *ngIf=\"col.type == displayTypes.CURRENCY_OTHER_DISPLAY; else decimalOutputBlock\">\r\n <Tsi-Currency-Other-Display [currency]=\"col.currencyCode\" [inputData]=\"getSummary(col)\">\r\n </Tsi-Currency-Other-Display>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <!-- Tsi-Decimal-Display -->\r\n <ng-template #decimalOutputBlock>\r\n <ng-container *ngIf=\"col.type == displayTypes.DECIMAL_DISPLAY; else integerOutputBlock\">\r\n <Tsi-Decimal-Display [formatDecimal]=\"col.formatDecimal\" [inputData]=\"getSummary(col)\" [numOfDecimal]=\"col.numOfDecimal\">\r\n </Tsi-Decimal-Display>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <!-- Tsi-Integer-Display -->\r\n <ng-template #integerOutputBlock>\r\n <ng-container *ngIf=\"col.type == displayTypes.INTEGER_DISPLAY; else rateOutputBlock\">\r\n <Tsi-Integer-Display [inputData]=\"getSummary(col)\">\r\n </Tsi-Integer-Display>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <!-- Tsi-Rate-Display -->\r\n <ng-template #rateOutputBlock>\r\n <ng-container *ngIf=\"col.type == displayTypes.RATE_DISPLAY; else defaultTextOutputBlock\">\r\n <Tsi-Rate-Display [isFraction]=\"col.isFraction\" [inputData]=\"getSummary(col)\" [numOfDecimal]=\"col.numOfDecimal\">\r\n </Tsi-Rate-Display>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <!-- Default -->\r\n <ng-template #defaultTextOutputBlock>\r\n <ng-container>\r\n <span>\r\n {{getSummary(col)}}\r\n </span>\r\n </ng-container>\r\n </ng-template>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n <ng-template *ngIf=\"showSummaryFooter\" pTemplate=\"summary\">\r\n There are {{totalCount()}}\r\n <span>\r\n </span>\r\n </ng-template>\r\n</p-table>\r\n", styles: [":host ::ng-deep .p-datatable .p-datatable-thead>tr>th{position:-webkit-sticky;position:sticky;top:0rem}.layout-news-active :host ::ng-deep .p-datatable tr>th{top:3rem}.tfooter{position:sticky;bottom:0;width:100%;z-index:10}.p-button.p-button-icon-only.p-button-rounded{height:2rem!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i4.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "component", type: i5.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i5.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "directive", type: i5.FrozenColumn, selector: "[pFrozenColumn]", inputs: ["frozen", "alignFrozen"] }, { kind: "directive", type: i5.ReorderableColumn, selector: "[pReorderableColumn]", inputs: ["pReorderableColumnDisabled"] }, { kind: "component", type: i5.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i5.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "component", type: i5.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { kind: "directive", type: i5.ReorderableRow, selector: "[pReorderableRow]", inputs: ["pReorderableRow", "pReorderableRowDisabled"] }, { kind: "component", type: i5.ColumnFilter, selector: "p-columnFilter", inputs: ["field", "type", "display", "showMenu", "matchMode", "operator", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "hideOnClear", "placeholder", "matchModeOptions", "maxConstraints", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping", "showButtons", "ariaLabel"], outputs: ["onShow", "onHide"] }, { kind: "directive", type: i6.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i7.TsiCheckboxDisplayComponent, selector: "Tsi-Checkbox-Display", inputs: ["inputData"] }, { kind: "component", type: i8.TsiCurrencyOtherDisplayComponent, selector: "Tsi-Currency-Other-Display", inputs: ["inputData", "currency"] }, { kind: "component", type: i9.TsiCurrencySocieteDisplayComponent, selector: "Tsi-Currency-Societe-Display", inputs: ["inputData"] }, { kind: "component", type: i10.TsiDateDisplayComponent, selector: "Tsi-Date-Display", inputs: ["inputData", "showTime"] }, { kind: "component", type: i11.TsiDecimalDisplayComponent, selector: "Tsi-Decimal-Display", inputs: ["inputData", "formatDecimal", "numOfDecimal"] }, { kind: "component", type: i12.TsiIntegerDisplayComponent, selector: "Tsi-Integer-Display", inputs: ["inputData"] }, { kind: "component", type: i13.TsiRateDisplayComponent, selector: "Tsi-Rate-Display", inputs: ["isFraction", "inputData", "numOfDecimal"] }, { kind: "pipe", type: i14.LocalizePipe, name: "localize" }] }); }
|
|
92
|
+
}
|
|
93
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TsiDisplayGridComponent, decorators: [{
|
|
94
|
+
type: Component,
|
|
95
|
+
args: [{ selector: 'Tsi-Display-Grid', template: "<p-table #dt1 dataKey=\"{{key}}\" [(selectAll)]=\"selectAll\" [selectionMode]=\"selectionMode\" [(selection)]=\"selectedFullItems\"\r\n(onRowUnselect)=\"onSelectedItemsChanged()\" (selectAllChange)=\"onSelectAllChange($event)\" (onRowSelect)=\"onSelectedItemsChanged()\"\r\n [totalRecords]=\"totalCount()\" [reorderableColumns]=\"true\" [columns]=\"columns\" [paginator]=\"paginator\" [rows]=\"10\"\r\n [value]=\"getData()\" [globalFilterFields]=\"globalFilterFields ?? []\" [resizableColumns]=\"true\" [scrollable]=\"true\" appendTo=\"body\" styleClass=\"p-datatable-sm p-datatable-gridlines\"\r\n columnResizeMode=\"expand\" scrollHeight=\"600px\">\r\n <!-- <ng-template *ngIf=\"showHeader\" pTemplate=\"caption\">\r\n {{header | localize}}\r\n </ng-template> -->\r\n <ng-template pTemplate=\"caption\">\r\n <div class=\"flex\">\r\n <div *ngIf=\"showHeader\">\r\n {{header | localize}}\r\n </div>\r\n <span class=\"p-input-icon-left ml-auto\">\r\n <i class=\"pi pi-search\"></i>\r\n <input pInputText style=\"padding-left: 2.5rem!important; \" class=\"p-inputtext p-component p-element p-filled\" type=\"text\" #filterGlobalInput (input)=\"dt1.filterGlobal(filterGlobalInput.value, 'contains')\" placeholder=\"{{'' | localize}}\" />\r\n </span>\r\n </div>\r\n </ng-template>\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <th *ngIf=\"selectionMode == multipleGridSelectionMode\" style=\"width: 4rem\">\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n </th>\r\n <th pFrozenColumn *ngIf=\"showHaveSumary\" scope=\"col\" style=\"width:3rem\"></th>\r\n <th pFrozenColumn [frozen]=\"col.isFrozen\" scope=\"col\" [style.width]=\"col.isButton ? '4rem' : (col.width? col.width.getCSSValue() : '')\" [style]=\"col.style\" pTooltip=\"{{col.toolTipText | localize }}\" tooltipPosition=\"top\"\r\n *ngFor=\"let col of columns\" pReorderableColumn pSortableColumn=\"{{col.field}}\">\r\n <span *ngIf=\"!col.isButton\">\r\n <table class=\"p-0 m-0\">\r\n <tr>\r\n <td class=\"col p-0 m-0\">{{ col.header | localize }}\r\n\r\n </td>\r\n <td class=\"col-fixed p-0 m-0\" style=\"width: 1rem\"><p-sortIcon class=\"w-1rem m-0 p-0\"\r\n field=\"{{col.field}}\"></p-sortIcon>\r\n\r\n </td>\r\n </tr>\r\n </table>\r\n\r\n </span>\r\n </th>\r\n </tr>\r\n <tr *ngIf=\"showFilters; else notShowFilters\">\r\n <th *ngIf=\"selectionMode == multipleGridSelectionMode\" style=\"width: 4rem\">\r\n\r\n </th>\r\n <th pFrozenColumn class=\"stick\" *ngIf=\"showHaveSumary\" style=\"width:3rem\"></th>\r\n <th pFrozenColumn [frozen]=\"col.isFrozen\" scope=\"col\" *ngFor=\"let col of columns\">\r\n <p-columnFilter *ngIf=\"!col.isButton\" type=\"text\" field=\"{{col.field}}\"></p-columnFilter>\r\n </th>\r\n </tr>\r\n\r\n <ng-template #notShowFilters>\r\n <ng-container>\r\n <th pFrozenColumn class=\"stick\" *ngIf=\"showHaveSumary\" style=\"width:3rem\"></th>\r\n </ng-container>\r\n </ng-template>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-item let-columns=\"columns\" let-index=\"rowIndex\">\r\n <tr [pReorderableRow]=\"index\">\r\n <td *ngIf=\"selectionMode == multipleGridSelectionMode\">\r\n <p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\r\n </td>\r\n <td pFrozenColumn *ngIf=\"showHaveSumary\" scope=\"col\" style=\"width:3rem\"></td>\r\n <td pTooltip=\"{{col.toolTipText | localize }}\" tooltipPosition=\"top\" pFrozenColumn [frozen]=\"col.isFrozen\" style=\"width: max-content\" *ngFor=\"let col of columns\">\r\n\r\n <!-- Tsi-Currency-Societe-Input -->\r\n\r\n <div *ngIf=\"col.type == displayTypes.CURRENCY_SOCIETE_DISPLAY; else currencyOtherOutputBlock\">\r\n <Tsi-Currency-Societe-Display [inputData]=\"item[col.field]\">\r\n </Tsi-Currency-Societe-Display>\r\n </div>\r\n\r\n\r\n <!-- Tsi-Currency-Other-Input -->\r\n <ng-template #currencyOtherOutputBlock>\r\n <ng-container *ngIf=\"col.type == displayTypes.CURRENCY_OTHER_DISPLAY; else datePickerOutputBlock\">\r\n <Tsi-Currency-Other-Display [currency]=\"col.currencyCode\" [inputData]=\"item[col.field]\">\r\n </Tsi-Currency-Other-Display>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <!-- Tsi-Date-Picker -->\r\n <ng-template #datePickerOutputBlock>\r\n <ng-container *ngIf=\"col.type == displayTypes.DATE_DISPLAY; else checkBoxOutputBlock\">\r\n <Tsi-Date-Display [inputData]=\"item[col.field]\">\r\n </Tsi-Date-Display>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <!-- Tsi-CheckBox -->\r\n <ng-template #checkBoxOutputBlock>\r\n <ng-container *ngIf=\"col.type == displayTypes.CHECKBOX_DISPLAY; else decimalOutputBlock\">\r\n <Tsi-Checkbox-Display [inputData]=\"item[col.field]\">\r\n </Tsi-Checkbox-Display>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <!-- Tsi-Decimal-Input -->\r\n <ng-template #decimalOutputBlock>\r\n <ng-container *ngIf=\"col.type == displayTypes.DECIMAL_DISPLAY; else integerOutputBlock\">\r\n <Tsi-Decimal-Display [formatDecimal]=\"col.formatDecimal\" [inputData]=\"item[col.field]\" [numOfDecimal]=\"col.numOfDecimal\">\r\n </Tsi-Decimal-Display>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <!-- Tsi-Integer -->\r\n <ng-template #integerOutputBlock>\r\n <ng-container *ngIf=\"col.type == displayTypes.INTEGER_DISPLAY; else rateOutputBlock\">\r\n <Tsi-Integer-Display [inputData]=\"item[col.field]\">\r\n </Tsi-Integer-Display>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <!-- Tsi-Rate-Input -->\r\n <ng-template #rateOutputBlock>\r\n <ng-container *ngIf=\"col.type == displayTypes.RATE_DISPLAY; else displayButtonBlock\">\r\n <Tsi-Rate-Display [isFraction]=\"col.isFraction\" [inputData]=\"item[col.field]\" [numOfDecimal]=\"col.numOfDecimal\">\r\n </Tsi-Rate-Display>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <!-- Button -->\r\n <ng-template #displayButtonBlock>\r\n <ng-container *ngIf=\"col.isButton; else defaultTextOutputBlock\">\r\n\r\n <div class=\"flex align-items-center justify-content-center p-0\">\r\n <button class=\"p-0\" pButton pRipple type=\"button\" icon=\"{{col.buttonIcon}}\" class=\"{{col.styleClass}}\"\r\n (click)=\"buttonClicked(item[key], col.field)\">{{col.buttonLabel | localize}}</button>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <!-- Tsi-Text-Box -->\r\n <ng-template #defaultTextOutputBlock>\r\n <ng-container>\r\n <span>\r\n {{item[col.field]}}\r\n </span>\r\n </ng-container>\r\n </ng-template>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"showHaveSumary\" pTemplate=\"footer\" let-columns>\r\n <tr class=\"tfooter\">\r\n <td pFrozenColumn scope=\"col\" style=\"width:3rem\">Totals</td>\r\n <td pFrozenColumn [frozen]=\"col.isFrozen\" [style]=\"col.style\" scope=\"col\"\r\n *ngFor=\"let col of columns\">\r\n <div *ngIf=\"col.haveSummary\">\r\n <!-- Tsi-Currency-Societe-Display -->\r\n <div *ngIf=\"col.type == displayTypes.CURRENCY_SOCIETE_DISPLAY; else currencyOtherOutputBlock\">\r\n <Tsi-Currency-Societe-Display [inputData]=\"getSummary(col)\">\r\n </Tsi-Currency-Societe-Display>\r\n </div>\r\n\r\n <!-- Tsi-Currency-Other-Display -->\r\n <ng-template #currencyOtherOutputBlock>\r\n <ng-container *ngIf=\"col.type == displayTypes.CURRENCY_OTHER_DISPLAY; else decimalOutputBlock\">\r\n <Tsi-Currency-Other-Display [currency]=\"col.currencyCode\" [inputData]=\"getSummary(col)\">\r\n </Tsi-Currency-Other-Display>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <!-- Tsi-Decimal-Display -->\r\n <ng-template #decimalOutputBlock>\r\n <ng-container *ngIf=\"col.type == displayTypes.DECIMAL_DISPLAY; else integerOutputBlock\">\r\n <Tsi-Decimal-Display [formatDecimal]=\"col.formatDecimal\" [inputData]=\"getSummary(col)\" [numOfDecimal]=\"col.numOfDecimal\">\r\n </Tsi-Decimal-Display>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <!-- Tsi-Integer-Display -->\r\n <ng-template #integerOutputBlock>\r\n <ng-container *ngIf=\"col.type == displayTypes.INTEGER_DISPLAY; else rateOutputBlock\">\r\n <Tsi-Integer-Display [inputData]=\"getSummary(col)\">\r\n </Tsi-Integer-Display>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <!-- Tsi-Rate-Display -->\r\n <ng-template #rateOutputBlock>\r\n <ng-container *ngIf=\"col.type == displayTypes.RATE_DISPLAY; else defaultTextOutputBlock\">\r\n <Tsi-Rate-Display [isFraction]=\"col.isFraction\" [inputData]=\"getSummary(col)\" [numOfDecimal]=\"col.numOfDecimal\">\r\n </Tsi-Rate-Display>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <!-- Default -->\r\n <ng-template #defaultTextOutputBlock>\r\n <ng-container>\r\n <span>\r\n {{getSummary(col)}}\r\n </span>\r\n </ng-container>\r\n </ng-template>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n <ng-template *ngIf=\"showSummaryFooter\" pTemplate=\"summary\">\r\n There are {{totalCount()}}\r\n <span>\r\n </span>\r\n </ng-template>\r\n</p-table>\r\n", styles: [":host ::ng-deep .p-datatable .p-datatable-thead>tr>th{position:-webkit-sticky;position:sticky;top:0rem}.layout-news-active :host ::ng-deep .p-datatable tr>th{top:3rem}.tfooter{position:sticky;bottom:0;width:100%;z-index:10}.p-button.p-button-icon-only.p-button-rounded{height:2rem!important}\n"] }]
|
|
96
|
+
}], propDecorators: { columns: [{
|
|
97
|
+
type: Input
|
|
98
|
+
}], showHeader: [{
|
|
99
|
+
type: Input
|
|
100
|
+
}], header: [{
|
|
101
|
+
type: Input
|
|
102
|
+
}], key: [{
|
|
103
|
+
type: Input
|
|
104
|
+
}], gridData: [{
|
|
105
|
+
type: Input
|
|
106
|
+
}], gridSummaryData: [{
|
|
107
|
+
type: Input
|
|
108
|
+
}], isTableLoading: [{
|
|
109
|
+
type: Input
|
|
110
|
+
}], showHaveSumary: [{
|
|
111
|
+
type: Input
|
|
112
|
+
}], selectKeyOnly: [{
|
|
113
|
+
type: Input
|
|
114
|
+
}], selectionMode: [{
|
|
115
|
+
type: Input
|
|
116
|
+
}], parent: [{
|
|
117
|
+
type: Input
|
|
118
|
+
}], selectedItems: [{
|
|
119
|
+
type: Input
|
|
120
|
+
}], showFilters: [{
|
|
121
|
+
type: Input
|
|
122
|
+
}], showSort: [{
|
|
123
|
+
type: Input
|
|
124
|
+
}], paginator: [{
|
|
125
|
+
type: Input
|
|
126
|
+
}], showSummaryFooter: [{
|
|
127
|
+
type: Input
|
|
128
|
+
}], globalFilterFields: [{
|
|
129
|
+
type: Input
|
|
130
|
+
}], rowClick: [{
|
|
131
|
+
type: Output
|
|
132
|
+
}], rowDoubleClick: [{
|
|
133
|
+
type: Output
|
|
134
|
+
}], selectedItemsChange: [{
|
|
135
|
+
type: Output
|
|
136
|
+
}], buttonColumnClicked: [{
|
|
137
|
+
type: Output
|
|
138
|
+
}] } });
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHNpLWRpc3BsYXktZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90c2ktc2hhcmVkLXVpL3NyYy9saWIvdHNpLWNvbXBvbmVudHMvb3V0cHV0LWNvbXBvbmVudHMvdHNpLWRpc3BsYXktZ3JpZC90c2ktZGlzcGxheS1ncmlkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RzaS1zaGFyZWQtdWkvc3JjL2xpYi90c2ktY29tcG9uZW50cy9vdXRwdXQtY29tcG9uZW50cy90c2ktZGlzcGxheS1ncmlkL3RzaS1kaXNwbGF5LWdyaWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRakUsTUFBTSxPQUFPLHVCQUF1QjtJQUxwQztRQVNFLGlCQUFZLEdBQUcsWUFBWSxDQUFDO1FBQzVCLHNCQUFpQixHQUFlLEVBQUUsQ0FBQztRQUNuQyxjQUFTLEdBQVEsS0FBSyxDQUFDO1FBRXZCLDhCQUF5QixHQUFHLGlCQUFpQixDQUFDLFFBQVEsQ0FBQztRQUV2RCxZQUFZO1FBRVosZ0JBQWdCO1FBRVAsWUFBTyxHQUFzQixFQUFFLENBQUM7UUFDaEMsZUFBVSxHQUFXLElBQUksQ0FBQztRQUMxQixXQUFNLEdBQVEsbUJBQW1CLENBQUM7UUFDbEMsUUFBRyxHQUFXLEtBQUssQ0FBQztRQUNwQixhQUFRLEdBQWdCLEVBQUUsQ0FBQztRQUkzQixtQkFBYyxHQUFhLEtBQUssQ0FBQztRQUNqQyxrQkFBYSxHQUFZLElBQUksQ0FBQztRQUM5QixrQkFBYSxHQUE0QixpQkFBaUIsQ0FBQyxJQUFJLENBQUM7UUFJaEUsa0JBQWEsR0FBZSxFQUFFLENBQUM7UUFDL0IsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFDNUIsYUFBUSxHQUFZLElBQUksQ0FBQztRQUN6QixjQUFTLEdBQVksSUFBSSxDQUFDO1FBQzFCLHNCQUFpQixHQUFZLElBQUksQ0FBQztRQUUzQyxZQUFZO1FBRVosaUJBQWlCO1FBQ1AsYUFBUSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pELG1CQUFjLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdkQsd0JBQW1CLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUM7UUFDL0Usd0JBQW1CLEdBQW9DLElBQUksWUFBWSxFQUFxQixDQUFDO0tBOEN4RztJQTdDQyxZQUFZO0lBQ1osVUFBVTtRQUNSLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUN4RCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQzlCLENBQUM7YUFDSSxDQUFDO1lBQ0osT0FBTyxDQUFDLENBQUM7UUFDWCxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBQ0QsVUFBVSxDQUFDLEdBQWU7UUFDeEIsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ1osSUFBSSxHQUFHLENBQUMsV0FBVyxJQUFJLElBQUksRUFBRSxDQUFDO1lBRTVCLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2xDLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUNELHNCQUFzQjtRQUNwQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QixJQUFJLElBQUksR0FBZSxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxDQUFDO2FBQ0ksQ0FBQztZQUNKLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDeEQsQ0FBQztJQUNILENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxLQUFVO1FBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMvQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzFDLENBQUM7YUFDSSxDQUFDO1lBQ0osSUFBSSxDQUFDLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztRQUM5QixDQUFDO1FBQ0QsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUNELGFBQWEsQ0FBQyxHQUFXLEVBQUUsS0FBYTtRQUN0QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFHLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFDLENBQUMsQ0FBQztJQUMvRixDQUFDOytHQXJGVSx1QkFBdUI7bUdBQXZCLHVCQUF1Qix5ckJDVHBDLHFyV0FnTkE7OzRGRHZNYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0Usa0JBQWtCOzhCQWtCbkIsT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUcsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUlJLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBQ0csbUJBQW1CO3NCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGlzcGxheVR5cGVzLCBHcmlkU2VsZWN0aW9uTW9kZSB9IGZyb20gJy4uLy4uLy4uL2VudW1zJztcclxuaW1wb3J0IHsgR3JpZENvbHVtbiwgQnV0dG9uQ2xpY2tSZXN1bHQgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnVHNpLURpc3BsYXktR3JpZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RzaS1kaXNwbGF5LWdyaWQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RzaS1kaXNwbGF5LWdyaWQuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRzaURpc3BsYXlHcmlkQ29tcG9uZW50IHtcclxuXHJcbiAgLy8jcmVnaW9uIGxvY2FsIHZhcnNcclxuICBmaWVsZHM/OiBzdHJpbmdbXTtcclxuICBkaXNwbGF5VHlwZXMgPSBEaXNwbGF5VHlwZXM7XHJcbiAgc2VsZWN0ZWRGdWxsSXRlbXM6IEFycmF5PGFueT4gPSBbXTtcclxuICBzZWxlY3RBbGw6IGFueSA9IGZhbHNlO1xyXG4gIGtleXdvcmQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBtdWx0aXBsZUdyaWRTZWxlY3Rpb25Nb2RlID0gR3JpZFNlbGVjdGlvbk1vZGUuTXVsdGlwbGU7XHJcblxyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuICAvLyNyZWdpb24gaW5wdXRzXHJcblxyXG4gIEBJbnB1dCgpIGNvbHVtbnM6IEFycmF5PEdyaWRDb2x1bW4+ID0gW107XHJcbiAgQElucHV0KCkgc2hvd0hlYWRlcjpib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBoZWFkZXI6c3RyaW5nPVwiTGlzdF9kZXNfZWxlbWVudHNcIjtcclxuICBASW5wdXQoKSBrZXk6IHN0cmluZyA9ICd1aWQnO1xyXG4gIEBJbnB1dCgpIGdyaWREYXRhPzogQXJyYXk8YW55PiA9IFtdO1xyXG4gIEBJbnB1dCgpIGdyaWRTdW1tYXJ5RGF0YTogYW55O1xyXG5cclxuICBASW5wdXQoKSBpc1RhYmxlTG9hZGluZz86IGJvb2xlYW47XHJcbiAgQElucHV0KCkgc2hvd0hhdmVTdW1hcnk/OiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2VsZWN0S2V5T25seTogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgc2VsZWN0aW9uTW9kZTogR3JpZFNlbGVjdGlvbk1vZGUgfCBhbnkgPSBHcmlkU2VsZWN0aW9uTW9kZS5Ob25lO1xyXG5cclxuICBASW5wdXQoKSBwYXJlbnQ6IGFueTtcclxuXHJcbiAgQElucHV0KCkgc2VsZWN0ZWRJdGVtczogQXJyYXk8YW55PiA9IFtdO1xyXG4gIEBJbnB1dCgpIHNob3dGaWx0ZXJzOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93U29ydDogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgcGFnaW5hdG9yOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93U3VtbWFyeUZvb3RlcjogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgZ2xvYmFsRmlsdGVyRmllbGRzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcclxuICAvLyNlbmRyZWdpb25cclxuXHJcbiAgLy8jcmVnaW9uIG91dHB1dHNcclxuICBAT3V0cHV0KCkgcm93Q2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSByb3dEb3VibGVDbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHNlbGVjdGVkSXRlbXNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxBcnJheTxhbnk+PiA9IG5ldyBFdmVudEVtaXR0ZXI8QXJyYXk8YW55Pj4oKTtcclxuICBAT3V0cHV0KCkgYnV0dG9uQ29sdW1uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPEJ1dHRvbkNsaWNrUmVzdWx0PiA9IG5ldyBFdmVudEVtaXR0ZXI8QnV0dG9uQ2xpY2tSZXN1bHQ+KCk7XHJcbiAgLy8jZW5kcmVnaW9uXHJcbiAgdG90YWxDb3VudCgpOiBudW1iZXIge1xyXG4gICAgaWYgKHRoaXMuZ3JpZERhdGEgIT0gbnVsbCAmJiB0aGlzLmdyaWREYXRhICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5ncmlkRGF0YS5sZW5ndGg7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcmV0dXJuIDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldERhdGEoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLmdyaWREYXRhID8gdGhpcy5ncmlkRGF0YSA6IFtdO1xyXG4gIH1cclxuICBnZXRTdW1tYXJ5KGNvbDogR3JpZENvbHVtbik6IG51bWJlciB7XHJcbiAgICBsZXQgc3VtID0gMDtcclxuICAgIGlmIChjb2wuaGF2ZVN1bW1hcnkgPT0gdHJ1ZSkge1xyXG5cclxuICAgICAgdGhpcy5ncmlkRGF0YT8uZm9yRWFjaCgocm93OiBhbnkpID0+IHtcclxuICAgICAgICBzdW0gKz0gcm93W2NvbC5maWVsZF07XHJcbiAgICAgIH0pXHJcbiAgICB9XHJcbiAgICByZXR1cm4gc3VtO1xyXG4gIH1cclxuICBvblNlbGVjdGVkSXRlbXNDaGFuZ2VkKCkge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0S2V5T25seSkge1xyXG4gICAgICBsZXQga2V5czogQXJyYXk8YW55PiA9IFtdO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkRnVsbEl0ZW1zLmZvckVhY2godiA9PiB7IGtleXMucHVzaCh2W3RoaXMua2V5XSkgfSk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtc0NoYW5nZS5lbWl0KGtleXMpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtc0NoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRGdWxsSXRlbXMpO1xyXG4gICAgfVxyXG4gIH1cclxuICBvblNlbGVjdEFsbENoYW5nZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdEFsbCA9IGV2ZW50LmNoZWNrZWQ7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RBbGwpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEZ1bGxJdGVtcyA9IHRoaXMuZ2V0RGF0YSgpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRGdWxsSXRlbXMgPSBbXTtcclxuICAgIH1cclxuICAgIHRoaXMub25TZWxlY3RlZEl0ZW1zQ2hhbmdlZCgpO1xyXG4gIH1cclxuICBidXR0b25DbGlja2VkKGtleTogc3RyaW5nLCBmaWVsZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmJ1dHRvbkNvbHVtbkNsaWNrZWQuZW1pdCh7IGZpZWxkOiBmaWVsZCwga2V5OiBrZXkgLCBzZWxlY3RLZXlPbmx5OiB0aGlzLnNlbGVjdEtleU9ubHl9KTtcclxuICB9XHJcbn1cclxuIiwiPHAtdGFibGUgI2R0MSBkYXRhS2V5PVwie3trZXl9fVwiIFsoc2VsZWN0QWxsKV09XCJzZWxlY3RBbGxcIiBbc2VsZWN0aW9uTW9kZV09XCJzZWxlY3Rpb25Nb2RlXCIgWyhzZWxlY3Rpb24pXT1cInNlbGVjdGVkRnVsbEl0ZW1zXCJcclxuKG9uUm93VW5zZWxlY3QpPVwib25TZWxlY3RlZEl0ZW1zQ2hhbmdlZCgpXCIgKHNlbGVjdEFsbENoYW5nZSk9XCJvblNlbGVjdEFsbENoYW5nZSgkZXZlbnQpXCIgKG9uUm93U2VsZWN0KT1cIm9uU2VsZWN0ZWRJdGVtc0NoYW5nZWQoKVwiXHJcbiBbdG90YWxSZWNvcmRzXT1cInRvdGFsQ291bnQoKVwiIFtyZW9yZGVyYWJsZUNvbHVtbnNdPVwidHJ1ZVwiIFtjb2x1bW5zXT1cImNvbHVtbnNcIiBbcGFnaW5hdG9yXT1cInBhZ2luYXRvclwiIFtyb3dzXT1cIjEwXCJcclxuICAgIFt2YWx1ZV09XCJnZXREYXRhKClcIiBbZ2xvYmFsRmlsdGVyRmllbGRzXT1cImdsb2JhbEZpbHRlckZpZWxkcyA/PyBbXVwiIFtyZXNpemFibGVDb2x1bW5zXT1cInRydWVcIiBbc2Nyb2xsYWJsZV09XCJ0cnVlXCIgYXBwZW5kVG89XCJib2R5XCIgc3R5bGVDbGFzcz1cInAtZGF0YXRhYmxlLXNtIHAtZGF0YXRhYmxlLWdyaWRsaW5lc1wiXHJcbiAgICBjb2x1bW5SZXNpemVNb2RlPVwiZXhwYW5kXCIgc2Nyb2xsSGVpZ2h0PVwiNjAwcHhcIj5cclxuICAgIDwhLS0gPG5nLXRlbXBsYXRlICpuZ0lmPVwic2hvd0hlYWRlclwiIHBUZW1wbGF0ZT1cImNhcHRpb25cIj5cclxuICAgICAgICB7e2hlYWRlciB8IGxvY2FsaXplfX1cclxuICAgIDwvbmctdGVtcGxhdGU+IC0tPlxyXG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNhcHRpb25cIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZsZXhcIj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd0hlYWRlclwiPlxyXG4gICAgICAgICAgICB7e2hlYWRlciB8IGxvY2FsaXplfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInAtaW5wdXQtaWNvbi1sZWZ0IG1sLWF1dG9cIj5cclxuICAgICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLXNlYXJjaFwiPjwvaT5cclxuICAgICAgICAgICAgICA8aW5wdXQgcElucHV0VGV4dCBzdHlsZT1cInBhZGRpbmctbGVmdDogMi41cmVtIWltcG9ydGFudDsgXCIgY2xhc3M9XCJwLWlucHV0dGV4dCBwLWNvbXBvbmVudCBwLWVsZW1lbnQgcC1maWxsZWRcIiB0eXBlPVwidGV4dFwiICNmaWx0ZXJHbG9iYWxJbnB1dCAoaW5wdXQpPVwiZHQxLmZpbHRlckdsb2JhbChmaWx0ZXJHbG9iYWxJbnB1dC52YWx1ZSwgJ2NvbnRhaW5zJylcIiBwbGFjZWhvbGRlcj1cInt7JycgfCBsb2NhbGl6ZX19XCIgLz5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIiBsZXQtY29sdW1ucz5cclxuICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgIDx0aCAqbmdJZj1cInNlbGVjdGlvbk1vZGUgPT0gbXVsdGlwbGVHcmlkU2VsZWN0aW9uTW9kZVwiIHN0eWxlPVwid2lkdGg6IDRyZW1cIj5cclxuICAgICAgICAgICAgICAgIDxwLXRhYmxlSGVhZGVyQ2hlY2tib3g+PC9wLXRhYmxlSGVhZGVyQ2hlY2tib3g+XHJcbiAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgIDx0aCBwRnJvemVuQ29sdW1uICpuZ0lmPVwic2hvd0hhdmVTdW1hcnlcIiBzY29wZT1cImNvbFwiIHN0eWxlPVwid2lkdGg6M3JlbVwiPjwvdGg+XHJcbiAgICAgICAgICAgIDx0aCBwRnJvemVuQ29sdW1uIFtmcm96ZW5dPVwiY29sLmlzRnJvemVuXCIgc2NvcGU9XCJjb2xcIiBbc3R5bGUud2lkdGhdPVwiY29sLmlzQnV0dG9uID8gJzRyZW0nIDogKGNvbC53aWR0aD8gY29sLndpZHRoLmdldENTU1ZhbHVlKCkgOiAnJylcIiBbc3R5bGVdPVwiY29sLnN0eWxlXCIgcFRvb2x0aXA9XCJ7e2NvbC50b29sVGlwVGV4dCB8IGxvY2FsaXplIH19XCIgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcclxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNvbCBvZiBjb2x1bW5zXCIgcFJlb3JkZXJhYmxlQ29sdW1uIHBTb3J0YWJsZUNvbHVtbj1cInt7Y29sLmZpZWxkfX1cIj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhY29sLmlzQnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwicC0wIG0tMFwiPlxyXG4gICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJjb2wgcC0wIG0tMFwiPnt7IGNvbC5oZWFkZXIgfCBsb2NhbGl6ZSB9fVxyXG5cclxuICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiY29sLWZpeGVkIHAtMCBtLTBcIiBzdHlsZT1cIndpZHRoOiAxcmVtXCI+PHAtc29ydEljb24gY2xhc3M9XCJ3LTFyZW0gbS0wIHAtMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBmaWVsZD1cInt7Y29sLmZpZWxkfX1cIj48L3Atc29ydEljb24+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICA8L3RhYmxlPlxyXG5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPC90aD5cclxuICAgICAgICA8L3RyPlxyXG4gICAgICAgIDx0ciAgKm5nSWY9XCJzaG93RmlsdGVyczsgZWxzZSBub3RTaG93RmlsdGVyc1wiPlxyXG4gICAgICAgICAgPHRoICpuZ0lmPVwic2VsZWN0aW9uTW9kZSA9PSBtdWx0aXBsZUdyaWRTZWxlY3Rpb25Nb2RlXCIgc3R5bGU9XCJ3aWR0aDogNHJlbVwiPlxyXG5cclxuICAgICAgPC90aD5cclxuICAgICAgICAgICAgPHRoIHBGcm96ZW5Db2x1bW4gY2xhc3M9XCJzdGlja1wiICpuZ0lmPVwic2hvd0hhdmVTdW1hcnlcIiBzdHlsZT1cIndpZHRoOjNyZW1cIj48L3RoPlxyXG4gICAgICAgICAgICA8dGggcEZyb3plbkNvbHVtbiBbZnJvemVuXT1cImNvbC5pc0Zyb3plblwiIHNjb3BlPVwiY29sXCIgKm5nRm9yPVwibGV0IGNvbCBvZiBjb2x1bW5zXCI+XHJcbiAgICAgICAgICAgICAgPHAtY29sdW1uRmlsdGVyICpuZ0lmPVwiIWNvbC5pc0J1dHRvblwiIHR5cGU9XCJ0ZXh0XCIgZmllbGQ9XCJ7e2NvbC5maWVsZH19XCI+PC9wLWNvbHVtbkZpbHRlcj5cclxuICAgICAgICAgICAgPC90aD5cclxuICAgICAgICA8L3RyPlxyXG5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI25vdFNob3dGaWx0ZXJzPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPHRoIHBGcm96ZW5Db2x1bW4gY2xhc3M9XCJzdGlja1wiICpuZ0lmPVwic2hvd0hhdmVTdW1hcnlcIiBzdHlsZT1cIndpZHRoOjNyZW1cIj48L3RoPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiIGxldC1pdGVtIGxldC1jb2x1bW5zPVwiY29sdW1uc1wiIGxldC1pbmRleD1cInJvd0luZGV4XCI+XHJcbiAgICAgICAgPHRyIFtwUmVvcmRlcmFibGVSb3ddPVwiaW5kZXhcIj5cclxuICAgICAgICAgICAgPHRkICpuZ0lmPVwic2VsZWN0aW9uTW9kZSA9PSBtdWx0aXBsZUdyaWRTZWxlY3Rpb25Nb2RlXCI+XHJcbiAgICAgICAgICAgICAgICA8cC10YWJsZUNoZWNrYm94IFt2YWx1ZV09XCJpdGVtXCI+PC9wLXRhYmxlQ2hlY2tib3g+XHJcbiAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDx0ZCBwRnJvemVuQ29sdW1uICpuZ0lmPVwic2hvd0hhdmVTdW1hcnlcIiBzY29wZT1cImNvbFwiIHN0eWxlPVwid2lkdGg6M3JlbVwiPjwvdGQ+XHJcbiAgICAgICAgICAgIDx0ZCBwVG9vbHRpcD1cInt7Y29sLnRvb2xUaXBUZXh0IHwgbG9jYWxpemUgfX1cIiB0b29sdGlwUG9zaXRpb249XCJ0b3BcIiBwRnJvemVuQ29sdW1uIFtmcm96ZW5dPVwiY29sLmlzRnJvemVuXCIgc3R5bGU9XCJ3aWR0aDogbWF4LWNvbnRlbnRcIiAqbmdGb3I9XCJsZXQgY29sIG9mIGNvbHVtbnNcIj5cclxuXHJcbiAgICAgICAgICAgICAgICA8IS0tIFRzaS1DdXJyZW5jeS1Tb2NpZXRlLUlucHV0IC0tPlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2wudHlwZSA9PSBkaXNwbGF5VHlwZXMuQ1VSUkVOQ1lfU09DSUVURV9ESVNQTEFZOyBlbHNlIGN1cnJlbmN5T3RoZXJPdXRwdXRCbG9ja1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxUc2ktQ3VycmVuY3ktU29jaWV0ZS1EaXNwbGF5IFtpbnB1dERhdGFdPVwiaXRlbVtjb2wuZmllbGRdXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9Uc2ktQ3VycmVuY3ktU29jaWV0ZS1EaXNwbGF5PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgICAgICAgICAgIDwhLS0gVHNpLUN1cnJlbmN5LU90aGVyLUlucHV0IC0tPlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNjdXJyZW5jeU90aGVyT3V0cHV0QmxvY2s+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbC50eXBlID09IGRpc3BsYXlUeXBlcy5DVVJSRU5DWV9PVEhFUl9ESVNQTEFZOyBlbHNlIGRhdGVQaWNrZXJPdXRwdXRCbG9ja1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8VHNpLUN1cnJlbmN5LU90aGVyLURpc3BsYXkgW2N1cnJlbmN5XT1cImNvbC5jdXJyZW5jeUNvZGVcIiBbaW5wdXREYXRhXT1cIml0ZW1bY29sLmZpZWxkXVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L1RzaS1DdXJyZW5jeS1PdGhlci1EaXNwbGF5PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgICAgICA8IS0tIFRzaS1EYXRlLVBpY2tlciAtLT5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGF0ZVBpY2tlck91dHB1dEJsb2NrPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2wudHlwZSA9PSBkaXNwbGF5VHlwZXMuREFURV9ESVNQTEFZOyBlbHNlIGNoZWNrQm94T3V0cHV0QmxvY2tcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPFRzaS1EYXRlLURpc3BsYXkgW2lucHV0RGF0YV09XCJpdGVtW2NvbC5maWVsZF1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9Uc2ktRGF0ZS1EaXNwbGF5PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgICAgICA8IS0tIFRzaS1DaGVja0JveCAtLT5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY2hlY2tCb3hPdXRwdXRCbG9jaz5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sLnR5cGUgPT0gZGlzcGxheVR5cGVzLkNIRUNLQk9YX0RJU1BMQVk7IGVsc2UgZGVjaW1hbE91dHB1dEJsb2NrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxUc2ktQ2hlY2tib3gtRGlzcGxheSBbaW5wdXREYXRhXT1cIml0ZW1bY29sLmZpZWxkXVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L1RzaS1DaGVja2JveC1EaXNwbGF5PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgICAgICA8IS0tIFRzaS1EZWNpbWFsLUlucHV0IC0tPlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWNpbWFsT3V0cHV0QmxvY2s+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbC50eXBlID09IGRpc3BsYXlUeXBlcy5ERUNJTUFMX0RJU1BMQVk7IGVsc2UgaW50ZWdlck91dHB1dEJsb2NrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxUc2ktRGVjaW1hbC1EaXNwbGF5IFtmb3JtYXREZWNpbWFsXT1cImNvbC5mb3JtYXREZWNpbWFsXCIgW2lucHV0RGF0YV09XCJpdGVtW2NvbC5maWVsZF1cIiBbbnVtT2ZEZWNpbWFsXT1cImNvbC5udW1PZkRlY2ltYWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9Uc2ktRGVjaW1hbC1EaXNwbGF5PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgICAgICA8IS0tIFRzaS1JbnRlZ2VyIC0tPlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNpbnRlZ2VyT3V0cHV0QmxvY2s+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbC50eXBlID09IGRpc3BsYXlUeXBlcy5JTlRFR0VSX0RJU1BMQVk7IGVsc2UgcmF0ZU91dHB1dEJsb2NrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxUc2ktSW50ZWdlci1EaXNwbGF5IFtpbnB1dERhdGFdPVwiaXRlbVtjb2wuZmllbGRdXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvVHNpLUludGVnZXItRGlzcGxheT5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICAgICAgPCEtLSBUc2ktUmF0ZS1JbnB1dCAtLT5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcmF0ZU91dHB1dEJsb2NrPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2wudHlwZSA9PSBkaXNwbGF5VHlwZXMuUkFURV9ESVNQTEFZOyBlbHNlIGRpc3BsYXlCdXR0b25CbG9ja1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8VHNpLVJhdGUtRGlzcGxheSBbaXNGcmFjdGlvbl09XCJjb2wuaXNGcmFjdGlvblwiIFtpbnB1dERhdGFdPVwiaXRlbVtjb2wuZmllbGRdXCIgW251bU9mRGVjaW1hbF09XCJjb2wubnVtT2ZEZWNpbWFsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvVHNpLVJhdGUtRGlzcGxheT5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICAgICAgPCEtLSBCdXR0b24gLS0+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Rpc3BsYXlCdXR0b25CbG9jaz5cclxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbC5pc0J1dHRvbjsgZWxzZSBkZWZhdWx0VGV4dE91dHB1dEJsb2NrXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHAtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInAtMFwiIHBCdXR0b24gcFJpcHBsZSB0eXBlPVwiYnV0dG9uXCIgaWNvbj1cInt7Y29sLmJ1dHRvbkljb259fVwiIGNsYXNzPVwie3tjb2wuc3R5bGVDbGFzc319XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImJ1dHRvbkNsaWNrZWQoaXRlbVtrZXldLCBjb2wuZmllbGQpXCI+e3tjb2wuYnV0dG9uTGFiZWwgfCBsb2NhbGl6ZX19PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgICAgICA8IS0tIFRzaS1UZXh0LUJveCAtLT5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRleHRPdXRwdXRCbG9jaz5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7aXRlbVtjb2wuZmllbGRdfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICA8L3RyPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJzaG93SGF2ZVN1bWFyeVwiIHBUZW1wbGF0ZT1cImZvb3RlclwiIGxldC1jb2x1bW5zPlxyXG4gICAgICAgIDx0ciBjbGFzcz1cInRmb290ZXJcIj5cclxuICAgICAgICAgICAgPHRkIHBGcm96ZW5Db2x1bW4gc2NvcGU9XCJjb2xcIiBzdHlsZT1cIndpZHRoOjNyZW1cIj5Ub3RhbHM8L3RkPlxyXG4gICAgICAgICAgICA8dGQgcEZyb3plbkNvbHVtbiBbZnJvemVuXT1cImNvbC5pc0Zyb3plblwiIFtzdHlsZV09XCJjb2wuc3R5bGVcIiBzY29wZT1cImNvbFwiXHJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sIG9mIGNvbHVtbnNcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2wuaGF2ZVN1bW1hcnlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIFRzaS1DdXJyZW5jeS1Tb2NpZXRlLURpc3BsYXkgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNvbC50eXBlID09IGRpc3BsYXlUeXBlcy5DVVJSRU5DWV9TT0NJRVRFX0RJU1BMQVk7IGVsc2UgY3VycmVuY3lPdGhlck91dHB1dEJsb2NrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxUc2ktQ3VycmVuY3ktU29jaWV0ZS1EaXNwbGF5IFtpbnB1dERhdGFdPVwiZ2V0U3VtbWFyeShjb2wpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvVHNpLUN1cnJlbmN5LVNvY2lldGUtRGlzcGxheT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBUc2ktQ3VycmVuY3ktT3RoZXItRGlzcGxheSAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2N1cnJlbmN5T3RoZXJPdXRwdXRCbG9jaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbC50eXBlID09IGRpc3BsYXlUeXBlcy5DVVJSRU5DWV9PVEhFUl9ESVNQTEFZOyBlbHNlIGRlY2ltYWxPdXRwdXRCbG9ja1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRzaS1DdXJyZW5jeS1PdGhlci1EaXNwbGF5IFtjdXJyZW5jeV09XCJjb2wuY3VycmVuY3lDb2RlXCIgW2lucHV0RGF0YV09XCJnZXRTdW1tYXJ5KGNvbClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVHNpLUN1cnJlbmN5LU90aGVyLURpc3BsYXk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gVHNpLURlY2ltYWwtRGlzcGxheSAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlY2ltYWxPdXRwdXRCbG9jaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbC50eXBlID09IGRpc3BsYXlUeXBlcy5ERUNJTUFMX0RJU1BMQVk7IGVsc2UgaW50ZWdlck91dHB1dEJsb2NrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VHNpLURlY2ltYWwtRGlzcGxheSBbZm9ybWF0RGVjaW1hbF09XCJjb2wuZm9ybWF0RGVjaW1hbFwiIFtpbnB1dERhdGFdPVwiZ2V0U3VtbWFyeShjb2wpXCIgW251bU9mRGVjaW1hbF09XCJjb2wubnVtT2ZEZWNpbWFsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1RzaS1EZWNpbWFsLURpc3BsYXk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gVHNpLUludGVnZXItRGlzcGxheSAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2ludGVnZXJPdXRwdXRCbG9jaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbC50eXBlID09IGRpc3BsYXlUeXBlcy5JTlRFR0VSX0RJU1BMQVk7IGVsc2UgcmF0ZU91dHB1dEJsb2NrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VHNpLUludGVnZXItRGlzcGxheSBbaW5wdXREYXRhXT1cImdldFN1bW1hcnkoY29sKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Uc2ktSW50ZWdlci1EaXNwbGF5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIFRzaS1SYXRlLURpc3BsYXkgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNyYXRlT3V0cHV0QmxvY2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2wudHlwZSA9PSBkaXNwbGF5VHlwZXMuUkFURV9ESVNQTEFZOyBlbHNlIGRlZmF1bHRUZXh0T3V0cHV0QmxvY2tcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUc2ktUmF0ZS1EaXNwbGF5IFtpc0ZyYWN0aW9uXT1cImNvbC5pc0ZyYWN0aW9uXCIgW2lucHV0RGF0YV09XCJnZXRTdW1tYXJ5KGNvbClcIiBbbnVtT2ZEZWNpbWFsXT1cImNvbC5udW1PZkRlY2ltYWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVHNpLVJhdGUtRGlzcGxheT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBEZWZhdWx0IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRleHRPdXRwdXRCbG9jaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0U3VtbWFyeShjb2wpfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgIDwvdHI+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwic2hvd1N1bW1hcnlGb290ZXJcIiBwVGVtcGxhdGU9XCJzdW1tYXJ5XCI+XHJcbiAgICAgICAgVGhlcmUgYXJlIHt7dG90YWxDb3VudCgpfX1cclxuICAgICAgICA8c3Bhbj5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG48L3AtdGFibGU+XHJcbiJdfQ==
|