@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,15 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "primeng/progressspinner";
|
|
4
|
+
export class SpinnerComponent {
|
|
5
|
+
constructor() { }
|
|
6
|
+
ngOnInit() {
|
|
7
|
+
}
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SpinnerComponent, selector: "app-spinner", ngImport: i0, template: "<div class=\"spinner-container flex align-items-center justify-content-center\">\r\n <div class=\"d-flex justify-content-center\">\r\n <p-progressSpinner></p-progressSpinner>\r\n </div>\r\n</div>\r\n", styles: [".spinner-container{position:fixed;left:50%;top:50%;background-color:#ffffff80;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:100%;height:100%;z-index:9999;pointer-events:none}\n"], dependencies: [{ kind: "component", type: i1.ProgressSpinner, selector: "p-progressSpinner", inputs: ["styleClass", "style", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }] }); }
|
|
10
|
+
}
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SpinnerComponent, decorators: [{
|
|
12
|
+
type: Component,
|
|
13
|
+
args: [{ selector: 'app-spinner', template: "<div class=\"spinner-container flex align-items-center justify-content-center\">\r\n <div class=\"d-flex justify-content-center\">\r\n <p-progressSpinner></p-progressSpinner>\r\n </div>\r\n</div>\r\n", styles: [".spinner-container{position:fixed;left:50%;top:50%;background-color:#ffffff80;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:100%;height:100%;z-index:9999;pointer-events:none}\n"] }]
|
|
14
|
+
}], ctorParameters: () => [] });
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90c2ktc2hhcmVkLXVpL3NyYy9saWIvdHNpLWNvbXBvbmVudHMvc3Bpbm5lci9zcGlubmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RzaS1zaGFyZWQtdWkvc3JjL2xpYi90c2ktY29tcG9uZW50cy9zcGlubmVyL3NwaW5uZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7O0FBT2xELE1BQU0sT0FBTyxnQkFBZ0I7SUFFM0IsZ0JBQWdCLENBQUM7SUFFakIsUUFBUTtJQUNSLENBQUM7K0dBTFUsZ0JBQWdCO21HQUFoQixnQkFBZ0IsbURDUDdCLCtNQUtBOzs0RkRFYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1zcGlubmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc3Bpbm5lci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc3Bpbm5lci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTcGlubmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic3Bpbm5lci1jb250YWluZXIgIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cclxuICAgIDxwLXByb2dyZXNzU3Bpbm5lcj48L3AtcHJvZ3Jlc3NTcGlubmVyPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "primeng/overlaypanel";
|
|
5
|
+
import * as i3 from "../../pipes/localize.pipe";
|
|
6
|
+
export class TsiBubbleInfoComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.infoText = '';
|
|
9
|
+
}
|
|
10
|
+
ngOnInit() {
|
|
11
|
+
}
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TsiBubbleInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TsiBubbleInfoComponent, selector: "Tsi-Bubble-Info", inputs: { infoText: "infoText" }, ngImport: i0, template: "<div *ngIf=\"infoText != null && infoText!= ''\">\r\n <i class=\"pi pi-info-circle ml-2 mr-2\" (mouseenter)=\"op.toggle($event)\" (mouseleave)=\"op.hide()\"></i>\r\n\r\n <p-overlayPanel #op>\r\n <div class=\"flex flex-column gap-3 w-25rem\">\r\n <div>\r\n <span class=\"font-medium text-600 block mb-2\"\r\n [innerHTML]=\"infoText | localize\">\r\n </span>\r\n </div>\r\n </div>\r\n </p-overlayPanel>\r\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.OverlayPanel, selector: "p-overlayPanel", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "pipe", type: i3.LocalizePipe, name: "localize" }] }); }
|
|
14
|
+
}
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TsiBubbleInfoComponent, decorators: [{
|
|
16
|
+
type: Component,
|
|
17
|
+
args: [{ selector: 'Tsi-Bubble-Info', template: "<div *ngIf=\"infoText != null && infoText!= ''\">\r\n <i class=\"pi pi-info-circle ml-2 mr-2\" (mouseenter)=\"op.toggle($event)\" (mouseleave)=\"op.hide()\"></i>\r\n\r\n <p-overlayPanel #op>\r\n <div class=\"flex flex-column gap-3 w-25rem\">\r\n <div>\r\n <span class=\"font-medium text-600 block mb-2\"\r\n [innerHTML]=\"infoText | localize\">\r\n </span>\r\n </div>\r\n </div>\r\n </p-overlayPanel>\r\n</div>" }]
|
|
18
|
+
}], ctorParameters: () => [], propDecorators: { infoText: [{
|
|
19
|
+
type: Input
|
|
20
|
+
}] } });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHNpLWJ1YmJsZS1pbmZvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RzaS1zaGFyZWQtdWkvc3JjL2xpYi90c2ktY29tcG9uZW50cy90c2ktYnViYmxlLWluZm8vdHNpLWJ1YmJsZS1pbmZvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RzaS1zaGFyZWQtdWkvc3JjL2xpYi90c2ktY29tcG9uZW50cy90c2ktYnViYmxlLWluZm8vdHNpLWJ1YmJsZS1pbmZvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7OztBQU96RCxNQUFNLE9BQU8sc0JBQXNCO0lBSWpDO1FBRlMsYUFBUSxHQUFxQixFQUFFLENBQUM7SUFFekIsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQzsrR0FQVSxzQkFBc0I7bUdBQXRCLHNCQUFzQix5RkNQbkMsMGZBWU07OzRGRExPLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxpQkFBaUI7d0RBTWxCLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnVHNpLUJ1YmJsZS1JbmZvJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdHNpLWJ1YmJsZS1pbmZvLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90c2ktYnViYmxlLWluZm8uY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHNpQnViYmxlSW5mb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIGluZm9UZXh0OiBzdHJpbmd8IHN0cmluZ1tdID0gJyc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxufSIsIjxkaXYgKm5nSWY9XCJpbmZvVGV4dCAhPSBudWxsICYmIGluZm9UZXh0IT0gJydcIj5cclxuICAgIDxpIGNsYXNzPVwicGkgcGktaW5mby1jaXJjbGUgbWwtMiBtci0yXCIgKG1vdXNlZW50ZXIpPVwib3AudG9nZ2xlKCRldmVudClcIiAobW91c2VsZWF2ZSk9XCJvcC5oaWRlKClcIj48L2k+XHJcblxyXG4gICAgPHAtb3ZlcmxheVBhbmVsICNvcD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBnYXAtMyB3LTI1cmVtXCI+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtbWVkaXVtIHRleHQtNjAwIGJsb2NrIG1iLTJcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiaW5mb1RleHQgfCBsb2NhbGl6ZVwiPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvcC1vdmVybGF5UGFuZWw+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Component, EventEmitter, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { Modes } from '../../../enums/component-use-modes-enum';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "../../output-components/tsi-label/tsi-label.component";
|
|
6
|
+
export class ContextMenuComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.actionSelected = new EventEmitter();
|
|
9
|
+
this.isVisible = false;
|
|
10
|
+
this.menuPosition = { x: '0px', y: '0px' };
|
|
11
|
+
this.modes = Modes;
|
|
12
|
+
}
|
|
13
|
+
openMenu(x, y) {
|
|
14
|
+
this.menuPosition = { x: `${x}px`, y: `${y}px` };
|
|
15
|
+
this.isVisible = true;
|
|
16
|
+
//Add event listener to detect clicks outside the menu
|
|
17
|
+
document.addEventListener('click', this.onDocumentClick.bind(this));
|
|
18
|
+
}
|
|
19
|
+
closeMenu() {
|
|
20
|
+
this.isVisible = false;
|
|
21
|
+
//Remove event listener when menu is closed
|
|
22
|
+
document.removeEventListener('click', this.onDocumentClick.bind(this));
|
|
23
|
+
}
|
|
24
|
+
onMenuClick(action) {
|
|
25
|
+
this.closeMenu();
|
|
26
|
+
this.actionSelected.emit({ selectedAction: action });
|
|
27
|
+
}
|
|
28
|
+
//To detect clicks outside the menu
|
|
29
|
+
onDocumentClick(event) {
|
|
30
|
+
if (!this.menu?.nativeElement.contains(event.target)) {
|
|
31
|
+
this.closeMenu();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ContextMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ContextMenuComponent, selector: "app-context-menu", outputs: { actionSelected: "actionSelected" }, viewQueries: [{ propertyName: "menu", first: true, predicate: ["menu"], descendants: true }], ngImport: i0, template: "<div #menu class=\"context-menu\" (click)=\"closeMenu()\" [class.visible]=\"isVisible\"\r\n [ngStyle]=\"{ top: menuPosition.y, left: menuPosition.x }\">\r\n <ul>\r\n <li (click)=\"onMenuClick(modes.consult)\" class=\"flx\">\r\n <Tsi-Label labelValue=\"cmpt_parametres_exercices_consulter\"></Tsi-Label>\r\n </li>\r\n <li (click)=\"onMenuClick(modes.edit)\" class=\"flx\">\r\n <Tsi-Label labelValue=\"parambase_autres_tier_btnmodifier\"></Tsi-Label>\r\n </li>\r\n <li (click)=\"onMenuClick(modes.delete)\" class=\"flx delete\">\r\n <Tsi-Label labelValue=\"parambase_autres_tier_btnsupprimer\"></Tsi-Label>\r\n </li>\r\n </ul>\r\n</div>", styles: [".context-menu{position:fixed;display:none;background-color:#fff;border:1px solid #ccc;box-shadow:3px 3px 5px #0003;z-index:1000;width:120px}.context-menu.visible{display:block}.context-menu ul{list-style-type:none;padding:0;margin:0}.context-menu li{padding:8px 12px;cursor:pointer}.context-menu li:hover{background-color:#eee}.flx{display:flex;justify-content:center}.delete{color:#d00}li{font-weight:500}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.TsiLabelComponent, selector: "Tsi-Label", inputs: ["labelValue", "styleClass", "infoText"] }] }); }
|
|
36
|
+
}
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ContextMenuComponent, decorators: [{
|
|
38
|
+
type: Component,
|
|
39
|
+
args: [{ selector: 'app-context-menu', template: "<div #menu class=\"context-menu\" (click)=\"closeMenu()\" [class.visible]=\"isVisible\"\r\n [ngStyle]=\"{ top: menuPosition.y, left: menuPosition.x }\">\r\n <ul>\r\n <li (click)=\"onMenuClick(modes.consult)\" class=\"flx\">\r\n <Tsi-Label labelValue=\"cmpt_parametres_exercices_consulter\"></Tsi-Label>\r\n </li>\r\n <li (click)=\"onMenuClick(modes.edit)\" class=\"flx\">\r\n <Tsi-Label labelValue=\"parambase_autres_tier_btnmodifier\"></Tsi-Label>\r\n </li>\r\n <li (click)=\"onMenuClick(modes.delete)\" class=\"flx delete\">\r\n <Tsi-Label labelValue=\"parambase_autres_tier_btnsupprimer\"></Tsi-Label>\r\n </li>\r\n </ul>\r\n</div>", styles: [".context-menu{position:fixed;display:none;background-color:#fff;border:1px solid #ccc;box-shadow:3px 3px 5px #0003;z-index:1000;width:120px}.context-menu.visible{display:block}.context-menu ul{list-style-type:none;padding:0;margin:0}.context-menu li{padding:8px 12px;cursor:pointer}.context-menu li:hover{background-color:#eee}.flx{display:flex;justify-content:center}.delete{color:#d00}li{font-weight:500}\n"] }]
|
|
40
|
+
}], propDecorators: { actionSelected: [{
|
|
41
|
+
type: Output
|
|
42
|
+
}], menu: [{
|
|
43
|
+
type: ViewChild,
|
|
44
|
+
args: ['menu']
|
|
45
|
+
}] } });
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RzaS1zaGFyZWQtdWkvc3JjL2xpYi90c2ktY29tcG9uZW50cy90c2ktY2FsZW5kZXIvY29udGV4dC1tZW51L2NvbnRleHQtbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90c2ktc2hhcmVkLXVpL3NyYy9saWIvdHNpLWNvbXBvbmVudHMvdHNpLWNhbGVuZGVyL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7QUFPaEUsTUFBTSxPQUFPLG9CQUFvQjtJQUxqQztRQU9ZLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVuRCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGlCQUFZLEdBQUcsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUN0QyxVQUFLLEdBQUcsS0FBSyxDQUFDO0tBMEJmO0lBeEJDLFFBQVEsQ0FBQyxDQUFTLEVBQUUsQ0FBUztRQUMzQixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixzREFBc0Q7UUFDdEQsUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsMkNBQTJDO1FBQzNDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQWM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUMsY0FBYyxFQUFHLE1BQU0sRUFBQyxDQUFDLENBQUE7SUFDckQsQ0FBQztJQUVELG1DQUFtQztJQUMzQixlQUFlLENBQUMsS0FBaUI7UUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBYyxDQUFDLEVBQUUsQ0FBQztZQUM3RCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbkIsQ0FBQztJQUNILENBQUM7K0dBL0JVLG9CQUFvQjttR0FBcEIsb0JBQW9CLHFNQ1JqQyxndEJBYU07OzRGRExPLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxrQkFBa0I7OEJBTWxCLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ1ksSUFBSTtzQkFBdEIsU0FBUzt1QkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1vZGVzIH0gZnJvbSAnLi4vLi4vLi4vZW51bXMvY29tcG9uZW50LXVzZS1tb2Rlcy1lbnVtJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWNvbnRleHQtbWVudScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRleHQtbWVudS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29udGV4dC1tZW51LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIENvbnRleHRNZW51Q29tcG9uZW50IHtcclxuICBcclxuICBAT3V0cHV0KCkgYWN0aW9uU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAVmlld0NoaWxkKCdtZW51JykgbWVudTogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcclxuICBpc1Zpc2libGUgPSBmYWxzZTtcclxuICBtZW51UG9zaXRpb24gPSB7IHg6ICcwcHgnLCB5OiAnMHB4JyB9O1xyXG4gIG1vZGVzID0gTW9kZXM7XHJcblxyXG4gIG9wZW5NZW51KHg6IG51bWJlciwgeTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLm1lbnVQb3NpdGlvbiA9IHsgeDogYCR7eH1weGAsIHk6IGAke3l9cHhgIH07XHJcbiAgICB0aGlzLmlzVmlzaWJsZSA9IHRydWU7XHJcbiAgICAvL0FkZCBldmVudCBsaXN0ZW5lciB0byBkZXRlY3QgY2xpY2tzIG91dHNpZGUgdGhlIG1lbnVcclxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5vbkRvY3VtZW50Q2xpY2suYmluZCh0aGlzKSk7XHJcbiAgfVxyXG5cclxuICBjbG9zZU1lbnUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgLy9SZW1vdmUgZXZlbnQgbGlzdGVuZXIgd2hlbiBtZW51IGlzIGNsb3NlZFxyXG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLm9uRG9jdW1lbnRDbGljay5iaW5kKHRoaXMpKTtcclxuICB9XHJcblxyXG4gIG9uTWVudUNsaWNrKGFjdGlvbjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsb3NlTWVudSgpO1xyXG4gICAgdGhpcy5hY3Rpb25TZWxlY3RlZC5lbWl0KHtzZWxlY3RlZEFjdGlvbiA6IGFjdGlvbn0pXHJcbiAgfVxyXG5cclxuICAvL1RvIGRldGVjdCBjbGlja3Mgb3V0c2lkZSB0aGUgbWVudVxyXG4gIHByaXZhdGUgb25Eb2N1bWVudENsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMubWVudT8ubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSkpIHtcclxuICAgICAgdGhpcy5jbG9zZU1lbnUoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiAjbWVudSBjbGFzcz1cImNvbnRleHQtbWVudVwiIChjbGljayk9XCJjbG9zZU1lbnUoKVwiIFtjbGFzcy52aXNpYmxlXT1cImlzVmlzaWJsZVwiXHJcbiAgICBbbmdTdHlsZV09XCJ7IHRvcDogbWVudVBvc2l0aW9uLnksIGxlZnQ6IG1lbnVQb3NpdGlvbi54IH1cIj5cclxuICAgIDx1bD5cclxuICAgICAgICA8bGkgKGNsaWNrKT1cIm9uTWVudUNsaWNrKG1vZGVzLmNvbnN1bHQpXCIgY2xhc3M9XCJmbHhcIj5cclxuICAgICAgICAgICAgPFRzaS1MYWJlbCBsYWJlbFZhbHVlPVwiY21wdF9wYXJhbWV0cmVzX2V4ZXJjaWNlc19jb25zdWx0ZXJcIj48L1RzaS1MYWJlbD5cclxuICAgICAgICA8L2xpPlxyXG4gICAgICAgIDxsaSAoY2xpY2spPVwib25NZW51Q2xpY2sobW9kZXMuZWRpdClcIiBjbGFzcz1cImZseFwiPlxyXG4gICAgICAgICAgICA8VHNpLUxhYmVsIGxhYmVsVmFsdWU9XCJwYXJhbWJhc2VfYXV0cmVzX3RpZXJfYnRubW9kaWZpZXJcIj48L1RzaS1MYWJlbD5cclxuICAgICAgICA8L2xpPlxyXG4gICAgICAgIDxsaSAoY2xpY2spPVwib25NZW51Q2xpY2sobW9kZXMuZGVsZXRlKVwiIGNsYXNzPVwiZmx4IGRlbGV0ZVwiPlxyXG4gICAgICAgICAgICA8VHNpLUxhYmVsIGxhYmVsVmFsdWU9XCJwYXJhbWJhc2VfYXV0cmVzX3RpZXJfYnRuc3VwcHJpbWVyXCI+PC9Uc2ktTGFiZWw+XHJcbiAgICAgICAgPC9saT5cclxuICAgIDwvdWw+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, signal, ViewChild } from '@angular/core';
|
|
2
|
+
import interactionPlugin from '@fullcalendar/interaction';
|
|
3
|
+
import dayGridPlugin from '@fullcalendar/daygrid';
|
|
4
|
+
import timeGridPlugin from '@fullcalendar/timegrid';
|
|
5
|
+
import listPlugin from '@fullcalendar/list';
|
|
6
|
+
import { ContextMenuComponent } from './context-menu/context-menu.component';
|
|
7
|
+
import { Component_Modes, Modes } from '../../enums';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "../../services/notification/tsi-notification.service";
|
|
10
|
+
import * as i2 from "../../pipes/localize.pipe";
|
|
11
|
+
import * as i3 from "@angular/common";
|
|
12
|
+
import * as i4 from "primeng/calendar";
|
|
13
|
+
import * as i5 from "primeng/dropdown";
|
|
14
|
+
import * as i6 from "@fullcalendar/angular";
|
|
15
|
+
import * as i7 from "./context-menu/context-menu.component";
|
|
16
|
+
export class TsiCalenderComponent {
|
|
17
|
+
set eventsData(value) {
|
|
18
|
+
this.mapDataToEvents(value);
|
|
19
|
+
}
|
|
20
|
+
constructor(_changeDetector, _viewContainerRef, _messageService, _localizePipe, renderer) {
|
|
21
|
+
this._changeDetector = _changeDetector;
|
|
22
|
+
this._viewContainerRef = _viewContainerRef;
|
|
23
|
+
this._messageService = _messageService;
|
|
24
|
+
this._localizePipe = _localizePipe;
|
|
25
|
+
this.renderer = renderer;
|
|
26
|
+
this.eventClick = new EventEmitter();
|
|
27
|
+
this.dateRangeChange = new EventEmitter();
|
|
28
|
+
this.displayModeOptions = [];
|
|
29
|
+
this.calendarOptions = signal({
|
|
30
|
+
plugins: [
|
|
31
|
+
interactionPlugin,
|
|
32
|
+
dayGridPlugin,
|
|
33
|
+
timeGridPlugin,
|
|
34
|
+
listPlugin,
|
|
35
|
+
],
|
|
36
|
+
headerToolbar: {
|
|
37
|
+
left: 'prevYear,prev,datePickerNavigator,searchFilter,next,nextYear,today',
|
|
38
|
+
center: 'title',
|
|
39
|
+
right: 'displayModeOptions',
|
|
40
|
+
},
|
|
41
|
+
buttonText: {
|
|
42
|
+
today: "Aujourd'hui",
|
|
43
|
+
},
|
|
44
|
+
customButtons: {
|
|
45
|
+
datePickerNavigator: {
|
|
46
|
+
icon: "Calendar",
|
|
47
|
+
hint: "",
|
|
48
|
+
click: this.handleDatePickerNavigatorClick.bind(this)
|
|
49
|
+
},
|
|
50
|
+
searchFilter: {
|
|
51
|
+
icon: "SearchFilter",
|
|
52
|
+
hint: "",
|
|
53
|
+
click: this.handleSearchFilter.bind(this)
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
initialView: 'dayGridMonth',
|
|
57
|
+
locale: "fr",
|
|
58
|
+
events: this.eventsData,
|
|
59
|
+
weekends: true,
|
|
60
|
+
selectable: true,
|
|
61
|
+
editable: true,
|
|
62
|
+
eventResizableFromStart: true,
|
|
63
|
+
eventStartEditable: true,
|
|
64
|
+
eventDurationEditable: true,
|
|
65
|
+
selectMirror: true,
|
|
66
|
+
dayMaxEvents: true,
|
|
67
|
+
select: this.handleDateSelect.bind(this),
|
|
68
|
+
eventClick: this.handleEventClick.bind(this),
|
|
69
|
+
eventsSet: this.handleEvents.bind(this),
|
|
70
|
+
eventDrop: this.handleEventDrop.bind(this),
|
|
71
|
+
eventResize: this.handleEventResize.bind(this),
|
|
72
|
+
eventDidMount: this.handleEventDidMount.bind(this),
|
|
73
|
+
datesSet: this.getCurrentDates.bind(this),
|
|
74
|
+
eventContent: (arg) => {
|
|
75
|
+
const nombreAttachement = arg.event.extendedProps?.['nombreAttachement'] || 0;
|
|
76
|
+
const attachmentHtml = nombreAttachement > 0
|
|
77
|
+
? `<span class="attachment-info"><i class="pi pi-paperclip"></i> [${nombreAttachement}]</span>`
|
|
78
|
+
: '';
|
|
79
|
+
return {
|
|
80
|
+
html: `
|
|
81
|
+
<div>
|
|
82
|
+
<span class="event-title">${arg.event.title}</span>
|
|
83
|
+
${attachmentHtml}
|
|
84
|
+
</div>
|
|
85
|
+
`,
|
|
86
|
+
};
|
|
87
|
+
},
|
|
88
|
+
});
|
|
89
|
+
this.currentEvents = signal([]);
|
|
90
|
+
this.displayModeOptions = [
|
|
91
|
+
{ label: this._localizePipe.transform('shared_tsi_component_grid_calender_dayGridMonth'), value: 'dayGridMonth' },
|
|
92
|
+
{ label: this._localizePipe.transform('shared_tsi_component_grid_calender_dayGridWeek'), value: 'dayGridWeek' },
|
|
93
|
+
{ label: this._localizePipe.transform('shared_tsi_component_grid_calender_dayGridDay'), value: 'dayGridDay' },
|
|
94
|
+
{ label: this._localizePipe.transform('shared_tsi_component_grid_calender_timeGridDay'), value: 'timeGridDay' },
|
|
95
|
+
{ label: this._localizePipe.transform('shared_tsi_component_grid_calender_timeGridWeek'), value: 'timeGridWeek' },
|
|
96
|
+
{ label: this._localizePipe.transform('shared_tsi_component_grid_calender_listYear'), value: 'listYear' },
|
|
97
|
+
{ label: this._localizePipe.transform('shared_tsi_component_grid_calender_listMonth'), value: 'listMonth' },
|
|
98
|
+
{ label: this._localizePipe.transform('shared_tsi_component_grid_calender_listWeek'), value: 'listWeek' },
|
|
99
|
+
{ label: this._localizePipe.transform('shared_tsi_component_grid_calender_listDay'), value: 'listDay' },
|
|
100
|
+
//premium
|
|
101
|
+
// { label: 'vue chronologique année', value: 'timelineYear' },
|
|
102
|
+
// { label: 'vue chronologique mois', value: 'timelineMonth' },
|
|
103
|
+
// { label: 'vue chronologique semaine', value: 'timelineWeek' },
|
|
104
|
+
// { label: 'vue chronologique jour', value: 'timelineDay' },
|
|
105
|
+
];
|
|
106
|
+
}
|
|
107
|
+
ngOnInit() { }
|
|
108
|
+
ngAfterViewInit() {
|
|
109
|
+
const iconForCalendar = document.querySelector('.fc-icon-Calendar');
|
|
110
|
+
if (iconForCalendar) {
|
|
111
|
+
iconForCalendar.classList.value = "pi pi-calendar";
|
|
112
|
+
}
|
|
113
|
+
const iconForSearchFilter = document.querySelector('.fc-icon-SearchFilter');
|
|
114
|
+
if (iconForSearchFilter) {
|
|
115
|
+
iconForSearchFilter.classList.value = "pi pi-search";
|
|
116
|
+
}
|
|
117
|
+
const dropdownElement = document.querySelector('.fc-displayModeOptions-button');
|
|
118
|
+
if (dropdownElement) {
|
|
119
|
+
dropdownElement.innerHTML = ''; // Clear any default content
|
|
120
|
+
// Create an embedded view from the template
|
|
121
|
+
const embeddedView = this.dropdownTemplate.createEmbeddedView(null);
|
|
122
|
+
this._viewContainerRef.insert(embeddedView);
|
|
123
|
+
// Append the dropdown to the toolbar
|
|
124
|
+
embeddedView.rootNodes.forEach(node => {
|
|
125
|
+
this.renderer.appendChild(dropdownElement, node);
|
|
126
|
+
});
|
|
127
|
+
dropdownElement.classList.value = 'displayModeOptions';
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
mapDataToEvents(value) {
|
|
131
|
+
this.calendarOptions.update((oldCalenderOpts) => {
|
|
132
|
+
if (!this.schema) {
|
|
133
|
+
throw new Error("schema should be defined.");
|
|
134
|
+
}
|
|
135
|
+
let evts = value.map(item => {
|
|
136
|
+
let event = {
|
|
137
|
+
id: item[this.schema.id],
|
|
138
|
+
start: item[this.schema.start],
|
|
139
|
+
end: item[this.schema.end],
|
|
140
|
+
title: item[this.schema.title],
|
|
141
|
+
color: item.color,
|
|
142
|
+
extendedProps: {
|
|
143
|
+
nombreAttachement: item.nombreAttachement,
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
return event;
|
|
147
|
+
});
|
|
148
|
+
oldCalenderOpts.events = evts;
|
|
149
|
+
return {
|
|
150
|
+
...oldCalenderOpts,
|
|
151
|
+
events: evts
|
|
152
|
+
};
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
handleDateSelect(selectInfo) {
|
|
156
|
+
this.eventClick.emit({
|
|
157
|
+
mode: Component_Modes.CREATE,
|
|
158
|
+
dateDebut: selectInfo.start.toLocaleDateString('fr-FR')
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
handleEventClick(clickInfo) {
|
|
162
|
+
this.eventClick.emit({
|
|
163
|
+
mode: Component_Modes.EDIT,
|
|
164
|
+
id: clickInfo.event.id
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
handleEvents(events) {
|
|
168
|
+
this.currentEvents.set(events);
|
|
169
|
+
this._changeDetector.detectChanges(); // workaround for pressionChangedAfterItHasBeenCheckedError
|
|
170
|
+
}
|
|
171
|
+
handleEventResize(info) {
|
|
172
|
+
this.updateEvent(info);
|
|
173
|
+
}
|
|
174
|
+
handleEventDrop(info) {
|
|
175
|
+
this.updateEvent(info);
|
|
176
|
+
}
|
|
177
|
+
updateEvent(info) {
|
|
178
|
+
const newStart = info.event.start;
|
|
179
|
+
const newEnd = info.event.end;
|
|
180
|
+
const id = info.event.id;
|
|
181
|
+
if (this.crudService) {
|
|
182
|
+
this.crudService.getById(id).subscribe({
|
|
183
|
+
next: (res) => {
|
|
184
|
+
if (!this.schema) {
|
|
185
|
+
throw new Error("schema should be defined.");
|
|
186
|
+
}
|
|
187
|
+
let item = res;
|
|
188
|
+
item[this.schema.start] = newStart;
|
|
189
|
+
item[this.schema.end] = newEnd ? newEnd : newStart; // if it's on the same day
|
|
190
|
+
this.crudService?.update(item, id).subscribe({
|
|
191
|
+
next: () => this._messageService.success("shared_reporting_success_updated"),
|
|
192
|
+
error: (err) => console.log(err)
|
|
193
|
+
});
|
|
194
|
+
},
|
|
195
|
+
error: (err) => console.log("Can not update item :", err)
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
handleDatePickerNavigatorClick(event) {
|
|
200
|
+
if (this.datePicker) {
|
|
201
|
+
let calendarInput = this.datePicker.inputfieldViewChild?.nativeElement;
|
|
202
|
+
calendarInput.focus();
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
handleSearchFilter(event) {
|
|
206
|
+
this.eventClick.emit({
|
|
207
|
+
mode: "SEARCH"
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
navigateToDate(event) {
|
|
211
|
+
const fullCalendar = this.calendar?.getApi();
|
|
212
|
+
fullCalendar?.gotoDate(event);
|
|
213
|
+
if (this.datePicker) {
|
|
214
|
+
let calendarInput = this.datePicker.inputfieldViewChild?.nativeElement;
|
|
215
|
+
calendarInput.blur();
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
handleEventDidMount(arg) {
|
|
219
|
+
//Attach right-click event to each event cell
|
|
220
|
+
arg.el.addEventListener('contextmenu', (event) => {
|
|
221
|
+
//Prevent the default context menu from appearing
|
|
222
|
+
event.preventDefault();
|
|
223
|
+
this.currentContextMenuEvent = arg.event;
|
|
224
|
+
this.contextMenu?.openMenu(event.clientX, event.clientY);
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
handleSelectedAction(action) {
|
|
228
|
+
switch (action.selectedAction) {
|
|
229
|
+
case Modes.delete:
|
|
230
|
+
if (this.currentContextMenuEvent) {
|
|
231
|
+
this.crudService?.delete(this.currentContextMenuEvent.id).subscribe({
|
|
232
|
+
next: (res) => {
|
|
233
|
+
const fullCalendar = this.calendar?.getApi();
|
|
234
|
+
fullCalendar?.getEventById(this.currentContextMenuEvent.id)?.remove();
|
|
235
|
+
this._messageService.success("shared_tsi_component_grid_calender_delete_item_success");
|
|
236
|
+
},
|
|
237
|
+
error: (err) => this._messageService.error(err.error.errors[547] ? "shared_tsi_component_grid_calender_delete_item_failed" : err.error.detail),
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
break;
|
|
241
|
+
case Modes.consult:
|
|
242
|
+
this.eventClick.emit({
|
|
243
|
+
mode: Component_Modes.CONSULT,
|
|
244
|
+
id: this.currentContextMenuEvent.id
|
|
245
|
+
});
|
|
246
|
+
break;
|
|
247
|
+
case Modes.edit:
|
|
248
|
+
this.eventClick.emit({
|
|
249
|
+
mode: Component_Modes.EDIT,
|
|
250
|
+
id: this.currentContextMenuEvent.id
|
|
251
|
+
});
|
|
252
|
+
break;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
onDisplayModeChange(event) {
|
|
256
|
+
const calendarApi = this.calendar?.getApi();
|
|
257
|
+
calendarApi?.changeView(event.value);
|
|
258
|
+
}
|
|
259
|
+
getCurrentDates() {
|
|
260
|
+
if (this.calendar) {
|
|
261
|
+
const calendarApi = this.calendar.getApi();
|
|
262
|
+
this.dateRangeChange.emit({
|
|
263
|
+
start: new Date(calendarApi.view.currentStart.setDate(calendarApi.view.currentStart.getDate() + 1)),
|
|
264
|
+
end: new Date(calendarApi.view.currentEnd.setDate(calendarApi.view.currentEnd.getDate() + 1))
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TsiCalenderComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ViewContainerRef }, { token: i1.TsiNotificationService }, { token: i2.LocalizePipe }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
269
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TsiCalenderComponent, selector: "tsi-calender", inputs: { crudService: "crudService", schema: "schema", eventsData: "eventsData" }, outputs: { eventClick: "eventClick", dateRangeChange: "dateRangeChange" }, viewQueries: [{ propertyName: "contextMenu", first: true, predicate: ContextMenuComponent, descendants: true }, { propertyName: "datePicker", first: true, predicate: ["datePicker"], descendants: true }, { propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true }, { propertyName: "dropdownTemplate", first: true, predicate: ["dropdownTemplate"], descendants: true }], ngImport: i0, template: "<p-calendar #datePicker class=\"hidden-calendar\" (onSelect)=\"navigateToDate($event)\"/>\r\n<full-calendar #calendar [options]='calendarOptions()'>\r\n <ng-template let-arg>\r\n\r\n <i [ngStyle]=\"arg.event.color && arg.event.color !== '' ? {'background-color': arg.event.color} : {}\" >\r\n \r\n {{ arg.event.title }}</i>\r\n </ng-template>\r\n</full-calendar>\r\n<app-context-menu (actionSelected)=\"handleSelectedAction($event)\"></app-context-menu>\r\n<ng-template #dropdownTemplate>\r\n <p-dropdown [style]=\"{'width' : '200px','border-radius': '5px'}\" [options]=\"displayModeOptions\" (onChange)=\"onDisplayModeChange($event)\"></p-dropdown>\r\n</ng-template>\r\n", styles: ["::ng-deep .hidden-calendar .p-inputtext{border:none;width:0px;height:0px}::ng-deep .hidden-calendar .p-inputtext:enabled:focus{box-shadow:none}::ng-deep .displayModeOptions{background:#fff;border:none}.attachment-info{margin-left:50px;font-size:12px;color:#080808}.attachment-info i{margin-right:5px}\n"], dependencies: [{ kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i4.Calendar, selector: "p-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepYearPicker", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "component", type: i5.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "autoShowPanelOnPrintableCharacterKeyDown", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "component", type: i6.FullCalendarComponent, selector: "full-calendar", inputs: ["options", "deepChangeDetection", "events", "eventSources", "resources"] }, { kind: "component", type: i7.ContextMenuComponent, selector: "app-context-menu", outputs: ["actionSelected"] }] }); }
|
|
270
|
+
}
|
|
271
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TsiCalenderComponent, decorators: [{
|
|
272
|
+
type: Component,
|
|
273
|
+
args: [{ selector: 'tsi-calender', template: "<p-calendar #datePicker class=\"hidden-calendar\" (onSelect)=\"navigateToDate($event)\"/>\r\n<full-calendar #calendar [options]='calendarOptions()'>\r\n <ng-template let-arg>\r\n\r\n <i [ngStyle]=\"arg.event.color && arg.event.color !== '' ? {'background-color': arg.event.color} : {}\" >\r\n \r\n {{ arg.event.title }}</i>\r\n </ng-template>\r\n</full-calendar>\r\n<app-context-menu (actionSelected)=\"handleSelectedAction($event)\"></app-context-menu>\r\n<ng-template #dropdownTemplate>\r\n <p-dropdown [style]=\"{'width' : '200px','border-radius': '5px'}\" [options]=\"displayModeOptions\" (onChange)=\"onDisplayModeChange($event)\"></p-dropdown>\r\n</ng-template>\r\n", styles: ["::ng-deep .hidden-calendar .p-inputtext{border:none;width:0px;height:0px}::ng-deep .hidden-calendar .p-inputtext:enabled:focus{box-shadow:none}::ng-deep .displayModeOptions{background:#fff;border:none}.attachment-info{margin-left:50px;font-size:12px;color:#080808}.attachment-info i{margin-right:5px}\n"] }]
|
|
274
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ViewContainerRef }, { type: i1.TsiNotificationService }, { type: i2.LocalizePipe }, { type: i0.Renderer2 }], propDecorators: { contextMenu: [{
|
|
275
|
+
type: ViewChild,
|
|
276
|
+
args: [ContextMenuComponent]
|
|
277
|
+
}], datePicker: [{
|
|
278
|
+
type: ViewChild,
|
|
279
|
+
args: ['datePicker']
|
|
280
|
+
}], calendar: [{
|
|
281
|
+
type: ViewChild,
|
|
282
|
+
args: ['calendar']
|
|
283
|
+
}], dropdownTemplate: [{
|
|
284
|
+
type: ViewChild,
|
|
285
|
+
args: ['dropdownTemplate']
|
|
286
|
+
}], crudService: [{
|
|
287
|
+
type: Input
|
|
288
|
+
}], schema: [{
|
|
289
|
+
type: Input
|
|
290
|
+
}], eventsData: [{
|
|
291
|
+
type: Input
|
|
292
|
+
}], eventClick: [{
|
|
293
|
+
type: Output
|
|
294
|
+
}], dateRangeChange: [{
|
|
295
|
+
type: Output
|
|
296
|
+
}] } });
|
|
297
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHNpLWNhbGVuZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RzaS1zaGFyZWQtdWkvc3JjL2xpYi90c2ktY29tcG9uZW50cy90c2ktY2FsZW5kZXIvdHNpLWNhbGVuZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RzaS1zaGFyZWQtdWkvc3JjL2xpYi90c2ktY29tcG9uZW50cy90c2ktY2FsZW5kZXIvdHNpLWNhbGVuZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0MsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFhLE1BQU0sRUFBZSxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBRzlLLE9BQU8saUJBQXlDLE1BQU0sMkJBQTJCLENBQUM7QUFDbEYsT0FBTyxhQUFhLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxjQUFjLE1BQU0sd0JBQXdCLENBQUM7QUFDcEQsT0FBTyxVQUFVLE1BQU0sb0JBQW9CLENBQUM7QUFFNUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7Ozs7OztBQVdyRCxNQUFNLE9BQU8sb0JBQW9CO0lBVS9CLElBQWEsVUFBVSxDQUFDLEtBQWE7UUFDbkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBT0QsWUFDVSxlQUFrQyxFQUNsQyxpQkFBbUMsRUFDbkMsZUFBdUMsRUFDdkMsYUFBMkIsRUFDM0IsUUFBbUI7UUFKbkIsb0JBQWUsR0FBZixlQUFlLENBQW1CO1FBQ2xDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUFDbkMsb0JBQWUsR0FBZixlQUFlLENBQXdCO1FBQ3ZD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R0FBRyxDQUFDLENBQUMsQ0FBQzthQUMvRixDQUFDLENBQUE7UUFDSixDQUFDO0lBQ0gsQ0FBQzsrR0E3UlUsb0JBQW9CO21HQUFwQixvQkFBb0IsZ1FBR3BCLG9CQUFvQix5VUN2QmpDLDRyQkFhQTs7NEZET2Esb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGNBQWM7Nk1BT1MsV0FBVztzQkFBM0MsU0FBUzt1QkFBQyxvQkFBb0I7Z0JBQ04sVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUNBLFFBQVE7c0JBQTlCLFNBQVM7dUJBQUMsVUFBVTtnQkFDVSxnQkFBZ0I7c0JBQTlDLFNBQVM7dUJBQUMsa0JBQWtCO2dCQUVwQixXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDTyxVQUFVO3NCQUF0QixLQUFLO2dCQUlJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBSZW5kZXJlcjIsIHNpZ25hbCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyAgQ2FsZW5kYXJBcGksIENhbGVuZGFyT3B0aW9ucywgRGF0ZVNlbGVjdEFyZywgRXZlbnRBcGksIEV2ZW50Q2xpY2tBcmcsIEV2ZW50SW5wdXQgfSBmcm9tICdAZnVsbGNhbGVuZGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyBwcmltZU5nIGZyb20gJ3ByaW1lbmcvY2FsZW5kYXInO1xyXG5pbXBvcnQgaW50ZXJhY3Rpb25QbHVnaW4sIHsgRXZlbnRSZXNpemVEb25lQXJnIH0gZnJvbSAnQGZ1bGxjYWxlbmRhci9pbnRlcmFjdGlvbic7XHJcbmltcG9ydCBkYXlHcmlkUGx1Z2luIGZyb20gJ0BmdWxsY2FsZW5kYXIvZGF5Z3JpZCc7XHJcbmltcG9ydCB0aW1lR3JpZFBsdWdpbiBmcm9tICdAZnVsbGNhbGVuZGFyL3RpbWVncmlkJztcclxuaW1wb3J0IGxpc3RQbHVnaW4gZnJvbSAnQGZ1bGxjYWxlbmRhci9saXN0JztcclxuaW1wb3J0IHsgRnVsbENhbGVuZGFyQ29tcG9uZW50IH0gZnJvbSAnQGZ1bGxjYWxlbmRhci9hbmd1bGFyJztcclxuaW1wb3J0IHsgQ29udGV4dE1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29tcG9uZW50X01vZGVzLCBNb2RlcyB9IGZyb20gJy4uLy4uL2VudW1zJztcclxuaW1wb3J0IHsgRXZlbnRTY2hlbWEgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZVBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy9sb2NhbGl6ZS5waXBlJztcclxuaW1wb3J0IHsgQ3J1ZEJhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYmFzZS9jcnVkLWJhc2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IFRzaU5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9ub3RpZmljYXRpb24vdHNpLW5vdGlmaWNhdGlvbi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndHNpLWNhbGVuZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdHNpLWNhbGVuZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90c2ktY2FsZW5kZXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHNpQ2FsZW5kZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXR7XHJcbiAgXHJcbiAgY3VycmVudENvbnRleHRNZW51RXZlbnQgOiBhbnkgO1xyXG4gIEBWaWV3Q2hpbGQoQ29udGV4dE1lbnVDb21wb25lbnQpIGNvbnRleHRNZW51OiBDb250ZXh0TWVudUNvbXBvbmVudCB8IHVuZGVmaW5lZDtcclxuICBAVmlld0NoaWxkKCdkYXRlUGlja2VyJykgZGF0ZVBpY2tlcjogcHJpbWVOZy5DYWxlbmRhciB8IHVuZGVmaW5lZDtcclxuICBAVmlld0NoaWxkKCdjYWxlbmRhcicpIGNhbGVuZGFyOiBGdWxsQ2FsZW5kYXJDb21wb25lbnQgfCB1bmRlZmluZWQ7XHJcbiAgQFZpZXdDaGlsZCgnZHJvcGRvd25UZW1wbGF0ZScpIGRyb3Bkb3duVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XHJcblxyXG4gIEBJbnB1dCgpIGNydWRTZXJ2aWNlPzogQ3J1ZEJhc2VTZXJ2aWNlPGFueSwgYW55LCBhbnksIGFueT47XHJcbiAgQElucHV0KCkgc2NoZW1hOiBFdmVudFNjaGVtYSB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBzZXQgZXZlbnRzRGF0YSh2YWx1ZSA6IGFueVtdKXtcclxuICAgIHRoaXMubWFwRGF0YVRvRXZlbnRzKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSBldmVudENsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBkYXRlUmFuZ2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIGRpc3BsYXlNb2RlT3B0aW9ucyA6IGFueVtdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHByaXZhdGUgX21lc3NhZ2VTZXJ2aWNlOiBUc2lOb3RpZmljYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfbG9jYWxpemVQaXBlOiBMb2NhbGl6ZVBpcGUsXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjJcclxuICApIHtcclxudGhpcy5kaXNwbGF5TW9kZU9wdGlvbnMgPSBbXHJcbiAgICB7IGxhYmVsOiB0aGlzLl9sb2NhbGl6ZVBpcGUudHJhbnNmb3JtKCdzaGFyZWRfdHNpX2NvbXBvbmVudF9ncmlkX2NhbGVuZGVyX2RheUdyaWRNb250aCcpICwgdmFsdWU6ICdkYXlHcmlkTW9udGgnIH0sXHJcbiAgICB7IGxhYmVsOiB0aGlzLl9sb2NhbGl6ZVBpcGUudHJhbnNmb3JtKCdzaGFyZWRfdHNpX2NvbXBvbmVudF9ncmlkX2NhbGVuZGVyX2RheUdyaWRXZWVrJykgLCB2YWx1ZTogJ2RheUdyaWRXZWVrJyB9LFxyXG4gICAgeyBsYWJlbDogdGhpcy5fbG9jYWxpemVQaXBlLnRyYW5zZm9ybSgnc2hhcmVkX3RzaV9jb21wb25lbnRfZ3JpZF9jYWxlbmRlcl9kYXlHcmlkRGF5JykgLCB2YWx1ZTogJ2RheUdyaWREYXknIH0sXHJcbiAgICB7IGxhYmVsOiB0aGlzLl9sb2NhbGl6ZVBpcGUudHJhbnNmb3JtKCdzaGFyZWRfdHNpX2NvbXBvbmVudF9ncmlkX2NhbGVuZGVyX3RpbWVHcmlkRGF5JykgLCB2YWx1ZTogJ3RpbWVHcmlkRGF5JyB9LFxyXG4gICAgeyBsYWJlbDogdGhpcy5fbG9jYWxpemVQaXBlLnRyYW5zZm9ybSgnc2hhcmVkX3RzaV9jb21wb25lbnRfZ3JpZF9jYWxlbmRlcl90aW1lR3JpZFdlZWsnKSAsIHZhbHVlOiAndGltZUdyaWRXZWVrJyB9LFxyXG4gICAgeyBsYWJlbDogdGhpcy5fbG9jYWxpemVQaXBlLnRyYW5zZm9ybSgnc2hhcmVkX3RzaV9jb21wb25lbnRfZ3JpZF9jYWxlbmRlcl9saXN0WWVhcicpICwgdmFsdWU6ICdsaXN0WWVhcicgfSxcclxuICAgIHsgbGFiZWw6IHRoaXMuX2xvY2FsaXplUGlwZS50cmFuc2Zvcm0oJ3NoYXJlZF90c2lfY29tcG9uZW50X2dyaWRfY2FsZW5kZXJfbGlzdE1vbnRoJykgLCB2YWx1ZTogJ2xpc3RNb250aCcgfSxcclxuICAgIHsgbGFiZWw6IHRoaXMuX2xvY2FsaXplUGlwZS50cmFuc2Zvcm0oJ3NoYXJlZF90c2lfY29tcG9uZW50X2dyaWRfY2FsZW5kZXJfbGlzdFdlZWsnKSAsIHZhbHVlOiAnbGlzdFdlZWsnIH0sXHJcbiAgICB7IGxhYmVsOiB0aGlzLl9sb2NhbGl6ZVBpcGUudHJhbnNmb3JtKCdzaGFyZWRfdHNpX2NvbXBvbmVudF9ncmlkX2NhbGVuZGVyX2xpc3REYXknKSAsIHZhbHVlOiAnbGlzdERheScgfSxcclxuICAgIC8vcHJlbWl1bVxyXG4gICAgLy8geyBsYWJlbDogJ3Z1ZSBjaHJvbm9sb2dpcXVlIGFubsOpZScsIHZhbHVlOiAndGltZWxpbmVZZWFyJyB9LFxyXG4gICAgLy8geyBsYWJlbDogJ3Z1ZSBjaHJvbm9sb2dpcXVlIG1vaXMnLCB2YWx1ZTogJ3RpbWVsaW5lTW9udGgnIH0sXHJcbiAgICAvLyB7IGxhYmVsOiAndnVlIGNocm9ub2xvZ2lxdWUgc2VtYWluZScsIHZhbHVlOiAndGltZWxpbmVXZWVrJyB9LFxyXG4gICAgLy8geyBsYWJlbDogJ3Z1ZSBjaHJvbm9sb2dpcXVlIGpvdXInLCB2YWx1ZTogJ3RpbWVsaW5lRGF5JyB9LFxyXG4gIF1cclxuXHJcbiAgIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7IH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgY29uc3QgaWNvbkZvckNhbGVuZGFyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmZjLWljb24tQ2FsZW5kYXInKTtcclxuICAgIGlmKGljb25Gb3JDYWxlbmRhcil7XHJcbiAgICAgIGljb25Gb3JDYWxlbmRhci5jbGFzc0xpc3QudmFsdWUgPSBcInBpIHBpLWNhbGVuZGFyXCJcclxuICAgIH1cclxuICAgIGNvbnN0IGljb25Gb3JTZWFyY2hGaWx0ZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuZmMtaWNvbi1TZWFyY2hGaWx0ZXInKTtcclxuICAgIGlmKGljb25Gb3JTZWFyY2hGaWx0ZXIpe1xyXG4gICAgICBpY29uRm9yU2VhcmNoRmlsdGVyLmNsYXNzTGlzdC52YWx1ZSA9IFwicGkgcGktc2VhcmNoXCJcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBkcm9wZG93bkVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuZmMtZGlzcGxheU1vZGVPcHRpb25zLWJ1dHRvbicpO1xyXG4gICAgaWYgKGRyb3Bkb3duRWxlbWVudCkge1xyXG4gICAgICBkcm9wZG93bkVsZW1lbnQuaW5uZXJIVE1MID0gJyc7IC8vIENsZWFyIGFueSBkZWZhdWx0IGNvbnRlbnRcclxuICAgICAgLy8gQ3JlYXRlIGFuIGVtYmVkZGVkIHZpZXcgZnJvbSB0aGUgdGVtcGxhdGVcclxuICAgICAgY29uc3QgZW1iZWRkZWRWaWV3ID0gdGhpcy5kcm9wZG93blRlbXBsYXRlIS5jcmVhdGVFbWJlZGRlZFZpZXcobnVsbCk7XHJcbiAgICAgIHRoaXMuX3ZpZXdDb250YWluZXJSZWYuaW5zZXJ0KGVtYmVkZGVkVmlldyk7XHJcbiAgICAgIC8vIEFwcGVuZCB0aGUgZHJvcGRvd24gdG8gdGhlIHRvb2xiYXJcclxuICAgICAgZW1iZWRkZWRWaWV3IS5yb290Tm9kZXMuZm9yRWFjaChub2RlID0+IHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGRyb3Bkb3duRWxlbWVudCwgbm9kZSk7XHJcbiAgICAgIH0pO1xyXG4gICAgICBkcm9wZG93bkVsZW1lbnQuY2xhc3NMaXN0LnZhbHVlID0gJ2Rpc3BsYXlNb2RlT3B0aW9ucyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjYWxlbmRhck9wdGlvbnMgPSBzaWduYWw8Q2FsZW5kYXJPcHRpb25zPih7XHJcbiAgICBwbHVnaW5zOiBbXHJcbiAgICAgIGludGVyYWN0aW9uUGx1Z2luLFxyXG4gICAgICBkYXlHcmlkUGx1Z2luLFxyXG4gICAgICB0aW1lR3JpZFBsdWdpbixcclxuICAgICAgbGlzdFBsdWdpbixcclxuICAgIF0sXHJcbiAgICBoZWFkZXJUb29sYmFyOiB7XHJcbiAgICAgIGxlZnQ6ICdwcmV2WWVhcixwcmV2LGRhdGVQaWNrZXJOYXZpZ2F0b3Isc2VhcmNoRmlsdGVyLG5leHQsbmV4dFllYXIsdG9kYXknLFxyXG4gICAgICBjZW50ZXI6ICd0aXRsZScsXHJcbiAgICAgIHJpZ2h0OiAnZGlzcGxheU1vZGVPcHRpb25zJyxcclxuICAgIH0sXHJcbiAgICBidXR0b25UZXh0OiB7XHJcbiAgICAgIHRvZGF5OiBcIkF1am91cmQnaHVpXCIsXHJcbiAgICB9LFxyXG4gICAgY3VzdG9tQnV0dG9uczoge1xyXG4gICAgICBkYXRlUGlja2VyTmF2aWdhdG9yIDoge1xyXG4gICAgICAgIGljb246IFwiQ2FsZW5kYXJcIixcclxuICAgICAgICBoaW50OiBcIlwiLFxyXG4gICAgICAgIGNsaWNrOiB0aGlzLmhhbmRsZURhdGVQaWNrZXJOYXZpZ2F0b3JDbGljay5iaW5kKHRoaXMpXHJcbiAgICAgIH0sXHJcbiAgICAgIHNlYXJjaEZpbHRlciA6IHtcclxuICAgICAgICBpY29uOiBcIlNlYXJjaEZpbHRlclwiLFxyXG4gICAgICAgIGhpbnQ6IFwiXCIsXHJcbiAgICAgICAgY2xpY2s6IHRoaXMuaGFuZGxlU2VhcmNoRmlsdGVyLmJpbmQodGhpcylcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgICBpbml0aWFsVmlldzogJ2RheUdyaWRNb250aCcsXHJcbiAgICBsb2NhbGU6IFwiZnJcIixcclxuICAgIGV2ZW50cyA6IHRoaXMuZXZlbnRzRGF0YSxcclxuICAgIHdlZWtlbmRzOiB0cnVlLFxyXG4gICAgc2VsZWN0YWJsZTogdHJ1ZSxcclxuICAgIGVkaXRhYmxlOiB0cnVlLFxyXG4gICAgZXZlbnRSZXNpemFibGVGcm9tU3RhcnQ6IHRydWUsXHJcbiAgICBldmVudFN0YXJ0RWRpdGFibGU6IHRydWUsXHJcbiAgICBldmVudER1cmF0aW9uRWRpdGFibGU6IHRydWUsXHJcbiAgICBzZWxlY3RNaXJyb3I6IHRydWUsXHJcbiAgICBkYXlNYXhFdmVudHM6IHRydWUsXHJcbiAgICBzZWxlY3Q6IHRoaXMuaGFuZGxlRGF0ZVNlbGVjdC5iaW5kKHRoaXMpLFxyXG4gICAgZXZlbnRDbGljazogdGhpcy5oYW5kbGVFdmVudENsaWNrLmJpbmQodGhpcyksXHJcbiAgICBldmVudHNTZXQ6IHRoaXMuaGFuZGxlRXZlbnRzLmJpbmQodGhpcyksXHJcbiAgICBldmVudERyb3A6IHRoaXMuaGFuZGxlRXZlbnREcm9wLmJpbmQodGhpcyksXHJcbiAgICBldmVudFJlc2l6ZTogdGhpcy5oYW5kbGVFdmVudFJlc2l6ZS5iaW5kKHRoaXMpLFxyXG4gICAgZXZlbnREaWRNb3VudDogdGhpcy5oYW5kbGVFdmVudERpZE1vdW50LmJpbmQodGhpcyksXHJcbiAgICBkYXRlc1NldDogdGhpcy5nZXRDdXJyZW50RGF0ZXMuYmluZCh0aGlzKSxcclxuICAgIGV2ZW50Q29udGVudDogKGFyZykgPT4ge1xyXG4gICAgICBjb25zdCBub21icmVBdHRhY2hlbWVudCA9IGFyZy5ldmVudC5leHRlbmRlZFByb3BzPy5bJ25vbWJyZUF0dGFjaGVtZW50J10gfHwgMDtcclxuICAgICAgY29uc3QgYXR0YWNobWVudEh0bWwgPSBub21icmVBdHRhY2hlbWVudCA+IDAgXHJcbiAgICAgICAgPyBgPHNwYW4gY2xhc3M9XCJhdHRhY2htZW50LWluZm9cIj48aSBjbGFzcz1cInBpIHBpLXBhcGVyY2xpcFwiPjwvaT4gWyR7bm9tYnJlQXR0YWNoZW1lbnR9XTwvc3Bhbj5gIFxyXG4gICAgICAgIDogJyc7IFxyXG4gIFxyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGh0bWw6IGBcclxuICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXZlbnQtdGl0bGVcIj4ke2FyZy5ldmVudC50aXRsZX08L3NwYW4+XHJcbiAgICAgICAgICAgICR7YXR0YWNobWVudEh0bWx9XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICBgLFxyXG4gICAgICB9O1xyXG4gICAgfSxcclxuICB9KTtcclxuICBjdXJyZW50RXZlbnRzID0gc2lnbmFsPEV2ZW50QXBpW10+KFtdKTtcclxuXHJcbiAgbWFwRGF0YVRvRXZlbnRzKHZhbHVlIDogYW55W10pIHtcclxuICAgIHRoaXMuY2FsZW5kYXJPcHRpb25zLnVwZGF0ZSgob2xkQ2FsZW5kZXJPcHRzOkNhbGVuZGFyT3B0aW9ucykgPT4ge1xyXG4gICAgICBpZighdGhpcy5zY2hlbWEpe1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcInNjaGVtYSBzaG91bGQgYmUgZGVmaW5lZC5cIikgXHJcbiAgICAgIH1cclxuICAgICAgbGV0IGV2dHMgPSB2YWx1ZS5tYXAoaXRlbSA9PiB7XHJcbiAgICAgICAgbGV0IGV2ZW50IDogRXZlbnRJbnB1dCA9IHtcclxuICAgICAgICAgIGlkOiBpdGVtW3RoaXMuc2NoZW1hIS5pZF0sXHJcbiAgICAgICAgICBzdGFydDogaXRlbVt0aGlzLnNjaGVtYSEuc3RhcnRdLFxyXG4gICAgICAgICAgZW5kOiBpdGVtW3RoaXMuc2NoZW1hIS5lbmRdLFxyXG4gICAgICAgICAgdGl0bGU6IGl0ZW1bdGhpcy5zY2hlbWEhLnRpdGxlXSxcclxuICAgICAgICAgIGNvbG9yOiBpdGVtLmNvbG9yLFxyXG4gICAgICAgICAgZXh0ZW5kZWRQcm9wczogeyBcclxuICAgICAgICAgICAgbm9tYnJlQXR0YWNoZW1lbnQ6IGl0ZW0ubm9tYnJlQXR0YWNoZW1lbnQsXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgICAgICByZXR1cm4gZXZlbnQ7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgb2xkQ2FsZW5kZXJPcHRzLmV2ZW50cyA9IGV2dHMgO1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIC4uLm9sZENhbGVuZGVyT3B0cyxcclxuICAgICAgICBldmVudHM6IGV2dHNcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlRGF0ZVNlbGVjdChzZWxlY3RJbmZvOiBEYXRlU2VsZWN0QXJnKSB7XHJcbiAgICB0aGlzLmV2ZW50Q2xpY2suZW1pdCh7XHJcbiAgICAgIG1vZGUgOiBDb21wb25lbnRfTW9kZXMuQ1JFQVRFLFxyXG4gICAgICBkYXRlRGVidXQ6IHNlbGVjdEluZm8uc3RhcnQudG9Mb2NhbGVEYXRlU3RyaW5nKCdmci1GUicpXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUV2ZW50Q2xpY2soY2xpY2tJbmZvOiBFdmVudENsaWNrQXJnKSB7XHJcbiAgICB0aGlzLmV2ZW50Q2xpY2suZW1pdCh7XHJcbiAgICAgIG1vZGUgOiBDb21wb25lbnRfTW9kZXMuRURJVCxcclxuICAgICAgaWQgOiBjbGlja0luZm8uZXZlbnQuaWRcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlRXZlbnRzKGV2ZW50czogRXZlbnRBcGlbXSkge1xyXG4gICAgdGhpcy5jdXJyZW50RXZlbnRzLnNldChldmVudHMpO1xyXG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpOyAvLyB3b3JrYXJvdW5kIGZvciBwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvclxyXG4gIH1cclxuXHJcbiAgaGFuZGxlRXZlbnRSZXNpemUoaW5mbzogRXZlbnRSZXNpemVEb25lQXJnKXtcclxuICAgIHRoaXMudXBkYXRlRXZlbnQoaW5mbyk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVFdmVudERyb3AoaW5mbzogYW55KXtcclxuICAgIHRoaXMudXBkYXRlRXZlbnQoaW5mbyk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVFdmVudChpbmZvOiBhbnkpe1xyXG4gICAgY29uc3QgbmV3U3RhcnQgPSBpbmZvLmV2ZW50LnN0YXJ0O1xyXG4gICAgY29uc3QgbmV3RW5kID0gaW5mby5ldmVudC5lbmQ7XHJcbiAgICBjb25zdCBpZCA9IGluZm8uZXZlbnQuaWQ7XHJcblxyXG4gICAgaWYgKHRoaXMuY3J1ZFNlcnZpY2Upe1xyXG4gICAgICB0aGlzLmNydWRTZXJ2aWNlLmdldEJ5SWQoaWQpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dCA6KHJlczphbnkpID0+IHtcclxuICAgICAgICAgIGlmKCF0aGlzLnNjaGVtYSl7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcInNjaGVtYSBzaG91bGQgYmUgZGVmaW5lZC5cIikgXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBsZXQgaXRlbSA9IHJlcztcclxuICAgICAgICAgIGl0ZW1bdGhpcy5zY2hlbWEhLnN0YXJ0XSA9IG5ld1N0YXJ0O1xyXG4gICAgICAgICAgaXRlbVt0aGlzLnNjaGVtYSEuZW5kXSA9IG5ld0VuZCA/IG5ld0VuZCA6IG5ld1N0YXJ0OyAvLyBpZiBpdCdzIG9uIHRoZSBzYW1lIGRheVxyXG4gICAgICAgICAgdGhpcy5jcnVkU2VydmljZT8udXBkYXRlKGl0ZW0sIGlkKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgICBuZXh0IDogKCkgPT4gdGhpcy5fbWVzc2FnZVNlcnZpY2Uuc3VjY2VzcyhcInNoYXJlZF9yZXBvcnRpbmdfc3VjY2Vzc191cGRhdGVkXCIpLFxyXG4gICAgICAgICAgICBlcnJvcjogKGVycikgPT4gY29uc29sZS5sb2coZXJyKVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyKSA9PiBjb25zb2xlLmxvZyhcIkNhbiBub3QgdXBkYXRlIGl0ZW0gOlwiLCBlcnIpXHJcbiAgICAgIH0pXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVEYXRlUGlja2VyTmF2aWdhdG9yQ2xpY2soZXZlbnQ6YW55KXtcclxuICAgIGlmICh0aGlzLmRhdGVQaWNrZXIpIHtcclxuICAgICAgbGV0IGNhbGVuZGFySW5wdXQgPSB0aGlzLmRhdGVQaWNrZXIuaW5wdXRmaWVsZFZpZXdDaGlsZD8ubmF0aXZlRWxlbWVudDtcclxuICAgICAgY2FsZW5kYXJJbnB1dC5mb2N1cygpO1xyXG4gICAgfVxyXG4gIH1cclxuICBoYW5kbGVTZWFyY2hGaWx0ZXIoZXZlbnQ6YW55KXtcclxuICAgIHRoaXMuZXZlbnRDbGljay5lbWl0KHtcclxuICAgICAgbW9kZSA6IFwiU0VBUkNIXCJcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBuYXZpZ2F0ZVRvRGF0ZShldmVudDphbnkpe1xyXG4gICAgY29uc3QgZnVsbENhbGVuZGFyID0gdGhpcy5jYWxlbmRhcj8uZ2V0QXBpKCk7XHJcbiAgICBmdWxsQ2FsZW5kYXI/LmdvdG9EYXRlKGV2ZW50KTtcclxuICAgIGlmICh0aGlzLmRhdGVQaWNrZXIpIHtcclxuICAgICAgbGV0IGNhbGVuZGFySW5wdXQgPSB0aGlzLmRhdGVQaWNrZXIuaW5wdXRmaWVsZFZpZXdDaGlsZD8ubmF0aXZlRWxlbWVudDtcclxuICAgICAgY2FsZW5kYXJJbnB1dC5ibHVyKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVFdmVudERpZE1vdW50KGFyZzphbnkpIHtcclxuICAgIC8vQXR0YWNoIHJpZ2h0LWNsaWNrIGV2ZW50IHRvIGVhY2ggZXZlbnQgY2VsbFxyXG4gICAgYXJnLmVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NvbnRleHRtZW51JywgKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XHJcbiAgICAgIC8vUHJldmVudCB0aGUgZGVmYXVsdCBjb250ZXh0IG1lbnUgZnJvbSBhcHBlYXJpbmdcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsgXHJcbiAgICAgIHRoaXMuY3VycmVudENvbnRleHRNZW51RXZlbnQgPSBhcmcuZXZlbnQ7XHJcbiAgICAgIHRoaXMuY29udGV4dE1lbnU/Lm9wZW5NZW51KGV2ZW50LmNsaWVudFgsIGV2ZW50LmNsaWVudFkpOyBcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlU2VsZWN0ZWRBY3Rpb24oYWN0aW9uOiBhbnkpOiB2b2lkIHtcclxuICAgIHN3aXRjaChhY3Rpb24uc2VsZWN0ZWRBY3Rpb24pIHtcclxuICAgICAgY2FzZSBNb2Rlcy5kZWxldGU6XHJcbiAgICAgICAgaWYodGhpcy5jdXJyZW50Q29udGV4dE1lbnVFdmVudCl7XHJcbiAgICAgICAgICB0aGlzLmNydWRTZXJ2aWNlPy5kZWxldGUodGhpcy5jdXJyZW50Q29udGV4dE1lbnVFdmVudC5pZCkuc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgbmV4dDogKHJlcykgPT4ge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGZ1bGxDYWxlbmRhciA9IHRoaXMuY2FsZW5kYXI/LmdldEFwaSgpO1xyXG4gICAgICAgICAgICAgIGZ1bGxDYWxlbmRhcj8uZ2V0RXZlbnRCeUlkKHRoaXMuY3VycmVudENvbnRleHRNZW51RXZlbnQuaWQpPy5yZW1vdmUoKTtcclxuICAgICAgICAgICAgICB0aGlzLl9tZXNzYWdlU2VydmljZS5zdWNjZXNzKFwic2hhcmVkX3RzaV9jb21wb25lbnRfZ3JpZF9jYWxlbmRlcl9kZWxldGVfaXRlbV9zdWNjZXNzXCIpXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGVycm9yOiAoZXJyKSA9PiB0aGlzLl9tZXNzYWdlU2VydmljZS5lcnJvcihlcnIuZXJyb3IuZXJyb3JzWzU0N10gPyBcInNoYXJlZF90c2lfY29tcG9uZW50X2dyaWRfY2FsZW5kZXJfZGVsZXRlX2l0ZW1fZmFpbGVkXCIgOiBlcnIuZXJyb3IuZGV0YWlsKSxcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICBicmVhaztcclxuICAgICAgY2FzZSBNb2Rlcy5jb25zdWx0OlxyXG4gICAgICAgIHRoaXMuZXZlbnRDbGljay5lbWl0KHtcclxuICAgICAgICAgIG1vZGUgOiBDb21wb25lbnRfTW9kZXMuQ09OU1VMVCxcclxuICAgICAgICAgIGlkIDogdGhpcy5jdXJyZW50Q29udGV4dE1lbnVFdmVudC5pZFxyXG4gICAgICAgIH0pO1xyXG4gICAgICBicmVhaztcclxuICAgICAgY2FzZSBNb2Rlcy5lZGl0OlxyXG4gICAgICAgIHRoaXMuZXZlbnRDbGljay5lbWl0KHtcclxuICAgICAgICAgIG1vZGUgOiBDb21wb25lbnRfTW9kZXMuRURJVCxcclxuICAgICAgICAgIGlkIDogdGhpcy5jdXJyZW50Q29udGV4dE1lbnVFdmVudC5pZFxyXG4gICAgICAgIH0pO1xyXG4gICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uRGlzcGxheU1vZGVDaGFuZ2UoZXZlbnQ6IGFueSl7XHJcbiAgICBjb25zdCBjYWxlbmRhckFwaSA9IHRoaXMuY2FsZW5kYXI/LmdldEFwaSgpO1xyXG4gICAgY2FsZW5kYXJBcGk/LmNoYW5nZVZpZXcoZXZlbnQudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q3VycmVudERhdGVzKCkge1xyXG4gICAgaWYodGhpcy5jYWxlbmRhcil7XHJcbiAgICAgIGNvbnN0IGNhbGVuZGFyQXBpOiBDYWxlbmRhckFwaSA9IHRoaXMuY2FsZW5kYXIuZ2V0QXBpKCk7XHJcbiAgICAgIHRoaXMuZGF0ZVJhbmdlQ2hhbmdlLmVtaXQoe1xyXG4gICAgICAgIHN0YXJ0IDogbmV3IERhdGUoY2FsZW5kYXJBcGkudmlldy5jdXJyZW50U3RhcnQuc2V0RGF0ZShjYWxlbmRhckFwaS52aWV3LmN1cnJlbnRTdGFydC5nZXREYXRlKCkgKyAxKSksXHJcbiAgICAgICAgZW5kIDogbmV3IERhdGUoY2FsZW5kYXJBcGkudmlldy5jdXJyZW50RW5kLnNldERhdGUoY2FsZW5kYXJBcGkudmlldy5jdXJyZW50RW5kLmdldERhdGUoKSArIDEpKVxyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIiwiPHAtY2FsZW5kYXIgI2RhdGVQaWNrZXIgY2xhc3M9XCJoaWRkZW4tY2FsZW5kYXJcIiAob25TZWxlY3QpPVwibmF2aWdhdGVUb0RhdGUoJGV2ZW50KVwiLz5cclxuPGZ1bGwtY2FsZW5kYXIgI2NhbGVuZGFyIFtvcHRpb25zXT0nY2FsZW5kYXJPcHRpb25zKCknPlxyXG4gICAgPG5nLXRlbXBsYXRlICBsZXQtYXJnPlxyXG5cclxuICAgIDxpIFtuZ1N0eWxlXT1cImFyZy5ldmVudC5jb2xvciAmJiBhcmcuZXZlbnQuY29sb3IgIT09ICcnID8geydiYWNrZ3JvdW5kLWNvbG9yJzogYXJnLmV2ZW50LmNvbG9yfSA6IHt9XCIgPlxyXG4gICAgICAgIFxyXG4gICAgICAgIHt7IGFyZy5ldmVudC50aXRsZSB9fTwvaT5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbjwvZnVsbC1jYWxlbmRhcj5cclxuPGFwcC1jb250ZXh0LW1lbnUgKGFjdGlvblNlbGVjdGVkKT1cImhhbmRsZVNlbGVjdGVkQWN0aW9uKCRldmVudClcIj48L2FwcC1jb250ZXh0LW1lbnU+XHJcbjxuZy10ZW1wbGF0ZSAjZHJvcGRvd25UZW1wbGF0ZT5cclxuICAgIDxwLWRyb3Bkb3duIFtzdHlsZV09XCJ7J3dpZHRoJyA6ICcyMDBweCcsJ2JvcmRlci1yYWRpdXMnOiAnNXB4J31cIiBbb3B0aW9uc109XCJkaXNwbGF5TW9kZU9wdGlvbnNcIiAob25DaGFuZ2UpPVwib25EaXNwbGF5TW9kZUNoYW5nZSgkZXZlbnQpXCI+PC9wLWRyb3Bkb3duPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "primeng/api";
|
|
5
|
+
import * as i3 from "primeng/card";
|
|
6
|
+
import * as i4 from "../button-components/tsi-button/tsi-button.component";
|
|
7
|
+
export class TsiCardComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.buttonClicked = new EventEmitter();
|
|
10
|
+
}
|
|
11
|
+
ngOnInit() {
|
|
12
|
+
}
|
|
13
|
+
consult(uid) {
|
|
14
|
+
if (uid) {
|
|
15
|
+
this.openModalComponent(uid, 'consult');
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
edit(uid) {
|
|
19
|
+
if (uid) {
|
|
20
|
+
this.openModalComponent(uid, 'edit');
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
delete(uid) {
|
|
24
|
+
if (uid) {
|
|
25
|
+
this.openModalComponent(uid, 'delete');
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
upload(uid) {
|
|
29
|
+
if (uid) {
|
|
30
|
+
this.openModalComponent(uid, 'upload');
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
info(uid) {
|
|
34
|
+
if (uid) {
|
|
35
|
+
this.openModalComponent(uid, 'info');
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
openModalComponent(uid, mode) {
|
|
39
|
+
this.buttonClicked.emit({ field: mode, key: uid, selectKeyOnly: true });
|
|
40
|
+
}
|
|
41
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TsiCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
42
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TsiCardComponent, selector: "Tsi-card", inputs: { id: "id", headerTitle: "headerTitle", subHeaderTitle: "subHeaderTitle", description: "description", imgUrl: "imgUrl", uid: "uid", formName: "formName" }, outputs: { buttonClicked: "buttonClicked" }, ngImport: i0, template: "<div class=\"card-container\">\r\n <p-card>\r\n <ng-template pTemplate=\"header\" >\r\n <div class=\"fixed-card-header\">\r\n <img *ngIf=\"imgUrl\" [src]=\"imgUrl.startsWith('./assets') ? imgUrl : 'data:image/png;base64,' + imgUrl\" />\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"title\">\r\n <span *ngIf=\"headerTitle\">\r\n {{ headerTitle }}\r\n </span>\r\n </ng-template>\r\n \r\n <ng-template pTemplate=\"subtitle\">\r\n <span *ngIf=\"subHeaderTitle\">\r\n {{ subHeaderTitle }}\r\n </span>\r\n </ng-template>\r\n \r\n <ng-template pTemplate=\"body\">\r\n <p class=\"clamp-text\" *ngIf=\"description\">\r\n {{ description }}\r\n </p>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"footer\">\r\n <div class=\"flex justify-content-center align-items-center mt-1 gap-4\">\r\n <div class=\"flex\">\r\n <Tsi-Button [styleClass]=\"'p-button-rounded p-button-text p-0-5'\"\r\n type=\"button\" icon=\"pi pi pi-eye\"\r\n (click)=\"consult(uid)\">\r\n </Tsi-Button>\r\n <Tsi-Button [styleClass]=\"'p-button-rounded p-button-text p-0-5'\"\r\n type=\"button\" icon=\"pi pi-pencil\"\r\n (click)=\"edit(uid)\">\r\n </Tsi-Button>\r\n <Tsi-Button [styleClass]=\"'p-button-rounded p-button-text p-button-danger p-0-5'\"\r\n type=\"button\" icon=\"pi pi-trash\"\r\n (click)=\"delete(uid)\">\r\n </Tsi-Button>\r\n </div>\r\n <div class=\"flex\">\r\n <Tsi-Button [styleClass]=\"'p-button-rounded p-button-text p-0-5'\"\r\n type=\"button\" icon=\"pi pi-paperclip\"\r\n (click)=\"upload(uid)\">\r\n </Tsi-Button>\r\n <Tsi-Button [styleClass]=\"'p-button-rounded p-button-text p-0-5'\"\r\n type=\"button\" icon=\"pi pi-info\"\r\n (click)=\"info(uid)\">\r\n </Tsi-Button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </p-card>\r\n</div>", styles: [".clamp-text{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.fixed-card-header{height:100px;display:flex;align-items:center;justify-content:center;background-color:#f0f0f0}.fixed-card-header img{max-height:100%;max-width:100%;object-fit:contain}.card-container{height:100%}::ng-deep .card-container .p-card{display:flex!important;flex-direction:column!important;height:100%!important}::ng-deep .p-card-body{flex-grow:1!important;display:flex!important;flex-direction:column!important}::ng-deep .p-card-content{flex-grow:1!important}::ng-deep .p-card-footer{margin:auto!important}::ng-deep .p-0-5{padding:.5rem!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i3.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }, { kind: "component", type: i4.TsiButtonComponent, selector: "Tsi-Button", inputs: ["disabled", "text", "style", "tooltipText", "tooltipPosition", "buttonType", "icon", "styleClass", "iconSrc", "id", "iconWidth", "iconClass"], outputs: ["onClick", "rightClick"] }] }); }
|
|
43
|
+
}
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TsiCardComponent, decorators: [{
|
|
45
|
+
type: Component,
|
|
46
|
+
args: [{ selector: 'Tsi-card', template: "<div class=\"card-container\">\r\n <p-card>\r\n <ng-template pTemplate=\"header\" >\r\n <div class=\"fixed-card-header\">\r\n <img *ngIf=\"imgUrl\" [src]=\"imgUrl.startsWith('./assets') ? imgUrl : 'data:image/png;base64,' + imgUrl\" />\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"title\">\r\n <span *ngIf=\"headerTitle\">\r\n {{ headerTitle }}\r\n </span>\r\n </ng-template>\r\n \r\n <ng-template pTemplate=\"subtitle\">\r\n <span *ngIf=\"subHeaderTitle\">\r\n {{ subHeaderTitle }}\r\n </span>\r\n </ng-template>\r\n \r\n <ng-template pTemplate=\"body\">\r\n <p class=\"clamp-text\" *ngIf=\"description\">\r\n {{ description }}\r\n </p>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"footer\">\r\n <div class=\"flex justify-content-center align-items-center mt-1 gap-4\">\r\n <div class=\"flex\">\r\n <Tsi-Button [styleClass]=\"'p-button-rounded p-button-text p-0-5'\"\r\n type=\"button\" icon=\"pi pi pi-eye\"\r\n (click)=\"consult(uid)\">\r\n </Tsi-Button>\r\n <Tsi-Button [styleClass]=\"'p-button-rounded p-button-text p-0-5'\"\r\n type=\"button\" icon=\"pi pi-pencil\"\r\n (click)=\"edit(uid)\">\r\n </Tsi-Button>\r\n <Tsi-Button [styleClass]=\"'p-button-rounded p-button-text p-button-danger p-0-5'\"\r\n type=\"button\" icon=\"pi pi-trash\"\r\n (click)=\"delete(uid)\">\r\n </Tsi-Button>\r\n </div>\r\n <div class=\"flex\">\r\n <Tsi-Button [styleClass]=\"'p-button-rounded p-button-text p-0-5'\"\r\n type=\"button\" icon=\"pi pi-paperclip\"\r\n (click)=\"upload(uid)\">\r\n </Tsi-Button>\r\n <Tsi-Button [styleClass]=\"'p-button-rounded p-button-text p-0-5'\"\r\n type=\"button\" icon=\"pi pi-info\"\r\n (click)=\"info(uid)\">\r\n </Tsi-Button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </p-card>\r\n</div>", styles: [".clamp-text{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.fixed-card-header{height:100px;display:flex;align-items:center;justify-content:center;background-color:#f0f0f0}.fixed-card-header img{max-height:100%;max-width:100%;object-fit:contain}.card-container{height:100%}::ng-deep .card-container .p-card{display:flex!important;flex-direction:column!important;height:100%!important}::ng-deep .p-card-body{flex-grow:1!important;display:flex!important;flex-direction:column!important}::ng-deep .p-card-content{flex-grow:1!important}::ng-deep .p-card-footer{margin:auto!important}::ng-deep .p-0-5{padding:.5rem!important}\n"] }]
|
|
47
|
+
}], ctorParameters: () => [], propDecorators: { id: [{
|
|
48
|
+
type: Input
|
|
49
|
+
}], headerTitle: [{
|
|
50
|
+
type: Input
|
|
51
|
+
}], subHeaderTitle: [{
|
|
52
|
+
type: Input
|
|
53
|
+
}], description: [{
|
|
54
|
+
type: Input
|
|
55
|
+
}], imgUrl: [{
|
|
56
|
+
type: Input
|
|
57
|
+
}], uid: [{
|
|
58
|
+
type: Input
|
|
59
|
+
}], formName: [{
|
|
60
|
+
type: Input
|
|
61
|
+
}], buttonClicked: [{
|
|
62
|
+
type: Output
|
|
63
|
+
}] } });
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHNpLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHNpLXNoYXJlZC11aS9zcmMvbGliL3RzaS1jb21wb25lbnRzL3RzaS1jYXJkL3RzaS1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RzaS1zaGFyZWQtdWkvc3JjL2xpYi90c2ktY29tcG9uZW50cy90c2ktY2FyZC90c2ktY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFRL0UsTUFBTSxPQUFPLGdCQUFnQjtJQWEzQjtRQUpVLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7SUFPaEUsQ0FBQztJQUVELFFBQVE7SUFFUixDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQVk7UUFDbEIsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNSLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDMUMsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLENBQUMsR0FBWTtRQUNmLElBQUksR0FBRyxFQUFFLENBQUM7WUFDUCxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3hDLENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQVk7UUFDakIsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNSLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDekMsQ0FBQztJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsR0FBWTtRQUNqQixJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ1IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN6QyxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksQ0FBQyxHQUFZO1FBQ2YsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNSLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdkMsQ0FBQztJQUNILENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxHQUFXLEVBQUUsSUFBWTtRQUNsRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMxRSxDQUFDOytHQXREVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQixpUUNSN0IsbTVFQXVETTs7NEZEL0NPLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxVQUFVO3dEQUtYLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgIER5bmFtaWNEaWFsb2dSZWYgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xyXG5pbXBvcnQgeyBCdXR0b25DbGlja1Jlc3VsdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZ3JpZC9ncmlkLWNvbmZpZ3VyYXRpb24nO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ1RzaS1jYXJkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdHNpLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi90c2ktY2FyZC5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFRzaUNhcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIGlkPzogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGhlYWRlclRpdGxlPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHN1YkhlYWRlclRpdGxlPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGltZ1VybD86IHN0cmluZztcclxuICBASW5wdXQoKSB1aWQ/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZm9ybU5hbWU/OiBzdHJpbmc7XHJcblxyXG4gIEBPdXRwdXQoKSBidXR0b25DbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxCdXR0b25DbGlja1Jlc3VsdD4oKTtcclxuXHJcbiAgX2RpYWxvZ1JlZj86IER5bmFtaWNEaWFsb2dSZWY7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICkge1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG5cclxuICB9XHJcblxyXG4gIGNvbnN1bHQodWlkPzogc3RyaW5nKSB7XHJcbiAgICBpZiAodWlkKSB7XHJcbiAgICAgIHRoaXMub3Blbk1vZGFsQ29tcG9uZW50KHVpZCwgJ2NvbnN1bHQnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGVkaXQodWlkPzogc3RyaW5nKSB7XHJcbiAgICBpZiAodWlkKSB7XHJcbiAgICAgICB0aGlzLm9wZW5Nb2RhbENvbXBvbmVudCh1aWQsICdlZGl0Jyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkZWxldGUodWlkPzogc3RyaW5nKSB7XHJcbiAgICBpZiAodWlkKSB7XHJcbiAgICAgIHRoaXMub3Blbk1vZGFsQ29tcG9uZW50KHVpZCwgJ2RlbGV0ZScpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICB1cGxvYWQodWlkPzogc3RyaW5nKSB7XHJcbiAgICBpZiAodWlkKSB7XHJcbiAgICAgIHRoaXMub3Blbk1vZGFsQ29tcG9uZW50KHVpZCwgJ3VwbG9hZCcpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICBpbmZvKHVpZD86IHN0cmluZykge1xyXG4gICAgaWYgKHVpZCkge1xyXG4gICAgICB0aGlzLm9wZW5Nb2RhbENvbXBvbmVudCh1aWQsICdpbmZvJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9wZW5Nb2RhbENvbXBvbmVudCh1aWQ6IHN0cmluZywgbW9kZTogc3RyaW5nKXtcclxuICAgIHRoaXMuYnV0dG9uQ2xpY2tlZC5lbWl0KHsgZmllbGQ6IG1vZGUsIGtleTogdWlkLCBzZWxlY3RLZXlPbmx5OiB0cnVlIH0pO1xyXG4gIH1cclxuXHJcbn0iLCI8ZGl2IGNsYXNzPVwiY2FyZC1jb250YWluZXJcIj5cclxuICAgIDxwLWNhcmQ+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiICA+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaXhlZC1jYXJkLWhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cImltZ1VybFwiIFtzcmNdPVwiaW1nVXJsLnN0YXJ0c1dpdGgoJy4vYXNzZXRzJykgPyAgaW1nVXJsIDogJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCwnICsgaW1nVXJsXCIgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cInRpdGxlXCI+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaGVhZGVyVGl0bGVcIj5cclxuICAgICAgICAgICAgICAgIHt7IGhlYWRlclRpdGxlIH19XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIFxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJzdWJ0aXRsZVwiPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cInN1YkhlYWRlclRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBzdWJIZWFkZXJUaXRsZSB9fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICBcclxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiPlxyXG4gICAgICAgICAgICA8cCBjbGFzcz1cImNsYW1wLXRleHRcIiAqbmdJZj1cImRlc2NyaXB0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBkZXNjcmlwdGlvbiB9fVxyXG4gICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImZvb3RlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBtdC0xIGdhcC00XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxUc2ktQnV0dG9uIFtzdHlsZUNsYXNzXT1cIidwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLXRleHQgcC0wLTUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiIGljb249XCJwaSBwaSBwaS1leWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY29uc3VsdCh1aWQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9Uc2ktQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxUc2ktQnV0dG9uIFtzdHlsZUNsYXNzXT1cIidwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLXRleHQgcC0wLTUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiIGljb249XCJwaSBwaS1wZW5jaWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZWRpdCh1aWQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9Uc2ktQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxUc2ktQnV0dG9uIFtzdHlsZUNsYXNzXT1cIidwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLXRleHQgcC1idXR0b24tZGFuZ2VyIHAtMC01J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIiBpY29uPVwicGkgcGktdHJhc2hcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlKHVpZClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L1RzaS1CdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8VHNpLUJ1dHRvbiBbc3R5bGVDbGFzc109XCIncC1idXR0b24tcm91bmRlZCBwLWJ1dHRvbi10ZXh0IHAtMC01J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiIGljb249XCJwaSBwaS1wYXBlcmNsaXBcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ1cGxvYWQodWlkKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9Uc2ktQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPFRzaS1CdXR0b24gW3N0eWxlQ2xhc3NdPVwiJ3AtYnV0dG9uLXJvdW5kZWQgcC1idXR0b24tdGV4dCBwLTAtNSdcIlxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIiBpY29uPVwicGkgcGktaW5mb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImluZm8odWlkKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9Uc2ktQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L3AtY2FyZD5cclxuPC9kaXY+Il19
|