@dflat-core/web 1.0.0-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +94 -0
- package/assets/bootswatch.scss +100 -0
- package/assets/buttons.scss +70 -0
- package/assets/components/datagrid.scss +138 -0
- package/assets/components/fonts.scss +24 -0
- package/assets/components/login.scss +59 -0
- package/assets/components/menu.scss +0 -0
- package/assets/components/modals.scss +62 -0
- package/assets/components/select.scss +387 -0
- package/assets/fonts/ErasITC-Bold/ErasITC-Bold.eot +0 -0
- package/assets/fonts/ErasITC-Bold/ErasITC-Bold.svg +748 -0
- package/assets/fonts/ErasITC-Bold/ErasITC-Bold.ttf +0 -0
- package/assets/fonts/ErasITC-Bold/ErasITC-Bold.woff +0 -0
- package/assets/fonts/SegoeUI/SegoeUI.eot +0 -0
- package/assets/fonts/SegoeUI/SegoeUI.svg +15203 -0
- package/assets/fonts/SegoeUI/SegoeUI.ttf +0 -0
- package/assets/fonts/SegoeUI/SegoeUI.woff +0 -0
- package/assets/fonts/SegoeUI/preview.html +132 -0
- package/assets/fonts/SegoeUI/styles.css +7 -0
- package/assets/fonts/SegoeUI-Light/SegoeUI-Light.eot +0 -0
- package/assets/fonts/SegoeUI-Light/SegoeUI-Light.svg +27429 -0
- package/assets/fonts/SegoeUI-Light/SegoeUI-Light.ttf +0 -0
- package/assets/fonts/SegoeUI-Light/SegoeUI-Light.woff +0 -0
- package/assets/fonts/SegoeUI-Light/preview.html +132 -0
- package/assets/fonts/SegoeUI-Light/styles.css +7 -0
- package/assets/forms.scss +342 -0
- package/assets/images/Algerie.png +0 -0
- package/assets/images/Burkina Faso.png +0 -0
- package/assets/images/Cameroun.png +0 -0
- package/assets/images/Cara/303/257bes.png +0 -0
- package/assets/images/Congo.png +0 -0
- package/assets/images/C/303/264te d'Ivoire.png +0 -0
- package/assets/images/France.png +0 -0
- package/assets/images/Gabon.png +0 -0
- package/assets/images/Ile Maurice.png +0 -0
- package/assets/images/LogoMarsow.svg +1 -0
- package/assets/images/Maroc.png +0 -0
- package/assets/images/Menu.svg +3 -0
- package/assets/images/R/303/251union.png +0 -0
- package/assets/images/S/303/251n/303/251gal.png +0 -0
- package/assets/images/Tunisie.png +0 -0
- package/assets/images/Unchecked.svg +25 -0
- package/assets/images/account.svg +3 -0
- package/assets/images/adresslabel1.svg +3 -0
- package/assets/images/adresslabel2.svg +3 -0
- package/assets/images/allergen.svg +3 -0
- package/assets/images/arrow-up-1-9.svg +1 -0
- package/assets/images/attention.svg +3 -0
- package/assets/images/backward.svg +1 -0
- package/assets/images/ban.svg +1 -0
- package/assets/images/book-open.svg +1 -0
- package/assets/images/book-solid.svg +2 -0
- package/assets/images/border-all.svg +1 -0
- package/assets/images/boxes-packing-solid.svg +2 -0
- package/assets/images/calculator-solid.svg +1 -0
- package/assets/images/calendar.svg +3 -0
- package/assets/images/chatting.svg +3 -0
- package/assets/images/check.svg +3 -0
- package/assets/images/checkmark.png +0 -0
- package/assets/images/circle-check-solid.svg +2 -0
- package/assets/images/circle-info.svg +1 -0
- package/assets/images/circle-radiation-solid.svg +2 -0
- package/assets/images/circle-solid.svg +1 -0
- package/assets/images/circlecheck.svg +3 -0
- package/assets/images/circlecross.svg +3 -0
- package/assets/images/circleminus.svg +3 -0
- package/assets/images/circleplus.svg +3 -0
- package/assets/images/circularoption.svg +1 -0
- package/assets/images/circularoptionselected.svg +1 -0
- package/assets/images/classification-tool.svg +3 -0
- package/assets/images/click-collect.svg +1 -0
- package/assets/images/clientlocation.svg +9 -0
- package/assets/images/cloud-arrow-down-solid.svg +1 -0
- package/assets/images/cloud-arrow-up-solid.svg +1 -0
- package/assets/images/contact.svg +3 -0
- package/assets/images/cross.svg +3 -0
- package/assets/images/delivery-square.svg +32 -0
- package/assets/images/delivery.svg +3 -0
- package/assets/images/deliverymanlocation.svg +28 -0
- package/assets/images/dolly-solid.svg +1 -0
- package/assets/images/down.svg +3 -0
- package/assets/images/download.svg +1 -0
- package/assets/images/edition.svg +3 -0
- package/assets/images/email.svg +3 -0
- package/assets/images/emptyheart.svg +3 -0
- package/assets/images/emptystar.svg +3 -0
- package/assets/images/erase.svg +1 -0
- package/assets/images/error.png +0 -0
- package/assets/images/error.svg +1 -0
- package/assets/images/favicon.ico +0 -0
- package/assets/images/file-arrow-down-solid.svg +2 -0
- package/assets/images/file-arrow-up-solid.svg +1 -0
- package/assets/images/file-csv-solid.svg +2 -0
- package/assets/images/file-excel-solid.svg +2 -0
- package/assets/images/file-export-solid.svg +1 -0
- package/assets/images/file-image-solid.svg +2 -0
- package/assets/images/file-invoice-solid.svg +2 -0
- package/assets/images/file-lines-solid.svg +2 -0
- package/assets/images/file-pdf-solid.svg +2 -0
- package/assets/images/file-solid.svg +2 -0
- package/assets/images/file-word-solid.svg +2 -0
- package/assets/images/file-zipper-solid.svg +2 -0
- package/assets/images/files-o.svg +1 -0
- package/assets/images/filter-circle-xmark-solid.svg +1 -0
- package/assets/images/filter-solid.svg +2 -0
- package/assets/images/filter.svg +3 -0
- package/assets/images/filter1.svg +3 -0
- package/assets/images/filter2.svg +3 -0
- package/assets/images/filterdelete.svg +3 -0
- package/assets/images/folder.svg +3 -0
- package/assets/images/forward.svg +1 -0
- package/assets/images/fullheart.svg +3 -0
- package/assets/images/fullstar.svg +3 -0
- package/assets/images/halfstar.svg +3 -0
- package/assets/images/hand-point-down.svg +1 -0
- package/assets/images/hand-point-left.svg +1 -0
- package/assets/images/hand-point-right.svg +1 -0
- package/assets/images/hand-point-up.svg +1 -0
- package/assets/images/history.svg +4 -0
- package/assets/images/home.svg +3 -0
- package/assets/images/info-circle.svg +1 -0
- package/assets/images/information.png +0 -0
- package/assets/images/ingredient.svg +3 -0
- package/assets/images/left.svg +3 -0
- package/assets/images/location.svg +3 -0
- package/assets/images/map-marker.svg +6 -0
- package/assets/images/map.svg +3 -0
- package/assets/images/minus.svg +3 -0
- package/assets/images/neworder.svg +3 -0
- package/assets/images/notification.svg +3 -0
- package/assets/images/ordercollected.svg +3 -0
- package/assets/images/orderconfirmed.svg +8 -0
- package/assets/images/orderdelivered.svg +3 -0
- package/assets/images/orderindelivering.svg +3 -0
- package/assets/images/orderinpreparation.svg +3 -0
- package/assets/images/orderprepared.svg +3 -0
- package/assets/images/orderrefused.svg +8 -0
- package/assets/images/pencil.svg +1 -0
- package/assets/images/picture-editor-V3.svg +11 -0
- package/assets/images/picture-export-v3.svg +5 -0
- package/assets/images/picture-import-v3.svg +5 -0
- package/assets/images/plus-square.svg +1 -0
- package/assets/images/plus.svg +3 -0
- package/assets/images/power-off.svg +1 -0
- package/assets/images/print.svg +3 -0
- package/assets/images/refresh.svg +1 -0
- package/assets/images/return.svg +40 -0
- package/assets/images/right.svg +3 -0
- package/assets/images/sale.svg +3 -0
- package/assets/images/save.svg +2 -0
- package/assets/images/schedule.svg +3 -0
- package/assets/images/search-sprite.png +0 -0
- package/assets/images/search.svg +3 -0
- package/assets/images/selection.svg +3 -0
- package/assets/images/separator_back.png +0 -0
- package/assets/images/setting.svg +3 -0
- package/assets/images/ship-solid.svg +1 -0
- package/assets/images/shoppingbag.svg +3 -0
- package/assets/images/squareoption.svg +1 -0
- package/assets/images/squareoptionselected.svg +1 -0
- package/assets/images/star-of-life-solid.svg +2 -0
- package/assets/images/step-backward.svg +7 -0
- package/assets/images/step-forward.svg +7 -0
- package/assets/images/store-square.svg +19 -0
- package/assets/images/store.png +0 -0
- package/assets/images/store.svg +3 -0
- package/assets/images/storelocation.svg +6 -0
- package/assets/images/table-columns.svg +1 -0
- package/assets/images/tag.svg +22 -0
- package/assets/images/times-circle-solid.svg +1 -0
- package/assets/images/trash-o.svg +3 -0
- package/assets/images/triangle-down.svg +3 -0
- package/assets/images/triangle-up.svg +3 -0
- package/assets/images/truck-solid.svg +1 -0
- package/assets/images/up.svg +3 -0
- package/assets/images/upload.svg +1 -0
- package/assets/images/user-square.svg +10 -0
- package/assets/images/user.svg +13 -0
- package/assets/images/warning.png +0 -0
- package/assets/images/warning.svg +5 -0
- package/assets/images/watch.svg +3 -0
- package/assets/modals.scss +104 -0
- package/assets/property.scss +113 -0
- package/assets/shared.scss +157 -0
- package/assets/site.scss +374 -0
- package/assets/text.scss +162 -0
- package/assets/variables.scss +91 -0
- package/core/index.d.ts +6 -0
- package/core/lib/array.function.d.ts +8 -0
- package/core/lib/core.module.d.ts +9 -0
- package/core/lib/global/EnvironmentBase.d.ts +7 -0
- package/core/lib/nameof.function.d.ts +4 -0
- package/core/lib/services/ensuremoduleloadedonceguard.d.ts +3 -0
- package/core/lib/services/utilities.service.d.ts +87 -0
- package/core-data/index.d.ts +3 -0
- package/core-data/lib/core-data.module.d.ts +7 -0
- package/core-data/lib/services/data-service.d.ts +68 -0
- package/core-data/lib/services/entity-data-service.d.ts +37 -0
- package/core-model/index.d.ts +4 -0
- package/core-model/lib/core-model.module.d.ts +7 -0
- package/core-model/lib/interface.d.ts +140 -0
- package/core-model/lib/model/interface.generated.d.ts +286 -0
- package/core-model/lib/model/model.d.ts +38 -0
- package/core-services/index.d.ts +23 -0
- package/core-services/lib/core-services.module.d.ts +10 -0
- package/core-services/lib/model/model.d.ts +25 -0
- package/core-services/lib/services/app-keys.d.ts +15 -0
- package/core-services/lib/services/appConfig.service.d.ts +8 -0
- package/core-services/lib/services/auth-guard.service.d.ts +18 -0
- package/core-services/lib/services/auth.interceptor.d.ts +15 -0
- package/core-services/lib/services/auth.service.d.ts +67 -0
- package/core-services/lib/services/breadcrumb.service.d.ts +14 -0
- package/core-services/lib/services/busmessage.service.d.ts +19 -0
- package/core-services/lib/services/can-activate-guard.service.d.ts +12 -0
- package/core-services/lib/services/filter.service.d.ts +15 -0
- package/core-services/lib/services/geolocation.service.d.ts +29 -0
- package/core-services/lib/services/headers.service.d.ts +15 -0
- package/core-services/lib/services/hub.service.d.ts +33 -0
- package/core-services/lib/services/local-store-manager.service.d.ts +50 -0
- package/core-services/lib/services/menu.service.d.ts +27 -0
- package/core-services/lib/services/message.service.d.ts +14 -0
- package/core-services/lib/services/notifications.service.d.ts +14 -0
- package/core-services/lib/services/permission.service.d.ts +12 -0
- package/core-services/lib/services/screen.service.d.ts +14 -0
- package/core-services/lib/services/server-url.d.ts +12 -0
- package/core-services/lib/services/string.function.d.ts +1 -0
- package/core-services/lib/services/user.service.d.ts +22 -0
- package/core-ux/index.d.ts +144 -0
- package/core-ux/lib/components/actions/actions-content.component.d.ts +10 -0
- package/core-ux/lib/components/actions/actions.component.d.ts +57 -0
- package/core-ux/lib/components/actions/extended-action/extended-action.component.d.ts +34 -0
- package/core-ux/lib/components/base-editor/base-editor.component.d.ts +93 -0
- package/core-ux/lib/components/base-item-list/base-item-list.component.d.ts +21 -0
- package/core-ux/lib/components/basefilter/basefilter.component.d.ts +275 -0
- package/core-ux/lib/components/breadcrumb/breadcrumb.component.d.ts +12 -0
- package/core-ux/lib/components/datagrid-custom/datagrid-cell/datagrid-cell.component.d.ts +32 -0
- package/core-ux/lib/components/datagrid-custom/datagrid-custom.component.d.ts +159 -0
- package/core-ux/lib/components/datagrid-custom/datagrid-sorter.component.d.ts +15 -0
- package/core-ux/lib/components/datapage/layout-page/page-layout.component.d.ts +13 -0
- package/core-ux/lib/components/datapage/old/old.datapage.component.d.ts +10 -0
- package/core-ux/lib/components/datapage/old-layout-handler.directive.d.ts +31 -0
- package/core-ux/lib/components/dynamic-components/dynamic-field/dynamic-field.component.d.ts +41 -0
- package/core-ux/lib/components/dynamic-components/dynamic-filter/dynamic-filter-extra.component.d.ts +27 -0
- package/core-ux/lib/components/dynamic-components/dynamic-filter/dynamic-filter-panel.component.d.ts +8 -0
- package/core-ux/lib/components/dynamic-components/dynamic-filter/dynamic-filter.component.d.ts +54 -0
- package/core-ux/lib/components/dynamic-components/dynamic-form/dynamic-form.component.d.ts +122 -0
- package/core-ux/lib/components/filtersummary/filtersummary.component.d.ts +27 -0
- package/core-ux/lib/components/form-password/form-password.component.d.ts +9 -0
- package/core-ux/lib/components/grid-row/grid-row.component.d.ts +12 -0
- package/core-ux/lib/components/image-display/image.component.d.ts +20 -0
- package/core-ux/lib/components/input-selector/input-selector.component.d.ts +50 -0
- package/core-ux/lib/components/input-tree-selector/input-tree-selector.component.d.ts +25 -0
- package/core-ux/lib/components/logs/logs.component.d.ts +32 -0
- package/core-ux/lib/components/menu/menu.component.d.ts +39 -0
- package/core-ux/lib/components/menu-dashboard/menu-dashboard.component.d.ts +15 -0
- package/core-ux/lib/components/paginator/paginator.component.d.ts +17 -0
- package/core-ux/lib/components/parameter-field/parameter-field.component.d.ts +13 -0
- package/core-ux/lib/components/parameter-field/parameter-types/base-array-parameter-type.component.d.ts +16 -0
- package/core-ux/lib/components/parameter-field/parameter-types/base-parameter-type.component.d.ts +21 -0
- package/core-ux/lib/components/parameter-field/parameter-types/parameter-type-bool/parameter-type-bool.component.d.ts +9 -0
- package/core-ux/lib/components/parameter-field/parameter-types/parameter-type-bool-array/parameter-type-bool-array.component.d.ts +12 -0
- package/core-ux/lib/components/parameter-field/parameter-types/parameter-type-date/parameter-type-date.component.d.ts +16 -0
- package/core-ux/lib/components/parameter-field/parameter-types/parameter-type-date-array/parameter-type-date-array.component.d.ts +17 -0
- package/core-ux/lib/components/parameter-field/parameter-types/parameter-type-number/parameter-type-number.component.d.ts +6 -0
- package/core-ux/lib/components/parameter-field/parameter-types/parameter-type-number-array/parameter-type-number-array.component.d.ts +6 -0
- package/core-ux/lib/components/parameter-field/parameter-types/parameter-type-password/parameter-type-password.component.d.ts +9 -0
- package/core-ux/lib/components/parameter-field/parameter-types/parameter-type-text/parameter-type-text.component.d.ts +7 -0
- package/core-ux/lib/components/parameter-field/parameter-types/parameter-type-text-array/parameter-type-text-array.component.d.ts +6 -0
- package/core-ux/lib/components/property-grid/property-grid.component.d.ts +125 -0
- package/core-ux/lib/components/search-results/search-results.component.d.ts +7 -0
- package/core-ux/lib/components/tab/tab.component.d.ts +14 -0
- package/core-ux/lib/components/tabset/tabset.component.d.ts +15 -0
- package/core-ux/lib/components/text-viewer/text-viewer.component.d.ts +21 -0
- package/core-ux/lib/components/time-picker/time-picker.component.d.ts +27 -0
- package/core-ux/lib/components/tree/tree.component.d.ts +39 -0
- package/core-ux/lib/components/validation-error/validation-error.component.d.ts +8 -0
- package/core-ux/lib/components/wizard/wizard-step/wizard-step.component.d.ts +26 -0
- package/core-ux/lib/components/wizard/wizard.component.d.ts +29 -0
- package/core-ux/lib/core-ux.module.d.ts +102 -0
- package/core-ux/lib/directives/addclass.directive.d.ts +11 -0
- package/core-ux/lib/directives/collapse.directive.d.ts +34 -0
- package/core-ux/lib/directives/draggable.directive.d.ts +39 -0
- package/core-ux/lib/directives/droppable.directive.d.ts +55 -0
- package/core-ux/lib/directives/editMode.directive.d.ts +8 -0
- package/core-ux/lib/directives/focusable.directive.d.ts +16 -0
- package/core-ux/lib/directives/insertion.directive.d.ts +8 -0
- package/core-ux/lib/directives/onEnter.directive.d.ts +11 -0
- package/core-ux/lib/directives/tab-heading.d.ts +8 -0
- package/core-ux/lib/directives/tab-transclude.d.ts +11 -0
- package/core-ux/lib/directives/tooltip.directive.d.ts +16 -0
- package/core-ux/lib/directives/validate-on-enter.directive.d.ts +10 -0
- package/core-ux/lib/directives/viewMode.directive.d.ts +8 -0
- package/core-ux/lib/layout/default/default-layout.d.ts +36 -0
- package/core-ux/lib/layout/login/login-layout.d.ts +9 -0
- package/core-ux/lib/log.service.d.ts +8 -0
- package/core-ux/lib/modals/confirm-modal/confirm-modal.component.d.ts +17 -0
- package/core-ux/lib/modals/dialog/dialog.component.d.ts +57 -0
- package/core-ux/lib/modals/dialog-component.tokens.d.ts +3 -0
- package/core-ux/lib/modals/export-data-modal/export-data-modal.component.d.ts +11 -0
- package/core-ux/lib/modals/track-record-modal/track-record-modal.component.d.ts +21 -0
- package/core-ux/lib/modals/validation-modal/validation-modal.component.d.ts +24 -0
- package/core-ux/lib/model/datagrid.d.ts +194 -0
- package/core-ux/lib/model/model.d.ts +222 -0
- package/core-ux/lib/model/tree.d.ts +12 -0
- package/core-ux/lib/pipes/euro.pipe.d.ts +9 -0
- package/core-ux/lib/pipes/todefine.pipe.d.ts +8 -0
- package/core-ux/lib/pipes/tofixedsizeinteger.pipe.d.ts +8 -0
- package/core-ux/lib/services/action.service.d.ts +42 -0
- package/core-ux/lib/services/alert.service.d.ts +51 -0
- package/core-ux/lib/services/application.service.d.ts +73 -0
- package/core-ux/lib/services/can-deactivate-guard.d.ts +12 -0
- package/core-ux/lib/services/drag.service.d.ts +54 -0
- package/core-ux/lib/services/fire-authentication.service.d.ts +13 -0
- package/core-ux/lib/services/image.service.d.ts +15 -0
- package/core-ux/lib/services/modal-state.service.d.ts +26 -0
- package/core-ux/lib/services/modal.service.d.ts +30 -0
- package/core-ux/lib/services/presentation-profile.token.d.ts +40 -0
- package/core-ux/lib/services/selectorMapperBase.service.d.ts +36 -0
- package/core-ux/lib/v2/components/actions-panel/action-panel.component.d.ts +48 -0
- package/core-ux/lib/v2/components/base-component/base-component.d.ts +80 -0
- package/core-ux/lib/v2/components/cell-renderer/cell-renderer.component.d.ts +11 -0
- package/core-ux/lib/v2/components/data-grid/data-grid.component.d.ts +104 -0
- package/core-ux/lib/v2/components/data-grid/grid-field-descriptor/grid-field.component.d.ts +55 -0
- package/core-ux/lib/v2/components/data-list/data-list.component.d.ts +29 -0
- package/core-ux/lib/v2/components/editor-tab/editor-tab.component.d.ts +15 -0
- package/core-ux/lib/v2/components/editor-tabset/editor-tabset.component.d.ts +18 -0
- package/core-ux/lib/v2/components/field-descriptor/field.component.d.ts +61 -0
- package/core-ux/lib/v2/components/filter-form/filter-form.component.d.ts +12 -0
- package/core-ux/lib/v2/components/filter-summary/filter-summary.component.d.ts +34 -0
- package/core-ux/lib/v2/components/new-editor/new-editor.component.d.ts +66 -0
- package/core-ux/lib/v2/components/new-paginator/new-paginator.component.d.ts +31 -0
- package/core-ux/lib/v2/components/orderable/orderable-modal.component.d.ts +36 -0
- package/core-ux/lib/v2/components/orderable/orderable-modal.service.d.ts +11 -0
- package/core-ux/lib/v2/components/orderable/orderable.interface.d.ts +52 -0
- package/core-ux/lib/v2/components/property-editor/property-editor-component.d.ts +89 -0
- package/core-ux/lib/v2/components/selector/selector-registry.service.d.ts +9 -0
- package/core-ux/lib/v2/components/selector/selector.component.d.ts +33 -0
- package/core-ux/lib/v2/components/selector/selector.model.d.ts +19 -0
- package/core-ux/lib/v2/components/standard-page-layout/standard-page-layout.component.d.ts +29 -0
- package/core-ux/lib/v2/directives/base-shortcut.directive.d.ts +15 -0
- package/core-ux/lib/v2/directives/hide-on-threshold.directive.d.ts +20 -0
- package/core-ux/lib/v2/directives/layout-handler.directive.d.ts +54 -0
- package/core-ux/lib/v2/directives/row-ref.directive.d.ts +21 -0
- package/core-ux/lib/v2/models/aggregation-model.d.ts +8 -0
- package/core-ux/lib/v2/models/contexts/action-context.d.ts +66 -0
- package/core-ux/lib/v2/models/contexts/action-handler-context.d.ts +49 -0
- package/core-ux/lib/v2/models/contexts/base-form-context.d.ts +42 -0
- package/core-ux/lib/v2/models/contexts/change-detection-context.d.ts +41 -0
- package/core-ux/lib/v2/models/contexts/data-context.d.ts +25 -0
- package/core-ux/lib/v2/models/contexts/data-grid-style-context.d.ts +36 -0
- package/core-ux/lib/v2/models/contexts/editor-context.d.ts +30 -0
- package/core-ux/lib/v2/models/contexts/entity-config-context.d.ts +49 -0
- package/core-ux/lib/v2/models/contexts/filter-context.d.ts +49 -0
- package/core-ux/lib/v2/models/contexts/layout-context.d.ts +57 -0
- package/core-ux/lib/v2/models/contexts/logger-context.d.ts +5 -0
- package/core-ux/lib/v2/models/contexts/section-context.d.ts +73 -0
- package/core-ux/lib/v2/models/contexts/selection-context.d.ts +45 -0
- package/core-ux/lib/v2/models/entity-facade.d.ts +35 -0
- package/core-ux/lib/v2/models/guards/facade-load-guard.d.ts +35 -0
- package/core-ux/lib/v2/models/guards/filter-lifecycle-guard.d.ts +29 -0
- package/core-ux/lib/v2/models/states/sorting-state.d.ts +14 -0
- package/core-ux/lib/v2/models/utilities/action-definition.d.ts +38 -0
- package/core-ux/lib/v2/models/utilities/change-utilities.d.ts +11 -0
- package/core-ux/lib/v2/models/utilities/entity-updater.d.ts +11 -0
- package/core-ux/lib/v2/models/utilities/form-wrapper.d.ts +30 -0
- package/core-ux/lib/v2/models/utilities/row-registry.d.ts +15 -0
- package/core-ux/lib/v2/models/utilities/selection-styler.d.ts +15 -0
- package/core-ux/lib/v2/pipes/gridstyle.pipe.d.ts +15 -0
- package/core-ux/lib/v2/services/app-config.service.d.ts +22 -0
- package/core-ux/lib/v2/services/entity-facade-registry.service.d.ts +28 -0
- package/core-ux/lib/v2/services/facade-modal.service.d.ts +21 -0
- package/core-ux/lib/v2/services/layout.service.d.ts +93 -0
- package/core-ux/lib/v2/services/property-change-bus.service.d.ts +9 -0
- package/core-ux/lib/v2/services/selection.service.d.ts +23 -0
- package/core-ux/lib/v2/services/test.service.d.ts +7 -0
- package/core-ux/lib/v2/services/validation.service.d.ts +10 -0
- package/core-ux/lib/v2/services/view-model-loader.service.d.ts +13 -0
- package/fesm2022/dflat-core-web-core-data.mjs +431 -0
- package/fesm2022/dflat-core-web-core-data.mjs.map +1 -0
- package/fesm2022/dflat-core-web-core-model.mjs +245 -0
- package/fesm2022/dflat-core-web-core-model.mjs.map +1 -0
- package/fesm2022/dflat-core-web-core-services.mjs +1568 -0
- package/fesm2022/dflat-core-web-core-services.mjs.map +1 -0
- package/fesm2022/dflat-core-web-core-ux.mjs +16294 -0
- package/fesm2022/dflat-core-web-core-ux.mjs.map +1 -0
- package/fesm2022/dflat-core-web-core.mjs +743 -0
- package/fesm2022/dflat-core-web-core.mjs.map +1 -0
- package/fesm2022/dflat-core-web-system-data.mjs +1031 -0
- package/fesm2022/dflat-core-web-system-data.mjs.map +1 -0
- package/fesm2022/dflat-core-web-system-model.mjs +283 -0
- package/fesm2022/dflat-core-web-system-model.mjs.map +1 -0
- package/fesm2022/dflat-core-web-system-root.mjs +289 -0
- package/fesm2022/dflat-core-web-system-root.mjs.map +1 -0
- package/fesm2022/dflat-core-web-system-ux.mjs +5677 -0
- package/fesm2022/dflat-core-web-system-ux.mjs.map +1 -0
- package/fesm2022/dflat-core-web.mjs +18 -0
- package/fesm2022/dflat-core-web.mjs.map +1 -0
- package/index.d.ts +1 -0
- package/package.json +82 -0
- package/scss/core-ux.scss +5 -0
- package/scss/images/circle-info.svg +1 -0
- package/scss/images/circlecross.svg +3 -0
- package/scss/images/circularoptionselected.svg +1 -0
- package/scss/images/error.png +0 -0
- package/scss/images/filter.svg +2 -0
- package/scss/images/information.png +0 -0
- package/scss/images/pen-solid.svg +1 -0
- package/scss/images/search-sprite.png +0 -0
- package/scss/images/search.svg +3 -0
- package/scss/images/warning.png +0 -0
- package/scss/layout/default/default-layout.scss +270 -0
- package/scss/layout/login/login-layout.scss +204 -0
- package/scss/styles/drag-and-drop.scss +36 -0
- package/scss/styles/forms.scss +94 -0
- package/scss/styles/shared.scss +222 -0
- package/system-data/index.d.ts +50 -0
- package/system-data/lib/data-services/account-service.generated.d.ts +20 -0
- package/system-data/lib/data-services/action-service.generated.d.ts +15 -0
- package/system-data/lib/data-services/address-service.generated.d.ts +10 -0
- package/system-data/lib/data-services/checkout-service.generated.d.ts +13 -0
- package/system-data/lib/data-services/company-service.generated.d.ts +10 -0
- package/system-data/lib/data-services/config-service.generated.d.ts +18 -0
- package/system-data/lib/data-services/country-service.generated.d.ts +10 -0
- package/system-data/lib/data-services/currency-service.generated.d.ts +10 -0
- package/system-data/lib/data-services/custom-field-group-entity-service.generated.d.ts +10 -0
- package/system-data/lib/data-services/custom-field-group-item-service.generated.d.ts +13 -0
- package/system-data/lib/data-services/custom-field-group-service.generated.d.ts +10 -0
- package/system-data/lib/data-services/custom-field-options-service.generated.d.ts +10 -0
- package/system-data/lib/data-services/custom-field-service.generated.d.ts +10 -0
- package/system-data/lib/data-services/error-category-service.generated.d.ts +12 -0
- package/system-data/lib/data-services/exchange-rate-detail-service.generated.d.ts +35 -0
- package/system-data/lib/data-services/exchange-rate-service.generated.d.ts +10 -0
- package/system-data/lib/data-services/file-service.generated.d.ts +26 -0
- package/system-data/lib/data-services/keyword-service.generated.d.ts +12 -0
- package/system-data/lib/data-services/meta-entity-field-service.generated.d.ts +10 -0
- package/system-data/lib/data-services/meta-entity-keyword-service.generated.d.ts +10 -0
- package/system-data/lib/data-services/meta-entity-service.generated.d.ts +10 -0
- package/system-data/lib/data-services/news-service.generated.d.ts +13 -0
- package/system-data/lib/data-services/parameter-service.generated.d.ts +10 -0
- package/system-data/lib/data-services/parameter-value-service.generated.d.ts +10 -0
- package/system-data/lib/data-services/permission-service.generated.d.ts +12 -0
- package/system-data/lib/data-services/permission-view-service.generated.d.ts +10 -0
- package/system-data/lib/data-services/plugin-parameter-value-service.generated.d.ts +10 -0
- package/system-data/lib/data-services/presentation-profile-item-service.generated.d.ts +14 -0
- package/system-data/lib/data-services/presentation-profile-service.generated.d.ts +13 -0
- package/system-data/lib/data-services/rating-service.generated.d.ts +14 -0
- package/system-data/lib/data-services/rating-summary-service.generated.d.ts +10 -0
- package/system-data/lib/data-services/rating-view-service.generated.d.ts +10 -0
- package/system-data/lib/data-services/request-result-service.generated.d.ts +12 -0
- package/system-data/lib/data-services/request-service.generated.d.ts +10 -0
- package/system-data/lib/data-services/resource-key-service.generated.d.ts +10 -0
- package/system-data/lib/data-services/resource-language-service.generated.d.ts +10 -0
- package/system-data/lib/data-services/resource-translation-view-service.generated.d.ts +10 -0
- package/system-data/lib/data-services/role-service.generated.d.ts +10 -0
- package/system-data/lib/data-services/subcompany-service.generated.d.ts +10 -0
- package/system-data/lib/data-services/supplier-service.generated.d.ts +10 -0
- package/system-data/lib/data-services/synchronized-company-service.generated.d.ts +10 -0
- package/system-data/lib/data-services/tva-rate-service.generated.d.ts +10 -0
- package/system-data/lib/data-services/user-account-company-service.generated.d.ts +10 -0
- package/system-data/lib/data-services/user-account-service.generated.d.ts +10 -0
- package/system-data/lib/data-services/user-favorite-service.generated.d.ts +10 -0
- package/system-data/lib/data-services/user-group-definition-service.generated.d.ts +10 -0
- package/system-data/lib/data-services/user-group-service.generated.d.ts +10 -0
- package/system-data/lib/data-services/user-role-service.generated.d.ts +10 -0
- package/system-data/lib/system-data.module.d.ts +9 -0
- package/system-model/index.d.ts +3 -0
- package/system-model/lib/model/interface.generated.d.ts +1162 -0
- package/system-model/lib/model/model.d.ts +11 -0
- package/system-model/lib/system-model.module.d.ts +7 -0
- package/system-root/index.d.ts +5 -0
- package/system-root/lib/system-entity-keys.d.ts +36 -0
- package/system-root/lib/system-menu-item-provider.d.ts +28 -0
- package/system-root/lib/system-menu-service.d.ts +13 -0
- package/system-root/lib/system-permissions.generated.d.ts +128 -0
- package/system-root/lib/system-root.module.d.ts +7 -0
- package/system-ux/index.d.ts +76 -0
- package/system-ux/lib/activate/activate.component.d.ts +36 -0
- package/system-ux/lib/address/address-editor.component.d.ts +12 -0
- package/system-ux/lib/address/address.component.d.ts +15 -0
- package/system-ux/lib/company/company-editor.component.d.ts +12 -0
- package/system-ux/lib/company/company.component.d.ts +19 -0
- package/system-ux/lib/components/image-upload/image-upload.component.d.ts +99 -0
- package/system-ux/lib/config/config-component.d.ts +22 -0
- package/system-ux/lib/config/datawarehouse-supply/dw-supply.component.d.ts +14 -0
- package/system-ux/lib/country/country-editor.component.d.ts +12 -0
- package/system-ux/lib/country/country.component.d.ts +14 -0
- package/system-ux/lib/currency/currency-editor.component.d.ts +12 -0
- package/system-ux/lib/currency/currency.component.d.ts +14 -0
- package/system-ux/lib/custom-field/custom-field-editor.component.d.ts +13 -0
- package/system-ux/lib/custom-field/custom-field.component.d.ts +19 -0
- package/system-ux/lib/custom-field-group/custom-field-group-editor.component.d.ts +14 -0
- package/system-ux/lib/custom-field-group/custom-field-group-entity/custom-field-group-entity-editor.component.d.ts +13 -0
- package/system-ux/lib/custom-field-group/custom-field-group-entity/custom-field-group-entity.component.d.ts +19 -0
- package/system-ux/lib/custom-field-group/custom-field-group-item/custom-field-group-item-editor.component.d.ts +12 -0
- package/system-ux/lib/custom-field-group/custom-field-group-item/custom-field-group-item.component.d.ts +27 -0
- package/system-ux/lib/custom-field-group/custom-field-group.component.d.ts +23 -0
- package/system-ux/lib/custom-field-options/custom-field-options-editor.component.d.ts +17 -0
- package/system-ux/lib/custom-field-options/custom-field-options.component.d.ts +22 -0
- package/system-ux/lib/entity-files/entity-files.component.d.ts +37 -0
- package/system-ux/lib/exchange-rate/exchange-rate-detail.component.d.ts +17 -0
- package/system-ux/lib/exchange-rate/exchange-rate-editor.component.d.ts +25 -0
- package/system-ux/lib/exchange-rate/exchange-rate.component.d.ts +18 -0
- package/system-ux/lib/global-parameter/global-parameter.component.d.ts +15 -0
- package/system-ux/lib/login/login.component.d.ts +37 -0
- package/system-ux/lib/meta-entity/meta-entity.component.d.ts +22 -0
- package/system-ux/lib/meta-entity-field/meta-entity-field-editor.component.d.ts +12 -0
- package/system-ux/lib/meta-entity-field/meta-entity-field.component.d.ts +20 -0
- package/system-ux/lib/news/news-component.d.ts +16 -0
- package/system-ux/lib/news/news-editor.component.d.ts +28 -0
- package/system-ux/lib/permission/permission-component.d.ts +16 -0
- package/system-ux/lib/permission/permission-editor.component.d.ts +12 -0
- package/system-ux/lib/presentation-profile/pp-facade.service.d.ts +39 -0
- package/system-ux/lib/presentation-profile/presentation-profile-action-service.d.ts +16 -0
- package/system-ux/lib/presentation-profile/presentation-profile-column-grid/presentation-profile-column.component.d.ts +73 -0
- package/system-ux/lib/presentation-profile/presentation-profile-column-grid/presentation-profile-items.component.d.ts +50 -0
- package/system-ux/lib/presentation-profile/presentation-profile-resolver.service.d.ts +34 -0
- package/system-ux/lib/presentation-profile/presentation-profile-transformer.d.ts +48 -0
- package/system-ux/lib/presentation-profile/presentation-profile.component.d.ts +16 -0
- package/system-ux/lib/presentation-profile/presentation-profile.service.d.ts +58 -0
- package/system-ux/lib/request/request-editor.component.d.ts +12 -0
- package/system-ux/lib/request/request.component.d.ts +20 -0
- package/system-ux/lib/request-results/request-results.component.d.ts +15 -0
- package/system-ux/lib/reset-password/reset-password.component.d.ts +32 -0
- package/system-ux/lib/resource-key/resource-key.component.d.ts +18 -0
- package/system-ux/lib/resource-language/resource-language.component.d.ts +16 -0
- package/system-ux/lib/resource-language/resourcelanguage-editor.component.d.ts +12 -0
- package/system-ux/lib/resource-translation/resource-translation-editor.component.d.ts +12 -0
- package/system-ux/lib/resource-translation/resource-translation.component.d.ts +16 -0
- package/system-ux/lib/role/role-component.d.ts +14 -0
- package/system-ux/lib/role/role-editor.component.d.ts +27 -0
- package/system-ux/lib/services/custom-field-action-service.d.ts +25 -0
- package/system-ux/lib/services/custom-field-service.d.ts +21 -0
- package/system-ux/lib/services/rates-action-service.d.ts +28 -0
- package/system-ux/lib/services/select-user-company-action-service.d.ts +23 -0
- package/system-ux/lib/services/system-section.service.d.ts +12 -0
- package/system-ux/lib/services/system-selector-mapper.service.d.ts +24 -0
- package/system-ux/lib/services/user-action-service.d.ts +20 -0
- package/system-ux/lib/sub-company/sub-company.component.d.ts +15 -0
- package/system-ux/lib/supplier/supplier-editor.component.d.ts +12 -0
- package/system-ux/lib/supplier/supplier.component.d.ts +16 -0
- package/system-ux/lib/synchronised-company/synchronised-company.component.d.ts +16 -0
- package/system-ux/lib/system-ux.module.d.ts +88 -0
- package/system-ux/lib/tva-rate/tva-rate-detail.component.d.ts +17 -0
- package/system-ux/lib/tva-rate/tva-rate-editor.component.d.ts +25 -0
- package/system-ux/lib/tva-rate/tva-rate.component.d.ts +17 -0
- package/system-ux/lib/user-account/user-account-component.d.ts +18 -0
- package/system-ux/lib/user-account/user-account-editor.component.d.ts +12 -0
- package/system-ux/lib/user-account-profile/user-account-profile.component.d.ts +31 -0
- package/system-ux/lib/user-company/user-company-component.d.ts +21 -0
- package/system-ux/lib/user-group/user-group-definition.component.d.ts +18 -0
- package/system-ux/lib/user-group/user-group-editor.component.d.ts +12 -0
- package/system-ux/lib/user-group/user-group.component.d.ts +16 -0
- package/system-ux/lib/user-permission/user-permission-component.d.ts +14 -0
- package/system-ux/lib/user-role/user-role-component.d.ts +20 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dflat-core-web-system-ux.mjs","sources":["../../system-ux/src/lib/presentation-profile/presentation-profile-transformer.ts","../../system-ux/src/lib/presentation-profile/presentation-profile-resolver.service.ts","../../system-ux/src/lib/presentation-profile/presentation-profile.service.ts","../../system-ux/src/lib/presentation-profile/presentation-profile.component.ts","../../system-ux/src/lib/presentation-profile/presentation-profile.component.html","../../system-ux/src/lib/presentation-profile/presentation-profile-action-service.ts","../../system-ux/src/lib/config/datawarehouse-supply/dw-supply.component.ts","../../system-ux/src/lib/config/datawarehouse-supply/dw-supply.component.html","../../system-ux/src/lib/config/config-component.ts","../../system-ux/src/lib/config/config.component.html","../../system-ux/src/lib/custom-field-options/custom-field-options-editor.component.ts","../../core-ux/src/lib/v2/components/new-editor/new-editor.component.html","../../system-ux/src/lib/custom-field/custom-field.component.ts","../../core-ux/src/lib/v2/components/base-component/base-template.component.html","../../system-ux/src/lib/custom-field-group/custom-field-group-item/custom-field-group-item.component.ts","../../system-ux/src/lib/custom-field-group/custom-field-group.component.ts","../../system-ux/src/lib/services/custom-field-action-service.ts","../../system-ux/src/lib/custom-field-options/custom-field-options.component.ts","../../system-ux/src/lib/custom-field/custom-field-editor.component.ts","../../system-ux/src/lib/news/news-component.ts","../../system-ux/src/lib/news/news-editor.component.ts","../../system-ux/src/lib/news/news-editor.component.html","../../system-ux/src/lib/permission/permission-component.ts","../../system-ux/src/lib/permission/permission-editor.component.ts","../../core-ux/src/lib/components/base-editor/base-editor.component.html","../../system-ux/src/lib/request-results/request-results.component.ts","../../system-ux/src/lib/request/request-editor.component.ts","../../system-ux/src/lib/address/address.component.ts","../../system-ux/src/lib/entity-files/entity-files.component.ts","../../system-ux/src/lib/entity-files/entity-files.component.html","../../system-ux/src/lib/services/system-section.service.ts","../../system-ux/src/lib/request/request.component.ts","../../system-ux/src/lib/resource-language/resourcelanguage-editor.component.ts","../../system-ux/src/lib/resource-language/resource-language.component.ts","../../system-ux/src/lib/role/role-component.ts","../../system-ux/src/lib/role/role-editor.component.ts","../../system-ux/src/lib/role/role-editor.component.html","../../system-ux/src/lib/sub-company/sub-company.component.ts","../../system-ux/src/lib/company/company.component.ts","../../system-ux/src/lib/user-role/user-role-component.ts","../../system-ux/src/lib/services/user-action-service.ts","../../system-ux/src/lib/user-company/user-company-component.ts","../../system-ux/src/lib/user-permission/user-permission-component.ts","../../system-ux/src/lib/user-account/user-account-component.ts","../../system-ux/src/lib/user-account/user-account-editor.component.ts","../../system-ux/src/lib/custom-field-group/custom-field-group-editor.component.ts","../../system-ux/src/lib/custom-field-group/custom-field-group-item/custom-field-group-item-editor.component.ts","../../system-ux/src/lib/activate/activate.component.ts","../../system-ux/src/lib/custom-field-group/custom-field-group-entity/custom-field-group-entity-editor.component.ts","../../system-ux/src/lib/custom-field-group/custom-field-group-entity/custom-field-group-entity.component.ts","../../system-ux/src/lib/meta-entity-field/meta-entity-field-editor.component.ts","../../system-ux/src/lib/meta-entity-field/meta-entity-field.component.ts","../../system-ux/src/lib/meta-entity/meta-entity.component.ts","../../system-ux/src/lib/resource-translation/resource-translation.component.ts","../../system-ux/src/lib/resource-key/resource-key.component.ts","../../system-ux/src/lib/user-account-profile/user-account-profile.component.ts","../../system-ux/src/lib/user-account-profile/user-account-profile.component.html","../../system-ux/src/lib/address/address-editor.component.ts","../../system-ux/src/lib/company/company-editor.component.ts","../../system-ux/src/lib/components/image-upload/image-upload.component.ts","../../system-ux/src/lib/components/image-upload/image-upload.component.html","../../system-ux/src/lib/country/country-editor.component.ts","../../system-ux/src/lib/country/country.component.ts","../../system-ux/src/lib/currency/currency-editor.component.ts","../../system-ux/src/lib/currency/currency.component.ts","../../system-ux/src/lib/exchange-rate/exchange-rate-detail.component.ts","../../system-ux/src/lib/exchange-rate/exchange-rate-editor.component.ts","../../system-ux/src/lib/exchange-rate/exchange-rate-editor.component.html","../../system-ux/src/lib/exchange-rate/exchange-rate.component.ts","../../system-ux/src/lib/global-parameter/global-parameter.component.ts","../../system-ux/src/lib/tva-rate/tva-rate-editor.component.ts","../../system-ux/src/lib/tva-rate/tva-rate-editor.component.html","../../system-ux/src/lib/services/rates-action-service.ts","../../system-ux/src/lib/resource-translation/resource-translation-editor.component.ts","../../system-ux/src/lib/supplier/supplier-editor.component.ts","../../system-ux/src/lib/supplier/supplier.component.ts","../../system-ux/src/lib/services/system-selector-mapper.service.ts","../../system-ux/src/lib/synchronised-company/synchronised-company.component.ts","../../system-ux/src/lib/tva-rate/tva-rate-detail.component.ts","../../system-ux/src/lib/tva-rate/tva-rate.component.ts","../../system-ux/src/lib/user-group/user-group-definition.component.ts","../../system-ux/src/lib/user-group/user-group-editor.component.ts","../../system-ux/src/lib/user-group/user-group.component.ts","../../system-ux/src/lib/services/custom-field-service.ts","../../system-ux/src/lib/services/select-user-company-action-service.ts","../../system-ux/src/lib/presentation-profile/presentation-profile-column-grid/presentation-profile-column.component.ts","../../system-ux/src/lib/presentation-profile/presentation-profile-column-grid/presentation-profile-column.component.html","../../system-ux/src/lib/presentation-profile/presentation-profile-column-grid/presentation-profile-items.component.ts","../../system-ux/src/lib/presentation-profile/presentation-profile-column-grid/presentation-profile-items.component.html","../../system-ux/src/lib/presentation-profile/pp-facade.service.ts","../../system-ux/src/lib/login/login.component.ts","../../system-ux/src/lib/login/login.component.html","../../system-ux/src/lib/reset-password/reset-password.component.ts","../../system-ux/src/lib/reset-password/reset-password.component.html","../../system-ux/src/lib/system-ux.module.ts","../../system-ux/src/dflat-core-web-system-ux.ts"],"sourcesContent":["import { ColumnDescriptor } from '@dflat-core/web/core-model';\nimport { PresentationContext, PresentationProfile, PresentationProfileItem, PresentationProfilePurposes, PresentationProfileScopes } from '@dflat-core/web/system-model';\n\nexport const PP_GRP_STANDARD = 'standard';\nexport const PP_GRP_CUSTOM = 'custom';\n\nexport interface PpConfig {\n metaEntityKey: string;\n title?: string;\n purpose?: PresentationProfilePurposes;\n embedded?: boolean;\n supplierId?: number | null;\n roleId?: number | null;\n}\n\nexport interface PpGroup {\n id: string;\n label: string;\n isCustom: boolean;\n}\n\nexport interface PpResult {\n purpose: PresentationProfilePurposes;\n profileId: number | null;\n columns: PresentationProfileItem[];\n}\n\nexport interface PpExportSplit {\n columns: string[];\n customFieldIds: number[];\n}\n\n\nexport class PresentationProfileTransformer {\n /**\n * Build the display groups from a catalog: a \"standard\" group + one group per custom-field\n * group (by GroupId/GroupName provided by the backend), falling back to a single \"Attributs\".\n */\n static buildGroups(catalog: PresentationProfileItem[]): PpGroup[] {\n const groups: PpGroup[] = [];\n if (catalog.some(i => i.ColumnSourceType !== 2)) groups.push({ id: PP_GRP_STANDARD, label: 'Colonnes standard', isCustom: false });\n\n const seen = new Map<string, string>();\n for (const i of catalog) {\n if (i.ColumnSourceType !== 2) continue;\n const id = i.GroupId != null ? `cf-${i.GroupId}` : PP_GRP_CUSTOM;\n if (!seen.has(id)) seen.set(id, i.GroupName ?? 'Attributs');\n }\n seen.forEach((label, id) => groups.push({ id, label, isCustom: true }));\n return groups;\n }\n\n /**\n * Converts resolved PresentationProfileItem[] into ColumnDescriptor[] for the data grid.\n * Standard columns are matched from the backend descriptors by Property (ColumnKey);\n * custom-field columns get a synthetic text descriptor.\n * item.Label is the effective display label (custom override if set, natural label from catalog otherwise).\n */\n static buildDescriptors(items: PresentationProfileItem[], backendDescriptors: ColumnDescriptor[]): ColumnDescriptor[] {\n const byProperty = new Map(backendDescriptors.map(d => [d.Property, d]));\n return items\n .filter(i => !!i.ColumnKey)\n .map(i => {\n const displayLabel = i.Label ?? i.ColumnKey!;\n if ((i.ColumnSourceType ?? 0) !== 2) {\n const template = byProperty.get(i.ColumnKey!);\n if (!template) return null;\n return {\n ...template,\n Name: displayLabel,\n FieldName: displayLabel,\n Display: { ...(template.Display ?? {}), type: 'text' },\n } as ColumnDescriptor;\n }\n return {\n Property: i.ColumnKey,\n Name: displayLabel,\n FieldName: displayLabel,\n Display: { type: 'text' },\n } as ColumnDescriptor;\n })\n .filter((d): d is ColumnDescriptor => d !== null);\n }\n\n /** User profile selection → unified PresentationContext for savePresentationProfile (Profile carries Items). */\n static toUserPreferenceContext(\n items: PresentationProfileItem[],\n key: string,\n purpose: number,\n label: string | null = null,\n profile: PresentationProfile | null = null,\n ): PresentationContext {\n return {\n IsUserProfile: true,\n Profile: {\n ...(profile ?? {}),\n Label: label ?? profile?.Label,\n PurposeType: purpose,\n MetaEntityKey: key,\n ScopeType: PresentationProfileScopes.User,\n Items: PresentationProfileTransformer.toSaveItems(items),\n } as PresentationProfile,\n } as PresentationContext;\n }\n\n /** Admin selection → unified PresentationContext for savePresentationProfile (Profile carries Items). */\n static toAdminConfigContext(items: PresentationProfileItem[], profile: PresentationProfile): PresentationContext {\n return {\n IsUserProfile: false,\n Profile: { ...profile, Items: PresentationProfileTransformer.toSaveItems(items) } as PresentationProfile,\n } as PresentationContext;\n }\n\n /** Normalises selected columns into persistable items (order = position). */\n private static toSaveItems(items: PresentationProfileItem[]): PresentationProfileItem[] {\n return items.map((item, i) => ({\n ColumnKey: item.ColumnKey,\n Label: item.Label || null,\n DisplayOrder: i + 1,\n IsLocked: item.IsLocked ?? false,\n IsAllowed: item.IsAllowed ?? null,\n ColumnSourceType: item.ColumnSourceType ?? 1,\n CustomFieldId: item.CustomFieldId ?? null,\n } as PresentationProfileItem));\n }\n\n /** Split selected items into standard column keys and custom-field ids (for export payloads). */\n static splitForExport(items: PresentationProfileItem[]): PpExportSplit {\n const cols: string[] = [];\n const ids: number[] = [];\n for (const item of items) {\n if ((item.ColumnSourceType ?? 0) === 2 && item.CustomFieldId != null) ids.push(item.CustomFieldId);\n else if (item.ColumnKey) cols.push(item.ColumnKey);\n }\n return { columns: cols, customFieldIds: ids };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\n\nimport { PresentationProfileItemDataService } from '@dflat-core/web/system-data';\nimport { PresentationContext, PresentationProfileFilterViewModel, PresentationProfileItem, PresentationProfilePurposes, PresentationProfileScopes } from '@dflat-core/web/system-model';\n\nexport interface PpResolverConfig {\n metaEntityKey: string;\n purpose?: number;\n supplierId?: number | null;\n roleId?: number | null;\n}\n\n/** Effective profile for a grid — resolved entirely on the backend. */\nexport interface PpEffectiveProfile {\n /** Resolved, ordered columns ready to apply to the grid. */\n columns: PresentationProfileItem[];\n /** True when the user has a saved personal profile. */\n hasUserProfile: boolean;\n /** Id of the user's profile — useful to pass back on save. */\n userProfileId: number | null;\n}\n\n/**\n * Resolves the effective Presentation Profile for a grid in a SINGLE backend call\n * (PresentationProfileItemController.GetPresentationContext). All merging/resolution happens\n * server-side; the client returns ctx.Resolved as-is.\n */\n@Injectable({ providedIn: 'root' })\nexport class PresentationProfileResolver {\n constructor(private readonly itemData: PresentationProfileItemDataService) {}\n\n resolve(config: PpResolverConfig): Observable<PpEffectiveProfile> {\n return this.itemData.getPresentationContext(this.toFilter(config)).pipe(\n map((ctx: PresentationContext) => ({\n columns: ctx.Resolved ?? [],\n hasUserProfile: !!ctx.UserProfile?.Id,\n userProfileId: ctx.UserProfile?.Id ?? null,\n } as PpEffectiveProfile)),\n catchError(() => of({ columns: [], hasUserProfile: false, userProfileId: null } as PpEffectiveProfile)),\n );\n }\n\n /** Loads the whole context (catalog + default + user + resolved) — used by the selection modal. */\n loadContext(config: PpResolverConfig): Observable<PresentationContext> {\n return this.itemData.getPresentationContext(this.toFilter(config));\n }\n\n private toFilter(config: PpResolverConfig): PresentationProfileFilterViewModel {\n const scopeType = config.supplierId != null ? PresentationProfileScopes.Supplier\n : config.roleId != null ? PresentationProfileScopes.Role\n : undefined;\n const scopeId = config.supplierId ?? config.roleId ?? undefined;\n return {\n MetaEntityKey: config.metaEntityKey,\n Purpose: config.purpose ?? PresentationProfilePurposes.Grid,\n ScopeType: scopeType,\n ScopeId: scopeId,\n } as PresentationProfileFilterViewModel;\n }\n}\n","import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { Injectable, OnDestroy } from '@angular/core';\nimport { Subject, of } from 'rxjs';\nimport { catchError, takeUntil } from 'rxjs/operators';\n\nimport { PresentationProfileDataService } from '@dflat-core/web/system-data';\nimport { PresentationProfile, PresentationProfileItem, PresentationProfilePurposes } from '@dflat-core/web/system-model';\nimport { PresentationProfileResolver } from './presentation-profile-resolver.service';\nimport {\n PP_GRP_CUSTOM, PP_GRP_STANDARD,\n PpConfig, PpGroup, PpResult,\n PresentationProfileTransformer,\n} from './presentation-profile-transformer';\n\n@Injectable()\nexport class PresentationProfileService implements OnDestroy {\n constructor(\n private readonly data: PresentationProfileDataService,\n private readonly resolver: PresentationProfileResolver,\n ) {}\n\n config!: PpConfig;\n isLoading = false;\n isSaving = false;\n\n allColumns: PresentationProfileItem[] = [];\n groups: PpGroup[] = [];\n filteredColumns: PresentationProfileItem[] = [];\n selectedGroup: PpGroup | null = null;\n searchText = '';\n naturalLabelByKey = new Map<string, string>();\n\n userProfile: PresentationProfile | null = null;\n loadedItemIds: string[] = [];\n orderedSelection: PresentationProfileItem[] = [];\n selectedIds: Set<string> = new Set();\n\n readonly confirmed$ = new Subject<PpResult>();\n readonly cancelled$ = new Subject<void>();\n private destroy$ = new Subject<void>();\n\n private get purpose(): number { return this.config?.purpose ?? PresentationProfilePurposes.Grid; }\n\n get selectedCount(): number { return this.orderedSelection.length; }\n get isEmbedded(): boolean { return !!this.config?.embedded; }\n get isProfileSaved(): boolean { return this.userProfile?.Id != null; }\n get hasChanges(): boolean {\n const cur = this.orderedSelection.map(c => c.ColumnKey ?? '');\n if (!this.loadedItemIds.length) return cur.length > 0;\n return cur.length !== this.loadedItemIds.length || cur.some((id, i) => id !== this.loadedItemIds[i]);\n }\n get allVisibleSelected(): boolean {\n return this.filteredColumns.length > 0 && this.filteredColumns.every(c => this.selectedIds.has(c.ColumnKey ?? ''));\n }\n get someVisibleSelected(): boolean {\n return this.filteredColumns.some(c => this.selectedIds.has(c.ColumnKey ?? '')) && !this.allVisibleSelected;\n }\n\n setup(config: PpConfig): void {\n this.config = config;\n this.loadData();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n getCatalogLabel(item: PresentationProfileItem): string {\n return this.naturalLabelByKey.get(item.ColumnKey ?? '') ?? item.ColumnKey ?? '';\n }\n\n private getItemGroupId(item: PresentationProfileItem): string {\n if ((item.ColumnSourceType ?? 0) !== 2) return PP_GRP_STANDARD;\n return item.GroupId != null ? `cf-${item.GroupId}` : PP_GRP_CUSTOM;\n }\n\n private loadData(): void {\n this.isLoading = true;\n\n this.resolver.loadContext({\n metaEntityKey: this.config.metaEntityKey,\n purpose: this.purpose,\n supplierId: this.config.supplierId,\n roleId: this.config.roleId,\n })\n .pipe(catchError((err) => {\n console.log(err)\n return of(null);\n } \n ), \n takeUntil(this.destroy$))\n .subscribe(ctx => {\n const catalog = (ctx?.Catalog ?? []).filter(i => !!i.ColumnKey);\n this.naturalLabelByKey = new Map(catalog.map(i => [i.ColumnKey!, i.Label ?? i.ColumnKey!]));\n this.allColumns = catalog;\n this.groups = PresentationProfileTransformer.buildGroups(catalog);\n this.userProfile = ctx?.UserProfile ?? null;\n\n const catalogByKey = new Map(catalog.map(i => [i.ColumnKey!, i]));\n const resolved = (ctx?.Resolved ?? [])\n .filter(i => !!i.ColumnKey)\n .map(i => ({ ...(catalogByKey.get(i.ColumnKey!) ?? {}), ...i } as PresentationProfileItem));\n\n if (this.userProfile?.Id != null) {\n this.setSelection(resolved, resolved.map(c => c.ColumnKey!));\n } else if (resolved.length) {\n this.setSelection(resolved, []);\n } else {\n this.setSelection(catalog.filter(c => (c.ColumnSourceType ?? 0) !== 2), []);\n }\n\n this.applyFilter();\n this.isLoading = false;\n });\n }\n\n private setSelection(cols: PresentationProfileItem[], loadedIds: string[]): void {\n this.orderedSelection = [...cols];\n this.selectedIds = new Set(cols.map(c => c.ColumnKey ?? ''));\n this.loadedItemIds = loadedIds;\n }\n\n selectGroup(group: PpGroup | null): void {\n this.selectedGroup = group;\n this.searchText = '';\n this.applyFilter();\n }\n\n onSearch(): void { this.applyFilter(); }\n\n private applyFilter(): void {\n let base = this.selectedGroup\n ? this.allColumns.filter(c => this.getItemGroupId(c) === this.selectedGroup!.id)\n : this.allColumns;\n if (this.searchText?.trim()) {\n const q = this.searchText.toLowerCase();\n base = base.filter(c =>\n (c.Label ?? c.ColumnKey ?? '').toLowerCase().includes(q) ||\n (c.ColumnKey ?? '').toLowerCase().includes(q)\n );\n }\n this.filteredColumns = [...base];\n }\n\n getGroupCount(g: PpGroup): number { return this.allColumns.filter(c => this.getItemGroupId(c) === g.id).length; }\n getGroupSelectedCount(g: PpGroup): number { return this.allColumns.filter(c => this.getItemGroupId(c) === g.id && this.selectedIds.has(c.ColumnKey ?? '')).length; }\n\n isSelected(col: PresentationProfileItem): boolean { return this.selectedIds.has(col.ColumnKey ?? ''); }\n\n toggleItem(col: PresentationProfileItem): void {\n const key = col.ColumnKey ?? '';\n if (this.selectedIds.has(key)) {\n this.selectedIds.delete(key);\n this.orderedSelection = this.orderedSelection.filter(c => c.ColumnKey !== key);\n } else {\n this.selectedIds.add(key);\n this.orderedSelection = [...this.orderedSelection, { ...col, Label: null }];\n }\n }\n\n toggleAll(): void {\n if (this.allVisibleSelected) {\n this.filteredColumns.forEach(c => this.selectedIds.delete(c.ColumnKey ?? ''));\n const visKeys = new Set(this.filteredColumns.map(c => c.ColumnKey ?? ''));\n this.orderedSelection = this.orderedSelection.filter(c => !visKeys.has(c.ColumnKey ?? ''));\n } else {\n const toAdd = this.filteredColumns.filter(c => !this.selectedIds.has(c.ColumnKey ?? ''));\n toAdd.forEach(c => this.selectedIds.add(c.ColumnKey ?? ''));\n this.orderedSelection = [...this.orderedSelection, ...toAdd.map(c => ({ ...c, Label: null as string | null | undefined }))];\n }\n }\n\n removeFromSelection(col: PresentationProfileItem): void {\n const key = col.ColumnKey ?? '';\n this.selectedIds.delete(key);\n this.orderedSelection = this.orderedSelection.filter(c => c.ColumnKey !== key);\n }\n\n onDrop(event: CdkDragDrop<PresentationProfileItem[]>): void {\n if (event.previousIndex === event.currentIndex) return;\n moveItemInArray(this.orderedSelection, event.previousIndex, event.currentIndex);\n }\n\n confirm(): void {\n const result: PpResult = {\n purpose: this.purpose,\n profileId: this.userProfile?.Id ?? null,\n columns: [...this.orderedSelection],\n };\n if (!this.hasChanges) {\n this.confirmed$.next(result);\n return;\n }\n this.performSave(result);\n }\n\n save(): void {\n const result: PpResult = {\n purpose: this.purpose,\n profileId: this.userProfile?.Id ?? null,\n columns: [...this.orderedSelection],\n };\n this.performSave(result);\n }\n\n cancel(): void { this.cancelled$.next(); }\n\n private performSave(result: PpResult): void {\n this.isSaving = true;\n const ctx = PresentationProfileTransformer.toUserPreferenceContext(\n this.orderedSelection, this.config.metaEntityKey, this.purpose, null, this.userProfile,\n );\n this.data.savePresentationProfile(ctx).subscribe({\n next: res => {\n if (res?.Id != null) {\n if (this.userProfile == null) {\n this.userProfile = { ...ctx.Profile, Id: res.Id } as PresentationProfile;\n result.profileId = res.Id;\n }\n this.loadedItemIds = this.orderedSelection.map(c => c.ColumnKey ?? '');\n }\n this.isSaving = false;\n this.confirmed$.next(result);\n },\n error: () => {\n this.isSaving = false;\n this.confirmed$.next(result);\n },\n });\n }\n}\n","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\nimport { PpConfig, PpResult } from './presentation-profile-transformer';\r\nimport { PresentationProfileService } from './presentation-profile.service';\r\n\r\n@Component({\r\n selector: 'alg-presentation-profile',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule, DragDropModule],\r\n providers: [PresentationProfileService],\r\n templateUrl: './presentation-profile.component.html',\r\n styleUrls: ['./presentation-profile.component.scss'],\r\n})\r\nexport class PresentationProfileComponent implements OnInit, OnDestroy {\r\n @Input() config!: PpConfig;\r\n @Output() readonly confirmed = new EventEmitter<PpResult>();\r\n @Output() readonly cancelled = new EventEmitter<void>();\r\n\r\n private readonly destroy$ = new Subject<void>();\r\n\r\n constructor(readonly svc: PresentationProfileService) {}\r\n\r\n ngOnInit(): void {\r\n this.svc.setup(this.config);\r\n this.svc.confirmed$.pipe(takeUntil(this.destroy$)).subscribe(r => this.confirmed.emit(r));\r\n this.svc.cancelled$.pipe(takeUntil(this.destroy$)).subscribe(() => this.cancelled.emit());\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","<!-- ── Header ─────────────────────────────────────────────────────────────── -->\r\n<div class=\"csl-header\">\r\n <div class=\"csl-header__left\">\r\n <h4 class=\"csl-title\">{{ svc.config?.title || 'Sélection des colonnes' }}</h4>\r\n </div>\r\n @if (!svc.isEmbedded) {\r\n <button class=\"csl-icon-btn\" type=\"button\" (click)=\"svc.cancel()\" aria-label=\"Fermer\">✕</button>\r\n }\r\n</div>\r\n\r\n<!-- ── Body ───────────────────────────────────────────────────────────────── -->\r\n<div class=\"csl-body\">\r\n @if (svc.isLoading) {\r\n <div class=\"csl-loading\">\r\n <span class=\"csl-spinner\"></span>\r\n Chargement des colonnes…\r\n </div>\r\n } @else {\r\n <div class=\"csl-panels\">\r\n\r\n <!-- ── LEFT: profile status + column groups ──────────────────────────── -->\r\n <div class=\"csl-panel csl-panel--groups\">\r\n <div class=\"csl-panel__header\">\r\n <span class=\"csl-panel__label\">Sections</span>\r\n </div>\r\n <ul class=\"csl-group-list\">\r\n\r\n <!-- Mon profil (status indicator only) -->\r\n <li class=\"csl-group-section-label\">\r\n <i class=\"fa fa-user-o\"></i> Mon profil\r\n @if (svc.isProfileSaved) {\r\n <span class=\"csl-badge csl-badge--success csl-badge--sm\" title=\"Profil sauvegardé\">\r\n <i class=\"fa fa-check\"></i>\r\n </span>\r\n }\r\n </li>\r\n <li class=\"csl-group-divider\"></li>\r\n\r\n <!-- Column groups -->\r\n <li class=\"csl-group-item\"\r\n [class.csl-group-item--active]=\"svc.selectedGroup === null\"\r\n (click)=\"svc.selectGroup(null)\">\r\n <span class=\"csl-group-item__name\">Toutes les colonnes</span>\r\n <span class=\"csl-badge\">{{ svc.allColumns.length }}</span>\r\n </li>\r\n\r\n @for (group of svc.groups; track group.id) {\r\n <li class=\"csl-group-item\"\r\n [class.csl-group-item--active]=\"svc.selectedGroup?.id === group.id\"\r\n [class.csl-group-item--standard]=\"group.id === 'standard'\"\r\n [class.csl-group-item--model]=\"group.isCustom\"\r\n (click)=\"svc.selectGroup(group)\">\r\n <span class=\"csl-group-item__name\">{{ group.label }}</span>\r\n <div class=\"csl-group-item__meta\">\r\n @if (svc.getGroupSelectedCount(group) > 0) {\r\n <span class=\"csl-badge csl-badge--primary\">{{ svc.getGroupSelectedCount(group) }}</span>\r\n }\r\n <span class=\"csl-badge\">{{ svc.getGroupCount(group) }}</span>\r\n </div>\r\n </li>\r\n }\r\n\r\n </ul>\r\n </div>\r\n\r\n <!-- ── MIDDLE: browse & check ────────────────────────────────────────── -->\r\n <div class=\"csl-panel csl-panel--browse\">\r\n <div class=\"csl-panel__header\">\r\n <span class=\"csl-panel__label\">\r\n @if (svc.selectedGroup != null) { {{ svc.selectedGroup.label }}\r\n } @else { Toutes }\r\n </span>\r\n <input class=\"csl-search\" type=\"text\" placeholder=\"Rechercher…\"\r\n [(ngModel)]=\"svc.searchText\" (ngModelChange)=\"svc.onSearch()\">\r\n </div>\r\n\r\n <div class=\"csl-table-wrap\">\r\n <table class=\"csl-table\">\r\n <thead>\r\n <tr>\r\n <th class=\"csl-col-check\">\r\n <input type=\"checkbox\"\r\n [checked]=\"svc.allVisibleSelected\"\r\n [indeterminate]=\"svc.someVisibleSelected\"\r\n (change)=\"svc.toggleAll()\"\r\n title=\"Tout sélectionner / désélectionner\">\r\n </th>\r\n <th class=\"csl-col-key\">Clé</th>\r\n <th class=\"csl-col-name\">Colonne</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (col of svc.filteredColumns; track col.ColumnKey) {\r\n <tr class=\"csl-row\"\r\n [class.csl-row--selected]=\"svc.isSelected(col)\"\r\n [class.csl-row--custom-field]=\"col.ColumnSourceType === 2\"\r\n (click)=\"svc.toggleItem(col)\">\r\n <td class=\"csl-col-check\" (click)=\"$event.stopPropagation()\">\r\n <input type=\"checkbox\" [checked]=\"svc.isSelected(col)\" (change)=\"svc.toggleItem(col)\">\r\n </td>\r\n <td class=\"csl-col-key\">{{ col.ColumnKey }}</td>\r\n <td class=\"csl-col-name\">{{ col.Label ?? col.ColumnKey }}</td>\r\n </tr>\r\n }\r\n @empty {\r\n <tr><td colspan=\"3\" class=\"csl-empty\">Aucune colonne trouvée</td></tr>\r\n }\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n\r\n <!-- ── RIGHT: ordered selection ─────────────────────────────────────── -->\r\n <div class=\"csl-panel csl-panel--selected\">\r\n <div class=\"csl-panel__header\">\r\n <span class=\"csl-panel__label\">Colonnes sélectionnées</span>\r\n @if (svc.selectedCount > 0) {\r\n <span class=\"csl-badge csl-badge--primary\">{{ svc.selectedCount }}</span>\r\n }\r\n </div>\r\n\r\n @if (svc.orderedSelection.length === 0) {\r\n <div class=\"csl-ordered-empty\">\r\n <span class=\"csl-ordered-empty__icon fa fa-columns\"></span>\r\n <p>Cochez des colonnes à gauche</p>\r\n </div>\r\n } @else {\r\n <div class=\"csl-ordered-list\"\r\n cdkDropList\r\n [cdkDropListData]=\"svc.orderedSelection\"\r\n (cdkDropListDropped)=\"svc.onDrop($event)\">\r\n @for (col of svc.orderedSelection; track col.ColumnKey) {\r\n <div class=\"csl-ordered-item\" cdkDrag [cdkDragData]=\"col\">\r\n <div class=\"csl-ordered-item__placeholder\" *cdkDragPlaceholder></div>\r\n <span class=\"csl-ordered-item__drag\" cdkDragHandle><i class=\"fa fa-bars\"></i></span>\r\n <span class=\"csl-ordered-item__position\">{{ $index + 1 }}</span>\r\n <span class=\"csl-ordered-item__code\" [class.csl-ordered-item__code--cf]=\"col.ColumnSourceType === 2\">\r\n {{ col.ColumnKey }}\r\n </span>\r\n <input class=\"csl-ordered-item__desc\" type=\"text\"\r\n [placeholder]=\"svc.getCatalogLabel(col)\"\r\n [(ngModel)]=\"col.Label\"\r\n (click)=\"$event.stopPropagation()\"\r\n title=\"Étiquette personnalisée\">\r\n <button class=\"csl-ordered-item__remove\" type=\"button\"\r\n (click)=\"svc.removeFromSelection(col)\" title=\"Retirer\">✕</button>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n\r\n </div>\r\n }\r\n</div>\r\n\r\n<!-- ── Footer ─────────────────────────────────────────────────────────────── -->\r\n<div class=\"csl-footer\">\r\n <span class=\"csl-footer__count\">\r\n @if (svc.selectedCount > 0) { {{ svc.selectedCount }} colonne(s) — glissez pour réordonner }\r\n </span>\r\n <div class=\"csl-footer__actions\">\r\n @if (!svc.isEmbedded) {\r\n <button class=\"csl-btn csl-btn--secondary\" type=\"button\" (click)=\"svc.cancel()\">Annuler</button>\r\n <button class=\"csl-btn csl-btn--primary\" type=\"button\"\r\n (click)=\"svc.confirm()\" [disabled]=\"svc.selectedCount === 0 || svc.isSaving\">\r\n @if (svc.isSaving) {\r\n <span class=\"csl-spinner csl-spinner--sm csl-spinner--light\"></span> \r\n }\r\n Appliquer\r\n </button>\r\n } @else {\r\n <button class=\"csl-btn csl-btn--primary\" type=\"button\"\r\n (click)=\"svc.save()\" [disabled]=\"svc.selectedCount === 0 || svc.isSaving\">\r\n @if (svc.isSaving) {\r\n <span class=\"csl-spinner csl-spinner--sm csl-spinner--light\"></span>\r\n } @else {\r\n <i class=\"fa fa-save\"></i>\r\n }\r\n Enregistrer\r\n </button>\r\n }\r\n </div>\r\n</div>\r\n","import { Injectable } from '@angular/core';\r\nimport { BsModalService } from 'ngx-bootstrap/modal';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { take } from 'rxjs/operators';\r\n\r\nimport { PpConfig, PpExportSplit, PpResult, PresentationProfileTransformer } from './presentation-profile-transformer';\r\nimport { PresentationProfileComponent } from './presentation-profile.component';\r\n\r\n@Injectable()\r\nexport class PresentationProfileActionService {\r\n constructor(private readonly modalService: BsModalService) {}\r\n\r\n private readonly selectionSubject = new Subject<PpResult>();\r\n private readonly cancelledSubject = new Subject<void>();\r\n\r\n readonly selectionConfirmed$ = this.selectionSubject.asObservable();\r\n readonly selectionCancelled$ = this.cancelledSubject.asObservable();\r\n\r\n open(config: PpConfig): void {\r\n const ref = this.modalService.show(PresentationProfileComponent, {\r\n class: 'modal-xl',\r\n keyboard: true,\r\n initialState: { config },\r\n });\r\n if (!ref.content) return;\r\n\r\n ref.content.confirmed.pipe(take(1)).subscribe(result => {\r\n this.selectionSubject.next(result);\r\n ref.hide();\r\n });\r\n ref.content.cancelled.pipe(take(1)).subscribe(() => {\r\n this.cancelledSubject.next();\r\n ref.hide();\r\n });\r\n }\r\n\r\n splitForExport(columns: PpResult['columns']): PpExportSplit {\r\n return PresentationProfileTransformer.splitForExport(columns);\r\n }\r\n}\r\n","import { ConfigDataService } from '@dflat-core/web/system-data';\nimport { Component } from '@angular/core';\nimport moment from 'moment';\n\n@Component({\n selector: 'msw-dw-supply',\n templateUrl: './dw-supply.component.html',\n styleUrls: ['./dw-supply.component.scss'],\n standalone: false\n})\nexport class DWSupplyComponent {\n\n constructor(private configDataService: ConfigDataService) {}\n\n ngOnInit(){\n this.getLastExecution();\n }\n agentHistory = ['RunDate','RunDuration','Status','Message'];\n columns = ['ExecutedAsName','StartTime','EndTime','Duration','Status']\n lastExecution:any;\n showLastExecution : boolean = false;\n getLastExecution() {\n setTimeout(() => { this.configDataService.getAgentExecutionHistory().subscribe((res) => {\n this.showLastExecution = true;\n this.lastExecution = res;\n });})\n\n }\n}\n","<table class=\"datatable\">\r\n <!-- <thead>\r\n <th *ngFor=\"let col of this.agentHistory; let i=index \">\r\n <label> {{col}} </label>\r\n </th>\r\n </thead> -->\r\n <tbody>\r\n <tr *ngFor=\"let row of this.lastExecution\">\r\n <td *ngFor=\"let col of this.agentHistory\" style=\"min-width: min-content;text-align:center;\">\r\n <div [ngSwitch]=\"col\">\r\n <div *ngSwitchCase=\"'RunDate'\">\r\n {{row[col] | date: 'dd/MM/yyyy HH:mm:ss'}}\r\n </div>\r\n <div *ngSwitchCase=\"'RunDuration'\">\r\n {{row[col]}} s\r\n </div>\r\n <div *ngSwitchCase=\"'Status'\">\r\n <span [ngStyle]=\"{'color':(row[col] == 'Succès') ?'green':'#A30000' , 'font-weight' :'bold'}\">{{row[col]}}</span>\r\n </div>\r\n <span *ngSwitchDefault [innerText]=\"row[col]\">\r\n </span>\r\n <!-- <div *ngIf=\"(col == 'StartTime') ||(col == 'EndTime'); else elseBlock\" > -->\r\n <!-- <div *ngIf=\"(col == 'RunDate'); else elseBlock\" >\r\n {{row[col] | date: 'dd/MM/yyyy HH:mm:ss'}}\r\n </div>\r\n <ng-template #elseBlock >\r\n {{row[col]}}\r\n </ng-template> -->\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n</table>\r\n","import { BreadcrumbService } from '@dflat-core/web/core-services';\nimport {\n ModalService\n} from '@dflat-core/web/core-ux';\nimport { ConfigDataService } from '@dflat-core/web/system-data';\nimport { Component } from '@angular/core';\nimport { ToastrService } from 'ngx-toastr';\nimport { DWSupplyComponent } from './datawarehouse-supply/dw-supply.component';\n\n@Component({\n selector: 'alg-config',\n templateUrl: './config.component.html',\n styleUrls: ['./config-component.scss'],\n standalone: false\n})\nexport class ConfigComponent {\n EntityKey: string = 'Config';\n\n constructor(\n private breadServ: BreadcrumbService,\n private configDataService: ConfigDataService,\n private toastrService: ToastrService,\n private modalService: ModalService\n ) {\n // setttings the header for the home\n this.breadServ.setCurrent({\n description: 'Configuration',\n display: true,\n header: 'Configuration',\n levels: [\n {\n icon: 'sliders',\n link: ['/'],\n title: 'Configuration',\n },\n ],\n });\n }\n\n getEntityKey(): string {\n return this.EntityKey;\n }\n\n clearCache() {\n this.configDataService.clearCache().subscribe((res) => {\n this.toastrService.success(\n 'Cache vidé avec succès !',\n 'Reset du cache'\n );\n });\n }\n\n runETL() {\n this.configDataService.runAgentETL().subscribe((res) => {\n if (res.Success)\n this.toastrService.info(\n res.ErrorMessage,\n \"Succès de l'alimentation\"\n );\n else\n this.toastrService.error(\n res.ErrorMessage,\n \"Erreur d'alimentation\"\n );\n });\n}\n\n // lastExecution: ExecOperation = {};\n showLastExecution: boolean = false;\n showSupplyInfo() {\n const modal = this.modalService.openComponentCustom(\n {class : 'modal-xlg'},\n {\n childComponentType: DWSupplyComponent,\n initialViewModel: Object.assign({}, null),\n title: `Historique des dernières exécutions`,\n loadFunction: undefined,\n okLabel: 'OK',\n callBackAction: () => {},\n },\n true\n );\n }\n\n getInfoIcon() {\n return `./assets/images/circle-info.svg`;\n }\n getInfo(){\n this.toastrService.info(\"Afficher les détails de l'historique des alimentation de la dernière semaine\",'Information');\n }\n}\n","<div class=\"row m-2\">\r\n <button type=\"button\" (click)=\"clearCache()\" class=\"btn btn-primary btn-flat\">Réinitialiser le cache</button>\r\n</div>\r\n\r\n<div class=\"row m-2\">\r\n <button type=\"button\" (click)=\"runETL()\" class=\"btn btn-primary btn-flat\">Alimenter Datawarehouse</button>\r\n</div>\r\n\r\n\r\n<div class=\"row m-3\">\r\n <button (click)=\"this.showSupplyInfo()\" class=\"btn btn-primary btn-flat-edited\" >Historique </button>\r\n <img class=\"information-icon\" [src]=\"this.getInfoIcon()\" alt=\"Information\" (click)=\"this.getInfo()\"> \r\n</div>\r\n\r\n","import { Utilities } from '@dflat-core/web/core';\nimport { EntityViewModelWithFields } from '@dflat-core/web/core-model';\nimport { ApplicationService, BaseEditorComponent, IIsCancel, NewEditorComponent } from '@dflat-core/web/core-ux';\nimport { CustomFieldOptions } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys, SystemMenuItemProvider } from \"@dflat-core/web/system-root\";\nimport { Component } from \"@angular/core\";\nimport { ActivatedRoute } from '@angular/router';\n\n\n@Component({\n selector: 'alg-custom-field-options-editor',\n // templateUrl: '../../../../core-ux/src/lib/components/base-editor/base-editor.component.html',\n templateUrl: '../../../../core-ux/src/lib/v2/components/new-editor/new-editor.component.html',\n standalone: false\n})\n\nexport class CustomFieldOptionsEditorComponent extends NewEditorComponent<CustomFieldOptions> implements IIsCancel\n{\n getEntityKey(): string {\n return SystemEntityKeys.CustomFieldOptions;\n }\n\n getTitle(withId: boolean): string {\n return withId ? ((this.id === \"0\") ? (\"Nouvelle option d'attribut\") : (\"Option d'attribut (\" + this.id + \")\")): \"Options d'attribut\";\n }\n\n getPath(withId: boolean): string {\n return withId ? SystemMenuItemProvider.GetLink(this.getEntityKey()) + '/' + this.id : SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n\n public isCancel: boolean = false;\n CustomFieldId: number;\n constructor(\n app : ApplicationService,\n route: ActivatedRoute) {\n super(app, route);\n }\n\n ngOnInit(){\n super.ngOnInit();\n this.facade.config.addAlterViewModelFunction((vm)=> this.alterViewModel(vm));\n }\n\n alterViewModel(vm : EntityViewModelWithFields<CustomFieldOptions>) : EntityViewModelWithFields<CustomFieldOptions>{\n if(!Utilities.IsNil(vm))\n {\n const isDefaultIndex = vm.FieldSections[0].FieldViewModels.findIndex(obj => obj.PropertyName === 'IsDefault');\n if (isDefaultIndex > -1)\n vm.FieldSections[0].FieldViewModels.splice(isDefaultIndex, 1);\n\n if(vm.FieldSections.length > 1)\n vm.FieldSections.pop();\n }\n return vm\n }\n}\n","<div class=\"editor-container\">\r\n <div class=\"breadcrumb-panel\" *ngIf=\"(this.facade.editor.isStandaloneMode$| async)\">\r\n <alg-breadcrumb></alg-breadcrumb>\r\n </div>\r\n <!-- entityConfigLoader\r\n #configLoader=\"entityConfigLoader\"\r\n [entityKey]=\"getEntityKey()\" -->\r\n\r\n <ng-container\r\n >\r\n <div class=\"property-editor-container\" [class.show-buttons]=\"(this.facade.editor.isStandaloneMode$ | async)\">\r\n <alg-property-editor\r\n class=\"property-editor-container-inner\"\r\n #propertyGridComponent\r\n [entityKey]=\"this.getEntityKey()\"\r\n [guid]=\"this.guid\"\r\n >\r\n </alg-property-editor>\r\n </div>\r\n <div class=\"buttons-container\" *ngIf=\"(this.facade.editor.isStandaloneMode$ | async)\">\r\n <div class=\"footer-buttons\" >\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-primary btn-flat\"\r\n [disabled]=\"!this.dirty\"\r\n (click)=\"handleDialogButtonClick(false)\">\r\n Sauvegarder\r\n </button>\r\n <!-- [disabled]=\"this.isSaveDisabled()\" -->\r\n <!-- [disabled]=\"this.isSaveDisabled()\" -->\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-secondary btn-flat\"\r\n (click)=\"handleDialogButtonClick(true)\">\r\n Annuler\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n","import { Action, ApplicationService, BaseComponent, filterFromId, OrderableModalService } from '@dflat-core/web/core-ux';\nimport { CustomFieldOptionsDataService } from '@dflat-core/web/system-data';\nimport { CustomFieldOptions, CustomFieldOptionsFilterViewModel, CustomField, CustomFieldFilterViewModel } from '@dflat-core/web/system-model';\nimport {\n SystemEntityKeys,\n SystemMenuItemProvider,\n SystemPermissions,\n} from '@dflat-core/web/system-root';\nimport { CustomFieldOptionsComponent } from '../custom-field-options/custom-field-options.component';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'alg-custom-field',\n templateUrl: '../../../../core-ux/src/lib/v2/components/base-component/base-template.component.html',\n standalone: false\n})\nexport class CustomFieldComponent extends BaseComponent<\n CustomFieldFilterViewModel,\n CustomField\n> {\n getTitle(): string {\n return 'Attributs';\n }\n getPath(): string {\n return SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n getEntityKey(): string {\n return SystemEntityKeys.CustomField;\n }\n get PermissionKey(): string {\n return SystemPermissions.ADMIN_CUSTOM_FIELDS;\n }\n\n constructor(\n app: ApplicationService,\n route: ActivatedRoute,\n private itemDataService : CustomFieldOptionsDataService,\n private orderableModal: OrderableModalService,\n ) {\n super(app, route);\n }\n\n FIELD_OPTIONS_SECTION: string = \"Options d'attribut\";\n\n ngOnInit(): void {\n super.ngOnInit();\n this.facade.sections.registerSection(\n this.FIELD_OPTIONS_SECTION,\n CustomFieldOptionsComponent,\n {\n filterOverride: filterFromId<CustomField, CustomFieldOptionsFilterViewModel>('CustomFieldId'),\n show:(selected : CustomField[]) => selected.length == 1 && selected[0].CustomFieldType == 3,\n }\n );\n this.facade.actions.patch('showHistory', { isActive: () => true });\n const actionToAdd = new Action(\"Modifier l'ordre\", \"\", true, true, false, 'arrow-up-1-9', 'bg-orange', () => this.openOrderModal(), \"\",() => true);\n this.facade.actions.addAction(actionToAdd);\n\n }\n\n private openOrderModal(): void {\n const selected = this.facade.selection.getSelected();\n if (!selected?.length) return;\n const group = selected[0];\n \n type GroupItemToOrder = { id: number; order: number; label: string; source: CustomFieldOptions };\n \n const itemFilter: CustomFieldOptionsFilterViewModel = {\n CustomFieldId: group.Id,\n Offset: 0,\n Take: 1000,\n SortColumn: 'OrderNumber',\n SortDirection: 'asc',\n };\n \n this.itemDataService.search(itemFilter).subscribe(pagedResult => {\n const items: GroupItemToOrder[] = (pagedResult.Values ?? []).map(i => ({\n id: i.Id,\n order: i.DisplayOrder ?? 1,\n label: i.DisplayValue ?? '',\n source: i,\n }));\n \n this.orderableModal.open<GroupItemToOrder>({\n title: 'Ordonner les attributs',\n subtitle: group.Label,\n items,\n columns: [\n { label: 'Attribut', key: 'label' },\n { label: 'Ordre', key: 'order' },\n ],\n displayName: i => i.label,\n confirmLabel: 'Appliquer',\n }).then(modalResult => {\n if (!modalResult) return;\n \n const toSave: CustomFieldOptions[] = modalResult.orderedItems.map(i => ({\n ...i.source,\n OrderNumber: i.order,\n }));\n \n this.itemDataService.saveEntities(toSave).subscribe(() => {\n this.facade.sections.setSectionDirty(this.FIELD_OPTIONS_SECTION);\n });\n });\n });\n }\n}\n","<div\r\n [class]=\"this.baseComponentClass\"\r\n [class.visible]=\"this.displayComponent\"\r\n [class.invisible]=\"!this.displayComponent\"\r\n >\r\n <alg-standard-page-layout #pageLayout [layoutKey]=\"this.layoutKey\" \r\n [entityKey]=\"this.getEntityKey()\" [guid]=\"this.guid\" >\r\n <div actionsContent *ngIf=\"this.facade.layout.showActionBar$ | async\">\r\n <alg-action-panel\r\n #actionComponent\r\n [entityKey]=\"this.getEntityKey()\"\r\n [guid]=\"this.guid\"\r\n [title]=\"this.actionTitle\"\r\n [searchText]=\"this.actionBarSearchText\">\r\n <ng-content select=\"[actionsPanelContent]\"> </ng-content>\r\n </alg-action-panel>\r\n </div>\r\n \r\n <div middleHeader \r\n *ngIf=\"this.facade.layout.showFilterSummary$ | async\"\r\n >\r\n <alg-filter-summary-panel [entityKey]=\"this.getEntityKey()\" [guid]=\"this.guid\">\r\n </alg-filter-summary-panel>\r\n </div>\r\n\r\n <ng-container middleContent>\r\n <div class=\"panel-middle-content\" [class.with-filters]=\"this.HasFilter\">\r\n <ng-container *ngIf=\"!isCardVisible\">\r\n <alg-data-grid #datagrid [entityKey]=\"getEntityKey()\" [guid]=\"this.guid\">\r\n </alg-data-grid>\r\n </ng-container>\r\n <!-- <alg-list-display \r\n #listDisplayComponent\r\n [entityKey]=\"getEntityKey()\"\r\n [guid]=\"this.guid\"\r\n >\r\n </alg-list-display> -->\r\n </div>\r\n <ng-container *ngIf=\"isCardVisible\">\r\n <ng-content #itemListComponent></ng-content>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container rightContent>\r\n <alg-editor #editor [entityKey]=\"getEntityKey()\" [guid]=\"this.guid\">\r\n </alg-editor>\r\n </ng-container>\r\n\r\n <div middleFooter>\r\n <alg-validation-error\r\n #validationErrorComponent\r\n ></alg-validation-error>\r\n <alg-new-paginator *ngIf=\"this.facade.layout.showPaginator$ | async\"\r\n [entityKey]=\"getEntityKey()\" \r\n [guid]=\"this.guid\"\r\n [log]=\"this.log\"\r\n >\r\n </alg-new-paginator>\r\n </div>\r\n </alg-standard-page-layout>\r\n</div>\r\n","import { Utilities } from '@dflat-core/web/core';\nimport { ApplicationService, BaseComponent, DialogType } from '@dflat-core/web/core-ux';\nimport { CustomFieldGroupItemFilterViewModel, CustomFieldGroupItemView, CustomFieldGroupTypes } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys, SystemMenuItemProvider, SystemPermissions } from '@dflat-core/web/system-root';\nimport { CustomFieldActionService } from '../../services/custom-field-action-service';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { takeUntil } from 'rxjs';\nimport { ToastrService } from 'ngx-toastr';\nimport { CustomFieldGroupItemDataService } from '@dflat-core/web/system-data';\n\n@Component({\n selector: 'msw-custom-field-group-item',\n templateUrl: '../../../../../core-ux/src/lib/v2/components/base-component/base-template.component.html',\n standalone: false\n})\nexport class CustomFieldGroupItemComponent extends BaseComponent<CustomFieldGroupItemFilterViewModel,CustomFieldGroupItemView> {\n private initializationParams: Partial<CustomFieldGroupItemView> | null = null;\n\n getTitle(): string {\n return \"Liste des attributs\";\n }\n getPath(): string {\n return SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n getEntityKey(): string {\n return SystemEntityKeys.CustomFieldGroupItem;\n }\n get PermissionKey(): string{\n return SystemPermissions.ADMIN_CUSTOM_FIELDS;\n }\n\n constructor(app: ApplicationService,\n protected route: ActivatedRoute,\n private cfactionService: CustomFieldActionService,\n private customFieldGroupItemDataService : CustomFieldGroupItemDataService,\n private toastr: ToastrService)\n {\n super(app, route);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.cfactionService.onCustomFieldGroupAddSubject.asObservable().pipe(takeUntil(this.destroy$))\n .subscribe(()=>{ this.performLoadData();});\n\n // Override add action to include initialization parameters (MetaEntityId) from parent context\n this.facade.actions.patch('add', {\n action: () => {\n const initParams = this.getInitializationParameters();\n if (!Utilities.IsNil(initParams)) {\n this.facade.selection.createNewEntity(initParams);\n }\n this.cfactionService.addCustomFieldtoGroup(this.Filter.GroupId, initParams);\n },\n getParameter: () => this.getInitializationParameters()\n });\n\n // Override delete action for Schema group field deletion with safety check\n this.facade.actions.patch('delete',\n {\n action: () => {\n const selectedItems = this.facade.selection.Selected;\n if (!selectedItems || selectedItems.length === 0) {\n this.toastr.error('Aucun élément sélectionné');\n return;\n }\n const item = selectedItems[0];\n \n if (item.CustomFieldGroupType === CustomFieldGroupTypes.Schema) {\n this.checkAndDeleteSchemaField(item);\n } else {\n this.proceedWithDelete(item, false);\n }\n\n },\n isActive: () => {\n const selected = this.facade.selection.Selected;\n return selected && selected.length > 0;\n }\n });\n }\n\n private checkAndDeleteSchemaField(item: CustomFieldGroupItemView): void {\n const groupId = item?.GroupId;\n if (!groupId) {\n this.toastr.error('Groupe non identifié');\n return;\n }\n\n this.customFieldGroupItemDataService.checkSchemaFieldDeletion(item)\n .subscribe({\n next: (response: any) => {\n if (!response.Success) {\n if (response.Warnings?.includes('REFERENCE_PRESENT')) {\n this.toastr.warning(response.ErrorMessage);\n } else if (response.Warnings?.includes('DATA_PRESENT')) {\n this.showDataCheckDialog(response, item);\n } else {\n this.toastr.error(response.ErrorMessage);\n }\n return;\n }\n\n this.toastr.success(response.ErrorMessage);\n this.proceedWithDelete(item, true);\n },\n error: (error) => {\n this.toastr.error('Erreur lors de la vérification: ' + error.message);\n }\n });\n }\n\n private showDataCheckDialog(response: any, item: CustomFieldGroupItemView): void {\n const message = `Ce champ contient des données. Choisissez une action:\\n${response.ErrorMessage}`;\n this.alertService.showDialog(\n message,\n DialogType.Confirm,\n () => {this.proceedWithDelete(item, false);},\n () => {},\n 'Désactiver',\n 'Annuler',\n 'Suppression de champ'\n ).subscribe();\n }\n\n private proceedWithDelete(item: CustomFieldGroupItemView, isHardDelete: boolean): void {\n this.facade.actions.executeAction('delete', true);\n }\n\n private getInitializationParameters(): Partial<CustomFieldGroupItemView> | null {\n return this.initializationParams;\n }\n\n public setInitializationParameters(params: Partial<CustomFieldGroupItemView>): void {\n this.initializationParams = params;\n }\n\n}\n","import { Action, ApplicationService, BaseComponent, OrderableModalService } from '@dflat-core/web/core-ux';\nimport {\n CustomFieldGroup,\n CustomFieldGroupFilterViewModel,\n CustomFieldGroupItemFilterViewModel,\n CustomFieldGroupItemView,\n CustomFieldGroupTypes,\n} from '@dflat-core/web/system-model';\nimport {\n SystemEntityKeys,\n SystemMenuItemProvider,\n SystemPermissions,\n} from '@dflat-core/web/system-root';\nimport { CustomFieldGroupItemDataService } from '@dflat-core/web/system-data';\nimport { CustomFieldGroupItemComponent } from './custom-field-group-item/custom-field-group-item.component';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { SelectionType } from '@swimlane/ngx-datatable';\nimport { takeUntil } from 'rxjs';\nimport { Utilities } from '@dflat-core/web/core';\n\n@Component({\n selector: 'alg-custom-field-group',\n templateUrl: '../../../../core-ux/src/lib/v2/components/base-component/base-template.component.html',\n standalone: false\n})\nexport class CustomFieldGroupComponent extends BaseComponent<\n CustomFieldGroupFilterViewModel,\n CustomFieldGroup\n> {\n\n FIELD_OPTIONS_SECTION: string = \"Attributs\";\n private initializationParams: Partial<CustomFieldGroup> | null = null;\n\n getTitle(): string {\n return \"Familles d'attributs\";\n }\n getPath(): string {\n return SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n getEntityKey(): string {\n return SystemEntityKeys.CustomFieldGroup;\n }\n get PermissionKey(): string {\n return SystemPermissions.ADMIN_CUSTOM_FIELDS;\n }\n\n constructor(\n app: ApplicationService,\n route: ActivatedRoute,\n private itemDataService: CustomFieldGroupItemDataService,\n private orderableModal: OrderableModalService,\n ) {\n super(app, route); \n }\n \n ngOnInit(): void {\n super.ngOnInit();\n\n this.facade.selection.setSelectionType(SelectionType.single);\n this.facade.selection.selected$.pipe(takeUntil(this.destroy$))\n .subscribe((selected) => {\n this.facade.setReadOnlyMode(this.isSchemaGroup(selected));\n });\n\n // Override add action to include initialization parameters (MetaEntityId, CustomFieldGroupType) from parent context\n this.facade.actions.patch('add', {\n getParameter: () => this.getInitializationParameters()\n });\n\n this.facade.sections.registerSection(this.FIELD_OPTIONS_SECTION,\n CustomFieldGroupItemComponent,\n {\n filterOverride : (selected) => {\n const filter: CustomFieldGroupItemFilterViewModel = {\n GroupId: selected && selected.length > 0 ? selected[0].Id : -1,\n SortColumn : 'OrderNumber',\n SortDirection : 'ASC',\n Offset: 0,\n Take: 25\n };\n return filter;\n },\n selectionOverride : (component: CustomFieldGroupItemComponent, selected : CustomFieldGroup[]) => {\n const initParams = {\n MetaEntityId: selected[0]?.MetaEntityId ?? -1,\n CustomFieldGroupType:CustomFieldGroupTypes.Extension\n } as Partial<CustomFieldGroupItemView>;\n component.setInitializationParameters(initParams);\n }\n });\n const actionToAdd = new Action(\"Modifier l'ordre\",null, true, true, false, 'arrow-up-1-9', 'bg-orange', () => this.openOrderModal(),null,() => true);\n this.facade.actions.addAction(actionToAdd);\n }\n\n private isSchemaGroup(selected: CustomFieldGroup[]): boolean {\n return selected?.[0]?.CustomFieldGroupType === CustomFieldGroupTypes.Schema;\n }\n\n private getInitializationParameters(): Partial<CustomFieldGroup> | null {\n return this.initializationParams;\n }\n\n public setInitializationParameters(params: Partial<CustomFieldGroup>): void {\n this.initializationParams = params;\n }\n\n\n private openOrderModal(): void {\n const selected = this.facade.selection.getSelected();\n if (!selected?.length) return;\n const group = selected[0];\n\n type GroupItemToOrder = { id: number; order: number; label: string; source: CustomFieldGroupItemView };\n\n const itemFilter: CustomFieldGroupItemFilterViewModel = {\n GroupId: group.Id,\n Offset: 0,\n Take: 1000,\n SortColumn: 'OrderNumber',\n SortDirection: 'asc',\n };\n\n this.itemDataService.search(itemFilter).subscribe(pagedResult => {\n const items: GroupItemToOrder[] = (pagedResult.Values ?? []).map(i => ({\n id: i.Id,\n order: i.OrderNumber ?? 1,\n label: i.CustomFieldName ?? '',\n source: i,\n }));\n\n this.orderableModal.open<GroupItemToOrder>({\n title: 'Ordonner les attributs',\n subtitle: group.Label,\n items,\n columns: [\n { label: 'Attribut', key: 'label' },\n { label: 'Ordre', key: 'order' },\n ],\n displayName: i => i.label,\n confirmLabel: 'Appliquer',\n }).then(modalResult => {\n if (!modalResult) return;\n\n const toSave: CustomFieldGroupItemView[] = modalResult.orderedItems.map(i => ({\n ...i.source,\n OrderNumber: i.order,\n }));\n\n this.itemDataService.saveEntities(toSave).subscribe(() => {\n this.facade.sections.setSectionDirty(this.FIELD_OPTIONS_SECTION);\n });\n });\n });\n }\n}\n","import { Utilities } from '@dflat-core/web/core';\nimport {\n AlertService,\n FacadeModalService,\n MessageSeverity\n} from '@dflat-core/web/core-ux';\nimport {\n CustomFieldGroupEntityDataService,\n CustomFieldGroupItemDataService,\n CustomFieldOptionsDataService,\n MetaEntityFieldDataService,\n} from '@dflat-core/web/system-data';\nimport {\n CustomField,\n CustomFieldGroup,\n CustomFieldGroupEntityView,\n CustomFieldGroupItemView,\n CustomFieldOptions,\n MetaEntityField\n} from '@dflat-core/web/system-model';\nimport { CustomFieldComponent } from '../custom-field/custom-field.component';\nimport { CustomFieldGroupComponent } from '../custom-field-group/custom-field-group.component';\nimport { CustomFieldOptionsEditorComponent } from '../custom-field-options/custom-field-options-editor.component';\nimport { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable()\nexport class CustomFieldActionService {\n constructor(\n public alertService: AlertService,\n private customFieldOptionsDataService: CustomFieldOptionsDataService,\n private customFieldGroupItemDataService: CustomFieldGroupItemDataService,\n private customFieldGroupEntityDataService: CustomFieldGroupEntityDataService,\n private metaEntityFieldDataService: MetaEntityFieldDataService,\n private selector: FacadeModalService\n ) {}\n\n onCustomFieldAddSubject = new Subject<MetaEntityField>();\n addCustomField(metaEntityKey: string, existentCustomFields: number[]) {\n this.selector\n .openSelectorModal(\n 'Ajout des attributs',\n CustomFieldComponent,\n (component) => {}\n )\n .subscribe((res: CustomField[]) => {\n // subscription.unsubscribe();\n\n let models: MetaEntityField[] = [];\n res.forEach((element) => {\n var mef: MetaEntityField = {\n MetaEntityKey: metaEntityKey,\n CustomFieldId: element.Id,\n };\n models.push(mef);\n });\n if (models.length > 0)\n this.metaEntityFieldDataService\n .saveEntities(models)\n .subscribe(\n (result) => {\n if (result.Success)\n this.alertService.showMessage(\n `Attributs`,\n `L'ajout de l'attribut a été effectuée avec succès`,\n MessageSeverity.Success\n );\n else this.alertService.handleSaveError(result);\n },\n (err) => {\n this.alertService.showMessage(\n 'Erreur',\n err.error.Message,\n MessageSeverity.Error\n );\n },\n () => {\n this.onCustomFieldAddSubject.next({});\n }\n );\n return res;\n });\n }\n\n private onCustomFieldOptionAddSubject = new Subject<CustomFieldOptions>();\n customFieldOptionAdded$: Observable<CustomFieldOptions> =\n this.onCustomFieldOptionAddSubject.asObservable()!;\n addCustomFieldOption(customFieldId: number) {\n let modal = this.selector\n .openEditorModal(\n \"Ajout option d'attribut\",\n CustomFieldOptionsEditorComponent,\n (component: CustomFieldOptionsEditorComponent) => {},\n {}\n )\n .subscribe((component: CustomFieldOptionsEditorComponent) => {\n if (!component.isCancel) {\n var entity = component.entityViewModel.ViewModel;\n this.customFieldOptionsDataService\n .saveEntity(entity)\n .subscribe(\n (res) => {\n if (res.Success)\n this.alertService.showMessage(\n \"Option d'attribut\",\n `L'option a été ajoutée avec succès`,\n MessageSeverity.Success\n );\n else this.alertService.handleSaveError(res);\n },\n (err) => {\n this.alertService.showMessage(\n 'Erreur',\n err.error.Message,\n MessageSeverity.Error\n );\n },\n () => {\n this.onCustomFieldOptionAddSubject.next(entity);\n }\n );\n }\n });\n\n return modal;\n }\n\n onCustomFieldGroupAddSubject = new Subject<CustomFieldGroup>();\n addCustomFieldtoGroup(groupId: number, initParams?: Partial<CustomFieldGroupItemView>) {\n this.selector\n .openSelectorModal('Ajout des attributs', CustomFieldComponent)\n .subscribe((res: CustomField[]) => {\n let models: CustomFieldGroupItemView[] = res\n .map((element) => {return {\n GroupId: groupId,\n CustomFieldId: element.Id,\n ...initParams\n } as CustomFieldGroupItemView});\n if (models.length > 0)\n this.customFieldGroupItemDataService\n .saveEntities(models)\n .subscribe(\n (result) => {\n if (result.Success)\n this.alertService.showMessage(\n `Attributs`,\n `L'ajout de l'attribut a été effectuée avec succès`,\n MessageSeverity.Success\n );\n else this.alertService.handleSaveError(result);\n },\n (err) => {\n this.alertService.showMessage(\n 'Erreur',\n // err.error.Message,\n \"Une erreur s'est produite lors de l'ajout de l'attribut à la famille\",\n MessageSeverity.Error\n );\n },\n () => {\n this.onCustomFieldGroupAddSubject.next({});\n }\n );\n return res;\n });\n }\n\n onCustomFieldGroupEntityAddSubject = new Subject<CustomFieldGroup>();\n addCustomFieldGroupEntity(entityId: number, entityKey: string) {\n \n if (Utilities.IsNil(entityKey))\n throw new Error('Le paramètre entityKey n\\'est pas spécifié !');\n\n this.selector\n .openSelectorModal(\n \"Ajouter une famille d'attributs\",\n CustomFieldGroupComponent,\n (component) => {}\n )\n .subscribe((res: CustomFieldGroup[]) => {\n if(Utilities.IsNil(res))\n return;\n let models: CustomFieldGroupEntityView[] = [];\n res.forEach((element) => {\n var cfge: CustomFieldGroupEntityView = {\n CustomFieldGroupId: element.Id,\n EntityId: entityId,\n EntityKey: entityKey,\n };\n models.push(cfge);\n });\n if (models.length > 0)\n this.customFieldGroupEntityDataService\n .saveEntities(models)\n .subscribe(\n (result) => {\n if (result.Success)\n this.alertService.showMessage(\n `Famille d'attribut`,\n `L'ajout des familles d'attribut a été effectuée avec succès`,\n MessageSeverity.Success\n );\n else this.alertService.handleSaveError(result);\n },\n (err) => {\n this.alertService.showMessage(\n 'Erreur',\n \"Une erreur s'est produite lors de l'ajout des familles d'attributs \",\n MessageSeverity.Error\n );\n },\n () => {\n this.onCustomFieldGroupEntityAddSubject.next(\n {}\n );\n }\n );\n return res;\n });\n }\n}\n","import { Utilities } from '@dflat-core/web/core';\nimport { Action, ApplicationService, BaseComponent } from '@dflat-core/web/core-ux';\nimport {\n CustomFieldOptions,\n CustomFieldOptionsFilterViewModel,\n} from '@dflat-core/web/system-model';\nimport {\n SystemEntityKeys,\n SystemMenuItemProvider,\n SystemPermissions,\n} from '@dflat-core/web/system-root';\nimport { CustomFieldActionService } from '../services/custom-field-action-service';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { takeUntil } from 'rxjs';\n\n@Component({\n selector: 'alg-custom-field-options',\n templateUrl: '../../../../core-ux/src/lib/v2/components/base-component/base-template.component.html',\n standalone: false\n})\nexport class CustomFieldOptionsComponent extends BaseComponent<\n CustomFieldOptionsFilterViewModel,\n CustomFieldOptions\n> {\n getTitle(): string {\n return \"Options\";\n }\n getPath(): string {\n return SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n getEntityKey(): string {\n return SystemEntityKeys.CustomFieldOptions;\n }\n get PermissionKey(): string {\n return SystemPermissions.ADMIN_CUSTOM_FIELDS;\n }\n\n constructor(\n app: ApplicationService,\n route: ActivatedRoute,\n private customFieldActionService: CustomFieldActionService\n ) {\n super(app, route);\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.facade.actions.hideAction('edit');\n const actionsToAdd = [\n new Action(\"Passer en avant\",null, true, true, false, 'triangle-up', 'bg-orange', () => this.upDisplayOrder(),null,() => true),\n new Action(\"Passer en arrière\",null, true, true, false, 'triangle-down', 'bg-orange', () => this.downDisplayOrder(),null,() => true),\n new Action(\"Définir par défaut\",null, true, true, false, 'circle-check-solid', 'bg-orange', () => this.setIsDefault(),null,() => this.canSetIsDefault())\n ];\n this.facade.actions.addActions(actionsToAdd);\n this.facade.actions.patch('add', {\n action : () => this.add() , \n isActive : () => { return !Utilities.IsNil(this.Filter) && this.Filter.CustomFieldId > 0 }\n });\n \n this.customFieldActionService.customFieldOptionAdded$.pipe(takeUntil(this.destroy$))\n .subscribe(()=>{ this.performLoadData();});\n\n }\n\n add () {\n let partial : Partial<CustomFieldOptions> \n = { CustomFieldId : this.Filter.CustomFieldId };\n const hasSelection = this.facade.selection.hasSelection();\n \n this.facade.selection.createNewEntity(partial);\n let item = this.facade.selection.Selected[0];\n if(!hasSelection){\n item.IsDefault = true;\n item.IsDefaultImage = this.img;\n }\n }\n \n upDisplayOrder(){\n const entity = this.selectedEntities[0];\n if(entity.DisplayOrder - 1 < 0)\n return;\n \n // update selected row\n const oldDisplayOrder : number = entity.DisplayOrder;\n const item = {...entity}; \n item.DisplayOrder -= 1;\n let toSave = [item];\n // update next row\n const next = this.facade.selection.getCurrentData()\n .find(x => x.DisplayOrder == oldDisplayOrder - 1);\n if(!Utilities.IsNil(next)) {\n next.DisplayOrder += 1;\n toSave.push(next);\n }\n this.facade.change.emitUpdated(toSave);\n }\n\n downDisplayOrder(){\n\n const entity = this.selectedEntities[0];\n if(entity.DisplayOrder + 1 > this.facade.filter.totalItems$.value)\n return;\n // update selected row\n const oldDisplayOrder : number = entity.DisplayOrder;\n const item = {...entity} \n item.DisplayOrder += 1;\n let toSave = [item];\n \n // update previous row\n const previous = this.facade.selection.getCurrentData()\n .find(x => x.DisplayOrder == oldDisplayOrder + 1); \n if(!Utilities.IsNil(previous)){\n previous.DisplayOrder -= 1;\n toSave.push(previous);\n }\n this.facade.change.emitUpdated(toSave);\n }\n\n img =\"iVBORw0KGgoAAAANSUhEUgAAABgAAAAgCAYAAAAIXrg4AAACRElEQVRIS+2VMWhTURSG/3PvyyuSQQrlvdbBKkWQiiLqWivFQVDbJsXiIiIIFjcnBRcHFx1cOzkoiFBsHooIHaqQjopgQQcpDkHb5EXQxdTmvXeOJBhJ6ktz01hw6Nsu97//d8+555xH2OKPttgf24CWGf6/UiQZ16lcmdIFv+XVfwvaiqDs9T6EQOx0/uI/BwRe7wmCvKoYi1LDibGVrAnEKAKZOWCH9td3JNhfBYh8sIr+YbqCoBXECBBl3JtCuF1vRkQ39Hj+TscAeebuDSJ+r6B21Jsx849Ewhqk0ZXcRpDYCGS2py/S+jggQxzJaaXUniYmnwC8AGhBB1GWJov59bo/gNBzLoAxAkVDAAZahR67z1gCYQGQeSvtP6qWdE0YZZwpIZrelPHfhy5bqcL9BkBlEWTce0S41glEWO4mJvzrNY+GN5BbUNEh1wNhdFMQplmdzp8jgsQCqjU+5ya5JFkBHWkPwq910DVMk59XG8o5zkSe9uwqs36jgT4TiAi+WCEf27CK1huFnjMP0IgJAKA5K5U/Fadt2snRE3dRNA6aAAjyVqf8o20B1jx32TRFDMnZKb+/LUDZc9YUyDaJgJlL9kQxaQyQme6dUcL+XjvA4FUF9ZiVqjaiivgqE5+vn0/a0kk6u1xqOirqN8RzBiLQkoA+Ksi0SnQ9oDO5bw2a57u7ufzzEhNNEbBPa9UfN/iaDrtQ6UFrvPCyvmliS1pAoeectDQWacwvGEVgkndTjdEPx9TM+JE7MdxOUdvZ+wVUzsIhexJVnQAAAABJRU5ErkJggg==\";\n\n setIsDefault() { \n const datas = this.facade.selection.getCurrentData();\n const oldDefault = datas.find(x=>x.IsDefault);\n\n const selected = this.selectedEntities[0];\n selected.IsDefault = true;\n selected.IsDefaultImage = this.img;\n let toSave = [selected];\n\n if(oldDefault){\n oldDefault.IsDefault = false;\n oldDefault.IsDefaultImage = null;\n toSave.push(oldDefault);\n }\n this.facade.change.emitUpdated(toSave);\n }\n\n canSetIsDefault() : boolean {\n return !this.selectedEntities[0].IsDefault;\n }\n}\n","import { ApplicationService, IActionComponent, IIsCancel, NewEditorComponent } from '@dflat-core/web/core-ux';\nimport { CustomField } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys, SystemMenuItemProvider } from \"@dflat-core/web/system-root\";\nimport { Component } from \"@angular/core\";\nimport { ActivatedRoute } from '@angular/router';\n\n\n@Component({\n selector: 'alg-custom-field-editor',\n templateUrl: '../../../../core-ux/src/lib/v2/components/new-editor/new-editor.component.html',\n standalone: false\n})\n\nexport class CustomFieldEditorComponent extends NewEditorComponent<CustomField> implements IIsCancel,IActionComponent\n{\n getEntityKey(): string {\n return SystemEntityKeys.CustomField;\n }\n\n getTitle(withId: boolean): string {\n return withId ? ((this.id === \"0\") ? ('Nouvel attribut') : ('Attribut (' + this.id + ')')): 'Attributs';\n }\n\n getPath(withId: boolean): string {\n return withId ? SystemMenuItemProvider.GetLink(this.getEntityKey()) + '/' + this.id : SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n\n constructor(app : ApplicationService, route : ActivatedRoute) {\n super(app, route);\n }\n\n public isCancel: boolean = false;\n\n}\n","import { ApplicationService, BaseComponent } from '@dflat-core/web/core-ux';\nimport { News, NewsFilterViewModel } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys, SystemMenuItemProvider, SystemPermissions } from '@dflat-core/web/system-root';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'alg-news',\n templateUrl: '../../../../core-ux/src/lib/v2/components/base-component/base-template.component.html',\n standalone: false\n})\nexport class NewsComponent extends BaseComponent<NewsFilterViewModel, News> {\n\n getTitle(): string {\n return 'News';\n }\n getPath(): string {\n return SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n getEntityKey(): string {\n return SystemEntityKeys.News;\n }\n get PermissionKey(): string{\n return SystemPermissions.ADMIN_NEWS;\n }\n\n getIcon(): string {return 'envelope'};\n\n EntityKey: string = 'News';\n\n \n constructor(app: ApplicationService,\n protected route: ActivatedRoute)\n {\n super(app, route); \n\n \n }\n}\n","import { TreeItem, TreeviewConfig, TreeviewItem } from '@samotics/ngx-treeview';\n\nimport { Utilities } from '@dflat-core/web/core';\nimport { EntityViewModelWithFields, FilterDescriptor } from '@dflat-core/web/core-model';\nimport { ApplicationService, BaseEditorComponent } from '@dflat-core/web/core-ux';\nimport { News } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys, SystemMenuItemProvider } from '@dflat-core/web/system-root';\nimport { Component, ViewChild } from '@angular/core';\nimport { AngularEditorConfig } from '@kolkov/angular-editor';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'alg-news-editor',\n templateUrl: './news-editor.component.html',\n standalone: false\n})\nexport class NewsEditorComponent extends BaseEditorComponent<News> {\n\n getEntityKey(): string {\n return SystemEntityKeys.News;\n }\n \n getTitle(withId: boolean): string {\n return withId ? ((this.id === \"0\") ? ('Nouvelle news') : ('News (' + this.id + ')')): 'News';\n }\n \n getPath(withId: boolean): string {\n return withId ? SystemMenuItemProvider.GetLink(this.getEntityKey()) + '/' + this.id : SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n \n public field: FilterDescriptor = {};\n public fields: FilterDescriptor[] = [];\n public roleFieldDescriptor: FilterDescriptor = {};\n uniqueId: string = Utilities.uniqueId();\n @ViewChild('f', {static: false})\n public form;\n showValidationErrors: boolean = true;\n\n constructor(app : ApplicationService, route : ActivatedRoute) {\n super(app, route); \n }\n\n \n\n\n //#region Editor Config\n\n config: AngularEditorConfig = {\n editable: true,\n spellcheck: true,\n height: '15rem',\n minHeight: '5rem',\n placeholder: 'Entrer le texte ici...',\n translate: 'no',\n customClasses: [\n {\n name: \"quote\",\n class: \"quote\",\n },\n {\n name: 'redText',\n class: 'redText'\n },\n {\n name: \"titleText\",\n class: \"titleText\",\n tag: \"h1\",\n },\n ]\n }\n //#endregion Editor Config\n\n OnLoadingComplete(entity: EntityViewModelWithFields<News>) {\n if (this.entityViewModel.ViewModel.TreeItems) {\n this.entityViewModel.ViewModel.TreeItems.forEach(f => this.items.push(new TreeviewItem(<TreeItem> f)));\n }\n }\n\n onSelectChange($event) {\n console.log('selection changed:', $event);\n this.values = $event;\n setTimeout(() => {\n this.form.form.markAsTouched();\n });\n }\n\n onFilterChange(value: string) {\n console.log('filter:', value);\n }\n items: TreeviewItem[] = [];\n values: number[];\n treeConfig = TreeviewConfig.create({\n hasAllCheckBox: true,\n hasFilter: true,\n hasCollapseExpand: true,\n decoupleChildFromParent: false,\n maxHeight: 400,\n });\n\n}\n","<div>\r\n <form class=\"dynamic-form\" name=\"roleForm\" #f=\"ngForm\" novalidate>\r\n <div ngFor=\"let field of fields\">\r\n <div *ngIf=\"field.IsHidden\">\r\n <div [hidden]=\"true\" class=\"form-group has-feedback\">\r\n <label [htmlFor]=\"field.PropertyName\">{{ field.Label }}</label>\r\n <input class=\"form-control\" [formControlName]=\"field.PropertyName\" [id]=\"field.PropertyName\" [type]=\"field.InputType\">\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!--Title-->\r\n <div *ngIf=\"entityViewModel.ViewModel\" class=\"form-group has-feedback\">\r\n <label class=\"col-md-3 control-label\" for=\"Title-{{uniqueId}}\">Title</label>\r\n <div class=\"col-md-9\" [ngClass]=\"{'has-success': f.submitted && Title.valid, 'has-error' : f.submitted && !Title.valid}\">\r\n <input type=\"text\" attr.id=\"Title-{{uniqueId}}\" name=\"Title\" placeholder=\"Title\" class=\"form-control\"\r\n [(ngModel)]=\"entityViewModel.ViewModel.Title\" #Title=\"ngModel\" required [ngClass]=\"{'dflat-valid': Title.valid, 'dflat-invalid' : !Title.valid}\" />\r\n <span *ngIf=\"showValidationErrors && f.submitted\" class=\"glyphicon form-control-feedback\" [ngClass]=\"{'glyphicon-ok ': Title.valid, 'glyphicon-remove' : !Title.valid}\"></span>\r\n <span *ngIf=\"showValidationErrors && f.submitted && !Title.valid\" class=\"errorMessage\">\r\n Le Titre est un champ obligatoire.\r\n </span>\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n <!--Enabled-->\r\n <div *ngIf=\"entityViewModel.ViewModel\" class=\"form-group has-feedback\">\r\n <label class=\"col-md-3\" for=\"Enabled-{{uniqueId}}\">\r\n <input attr.id=\"Enabled-{{uniqueId}}\" type=\"checkbox\" name=\"Enabled\" [(ngModel)]=\"entityViewModel.ViewModel.Enabled\"\r\n #Enabled=\"ngModel\">Active\r\n </label>\r\n </div>\r\n\r\n \r\n\r\n <!--News Editor-->\r\n <div *ngIf=\"entityViewModel.ViewModel\" class=\"form-group has-feedback\">\r\n <div class=\"col-md-12\">\r\n <angular-editor attr.id=\"Content-{{uniqueId}}\" [(ngModel)]=\"entityViewModel.ViewModel.Content\" name=\"Content\"\r\n #Content=\"ngModel\" required>\r\n </angular-editor>\r\n <span *ngIf=\"showValidationErrors && f.submitted && !Content.valid\" class=\"errorMessage\">\r\n Le contenu est un champ obligatoire.\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <!--Users Tree View-->\r\n <div class=\"form-group has-feedback\">\r\n <label class=\"col-md-3\" >Utilisateurs</label>\r\n <div class=\"col-md-9\" >\r\n <ngx-treeview [config]=\"treeConfig\" [items]=\"items\" (filterChange)=\"onFilterChange($event)\"\r\n (selectedChange)=\"onSelectChange($event)\">\r\n </ngx-treeview>\r\n </div>\r\n </div>\r\n\r\n <!--******************************************************************************************************-->\r\n <div class=\"clearfix\">\r\n <div class=\"pull-right\">\r\n <button type=\"button\" class=\"btn btn-danger\" (click)=\"onCancel()\">Annuler</button>\r\n <button type=\"submit\" (click)=\"onSave(false)\" class=\"btn btn-success\" [disabled]=\"!f.form.touched\">Sauvegarder</button>\r\n </div>\r\n </div>\r\n </form>\r\n</div>\r\n","import { ApplicationService, BaseComponent } from '@dflat-core/web/core-ux';\nimport { Permission, PermissionFilterViewModel } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys, SystemMenuItemProvider, SystemPermissions } from '@dflat-core/web/system-root';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'alg-permission',\n templateUrl: '../../../../core-ux/src/lib/v2/components/base-component/base-template.component.html',\n standalone: false\n})\nexport class PermissionComponent extends BaseComponent<PermissionFilterViewModel, Permission> {\n\n getTitle(): string {\n return 'Permissions';\n }\n getPath(): string {\n return SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n getEntityKey(): string {\n return SystemEntityKeys.Permission;\n }\n get PermissionKey(): string{\n return SystemPermissions.ADMIN_PERMISSIONS;\n }\n\n getIcon(): string {return 'circle-check-solid'};\n\n \n constructor(app: ApplicationService,\n protected route: ActivatedRoute)\n {\n super(app, route); \n \n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.filterAction('add');\n this.filterAction('delete');\n this.facade.layout.setFixedLayout({ IsVerticalLayout : true, PropertyFlexGrow : 30 });\n }\n}\n","\nimport { ApplicationService, BaseEditorComponent } from '@dflat-core/web/core-ux';\nimport { Permission } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys, SystemMenuItemProvider } from '@dflat-core/web/system-root';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'alg-permission-editor',\n templateUrl: '../../../../core-ux/src/lib/components/base-editor/base-editor.component.html',\n standalone: false\n})\nexport class PermissionEditorComponent extends BaseEditorComponent<Permission> {\n\n getEntityKey(): string {\n return SystemEntityKeys.Permission;\n }\n \n getTitle(withId: boolean): string {\n return withId ? ((this.id === \"0\") ? ('Nouvelle permission') : ('Permission (' + this.id + ')')): 'Permissions';\n }\n \n getPath(withId: boolean): string {\n return withId ? SystemMenuItemProvider.GetLink(this.getEntityKey()) + '/' + this.id : SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n constructor(app : ApplicationService, route : ActivatedRoute) {\n super(app, route); \n }\n}\n","<ng-container *ngIf=\"!isModal\">\r\n <div class=\"breadcrumb-panel\">\r\n <alg-breadcrumb></alg-breadcrumb>\r\n </div>\r\n</ng-container>\r\n\r\n<div class=\"editor-container\">\r\n <ng-container *ngIf=\"entityViewModel\">\r\n <ng-container *ngIf=\"entityViewModel\">\r\n <alg-property-grid\r\n #propertyGridComponent\r\n [validateAfterEachChange]=\"false\"\r\n (originalEntityChanged)=\"this.handleOriginalEntityChanged($event)\"\r\n [entityKey]=\"this.getEntityKey()\"\r\n (textZoneButtonClicked)=\"onTextZoneButtonClicked($event)\"\r\n (propertyModified)=\"this.propertyChanged($event)\"\r\n [specificSections]=\"specificSections\"\r\n >\r\n </alg-property-grid>\r\n </ng-container>\r\n\r\n <div *ngIf=\"showButtons\" class=\"footer-buttons\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-primary btn-flat\"\r\n [disabled]=\"!forceSaveButton && !dirty\"\r\n (click)=\"handleDialogButtonClick(false)\"\r\n >\r\n {{ saveButtonLabel }}\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-secondary btn-flat\"\r\n (click)=\"handleDialogButtonClick(true)\"\r\n >\r\n Annuler\r\n </button>\r\n </div>\r\n </ng-container>\r\n</div>\r\n","import { ApplicationService, BaseComponent } from '@dflat-core/web/core-ux';\nimport { RequestResultView, RequestResultFilterViewModel } from '@dflat-core/web/system-model';\nimport {\n SystemEntityKeys,\n SystemMenuItemProvider,\n SystemPermissions,\n} from '@dflat-core/web/system-root';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'alg-request-results',\n styleUrls: ['request-results.component.css'],\n templateUrl:\n '../../../../core-ux/src/lib/v2/components/base-component/base-template.component.html',\n standalone: false,\n})\nexport class RequestResultsComponent extends BaseComponent<\n RequestResultFilterViewModel,\n RequestResultView\n> {\n getTitle(): string {\n return 'Résultats';\n }\n getPath(): string {\n return SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n getEntityKey(): string {\n return SystemEntityKeys.RequestResult;\n }\n get PermissionKey(): string {\n return SystemPermissions.ADMIN_REQUESTS;\n }\n\n constructor(app: ApplicationService, protected route: ActivatedRoute) {\n super(app, route);\n }\n ngOnInit(): void {\n super.ngOnInit();\n // Masque les actions\n this.facade.actions.hideActions(['add','delete','save']);\n // Masque les propriétés\n this.facade.layout.disablePropertyPanel();\n }\n}\n","\nimport { ApplicationService, BaseEditorComponent } from '@dflat-core/web/core-ux';\nimport { RequestView } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys, SystemMenuItemProvider } from '@dflat-core/web/system-root';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'alg-request-editor',\n templateUrl: '../../../../core-ux/src/lib/components/base-editor/base-editor.component.html',\n standalone: false\n})\nexport class RequestEditorComponent extends BaseEditorComponent<RequestView> {\n \n getEntityKey(): string {\n return SystemEntityKeys.Request;\n }\n \n getTitle(withId: boolean): string {\n return withId ? ((this.id === \"0\") ? ('Nouvelle requête') : ('Requête (' + this.id + ')')): 'Requêtes';\n }\n \n getPath(withId: boolean): string {\n return withId ? SystemMenuItemProvider.GetLink(this.getEntityKey()) + '/' + this.id : SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n \n constructor(app : ApplicationService, route : ActivatedRoute) {\n super(app, route); \n }\n\n \n}\n","import { ApplicationService, BaseComponent } from '@dflat-core/web/core-ux';\nimport { AddressView, AddressViewFilterViewModel } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys, SystemMenuItemProvider, SystemPermissions } from '@dflat-core/web/system-root';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { takeUntil } from 'rxjs';\n\n@Component({\n selector: 'msw-address',\n templateUrl: '../../../../core-ux/src/lib/v2/components/base-component/base-template.component.html',\n standalone: false\n})\n\nexport class AddressComponent extends BaseComponent<AddressViewFilterViewModel, AddressView> {\n\n getTitle(): string {\n return 'Adresses';\n }\n getPath(): string {\n return SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n getEntityKey(): string {\n return SystemEntityKeys.Address;\n }\n get PermissionKey(): string{\n return SystemPermissions.DATABASE_COMPANY;\n }\n\n constructor(app: ApplicationService,\n protected route: ActivatedRoute) \n { \n super(app, route); \n }\n ngOnInit() {\n super.ngOnInit();\n \n\n this.facade.layout.setShowActionBar(true);\n\n\n this.facade.actions.patch('add', {\n // action : () => this.add(),\n getParameter : () => {\n return { EntityId : this.Filter.EntityId, EntityKey : this.Filter.EntityType} as Partial<AddressView>\n },\n });\n }\n\n // add(){\n // const entityKey = this.Filter.EntityType;\n // const entityId = this.Filter.EntityId;\n // let \n // //this.addAddressActionService.addNewAddress(vm, entityKey,entityId);\n // // this.app.selectorMapperService.openEditionModal(this.getEntityKey(),\"Ajouter une adresse\",dataInit);\n // }\n \n}\n","import { Utilities } from '@dflat-core/web/core';\nimport { ImageFormats } from '@dflat-core/web/core-model';\nimport { AuthService } from '@dflat-core/web/core-services';\nimport {\n Action,\n ActionsComponent,\n AlertService,\n DialogType,\n downloadFile,\n IActionComponent\n} from '@dflat-core/web/core-ux';\nimport { FileDataService } from '@dflat-core/web/system-data';\nimport {\n FileDescriptor,\n FileTypes,\n GetFileDescriptorsViewModel\n} from '@dflat-core/web/system-model';\nimport { Component, Input, OnInit, ViewChild } from '@angular/core';\nimport { forkJoin, Observable } from 'rxjs';\n\n@Component({\n selector: 'alg-entity-files',\n templateUrl: './entity-files.component.html',\n styleUrls: ['./entity-files.component.scss'],\n standalone: false,\n})\nexport class EntityFilesComponent implements IActionComponent, OnInit {\n \n // cast non base components into sections\n isSection?:boolean;\n\n @Input() entityId: number;\n @Input() entityKey: string;\n @Input() permissionKey: string;\n @ViewChild('actionComponent', { static: false })\n actionComponent: ActionsComponent;\n\n files: FileDescriptor[];\n originalFiles: FileDescriptor[];\n\n selected: FileDescriptor[] = [];\n actions: Action[];\n\n constructor(\n private fileService: FileDataService,\n private authService: AuthService,\n private alertService: AlertService\n ) {}\n\n ngOnInit(): void {\n this.refreshActions();\n this.actions = [ new Action('delete','Supprimer',false,true,true,'trash-o','bg-red',\n this.delete.bind(this),this.getActionPermissionKey('edit'),this.canDelete.bind(this)),];\n }\n\n handleCheckChanged(f: FileDescriptor) {\n if (f.IsSelected) this.selected.push(f);\n else {\n let index = this.selected.indexOf(f);\n if (index > -1) {\n this.selected.splice(index, 1);\n }\n }\n\n this.refreshActions();\n }\n\n refreshActions() {\n // Mise à jour des actions dans le menu\n if (!Utilities.IsNil(this.actionComponent))\n this.actionComponent.refreshActions();\n }\n\n handleActionSearchKeywords(keyword: string) {\n if (Utilities.IsNil(keyword) || keyword.length == 0)\n this.files = this.originalFiles;\n else\n this.files = this.originalFiles.filter(\n (f) =>\n f.IsSelected ||\n f.FileName.toLowerCase().includes(keyword.toLowerCase())\n );\n }\n\n toggleFilterView(): void {}\n showHistory(): void {}\n refresh(): void {}\n\n canDelete() {\n return (\n !Utilities.IsNil(this.selected) &&\n this.selected.length > 0\n );\n }\n getActionPermissionKey(action: 'add' | 'edit' | 'export' | any) {\n if (Utilities.IsNil(this.permissionKey)) {\n return null;\n }\n return `${this.permissionKey}.${action}`;\n }\n delete() {\n this.alertService.showDialog(\n 'Souhaitez-vous confirmer la suppression des fichiers sélectionnés ?',\n DialogType.Confirm,\n (res) => {\n this.fileService.deleteFiles(this.selected).subscribe({\n next: (deleteResult) => {\n if (deleteResult.Success) {\n this.loadData();\n } else {\n this.alertService.error(deleteResult.ErrorMessage);\n }\n },\n });\n },\n () => {},\n 'Oui',\n 'Non'\n );\n }\n // getFileName(FileD)\n public loadData() {\n let viewModel: GetFileDescriptorsViewModel = {\n EntityIds: [this.entityId],\n EntityKey: this.entityKey,\n };\n\n this.fileService.getFileDescriptors(viewModel).subscribe((res) => {\n this.originalFiles = res;\n this.files = res;\n this.selected = [];\n this.refreshActions();\n });\n }\n\n getImageUrl(extension: string) {\n let icon: string = 'file-solid';\n switch (extension.toLowerCase()) {\n case 'txt':\n icon = 'file-lines-solid';\n break;\n case 'csv':\n icon = 'file-csv-solid';\n break;\n case 'xls':\n case 'xlsx':\n icon = 'file-excel-solid';\n break;\n case 'doc':\n case 'docx':\n icon = 'file-word-solid';\n break;\n case 'pdf':\n icon = 'file-pdf-solid';\n break;\n case 'svg':\n case 'jpg':\n case 'gif':\n case 'png':\n case 'bmp':\n icon = 'file-image-solid';\n break;\n case 'log':\n icon = 'file-invoice-solid';\n break;\n case 'zip':\n icon = 'file-zipper-solid';\n break;\n default:\n break;\n }\n return `/assets/images/${icon}.svg`;\n }\n\n onDownloadFile(file: FileDescriptor) {\n this.fileService.getFile(file.FileId).subscribe(downloadFile);\n }\n\n onFileDrop(event) {\n if (\n Utilities.IsNil(event) ||\n Utilities.IsNil(event.addedFiles)\n )\n return;\n let permKey: string = `${this.permissionKey}.edit`;\n\n if (!this.authService.hasPermission(permKey)) {\n this.alertService.error(\n \"Vous n'avez pas l'autorisation d'ajouter des fichiers ici.\"\n );\n return;\n }\n\n // Création de la liste des fichiers à uploader\n let importedFiles: File[] = [];\n importedFiles.push(...event.addedFiles);\n\n // Vérification des conflits\n if (importedFiles.length > 0) {\n let toAdd: File[] = [];\n forkJoin(\n importedFiles.map((f) => {\n if (\n this.originalFiles.filter(\n (original) =>\n original.FileName.toLowerCase() ==\n f.name.toLowerCase()\n ).length > 0\n ) {\n let o = new Observable((o) => {\n this.alertService.showDialog(\n 'Souhaitez-vous écraser le fichier existant ?',\n DialogType.Confirm,\n (res) => {\n toAdd.push(f);\n o.next(f);\n o.complete();\n },\n () => {\n o.next(f);\n o.complete();\n },\n 'Oui',\n 'Non',\n `Le fichier ${f.name} existe déjà !`,\n 'Fichier existant'\n );\n });\n return o;\n } else {\n let o = new Observable((o) => {\n toAdd.push(f);\n o.next(f);\n o.complete();\n });\n return o;\n }\n })\n ).subscribe((res) => {\n forkJoin(\n toAdd.map((f) =>\n this.fileService.uploadFile(\n f,\n this.entityId,\n this.entityKey,\n FileTypes.Default,\n ImageFormats.Undefined,\n null\n )\n )\n ).subscribe((x) => this.loadData());\n });\n }\n }\n \n}\n","<alg-actions\r\n #actionComponent\r\n [title]=\"'Fichiers'\"\r\n [proxy]=\"this\"\r\n [showFilterButton]=\"false\"\r\n [showSearchBar]=\"true\"\r\n [showSearchButton]=\"false\"\r\n [showTitle]=\"false\"\r\n [showPaginator]=\"false\"\r\n [actions]=\"this.actions\"\r\n [selectedData]=\"this.selected\"\r\n >\r\n</alg-actions>\r\n\r\n<div class=\"drop-zone\" ngx-dropzone (change)=\"onFileDrop($event)\" [disableClick]=\"true\">\r\n <div class=\"file-container\" *ngFor=\"let f of files\">\r\n\r\n <div class=\"file-row\">\r\n <div style=\"line-height: 0;\">\r\n <input style=\"cursor: pointer;\"type=\"checkbox\" [(ngModel)]=\"f.IsSelected\" (ngModelChange)=\"handleCheckChanged(f)\">\r\n </div>\r\n \r\n <img [class]=\"f.Extension.toLowerCase()\" [src]=\"getImageUrl(f.Extension)\" [alt]=\"f.Extension\">\r\n <div class=\"span-filename\" (click)=\"onDownloadFile(f)\" data-toggle=\"tooltip\" [title]=\"f.FileName\">\r\n <span >{{f.FileName}}</span>\r\n </div>\r\n \r\n </div>\r\n\r\n <div class=\"file-info-container\">\r\n <div>{{f.LengthDescription}}</div>\r\n - \r\n <div>{{f.OwnerUser}}</div>\r\n - \r\n <div>{{f.LastModificationDate | date: 'dd/MM/yyyy HH:mm'}}</div>\r\n \r\n </div>\r\n\r\n </div>\r\n <!-- <ng-container *ngIf=\"this.files && this.files.length == 0\">\r\n Aucun fichier n'a été détecté\r\n </ng-container> -->\r\n</div>","import { EntityViewModel } from '@dflat-core/web/core-model';\nimport { EntityFacade, ISectionConfig, LogsComponent } from '@dflat-core/web/core-ux';\nimport { AddressView, AddressViewFilterViewModel, RequestFilterViewModel, RequestView } from '@dflat-core/web/system-model';\nimport { AddressComponent } from '../address/address.component';\nimport { EntityFilesComponent } from '../entity-files/entity-files.component';\nimport { RequestComponent } from '../request/request.component';\nimport { Injectable } from '@angular/core';\n\n@Injectable()\nexport class SystemSectionService {\n constructor() {}\n \n addAddressSection<TData extends EntityViewModel>(\n facade: EntityFacade<TData>,\n entityType: string,\n sectionConfig: ISectionConfig<AddressView, AddressViewFilterViewModel,TData> = null\n ) {\n let defaultConfig : ISectionConfig<AddressView, AddressViewFilterViewModel,TData> = {\n filterOverride: (selected : TData[]) => {\n const filter: AddressViewFilterViewModel = {\n EntityId: selected && selected.length > 0 ? selected[0].Id : -1,\n EntityType: entityType,\n };\n return filter;\n },\n }\n if (sectionConfig)\n defaultConfig = {...defaultConfig,...sectionConfig}\n\n facade.sections.registerSection('Adresses',AddressComponent,defaultConfig);\n }\n\n addFilesSection<TData extends EntityViewModel>(\n facade: EntityFacade<TData>,\n entityType: string,\n permissionKey : string,\n sectionConfig: ISectionConfig<any, any,TData> = null\n ) {\n let defaultConfig : ISectionConfig<any, any,TData> = {\n selectionOverride : (component : EntityFilesComponent,selected : TData[]) => {\n component.entityKey = entityType;\n component.entityId = selected[0].Id;\n component.permissionKey = permissionKey;\n component.loadData();\n }\n }\n if (sectionConfig)\n defaultConfig = {...defaultConfig,...sectionConfig}\n\n facade.sections.registerSection('Fichiers',EntityFilesComponent,defaultConfig);\n }\n \n addRequestSection<TData extends EntityViewModel>(\n facade: EntityFacade<TData>,\n entityType: string,\n sectionConfig: ISectionConfig<RequestView, RequestFilterViewModel,TData> = null, title:string=null\n ) {\n let defaultConfig : ISectionConfig<RequestView, RequestFilterViewModel,TData> = {\n filterOverride: (selected) => {\n const filter: RequestFilterViewModel = {\n EntityIds: [selected && selected.length > 0 ? selected[0].Id : -1],\n EntityKey: entityType,\n };\n return filter;\n },\n }\n if (sectionConfig)\n defaultConfig = {...defaultConfig,...sectionConfig}\n\n facade.sections.registerSection(title?title:'Requêtes',RequestComponent,defaultConfig);\n } \n}\n","import { ApplicationService, BaseComponent } from '@dflat-core/web/core-ux';\nimport {\n RequestFilterViewModel,\n RequestResultFilterViewModel,\n RequestView\n} from '@dflat-core/web/system-model';\nimport {\n SystemEntityKeys,\n SystemMenuItemProvider,\n SystemPermissions,\n} from '@dflat-core/web/system-root';\nimport { RequestResultsComponent } from '../request-results/request-results.component';\nimport { SystemSectionService } from '../services/system-section.service';\nimport { Component, Input } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'alg-request',\n templateUrl:\n '../../../../core-ux/src/lib/v2/components/base-component/base-template.component.html',\n standalone: false,\n})\nexport class RequestComponent extends BaseComponent<\n RequestFilterViewModel,\n RequestView\n> {\n @Input() entityKey: string;\n @Input() entityIds: number[];\n\n RESULT_SECTION: string = 'Résultats';\n \n getTitle(): string {\n return 'Requêtes';\n }\n getPath(): string {\n return SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n getEntityKey(): string {\n return SystemEntityKeys.Request;\n }\n get PermissionKey(): string {\n return SystemPermissions.ADMIN_REQUESTS;\n }\n\n constructor(app: ApplicationService, \n private systemSection : SystemSectionService,\n protected route: ActivatedRoute) {\n super(app, route);\n\n this.loadDataOnNotification = true;\n\n this.filterAction('add');\n this.filterAction('edit');\n this.filterAction('save');\n this.filterAction('delete');\n }\n\n \n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.facade.sections.registerSection(\n this.RESULT_SECTION,\n RequestResultsComponent,\n {\n layoutOverride : (component : RequestResultsComponent ) => {\n component.facade.layout.setShowActionTitle(false);\n component.facade.layout.setShowFilterButton(false);\n },\n filterOverride : (selected: RequestView[]) => {\n return { RequestId: selected[0].Id ?? -1 } as RequestResultFilterViewModel;\n }\n }\n );\n\n this.systemSection.addFilesSection(this.facade,'RQT',this.PermissionKey);\n this.facade.layout.setFixedLayout({ IsVerticalLayout : false, PropertyFlexGrow : 45 });\n }\n}\n","import { ApplicationService, NewEditorComponent } from '@dflat-core/web/core-ux';\nimport { ResourceLanguage } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys, SystemMenuItemProvider } from '@dflat-core/web/system-root';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'alg-res-lang-editor',\n templateUrl: '../../../../core-ux/src/lib/v2/components/new-editor/new-editor.component.html',\n standalone: false\n})\nexport class ResourceLanguageEditorComponent extends NewEditorComponent<ResourceLanguage> {\n getEntityKey(): string {\n return SystemEntityKeys.ResourceLanguage;\n }\n \n getTitle(withId: boolean): string {\n return withId ? ((this.id === \"0\") ? ('Nouvelle langue') : ('Langue (' + this.id + ')')): 'Langues';\n }\n \n getPath(withId: boolean): string {\n return withId ? SystemMenuItemProvider.GetLink(this.getEntityKey()) + '/' + this.id : SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n\n constructor(app : ApplicationService, route : ActivatedRoute) {\n super(app, route); \n }\n \n}\n","import { ApplicationService, BaseComponent, LayoutPreferences } from '@dflat-core/web/core-ux';\nimport { ResourceLanguage, ResourceLanguageFilterViewModel } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys, SystemMenuItemProvider, SystemPermissions } from '@dflat-core/web/system-root';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n\n@Component({\n selector: 'alg-resource-language',\n templateUrl: '../../../../core-ux/src/lib/v2/components/base-component/base-template.component.html',\n standalone: false\n})\nexport class ResourceLanguageComponent extends BaseComponent<ResourceLanguageFilterViewModel, ResourceLanguage> {\n\n getTitle(): string {\n return 'Langues';\n }\n getPath(): string {\n return SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n getEntityKey(): string {\n return SystemEntityKeys.ResourceLanguage;\n }\n get PermissionKey(): string{\n return SystemPermissions.ADMIN_RESOURCE_LANGUAGES;\n }\n\n constructor(app: ApplicationService,\n protected route: ActivatedRoute)\n {\n super(app, route); \n }\n\n FIXED_LAYOUT : LayoutPreferences = {\n PropertyFlexGrow : 60,\n IsVerticalLayout: false\n }\n ngOnInit(): void {\n super.ngOnInit();\n this.facade.layout.setFixedLayout(this.FIXED_LAYOUT);\n }\n}\n \n\n","import { ApplicationService, BaseComponent } from '@dflat-core/web/core-ux';\nimport { Role, RoleFilterViewModel } from '@dflat-core/web/system-model';\nimport {\n SystemEntityKeys,\n SystemMenuItemProvider,\n SystemPermissions,\n} from '@dflat-core/web/system-root';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'alg-role',\n templateUrl:\n '../../../../core-ux/src/lib/v2/components/base-component/base-template.component.html',\n standalone: false,\n})\nexport class RoleComponent extends BaseComponent<RoleFilterViewModel, Role> {\n getTitle(): string {\n return 'Rôles';\n }\n getPath(): string {\n return SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n getEntityKey(): string {\n return SystemEntityKeys.Role;\n }\n get PermissionKey(): string {\n return SystemPermissions.ADMIN_ROLES;\n }\n\n constructor(app: ApplicationService, protected route: ActivatedRoute) {\n super(app, route);\n\n // Affichage de l'action d'édition\n this.facade.actions.showAction('edit');\n this.facade.layout.setFixedLayout({ IsVerticalLayout : false, PropertyFlexGrow : 50 });\n }\n}\n","import { TreeItem, TreeviewConfig, TreeviewItem } from '@samotics/ngx-treeview';\n\nimport { Utilities } from '@dflat-core/web/core';\nimport { EntityViewModelWithFields, FilterDescriptor } from '@dflat-core/web/core-model';\nimport { ApplicationService, BaseEditorComponent } from '@dflat-core/web/core-ux';\nimport { Role } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys, SystemMenuItemProvider } from '@dflat-core/web/system-root';\nimport { Component, ViewChild } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'alg-role-editor',\n templateUrl: './role-editor.component.html',\n standalone: false\n})\nexport class RoleEditorComponent extends BaseEditorComponent<Role> {\n\n getEntityKey(): string {\n return SystemEntityKeys.Role;\n }\n\n getTitle(withId: boolean): string {\n return withId ? ((this.id === \"0\") ? ('Nouveau rôle') : ('Rôle (' + this.id + ')')): 'Rôles';\n }\n\n getPath(withId: boolean): string {\n return withId ? SystemMenuItemProvider.GetLink(this.getEntityKey()) + '/' + this.id : SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n\n showValidationErrors: boolean = true;\n\n public field: FilterDescriptor = {};\n public fields: FilterDescriptor[] = [];\n public roleFieldDescriptor: FilterDescriptor = {};\n uniqueId: string = Utilities.uniqueId();\n @ViewChild('f', {static: false})\n public form;\n\n constructor(app : ApplicationService, route : ActivatedRoute) {\n super(app, route);\n }\n\n\n onSave() {\n if (this.form.valid) {\n\n this.entityViewModel.ViewModel.Permissions = this.values;\n this.entityViewModel.ViewModel.TreeItems = undefined;\n this.dataService.saveEntity<Role>(this.getEntityKey(), this.entityViewModel.ViewModel).subscribe(res => {\n if (res.Success) {\n this.toastrService.success('Mise à jour avec succès !', 'Succès');\n this.isCancel = false;\n this.goBack();\n } else {\n this.toastrService.error('Une erreur est survenue, merci de réessayer !', 'Erreur');\n }\n });\n }\n }\n\n OnLoadingComplete(entity: EntityViewModelWithFields<Role>) {\n this.fields = entity.FieldSections[0].FieldViewModels;\n this.field = entity.FieldSections[0].FieldViewModels.find(c => c.PropertyName === 'ParentId');\n if (this.entityViewModel.ViewModel.TreeItems) {\n this.entityViewModel.ViewModel.TreeItems.forEach(f => this.items.push(new TreeviewItem(<TreeItem> f)));\n\n }\n }\n\n // for tests\n onSelectChange($event) {\n this.values = $event;\n setTimeout(() => {\n //this.form.form.marAsTouched();\n for(let i in this.form.form.controls)\n this.form.form.controls[i].markAsTouched();\n });\n }\n\n onFilterChange(value: string) {\n\n }\n\n items: TreeviewItem[] = [];\n values: number[];\n config = TreeviewConfig.create({\n hasAllCheckBox: true,\n hasFilter: true,\n hasCollapseExpand: true,\n decoupleChildFromParent: false,\n maxHeight: 400,\n });\n}\n","<div>\r\n <form class=\"dynamic-form\" name=\"roleForm\" #f=\"ngForm\" novalidate>\r\n <div ngFor=\"let field of fields\">\r\n <div *ngIf=\"field.IsHidden\">\r\n <div [hidden]=\"true\" class=\"form-group has-feedback\">\r\n <label for=\"field.PropertyName\">{{ field.Label }}</label>\r\n <input class=\"form-control\" [formControlName]=\"field.PropertyName\" id=\"field.PropertyName\" [type]=\"field.InputType\">\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!--Code-->\r\n <div *ngIf=\"entityViewModel.ViewModel\" class=\"form-group has-feedback\">\r\n <label class=\"col-md-3 control-label\" for=\"Code-{{uniqueId}}\">Code</label>\r\n <div class=\"col-md-9\" [ngClass]=\"{'has-success': f.submitted && Code.valid, 'has-error' : f.submitted && !Code.valid}\">\r\n <input type=\"text\" attr.id=\"Code-{{uniqueId}}\" name=\"Code\" placeholder=\"Code\" class=\"form-control\"\r\n [(ngModel)]=\"entityViewModel.ViewModel.Code\" #Code=\"ngModel\" required [ngClass]=\"{'dflat-valid': Code.valid, 'dflat-invalid' : !Code.valid}\" />\r\n <span *ngIf=\"showValidationErrors && f.submitted\" class=\"glyphicon form-control-feedback\" [ngClass]=\"{'glyphicon-ok ': Code.valid, 'glyphicon-remove' : !Code.valid}\"></span>\r\n <span *ngIf=\"showValidationErrors && f.submitted && !Code.valid\" class=\"errorMessage\">\r\n Le Code est un champ obligatoire.\r\n </span>\r\n\r\n </div>\r\n </div>\r\n\r\n <!--UniqueName-->\r\n <div *ngIf=\"entityViewModel.ViewModel\" class=\"form-group has-feedback\">\r\n <label class=\"col-md-3 control-label\" for=\"UniqueName-{{uniqueId}}\">Nom</label>\r\n <div class=\"col-md-9\" [ngClass]=\"{'has-success': f.submitted && UniqueName.valid, 'has-error' : f.submitted && !UniqueName.valid}\">\r\n <input type=\"text\" attr.id=\"UniqueName-{{uniqueId}}\" name=\"UniqueName\" placeholder=\"Nom\" class=\"form-control\"\r\n [(ngModel)]=\"entityViewModel.ViewModel.UniqueName\" #UniqueName=\"ngModel\" required [ngClass]=\"{'dflat-valid': UniqueName.valid, 'dflat-invalid' : !UniqueName.valid}\" />\r\n <span *ngIf=\"showValidationErrors && f.submitted\" class=\"glyphicon form-control-feedback\" [ngClass]=\"{'glyphicon-ok ': UniqueName.valid, 'glyphicon-remove' : !UniqueName.valid}\"></span>\r\n <span *ngIf=\"showValidationErrors && f.submitted && !UniqueName.valid\" class=\"errorMessage\">\r\n Le nom est un champ obligatoire.\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <!--ParentRole-->\r\n <div *ngIf=\"entityViewModel.ViewModel\" class=\"form-group has-feedback\">\r\n <label class=\"col-md-3\" for=\"ParentRole-{{uniqueId}}\">{{field.Label}}</label>\r\n <div class=\"col-md-9\">\r\n <ng-select placeholder=\"Sélectionner un rôle parent\" name=\"ParentRole\" attr.id=\"ParentRole-{{uniqueId}}\"\r\n [items]=\"field.Data\" [multiple]=\"false\" bindValue=\"Id\" bindLabel=\"Code\" [(ngModel)]=\"entityViewModel.ViewModel.ParentId\"\r\n #ParentRole=\"ngModel\">\r\n </ng-select>\r\n </div>\r\n </div>\r\n\r\n\r\n <!--Permissions Tree View-->\r\n <div class=\"form-group has-feedback\">\r\n <label class=\"col-md-3\" >Permissions</label>\r\n <div class=\"col-md-9\" >\r\n <ngx-treeview [config]=\"config\" [items]=\"items\" (filterChange)=\"onFilterChange($event)\"\r\n (selectedChange)=\"onSelectChange($event)\">\r\n </ngx-treeview>\r\n </div>\r\n </div>\r\n\r\n <!--******************************************************************************************************-->\r\n <!-- <div class=\"clearfix\">\r\n <div class=\"pull-right\">\r\n <button type=\"button\" class=\"btn btn-danger btn-flat\" (click)=\"onCancel()\">Annuler</button>\r\n <button type=\"submit\" (click)=\"save\" class=\"btn btn-success btn-flat\" [disabled]=\"!f.form.touched\">Sauvegarder</button>\r\n </div>\r\n </div> -->\r\n\r\n <div class=\"footer-buttons\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-primary btn-flat\"\r\n (click)=\"onSave()\"\r\n >\r\n Sauvegarder\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-secondary btn-flat\"\r\n (click)=\"handleDialogButtonClick(true)\"\r\n >\r\n Annuler\r\n </button>\r\n </div>\r\n </form>\r\n</div>\r\n","import { ApplicationService, BaseComponent } from '@dflat-core/web/core-ux';\nimport { CompanyFilterViewModel, CompanyView } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys, SystemMenuItemProvider, SystemPermissions } from '@dflat-core/web/system-root';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'msw-subcompany',\n templateUrl: '../../../../core-ux/src/lib/v2/components/base-component/base-template.component.html',\n standalone: false\n})\nexport class SubCompanyComponent extends BaseComponent<CompanyFilterViewModel, CompanyView> {\n\n getTitle(): string {\n return 'Filiales';\n }\n getPath(): string {\n return SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n getEntityKey(): string {\n return SystemEntityKeys.Subcompany;\n }\n get PermissionKey(): string{\n return SystemPermissions.DATABASE_COMPANY;\n }\n\n constructor(app: ApplicationService,\n protected route: ActivatedRoute)\n {\n super(app, route); \n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.facade.actions.hideActions([\"add\",\"edit\",\"delete\"]);\n }\n\n}\n","import { ApplicationService, BaseComponent } from '@dflat-core/web/core-ux';\nimport { CompanyFilterViewModel, CompanyView, SubcompanyFilterViewModel } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys, SystemMenuItemProvider, SystemPermissions } from '@dflat-core/web/system-root';\nimport { SubCompanyComponent } from '../sub-company/sub-company.component';\nimport { SystemSectionService } from '../services/system-section.service';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'msw-company',\n templateUrl: '../../../../core-ux/src/lib/v2/components/base-component/base-template.component.html',\n standalone: false\n})\nexport class CompanyComponent extends BaseComponent<CompanyFilterViewModel, CompanyView> {\n\n ADDRESS_SECTION: string = \"Adresses\";\n SUBCOMPANY_SECTION: string = \"Filiales\";\n\n getTitle(): string {\n return 'Sociétés';\n }\n getPath(): string {\n return SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n getEntityKey(): string {\n return SystemEntityKeys.Company;\n }\n get PermissionKey(): string{\n return SystemPermissions.DATABASE_COMPANY;\n }\n \n constructor(app: ApplicationService,\n protected route: ActivatedRoute,\n private systemSection : SystemSectionService\n ) \n { \n super(app, route);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.systemSection.addAddressSection<CompanyView>(this.facade,\"CPY\");\n \n this.facade.sections.registerSection(\n this.SUBCOMPANY_SECTION, \n SubCompanyComponent, \n {\n layoutOverride : (component : SubCompanyComponent ) => {\n component.facade.layout.setShowActionTitle(false);\n component.facade.layout.setShowFilterButton(false);\n\n },\n filterOverride : (selected : CompanyView[] ) => {\n return {\n ParentCompanyId: selected && selected.length > 0 ? selected[0].Id : -1,\n Offset: 0,\n Take: 25\n } as SubcompanyFilterViewModel;\n }\n });\n console.log('########## CompanyComponent Init')\n }\n \n \n}\n","import { ApplicationService, BaseComponent } from '@dflat-core/web/core-ux';\nimport {\n UserAccountRole,\n UserAccountRoleFilterViewModel,\n} from '@dflat-core/web/system-model';\nimport {\n SystemEntityKeys,\n SystemMenuItemProvider,\n SystemPermissions,\n} from '@dflat-core/web/system-root';\nimport { Component, EventEmitter } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { takeUntil } from 'rxjs';\nimport { UserActionService } from '../services/user-action-service';\n\n@Component({\n selector: 'alg-user-role',\n templateUrl:\n '../../../../core-ux/src/lib/v2/components/base-component/base-template.component.html',\n standalone: false,\n})\nexport class UserRoleComponent extends BaseComponent<\n UserAccountRoleFilterViewModel,\n UserAccountRole\n> {\n public onRoleAdded: EventEmitter<any> = new EventEmitter<any>();\n \n getTitle(): string {\n return \"Rôles de l'utilisateur\";\n }\n getPath(): string {\n return SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n getEntityKey(): string {\n return SystemEntityKeys.UserRole;\n }\n get PermissionKey(): string {\n return SystemPermissions.ADMIN_USERS;\n }\n\n constructor(\n app: ApplicationService,\n protected route: ActivatedRoute,\n private userActionService: UserActionService\n ) {\n super(app, route);\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.facade.actions.hideActions(['export', 'save','showHistory']);\n this.facade.actions.patch('add',{\n action :() => this.add(),\n })\n\n this.userActionService.onRoleAdded.asObservable().pipe(takeUntil(this.destroy$)).subscribe(()=>{ \n this.loadData();\n this.onRoleAdded.emit();\n });\n }\n\n add() {\n let userAccountId = this.Filter.UserAccountId;\n this.userActionService.addUserRole(userAccountId);\n \n }\n}\n","import { Utilities } from '@dflat-core/web/core';\nimport { AlertService, FacadeModalService, MessageSeverity } from '@dflat-core/web/core-ux';\nimport {\n UserAccountCompanyDataService,\n UserGroupDefinitionDataService,\n UserRoleDataService,\n} from '@dflat-core/web/system-data';\nimport {\n CompanyFilterViewModel,\n CompanyView,\n UserAccount,\n UserAccountCompanyView,\n UserAccountFilterViewModel,\n UserAccountRole,\n UserAccountRoleFilterViewModel,\n UserGroupDefinitionView,\n} from '@dflat-core/web/system-model';\nimport { EventEmitter, Injectable } from '@angular/core';\nimport { Observable, tap } from 'rxjs';\nimport { CompanyComponent } from '../company/company.component';\nimport { UserAccountComponent } from '../user-account/user-account-component';\nimport { UserRoleComponent } from '../user-role/user-role-component';\n\n@Injectable()\nexport class UserActionService {\n constructor(\n public alertService: AlertService,\n private userGroupDefinitionDataService: UserGroupDefinitionDataService,\n public userRoleDataService: UserRoleDataService,\n private userCompanyDataService: UserAccountCompanyDataService,\n private selector: FacadeModalService\n ) { }\n\n public onSelection: EventEmitter<void> = new EventEmitter();\n public onRoleAdded: EventEmitter<any> = new EventEmitter<any>();\n public onCompanyAdded: EventEmitter<any> = new EventEmitter<any>();\n\n addUserToGroup(groupId: number) {\n if (groupId == null) return;\n\n let modal = this.selector.openSelectorModal(\n 'Ajouter des utilisateurs au groupe',\n UserAccountComponent,\n (component) => {\n component.facade.config.addAlterDefaultFilterFunction(()=> {\n let filter: UserAccountFilterViewModel = {\n ExcludedGroupId : groupId\n };\n return filter;\n })\n }\n );\n\n let subscription = modal.subscribe((selected: UserAccount[]) => {\n subscription.unsubscribe();\n\n if (!Utilities.IsNil(selected)) {\n let models: UserGroupDefinitionView[] = [];\n selected.forEach((element) => {\n var usg: UserGroupDefinitionView = {\n GroupId: groupId,\n UserAccountId: element.Id,\n };\n models.push(usg);\n });\n this.userGroupDefinitionDataService\n .saveEntities(models)\n .subscribe( {\n next: (res) => {\n if (res.Success)\n this.alertService.showMessage(\n `Groupes d'utilisateurs`,\n `La selection des utilisateura été effectuée avec succès`,\n MessageSeverity.Success\n );\n else this.alertService.handleSaveError(res);\n },\n error: (err) => {\n this.alertService.showMessage(\n 'Erreur',\n err.error.Message,\n MessageSeverity.Error\n );\n },\n complete: () => {\n this.onSelection.emit();\n }\n }\n );\n }\n });\n }\n\n addUserRole(userAccountId: number) {\n return this.selector\n .openSelectorModal(\n 'Sélectionnez un rôle à ajouter',\n UserRoleComponent,\n (component) => {\n component.facade.config.addAlterDefaultFilterFunction(() => {\n let filter: UserAccountRoleFilterViewModel = {};\n filter.UserAccountId = userAccountId;\n filter.ExceptUserRoles = true;\n return filter;\n })})\n .subscribe((res: UserAccountRole[]) => {\n let models = res;\n\n if (models != undefined && models.length > 0)\n this.userRoleDataService.saveEntities(models).subscribe( {\n next: (result) => {\n if (result.Success) {\n this.alertService.showMessage(\n `Sociétés`,\n `L'ajout des rôles a été effectué avec succès`,\n MessageSeverity.Success\n );\n } else this.alertService.handleSaveError(result);\n },\n error: (err) => {\n this.alertService.showMessage(\n 'Erreur',\n err.error.Message,\n MessageSeverity.Error\n );\n },\n complete: () => {\n this.onRoleAdded.emit(); \n }\n }); \n });\n }\n\n addUserCompany(userAccountId: number, parentCompanyId: number) \n {\n this.selector\n .openSelectorModal(\n 'Sélectionnez un société à ajouter',\n CompanyComponent,\n (component) => {\n component.facade.config.addAlterDefaultFilterFunction(()=> {\n let filter: CompanyFilterViewModel = {};\n filter.UserAccountId = userAccountId;\n filter.ExceptUserCompanies = true;\n filter.ParentCompanyId = parentCompanyId;\n filter.OnlyChildren = true;\n return filter;\n });\n }\n )\n .subscribe( (res: CompanyView[])=> {\n\n let models: UserAccountCompanyView[] = [];\n if (res != undefined && res.length > 0) {\n res.forEach((element) => {\n let uac: UserAccountCompanyView = {\n CompanyId: element.Id,\n UserAccountId: userAccountId\n }\n models.push(uac);\n });\n }\n\n this.userCompanyDataService.saveEntities(models).subscribe(\n (result) => {\n if (result.Success) {\n this.alertService.showMessage(\n `Sociétés`,\n `L'ajout des sociétés a été effectué avec succès`,\n MessageSeverity.Success\n );\n } else this.alertService.handleSaveError(result);\n },\n (err) => {\n this.alertService.showMessage(\n 'Erreur',\n err.error.Message,\n MessageSeverity.Error\n );\n },\n () => {\n this.onCompanyAdded.emit();\n }\n );\n }\n );\n }\n}\n","import { ApplicationService, BaseComponent } from '@dflat-core/web/core-ux';\nimport {\n UserAccount,\n UserAccountCompanyFilterViewModel,\n UserAccountCompanyView,\n} from '@dflat-core/web/system-model';\nimport {\n SystemEntityKeys,\n SystemMenuItemProvider,\n SystemPermissions,\n} from '@dflat-core/web/system-root';\nimport { Component, EventEmitter } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { takeUntil } from 'rxjs';\nimport { UserActionService } from '../services/user-action-service';\n\n@Component({\n selector: 'alg-user-company',\n templateUrl:\n '../../../../core-ux/src/lib/v2/components/base-component/base-template.component.html',\n standalone: false,\n})\nexport class UserCompanyComponent extends BaseComponent<\n UserAccountCompanyFilterViewModel,\n UserAccountCompanyView\n> {\n public onCompanyAdded: EventEmitter<any> = new EventEmitter<any>();\n \n currentUser: UserAccount;\n getTitle(): string {\n return \"Sociétés de l'utilisateur\";\n }\n getPath(): string {\n return SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n getEntityKey(): string {\n return SystemEntityKeys.UserCompany;\n }\n get PermissionKey(): string {\n return SystemPermissions.ADMIN_USERS;\n }\n\n constructor(\n app: ApplicationService,\n protected route: ActivatedRoute,\n private userActionService: UserActionService\n ) {\n super(app, route); \n }\n\n ngOnInit() {\n super.ngOnInit();\n\n this.userActionService.onCompanyAdded.asObservable().pipe(takeUntil(this.destroy$)).subscribe(()=>{ \n this.loadData();\n this.onCompanyAdded.emit();\n });\n\n this.filterAction('edit');\n this.filterAction('export');\n this.filterAction('save');\n this.filterAction('showHistory');\n\n this.facade.actions.patch('add',{\n action :() => this.add(),\n })\n \n }\n\n add() {\n const userAccountId = this.currentUser.Id;\n const parentCompanyId = this.app.UserService.AuthenticatedUser.CompanyId;\n this.userActionService.addUserCompany(userAccountId, parentCompanyId);\n }\n}\n","import { ApplicationService, BaseComponent } from '@dflat-core/web/core-ux';\nimport { PermissionFilterViewModel, PermissionView } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys, SystemMenuItemProvider, SystemPermissions } from '@dflat-core/web/system-root';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'alg-user-permission',\n templateUrl:\n '../../../../core-ux/src/lib/v2/components/base-component/base-template.component.html',\n standalone: false\n})\nexport class UserPermissionComponent extends BaseComponent<PermissionFilterViewModel, PermissionView> {\n\n getTitle(): string {\n return 'Permissions';\n }\n getPath(): string {\n return SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n getEntityKey(): string {\n return SystemEntityKeys.PermissionView;\n }\n get PermissionKey(): string{\n return SystemPermissions.ADMIN_ROLES;\n }\n\n constructor(app: ApplicationService,\n protected route: ActivatedRoute)\n {\n super(app, route);\n \n this.filterAction(\"edit\");\n this.filterAction(\"export\");\n this.filterAction(\"save\");\n this.filterAction(\"showHistory\");\n this.filterAction(\"add\");\n this.filterAction(\"delete\");\n }\n}\n","import { ApplicationService, BaseComponent } from '@dflat-core/web/core-ux';\nimport {\n PermissionFilterViewModel,\n UserAccount,\n UserAccountCompanyFilterViewModel,\n UserAccountFilterViewModel,\n UserAccountRoleFilterViewModel,\n} from '@dflat-core/web/system-model';\nimport {\n SystemEntityKeys,\n SystemMenuItemProvider,\n SystemPermissions,\n} from '@dflat-core/web/system-root';\nimport { UserCompanyComponent } from '../user-company/user-company-component';\nimport { UserPermissionComponent } from '../user-permission/user-permission-component';\nimport { UserRoleComponent } from '../user-role/user-role-component';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'alg-user-account',\n templateUrl:\n '../../../../core-ux/src/lib/v2/components/base-component/base-template.component.html',\n standalone: false,\n})\nexport class UserAccountComponent extends BaseComponent<\n UserAccountFilterViewModel,\n UserAccount\n> {\n ROLE_SECTION: string = 'Roles';\n PERMISSION_SECTION: string = 'Permissions';\n COMPANY_SECTION: string = 'Sociétés';\n\n getTitle(): string {\n return 'Comptes utilisateurs';\n }\n getPath(): string {\n return SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n getEntityKey(): string {\n return SystemEntityKeys.UserAccount;\n }\n get PermissionKey(): string {\n return SystemPermissions.ADMIN_USERS;\n }\n\n constructor(\n app: ApplicationService,\n protected route: ActivatedRoute\n ) {\n super(app, route);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n let currentComponent: UserAccountComponent = this;\n \n this.facade.sections.registerSection(\n this.ROLE_SECTION,\n UserRoleComponent,\n {\n layoutOverride : (component) => {\n component.facade.layout.disablePropertyPanel();\n },\n initOverride : (component: UserRoleComponent) => {\n\n component.facade.actions.actionResult$.subscribe({\n next : (value) => {\n // Lorsqu'on ajoute ou on supprime un rôle à l'utilisateur, on doit mettre à jour la liste des permissions\n // On met donc le dirtyFlag sur le composant de permissions afin de forcer le chargement si l'utilisateur clique sur l'onglet.\n if(value.actionName == 'delete' || value.actionName == 'add')\n currentComponent.facade.sections.setSectionDirty(currentComponent.PERMISSION_SECTION);\n },\n });\n },\n filterOverride : (selected: UserAccount[]) => {\n const filter: UserAccountRoleFilterViewModel = {\n UserAccountId: selected[0].Id ?? -1,\n };\n return filter;\n }\n \n }\n );\n\n this.facade.sections.registerSection(this.PERMISSION_SECTION,UserPermissionComponent,\n {\n layoutOverride : (component) => {\n component.facade.layout.disablePropertyPanel();\n },\n filterOverride : (selected: UserAccount[]) => {\n const filter: PermissionFilterViewModel = {\n UserAccountId: selected[0].Id ?? -1,};\n return filter;\n }\n });\n this.facade.sections.registerSection(this.COMPANY_SECTION,UserCompanyComponent,\n {\n layoutOverride : (component) => {\n component.facade.layout.disablePropertyPanel();\n },\n filterOverride : (selected: UserAccount[]) => {\n const filter: UserAccountCompanyFilterViewModel = {\n UserAccountId: selected[0].Id ?? -1\n };\n return filter;\n },\n selectionOverride : (component: UserCompanyComponent, selected: UserAccount[])=>{\n component.currentUser = selected[0];\n }\n });\n\n this.facade.actions.actionResult$.subscribe((res)=> {\n if(res.sectionName)\n this.loadData();\n });\n\n this.facade.layout.setFixedLayout({IsVerticalLayout : false, PropertyFlexGrow : 60});\n\n // // controle mot de pass .\n // this.facade.change.setInterceptor({\n // afterApply: (entity : UserAccount, event : PropertyEditorEvent) => {\n // // if(event.field.FilterType == FilterType.Password)\n // return entity;\n // }\n // });\n }\n}\n","\n\nimport { ApplicationService, BaseEditorComponent } from '@dflat-core/web/core-ux';\nimport { UserAccount } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys, SystemMenuItemProvider } from '@dflat-core/web/system-root';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'alg-user-account-editor',\n templateUrl: '../../../../core-ux/src/lib/components/base-editor/base-editor.component.html',\n standalone: false\n})\nexport class UserAccountEditorComponent extends BaseEditorComponent<UserAccount> {\n \n getEntityKey(): string {\n return SystemEntityKeys.UserAccount;\n }\n \n getTitle(withId: boolean): string {\n return withId ? ((this.id === \"0\") ? ('Nouvel utilisateur') : ('Utilisateur (' + this.id + ')')): 'Utilisateurs';\n }\n \n getPath(withId: boolean): string {\n return withId ? SystemMenuItemProvider.GetLink(this.getEntityKey()) + '/' + this.id : SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n\n constructor(app : ApplicationService, route : ActivatedRoute) {\n super(app, route); \n }\n}\n","import { Utilities } from '@dflat-core/web/core';\nimport { ApplicationService, BaseEditorComponent, IIsCancel } from '@dflat-core/web/core-ux';\nimport { CustomFieldGroup } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys, SystemMenuItemProvider } from \"@dflat-core/web/system-root\";\nimport { Component } from \"@angular/core\";\nimport { ActivatedRoute } from '@angular/router';\n\n\n@Component({\n selector: 'alg-custom-field-group-editor',\n templateUrl: '../../../../core-ux/src/lib/components/base-editor/base-editor.component.html',\n standalone: false\n})\n\nexport class CustomFieldGroupEditorComponent extends BaseEditorComponent<CustomFieldGroup> implements IIsCancel\n{\n getEntityKey(): string {\n return SystemEntityKeys.CustomFieldGroup;\n }\n\n getTitle(withId: boolean): string {\n return withId ? ((this.id === \"0\") ? (\"Nouvelle famille d'attributs\") : (\"Famille d'attributs \" + this.id + \")\")): \"Famille d'attributs\";\n }\n\n getPath(withId: boolean): string {\n return withId ? SystemMenuItemProvider.GetLink(this.getEntityKey()) + '/' + this.id : SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n\n public isCancel: boolean = false;\n CustomFieldId: number;\n constructor(\n app : ApplicationService,\n route: ActivatedRoute) {\n super(app, route);\n }\n\n}\n","\nimport { ApplicationService, BaseEditorComponent } from '@dflat-core/web/core-ux';\nimport { CustomFieldGroupItemView } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys, SystemMenuItemProvider } from '@dflat-core/web/system-root';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n@Component({\n selector: 'msw-custom-field-group-item-editor',\n templateUrl: '../../../../../core-ux/src/lib/components/base-editor/base-editor.component.html',\n standalone: false\n})\n\nexport class CustomFieldGroupItemEditorComponent extends BaseEditorComponent<CustomFieldGroupItemView>{\n\n getEntityKey(): string {\n return SystemEntityKeys.CustomFieldGroupItem;\n }\n getTitle(withId: boolean): string {\n return withId ? ((this.id === \"0\") ? ('Nouvel ') : ('Attribut item (' + this.id + ')')): 'Attribut';\n }\n\n getPath(withId: boolean): string {\n return withId ? SystemMenuItemProvider.GetLink(this.getEntityKey()) + '/' + this.id : SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n\n constructor(app : ApplicationService, route : ActivatedRoute) {\n super(app, route);\n }\n\n}\n","import { Utilities } from '@dflat-core/web/core';\nimport { User } from '@dflat-core/web/core-model';\nimport { AuthService, UserService } from '@dflat-core/web/core-services';\nimport { AccountDataService } from '@dflat-core/web/system-data';\nimport { ActivationResults, ActivationViewModel } from '@dflat-core/web/system-model';\nimport { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router, UrlSegment } from '@angular/router';\n\n@Component({\n selector: 'msw-activate', template: '',\n standalone: false\n})\nexport class ActivateComponent implements OnInit {\n\n code: string;\n hasErrors : boolean = false;\n errorMessage: string;\n loading: boolean = false;\n ActivationResults: ActivationResults = undefined;\n email: string;\n captchaToken : string;\n emailPattern2: string = \"^(([^<>()\\\\[\\\\]\\\\\\\\.,;:\\\\s@\\\"]+(\\\\.[^<>()\\\\[\\\\]\\\\\\\\.,;:\\\\s@\\\"]+)*)|(\\\".+\\\"))@((\\\\[[0-9]{1,3}\\\\.[0-9]{1,3}\\\\.[0-9]{1,3}\\\\.[0-9]{1,3}])|(([a-zA-Z\\\\-0-9]+\\\\.)+[a-zA-Z]{2,}))$\";\n \n\n constructor(\n protected router: Router,\n protected route: ActivatedRoute,\n protected accountDataService: AccountDataService,\n protected authService : AuthService,\n protected userService: UserService\n ) { }\n\n ngOnInit(): void {\n\n \n if (this.authService.isLoggedIn)\n this.email = this.userService.AuthenticatedUser.Email;\n \n this.route.queryParams.subscribe(\n params => {\n this.code = params['code'];\n \n if ( ! Utilities.IsNil( this.code ) )\n this.activate(false);\n \n })\n }\n\n sendAgain() { \n this.activate(true);\n }\n \n activate(sendAgain: boolean) {\n this.hasErrors = false;\n this.loading = true;\n this.ActivationResults = undefined;\n this.errorMessage = '';\n\n // Initialisation du paramètre\n let parameter:ActivationViewModel = {};\n parameter.ActivationCode = this.code;\n parameter.SendAgain= sendAgain;\n parameter.UserEmail = this.email;\n parameter.CaptchaToken = this.captchaToken;\n\n this.accountDataService.activate(parameter)\n .subscribe(\n data => {\n \n this.ActivationResults = data;\n if ( this.isSuccess()) {\n\n let user: User = this.userService.AuthenticatedUser;\n user.IsActive = ! user.IsActive;\n user.AccessToken = this.authService.token;\n user.RefreshToken = this.authService.refreshToken;\n user.IsConnected = true;\n this.authService.saveUserInfos(user, JSON.stringify(user), this.authService.rememberMe);\n \n this.userService.setCurrent(user);\n }\n\n this.captchaToken = undefined;\n this.loading= false;\n },\n error => {\n this.hasErrors = true;\n this.ActivationResults = ActivationResults.Error;\n this.errorMessage = \"Une erreur s'est produite pendant l'activation de votre compte\";\n this.captchaToken = undefined;\n this.loading= false;\n }\n );\n }\n \n isEmptyCode() : boolean {\n return Utilities.IsNil(this.code);\n }\n\n isUserUnknown() : boolean {\n return ! Utilities.IsNil(this.ActivationResults) && this.ActivationResults == ActivationResults.UnknownUser;\n }\n\n isSuccess() : boolean {\n return ! Utilities.IsNil(this.ActivationResults) &&this.ActivationResults == ActivationResults.Sucess;\n }\n isError() : boolean {\n return ! Utilities.IsNil(this.ActivationResults) &&this.ActivationResults == ActivationResults.Error;\n }\n isExpired() : boolean {\n return ! Utilities.IsNil(this.ActivationResults) &&this.ActivationResults == ActivationResults.Expired;\n }\n isAlreadyActivated() : boolean {\n return ! Utilities.IsNil(this.ActivationResults) &&this.ActivationResults == ActivationResults.AlreadyActivated;\n }\n\n isSentAgain() : boolean {\n return ! Utilities.IsNil(this.ActivationResults) &&this.ActivationResults == ActivationResults.SentAgain;\n }\n\n isLoading() : boolean {\n return this.loading;\n }\n\n goHome() {\n this.router.navigate(['/']);\n }\n\n\n}\n","\nimport { ApplicationService, BaseEditorComponent } from '@dflat-core/web/core-ux';\nimport { CustomFieldGroupEntityView } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys, SystemMenuItemProvider, SystemPermissions } from '@dflat-core/web/system-root';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'msw-custom-field-group-entity-editor',\n templateUrl: '../../../../../core-ux/src/lib/components/base-editor/base-editor.component.html',\n standalone: false\n})\nexport class CustomFieldGroupEntityEditorComponent extends BaseEditorComponent<CustomFieldGroupEntityView> {\n\n getTitle(withId: boolean): string {\n return withId ? ((this.id === \"0\") ? (\"Nouvelle famille d'attributs\") : (\"Famille d'attributs (\" + this.id + ')')): \"famille d'attributs\";\n }\n\n getPath(withId: boolean): string {\n return withId ? SystemMenuItemProvider.GetLink(this.getEntityKey()) + '/' + this.id : SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n\n\n getEntityKey(): string {\n return SystemEntityKeys.CustomFieldGroupEntity;\n }\n get PermissionKey(): string{\n return SystemPermissions.ADMIN_CUSTOM_FIELDS;\n }\n\n\n constructor(\n app : ApplicationService, route : ActivatedRoute) {\n super(app, route);\n\n }\n}\n","import { Utilities } from '@dflat-core/web/core';\nimport { ApplicationService, BaseComponent } from '@dflat-core/web/core-ux';\nimport { CustomFieldGroupEntityFilterViewModel, CustomFieldGroupEntityView } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys, SystemMenuItemProvider, SystemPermissions } from '@dflat-core/web/system-root';\nimport { CustomFieldActionService } from '../../services/custom-field-action-service';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { Subscription, takeUntil } from 'rxjs';\n\n@Component({\n selector: 'msw-custom-field-group-entity',\n templateUrl: '../../../../../core-ux/src/lib/v2/components/base-component/base-template.component.html',\n standalone: false\n})\nexport class CustomFieldGroupEntityComponent extends BaseComponent<CustomFieldGroupEntityFilterViewModel,CustomFieldGroupEntityView> {\n getTitle(): string {\n return \"Famille d'attributs\";\n }\n getPath(): string {\n return SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n getEntityKey(): string {\n return SystemEntityKeys.CustomFieldGroupEntity;\n }\n get PermissionKey(): string{\n return SystemPermissions.ADMIN_CUSTOM_FIELDS;\n }\n\n constructor(app: ApplicationService,\n protected route: ActivatedRoute,\n private cfactionService: CustomFieldActionService)\n {\n super(app, route);\n }\n\n onCFGEAddSubscription : Subscription;\n ngOnInit(): void {\n super.ngOnInit();\n \n this.facade.layout.disablePropertyPanel();\n\n this.cfactionService.onCustomFieldGroupEntityAddSubject.asObservable().pipe(takeUntil(this.destroy$))\n .subscribe(()=>{ this.performLoadData();});\n \n this.facade.actions.patch('add',\n { \n action : () => { \n this.cfactionService.addCustomFieldGroupEntity(this.Filter.EntityId,this.Filter.EntityKey)\n } , \n isActive : () => { \n return true; \n }\n });\n }\n}\n","import { ApplicationService, BaseEditorComponent, NewEditorComponent } from '@dflat-core/web/core-ux';\nimport { MetaEntityField } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys, SystemMenuItemProvider } from '@dflat-core/web/system-root';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'alg-meta-entity-field-editor',\n templateUrl: '../../../../core-ux/src/lib/v2/components/new-editor/new-editor.component.html',\n // templateUrl: '../../../../core-ux/src/lib/components/base-editor/base-editor.component.html',\n standalone: false\n})\nexport class MetaEntityFieldEditorComponent extends NewEditorComponent<MetaEntityField> {\n\n getEntityKey(): string {\n return SystemEntityKeys.MetaEntityField;\n }\n \n getTitle(withId: boolean): string {\n return withId ? ((this.id === \"0\") ? ('Nouvel attribut') : ('Attribut (' + this.id + ')')): 'Attributs';\n }\n \n getPath(withId: boolean): string {\n return withId ? SystemMenuItemProvider.GetLink(this.getEntityKey()) + '/' + this.id : SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n\n constructor(app : ApplicationService, route : ActivatedRoute) {\n super(app, route); \n }\n}\n","import { Utilities } from '@dflat-core/web/core';\nimport { ApplicationService, BaseComponent } from '@dflat-core/web/core-ux';\nimport { MetaEntityField, MetaEntityFieldFilterViewModel } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys, SystemMenuItemProvider, SystemPermissions } from \"@dflat-core/web/system-root\";\nimport { CustomFieldActionService } from '../services/custom-field-action-service';\nimport { Component } from \"@angular/core\";\nimport { ActivatedRoute } from '@angular/router';\nimport { Subject, takeUntil } from 'rxjs';\n\n\n\n@Component({\n selector: 'alg-meta-entity-field',\n templateUrl: '../../../../core-ux/src/lib/v2/components/base-component/base-template.component.html',\n standalone: false\n})\nexport class MetaEntityFieldComponent extends BaseComponent<MetaEntityFieldFilterViewModel, MetaEntityField> {\n\n getTitle(): string {\n return 'Attributs';\n }\n getPath(): string {\n return SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n getEntityKey(): string {\n return SystemEntityKeys.MetaEntityField;\n }\n get PermissionKey(): string{\n return SystemPermissions.ADMIN_META_ENTITYS;\n }\n\n constructor(\n app: ApplicationService,\n private customFieldActionService : CustomFieldActionService,\n protected route: ActivatedRoute)\n {\n super(app, route);\n\n }\n \n ngOnInit(): void {\n super.ngOnInit();\n this.customFieldActionService.onCustomFieldAddSubject.pipe(takeUntil(this.privateDestroy$))\n .subscribe(()=>{ this.performLoadData(); })\n\n \n this.facade.actions.hideAction('export');\n this.facade.actions.hideAction('edit');\n this.facade.actions.hideAction('save');\n \n this.facade.actions.patch('add',{ action : () => this.add()});\n this.facade.actions.patch('delete',\n { isActive : () => { const selected = this.selectedEntities;\n return selected.length == 1 && !Utilities.IsNil(selected[0].CustomFieldId);}\n });\n }\n\n\n private privateDestroy$ = new Subject<void>();\n public ngOnDestroy(){\n this.privateDestroy$.next();\n this.privateDestroy$.complete();\n }\n\n \n\n add() {\n const values = this.facade.selection.getCurrentData()\n .filter(x=>!Utilities.IsNil(x.CustomFieldId))\n .map(x=>x.CustomFieldId);\n const filter = this.facade.filter.filter$.value as MetaEntityFieldFilterViewModel;\n let entityKey = filter.MetaEntityKey;\n console.log(entityKey)\n this.customFieldActionService.addCustomField(this.Filter.MetaEntityKey,Array.from(values));\n }\n}\n","\nimport { SpecificSection } from '@dflat-core/web/core-model';\nimport { ApplicationService, BaseComponent, IIsCancel } from '@dflat-core/web/core-ux';\nimport { CustomFieldGroup, CustomFieldGroupFilterViewModel, CustomFieldGroupItemFilterViewModel, CustomFieldGroupItemView, MetaEntity, MetaEntityField, MetaEntityFieldFilterViewModel, MetaEntityFilterViewModel } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys, SystemMenuItemProvider, SystemPermissions } from \"@dflat-core/web/system-root\";\nimport { CustomFieldGroupComponent } from '../custom-field-group/custom-field-group.component';\nimport { CustomFieldGroupItemComponent } from '../custom-field-group/custom-field-group-item/custom-field-group-item.component';\nimport { MetaEntityFieldComponent } from '../meta-entity-field/meta-entity-field.component';\nimport { Component } from \"@angular/core\";\nimport { ActivatedRoute } from '@angular/router';\nimport { CustomFieldGroupTypes } from '@dflat-core/web/system-model';\nimport { takeUntil } from 'rxjs';\n@Component({\n selector: 'alg-meta-entity',\n templateUrl: '../../../../core-ux/src/lib/v2/components/base-component/base-template.component.html',\n standalone: false\n})\nexport class MetaEntityComponent extends BaseComponent<MetaEntityFilterViewModel, MetaEntity> implements IIsCancel{\n\n getTitle(): string {\n return 'Modèles';\n }\n getPath(): string {\n return SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n getEntityKey(): string {\n return SystemEntityKeys.MetaEntity;\n }\n get PermissionKey(): string{\n return SystemPermissions.ADMIN_META_ENTITYS;\n }\n\n specificSections: SpecificSection[];\n META_ENTITY_FIELD_SECTION: string = \"Champs\";\n SCHEMA_SECTION: string = \"Extensions\";\n // EXTENSION_SECTION: string = \"Attributs Étendus\";\n CONTEXTUAL_SECTION: string = \"Famille d'attributs\";\n public isCancel: boolean = false;\n private selectedMetaEntity: MetaEntity | null = null;\n\n constructor(app: ApplicationService,\n protected route: ActivatedRoute)\n {\n super(app, route);\n }\n\n\n\n ngOnInit(): void {\n super.ngOnInit();\n this.specificSections = [];\n this.facade.actions.clearActions();\n this.facade.actions.showAction('export');\n this.facade.actions.showAction('save');\n\n // Track selected MetaEntity for child sections\n this.facade.selection.selected$.pipe(takeUntil(this.destroy$))\n .subscribe((selected) => {\n this.selectedMetaEntity = selected && selected.length > 0 ? selected[0] : null;\n });\n\n // 1. MetaEntityField section (unchanged)\n this.facade.sections.registerSection<MetaEntityField,MetaEntityFieldFilterViewModel>(\n this.META_ENTITY_FIELD_SECTION,\n MetaEntityFieldComponent,\n {\n filterOverride : (selected : MetaEntity[]) => {\n const filter: MetaEntityFieldFilterViewModel = {\n MetaEntityKey : selected[0].EntityKey ?? '',\n AdditionalFilter: selected && selected.length > 0\n ? `MetaEntityKey in (${selected.map(s => \"'\"+s.EntityKey+\"'\").join(\",\")})`\n : null,\n Offset: 0,\n Take: 50\n };\n return filter;\n }\n });\n\n // 2. Schema Group (Type 1) - Admin-only structure, items directly, no header detail\n this.facade.sections.registerSection(this.SCHEMA_SECTION,\n CustomFieldGroupItemComponent,\n {\n filterOverride : (selected) => {\n const filter: CustomFieldGroupItemFilterViewModel = {\n MetaEntityId: selected && selected.length > 0 ? selected[0].Id : -1,\n GroupTypes: [CustomFieldGroupTypes.Schema],\n Offset: 0,\n Take: 50\n };\n return filter;\n },\n layoutOverride : (component : CustomFieldGroupItemComponent) => {\n component.facade.actions.hideActions(['edit']);\n },\n selectionOverride : (component: CustomFieldGroupItemComponent, selected : MetaEntity[]) => {\n const initParams = {\n MetaEntityId: selected[0]?.Id ?? -1,\n CustomFieldGroupType:CustomFieldGroupTypes.Extension\n } as Partial<CustomFieldGroupItemView>;\n component.setInitializationParameters(initParams);\n }\n });\n\n // 3. Extension Group (Type 2) - Global entity extension, header + items\n // 4. Contextual Groups (Type 3) - Scoped groups, headers + items\n this.facade.sections.registerSection(this.CONTEXTUAL_SECTION,\n CustomFieldGroupComponent,\n {\n filterOverride : (selected) => {\n const filter: CustomFieldGroupFilterViewModel = {\n MetaEntityId: selected && selected.length > 0 ? selected[0].Id : -1,\n GroupTypes: [CustomFieldGroupTypes.Extension,CustomFieldGroupTypes.Contextual],\n Offset: 0,\n Take: 50\n };\n return filter;\n },\n selectionOverride : (component: CustomFieldGroupComponent, selected : MetaEntity[]) => {\n const initParams = {\n MetaEntityId: selected[0]?.Id ?? -1,\n CustomFieldGroupType:CustomFieldGroupTypes.Contextual\n } as Partial<CustomFieldGroup>;\n component.setInitializationParameters(initParams);\n }\n });\n\n }\n}\n","import { ApplicationService, BaseComponent } from '@dflat-core/web/core-ux';\nimport {\n ResourceKey,\n ResourceTranslationView, ResourceTranslationViewFilterViewModel\n} from '@dflat-core/web/system-model';\nimport {\n SystemEntityKeys,\n SystemMenuItemProvider,\n SystemPermissions,\n} from '@dflat-core/web/system-root';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'alg-resource-translation',\n templateUrl: '../../../../core-ux/src/lib/v2/components/base-component/base-template.component.html',\n standalone: false\n})\nexport class ResourceTranslationComponent extends BaseComponent<ResourceTranslationViewFilterViewModel,ResourceTranslationView> {\n\n getTitle(): string {\n return 'Traductions';\n }\n getPath(): string {\n return SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n getEntityKey(): string {\n return SystemEntityKeys.ResourceTranslation;\n }\n get PermissionKey(): string {\n return SystemPermissions.ADMIN_RESOURCE_KEYS;\n }\n\n constructor(\n app: ApplicationService,\n protected route: ActivatedRoute\n ) {\n super(app, route);\n }\n\n resourceKey : ResourceKey;\n ngOnInit(): void {\n super.ngOnInit();\n this.facade.actions.patch('add', {\n getParameter: () => {\n return {\n ResourceKeyId : this.resourceKey.Id,\n Key : this.resourceKey.Key\n } as Partial<ResourceTranslationView>\n }\n });\n }\n}\n","import { SpecificSection } from '@dflat-core/web/core-model';\nimport { ApplicationService, BaseComponent } from '@dflat-core/web/core-ux';\nimport { ResourceKey, ResourceKeyFilterViewModel, ResourceTranslationViewFilterViewModel } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys, SystemMenuItemProvider, SystemPermissions } from '@dflat-core/web/system-root';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { ResourceTranslationComponent } from '../resource-translation/resource-translation.component';\n\n\n@Component({\n selector: 'alg-resource-key',\n templateUrl: '../../../../core-ux/src/lib/v2/components/base-component/base-template.component.html',\n standalone: false\n})\nexport class ResourceKeyComponent extends BaseComponent<ResourceKeyFilterViewModel, ResourceKey> {\n \n getTitle(): string {\n return 'Ressources';\n }\n getPath(): string {\n return SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n getEntityKey(): string {\n return SystemEntityKeys.ResourceKey;\n }\n get PermissionKey(): string{\n return SystemPermissions.ADMIN_RESOURCE_KEYS;\n }\n \n specificSections: SpecificSection[];\n \n RESOURCE_TRANSLATION_SECTION: string = \"Traductions\";\n \n constructor(app: ApplicationService,\n protected route: ActivatedRoute)\n {\n super(app, route); \n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.facade.sections.registerSection(this.RESOURCE_TRANSLATION_SECTION, \n ResourceTranslationComponent, \n {\n layoutOverride : (component) => {\n component.facade.layout.setFixedLayout({IsVerticalLayout : false, PropertyFlexGrow : 50})\n },\n filterOverride : (selected) => {\n const filter: ResourceTranslationViewFilterViewModel = {\n AdditionalFilter: selected && selected.length > 0\n ? `ResourceKeyId in (${selected.map(s => s.Id).join(\",\")})` : null, \n Offset: 0, \n Take: 50\n };\n return filter;\n },\n selectionOverride(component : ResourceTranslationComponent, selected : ResourceKey[]) {\n component.resourceKey = selected[0]\n },\n \n });\n\n this.facade.actions.hideAction(\"edit\");\n this.facade.actions.hideAction(\"add\");\n\n this.facade.layout.setFixedLayout({IsVerticalLayout : false, PropertyFlexGrow : 70});\n }\n\n}\n \n\n","\nimport { Utilities } from '@dflat-core/web/core';\nimport { EntityViewModelWithFields, FilterDescriptor } from '@dflat-core/web/core-model';\nimport { ApplicationService, BaseEditorComponent } from '@dflat-core/web/core-ux';\nimport { UserAccount } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys, SystemMenuItemProvider } from '@dflat-core/web/system-root';\nimport { Component, EventEmitter, OnInit, Output, ViewChild } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'alg-user-account-profile',\n templateUrl: './user-account-profile.component.html',\n styleUrls: ['./user-account-profile.component.scss'],\n standalone: false\n})\nexport class UserProfileAccountComponent extends BaseEditorComponent<UserAccount>\nimplements OnInit {\n\n getEntityKey(): string {\n return SystemEntityKeys.UserAccount;\n }\n\n getTitle(withId: boolean): string {\n return withId ? ((this.id === \"0\") ? ('Nouvel utilisateur') : ('Utilisateur (' + this.id + ')')): 'Utilisateurs';\n }\n\n getPath(withId: boolean): string {\n return withId ? SystemMenuItemProvider.GetLink(this.getEntityKey()) + '/' + this.id : SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n\n @Output()\n cancel: EventEmitter<any> = new EventEmitter();\n @Output()\n update: EventEmitter<{ success: boolean }> = new EventEmitter();\n\n @ViewChild('FirstName', {static: false})\n private firstName;\n\n @ViewChild('f', {static: false})\n public form;\n\n\n isChangePassword = false;\n uniqueId: string = Utilities.uniqueId();\n showValidationErrors = true;\n public roleFieldDescriptor: FilterDescriptor = {};\n public field: FilterDescriptor = {};\n public fields: FilterDescriptor[] = [];\n\n constructor(app : ApplicationService, route : ActivatedRoute) {\n super(app, route);\n\n this.isModal = true;\n this.id = this.authService.userId;\n this.loadOnInit = true;\n\n }\n\n goBack() {\n this.cancel.emit();\n }\n\n\n public resetEditor() {\n this.isChangePassword = false;\n this.form.reset();\n }\n\n changePassword() {\n this.isChangePassword = true;\n }\n\n onCancel() {\n this.goBack();\n }\n\n OnLoadingComplete(entity: EntityViewModelWithFields<UserAccount>) {\n this.fields = entity.FieldSections[0].FieldViewModels;\n this.field = entity.FieldSections[0].FieldViewModels.find(c => c.PropertyName === 'UserAccountCompanys');\n this.roleFieldDescriptor = entity.FieldSections[0].FieldViewModels.find(c => c.PropertyName === 'UserAccountRoles');\n }\n\n}\n\n\n","<div>\r\n <form class=\"dynamic-form\" name=\"userInfoForm\" #f=\"ngForm\" novalidate>\r\n\r\n <div ngFor=\"let field of fields\">\r\n <div *ngIf=\"field.IsHidden\">\r\n <div [hidden]=\"true\" class=\"form-group has-feedback\">\r\n <label [htmlFor]=\"field.PropertyName\">{{ field.Label }}</label>\r\n <input class=\"form-control\" [formControlName]=\"field.PropertyName\" [id]=\"field.PropertyName\" [type]=\"field.InputType\">\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n\r\n<!--Pseudo-->\r\n<div *ngIf=\"entityViewModel.ViewModel\" class=\"form-group has-feedback\">\r\n <label class=\"col-md-3 control-label\" for=\"Pseudo-{{uniqueId}}\">Pseudo</label>\r\n <div class=\"col-md-12\" [ngClass]=\"{'has-success': f.submitted && Pseudo.valid, 'has-error' : f.submitted && !Pseudo.valid}\">\r\n <input readonly=\"true\" type=\"text\" attr.id=\"Pseudo-{{uniqueId}}\" name=\"Pseudo\" placeholder=\"Pseudo\" class=\"form-control\"\r\n [(ngModel)]=\"entityViewModel.ViewModel.Pseudo\" #Pseudo=\"ngModel\" required [ngClass]=\"{'dflat-valid': Pseudo.valid, 'dflat-invalid' : !Pseudo.valid}\" />\r\n <span *ngIf=\"showValidationErrors && f.submitted\" class=\"glyphicon form-control-feedback\" [ngClass]=\"{'glyphicon-ok ': Pseudo.valid, 'glyphicon-remove' : !Pseudo.valid}\"></span>\r\n <span *ngIf=\"showValidationErrors && f.submitted && !Pseudo.valid\" class=\"errorMessage\">\r\n Le nom est un champ obligatoire.\r\n </span>\r\n </div>\r\n</div>\r\n<!--Email-->\r\n<div *ngIf=\"entityViewModel.ViewModel\" class=\"form-group has-feedback\">\r\n <label class=\"col-md-3 control-label\" for=\"Email-{{uniqueId}}\">Nom</label>\r\n <div class=\"col-md-12\" [ngClass]=\"{'has-success': f.submitted && Email.valid, 'has-error' : f.submitted && !Email.valid}\">\r\n <input readonly=\"true\" type=\"text\" attr.id=\"Email-{{uniqueId}}\" name=\"Email\" placeholder=\"Email\" class=\"form-control\"\r\n [(ngModel)]=\"entityViewModel.ViewModel.Email\" #Email=\"ngModel\" required pattern=\"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$\"\r\n [ngClass]=\"{'dflat-valid': Email.valid, 'dflat-invalid' : !Email.valid}\" />\r\n <span *ngIf=\"showValidationErrors && f.submitted\" class=\"glyphicon form-control-feedback\" [ngClass]=\"{'glyphicon-ok ': Email.valid, 'glyphicon-remove' : !Email.valid}\"></span>\r\n <span *ngIf=\"showValidationErrors && f.submitted && Email.errors?.required\" class=\"errorMessage\">\r\n L'Email' est un champ obligatoire.\r\n </span>\r\n <span *ngIf=\"showValidationErrors && f.submitted && Email.errors?.pattern\" class=\"errorMessage\">\r\n L'Email est invalide.\r\n </span>\r\n </div>\r\n</div>\r\n <!--LastName-->\r\n <div *ngIf=\"entityViewModel.ViewModel\" class=\"form-group has-feedback\">\r\n <label class=\"col-md-3 control-label\" for=\"LastName-{{uniqueId}}\">Nom</label>\r\n <div class=\"col-md-12\" [ngClass]=\"{'has-success': f.submitted && LastName.valid, 'has-error' : f.submitted && !LastName.valid}\">\r\n <input type=\"text\" attr.id=\"LastName-{{uniqueId}}\" name=\"LastName\" placeholder=\"Nom\" class=\"form-control\"\r\n [(ngModel)]=\"entityViewModel.ViewModel.LastName\" #LastName=\"ngModel\" required [ngClass]=\"{'dflat-valid': LastName.valid, 'dflat-invalid' : !LastName.valid}\" />\r\n <span *ngIf=\"showValidationErrors && f.submitted\" class=\"glyphicon form-control-feedback\" [ngClass]=\"{'glyphicon-ok ': LastName.valid, 'glyphicon-remove' : !LastName.valid}\"></span>\r\n <span *ngIf=\"showValidationErrors && f.submitted && !LastName.valid\" class=\"errorMessage\">\r\n Le nom est un champ obligatoire.\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <!--FirstName-->\r\n <div *ngIf=\"entityViewModel.ViewModel\" class=\"form-group has-feedback\">\r\n <label class=\"col-md-3 control-label\" for=\"FirstName-{{uniqueId}}\">Prénom</label>\r\n <div class=\"col-md-12\" [ngClass]=\"{'has-success': f.submitted && FirstName.valid, 'has-error' : f.submitted && !FirstName.valid}\">\r\n <input type=\"text\" attr.id=\"FirstName-{{uniqueId}}\" name=\"FirstName\" placeholder=\"Prénom\" class=\"form-control\"\r\n [(ngModel)]=\"entityViewModel.ViewModel.FirstName\" #FirstName=\"ngModel\" required [ngClass]=\"{'dflat-valid': FirstName.valid, 'dflat-invalid' : !FirstName.valid}\" />\r\n <span *ngIf=\"showValidationErrors\" class=\"glyphicon form-control-feedback\" [ngClass]=\"{'glyphicon-ok ': FirstName.valid, 'glyphicon-remove' : !FirstName.valid}\"></span>\r\n <span *ngIf=\"showValidationErrors && !FirstName.valid\" class=\"errorMessage\">\r\n Le prénom est un champ obligatoire.\r\n </span>\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n <!--Rôles-->\r\n <!-- <div *ngIf=\"entityViewModel.ViewModel\" class=\"form-group has-feedback\">\r\n <label class=\"col-md-3\" for=\"UserAccountCompanys-{{uniqueId}}\">Rôles</label>\r\n <div class=\"col-md-12\">\r\n <ng-select placeholder=\"Sélectionner un rôle\" name=\"UserAccountRoles\" attr.id=\"UserAccountRoles-{{uniqueId}}\"\r\n [items]=\"roleFieldDescriptor.Data\" [multiple]=\"true\" [hideSelected]=\"true\" bindValue=\"Id\" bindLabel=\"UniqueName\"\r\n [(ngModel)]=\"entityViewModel.ViewModel.UserAccountRoles\" #UserAccountRoles=\"ngModel\"\r\n [disabled]=\"!entityViewModel.ViewModel.IsAdmin\">\r\n </ng-select>\r\n </div>\r\n </div> -->\r\n\r\n <!--Société-->\r\n <!-- <div *ngIf=\"entityViewModel.ViewModel\" class=\"form-group has-feedback\">\r\n <label class=\"col-md-3\" for=\"UserAccountCompanys-{{uniqueId}}\">Société</label>\r\n <div class=\"col-md-12\">\r\n <ng-select placeholder=\"Sélectionner une société\" name=\"UserAccountCompanys\" attr.id=\"UserAccountCompanys-{{uniqueId}}\"\r\n [items]=\"field.Data\" [multiple]=\"true\" [hideSelected]=\"true\" bindValue=\"Id\" bindLabel=\"CompanyName\"\r\n [(ngModel)]=\"entityViewModel.ViewModel.UserAccountCompanys\" #UserAccountCompanys=\"ngModel\"\r\n [disabled]=\"!entityViewModel.ViewModel.IsAdmin\">\r\n </ng-select>\r\n </div>\r\n </div> -->\r\n\r\n <!-- Password -->\r\n <div *ngIf=\"entityViewModel.ViewModel\" class=\"form-group\">\r\n\r\n <div *ngIf=\"!isChangePassword\" class=\"col-md-12\">\r\n <button type=\"button\" (click)=\"changePassword()\" class=\"btn btn-link\">Changer le mot de passe</button>\r\n </div>\r\n\r\n <div *ngIf=\"isChangePassword\" class=\"col-md-12 password-well well\">\r\n <div>\r\n <!-- Current Password -->\r\n <div class=\"form-group has-feedback\">\r\n <label class=\"control-label col-md-3\" for=\"currentPassword-{{uniqueId}}\">Mot de passe actuel</label>\r\n <div class=\"col-md-12\" [ngClass]=\"{'has-success': f.submitted && currentPassword.valid, 'has-error' : f.submitted && !currentPassword.valid}\">\r\n <input type=\"password\" attr.id=\"currentPassword-{{uniqueId}}\" name=\"currentPassword\"\r\n placeholder=\"Saisir le mot de passe actuel\" class=\"form-control\" [(ngModel)]=\"entityViewModel.ViewModel.CurrentPassword\"\r\n #currentPassword=\"ngModel\" required />\r\n <span *ngIf=\"showValidationErrors && f.submitted\" class=\"glyphicon form-control-feedback\"\r\n [ngClass]=\"{'glyphicon-ok ': currentPassword.valid, 'glyphicon-remove' : !currentPassword.valid}\"></span>\r\n <span *ngIf=\"showValidationErrors && f.submitted && !currentPassword.valid\" class=\"errorMessage\">\r\n Le mot de passe actuel est obligatoire.\r\n </span>\r\n </div>\r\n </div>\r\n <!-- Separator -->\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <hr class=\"password-separator-hr\" />\r\n </div>\r\n </div>\r\n <!-- New Password -->\r\n <div class=\"form-group has-feedback\">\r\n <label class=\"control-label col-md-3\" for=\"newPassword-{{uniqueId}}\">Nouveau mot de passe</label>\r\n <div class=\"col-md-12\" [ngClass]=\"{'has-success': f.submitted && newPassword.valid, 'has-error' : f.submitted && !newPassword.valid}\">\r\n <input type=\"password\" attr.id=\"newPassword-{{uniqueId}}\" name=\"newPassword\" placeholder=\"Enter new password\"\r\n class=\"form-control\" [(ngModel)]=\"entityViewModel.ViewModel.NewPassword\" #newPassword=\"ngModel\"\r\n required validateEqual=\"confirmPassword\" reverse=\"true\" />\r\n <span *ngIf=\"showValidationErrors && f.submitted\" class=\"glyphicon form-control-feedback\"\r\n [ngClass]=\"{'glyphicon-ok ': newPassword.valid, 'glyphicon-remove' : !newPassword.valid}\"></span>\r\n <span *ngIf=\"showValidationErrors && f.submitted && !newPassword.valid\" class=\"errorMessage\">\r\n Le nouveau mot de passe est obligatoire.\r\n </span>\r\n </div>\r\n </div>\r\n <!-- Separator -->\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <hr class=\"password-separator-hr\" />\r\n </div>\r\n </div>\r\n\r\n <!-- Confirm Password -->\r\n <div class=\"form-group has-feedback\">\r\n <label class=\"control-label col-md-3\" for=\"confirmPassword-{{uniqueId}}\">Confirmez le mot de\r\n passe</label>\r\n <div class=\"col-md-12\" [ngClass]=\"{'has-success': f.submitted && confirmPassword.valid, 'has-error' : f.submitted && !confirmPassword.valid}\">\r\n <input type=\"password\" attr.id=\"confirmPassword-{{uniqueId}}\" name=\"confirmPassword\"\r\n placeholder=\"Confirmez le mot de passe\"\r\n class=\"form-control\" [(ngModel)]=\"entityViewModel.ViewModel.ConfirmPassword\"\r\n #confirmPassword=\"ngModel\" required validateEqual=\"newPassword\" />\r\n <span *ngIf=\"showValidationErrors && f.submitted\" class=\"glyphicon form-control-feedback\"\r\n [ngClass]=\"{'glyphicon-ok ': confirmPassword.valid, 'glyphicon-remove' : !confirmPassword.valid}\"></span>\r\n <span *ngIf=\"showValidationErrors && f.submitted && confirmPassword.errors?.required\" class=\"errorMessage\">\r\n Le mot de passe de confirmation est obligatoire.\r\n </span>\r\n <span *ngIf=\"showValidationErrors && f.submitted && confirmPassword.errors?.validateEqual && !confirmPassword.errors?.required\"\r\n class=\"errorMessage\">\r\n Le nouveau mot de passe et le mot de passe de confirmation ne correspondent pas.\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n</div>\r\n","\nimport { ApplicationService, NewEditorComponent } from '@dflat-core/web/core-ux';\nimport { AddressView } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys, SystemMenuItemProvider } from '@dflat-core/web/system-root';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'msw-address-editor',\n templateUrl: '../../../../core-ux/src/lib/v2/components/new-editor/new-editor.component.html',\n standalone: false\n})\nexport class AddressEditorComponent extends NewEditorComponent<AddressView> {\n\n getEntityKey(): string {\n return SystemEntityKeys.Address;\n }\n getTitle(withId: boolean): string {\n return withId ? ((this.id === \"0\") ? ('Nouvelle adresse') : ('Adresse (' + this.id + ')')): 'Adresse';\n }\n \n getPath(withId: boolean): string {\n return withId ? SystemMenuItemProvider.GetLink(this.getEntityKey()) + '/' + this.id : SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n constructor(app : ApplicationService, route : ActivatedRoute) {\n super(app, route); \n }\n}\n","\nimport { ApplicationService, BaseEditorComponent } from '@dflat-core/web/core-ux';\nimport { CompanyView } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys, SystemMenuItemProvider } from '@dflat-core/web/system-root';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'msw-company-editor',\n templateUrl: '../../../../core-ux/src/lib/components/base-editor/base-editor.component.html',\n standalone: false\n})\nexport class CompanyEditorComponent extends BaseEditorComponent<CompanyView> {\n\n getEntityKey(): string {\n return SystemEntityKeys.Company;\n }\n getTitle(withId: boolean): string {\n return withId ? ((this.id === \"0\") ? ('Nouvelle société') : ('Société (' + this.id + ')')): 'Sociétés';\n }\n \n getPath(withId: boolean): string {\n return withId ? SystemMenuItemProvider.GetLink(this.getEntityKey()) + '/' + this.id : SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n \n constructor(app : ApplicationService, route : ActivatedRoute) {\n super(app, route); \n }\n}\n","import { Utilities } from '@dflat-core/web/core';\nimport { ImageFormats, IMessage } from '@dflat-core/web/core-model';\nimport { FileDataService } from '@dflat-core/web/system-data';\nimport { FileTypes, ImageUploadEvent, ImageUploadEventType, UploadFileResult } from '@dflat-core/web/system-model';\nimport { HttpEvent, HttpEventType } from '@angular/common/http';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { NgxImageCompressService } from 'ngx-image-compress';\nimport { Observable, PartialObserver, Subject } from 'rxjs';\n\n@Component({\n selector: 'alg-image-upload',\n templateUrl: './image-upload.component.html',\n styleUrls: ['./image-upload.component.scss'],\n standalone: false\n})\nexport class ImageUploadComponent implements OnInit {\n\n\n public static MAX_HEIGHT: number = 768;\n public static MAX_WIDTH: number = 1024;\n public static COMPRESSION_RATE: number = 75;\n \n errorMessage : string;\n isLoading: boolean = false;\n uploadImageSubject : Subject<ImageUploadEvent> = new Subject<ImageUploadEvent>();\n \n /**\n * Indique si la sauvegarde automatique de l'image après modification est activée.\n */\n @Input()\n autoSave: boolean = false;\n\n /**\n * Id de l'entité\n */\n @Input()\n entityId: number;\n\n /**\n * Type d'entité\n */\n @Input()\n entityType: string;\n\n /**\n * Type de fichier Image/DefaultImage\n */\n @Input()\n fileType: FileTypes;\n\n /** \n * Les données lue dans le fichier\n */\n private _compressedImageFile: File = null;\n\n get compressedImageFile(): File {\n return this._compressedImageFile;\n }\n \n /** \n * Les données lue dans le fichier\n */\n private _fileData: File = null;\n\n get fileData(): File {\n return this._fileData;\n }\n /**\n * L'url généré pour le preview de l'image.\n */\n public previewUrl: any = null;\n\n /**\n * Indique si le type de fichier est valide.\n */\n private _isTypeValid: boolean = false;\n get isTypeValid(): boolean {\n return this._isTypeValid;\n }\n /**\n * Indique si le fichier a été modifié par l'utilisateur.\n */\n private _isDirty: boolean = false;\n get isDirty(): boolean {\n return this._isDirty;\n }\n /** \n * Le format du fichier.\n */\n private _imageFormat: ImageFormats;\n get imageFormat(): ImageFormats {\n return this._imageFormat;\n }\n\n /**\n * \n * @param fileService Service de fichiers.\n * @param imageCompress Service de compression d'image\n */\n constructor(\n private fileService: FileDataService,\n private imageCompress: NgxImageCompressService) { }\n\n ngOnInit(): void {\n }\n\n /**\n * Traite le retour de sélection du fichier ou drag & drop.\n * @param fileInput Valeur récupérée au retour de la sélection de fichier, ou drag & drop\n */\n public handleFileChanged(fileInput: any) {\n if (!Utilities.IsNil(fileInput.target.files) && fileInput.target.files.length > 0 ) {\n \n // Indique que le chargement du fichier est en cours.\n this.isLoading = true;\n\n // Indique que l'utilisateur a choisi un fichier\n this._isDirty = true;\n\n // Récupération du fichier\n this._fileData = <File>fileInput.target.files[0];\n\n // Lecture du type de fichier\n this._isTypeValid = this.readFileType();\n\n if (this._isTypeValid) {\n // Lecture du fihier et génération l'utili de preview\n this.compressAndPreview();\n }\n else {\n\n // Message d'erreur.\n this.errorMessage = 'Le format de fichier n\\'est pas valide';\n this.isLoading = false;\n }\n }\n else {\n // Si pas d'éléments choisi, le chargement est terminé.\n this.isLoading = false;\n }\n }\n\n public hasValidImageFile(): boolean {\n return this._isDirty && this._isTypeValid && (!Utilities.IsNil(this._fileData));\n }\n\n /**\n * Lecture du type de fichier.\n * @returns @true si le type de fichier est bien un fichier d'image valide, @false sinon\n */\n private readFileType(): boolean {\n\n // Récupère le type mime du fichier.\n var mimeType = this._fileData.type;\n if (mimeType.match(/image\\/*/) == null) {\n // Si ce n'est pas un type image, on renvoie false\n return false;\n }\n\n // Initialise le format d'image.\n switch (mimeType) {\n case \"image/jpeg\":\n this._imageFormat = ImageFormats.JPG;\n break;\n case \"image/gif\":\n this._imageFormat = ImageFormats.GIF;\n break;\n case \"image/png\":\n this._imageFormat = ImageFormats.PNG;\n break;\n // case \"image/svg+xml\":\n // this._imageFormat = ImageFormats.SVG;\n // break;\n default:\n this._imageFormat = ImageFormats.Undefined;\n }\n return this._imageFormat != ImageFormats.Undefined;\n }\n \n /**\n * Compresse l'image et affiche le résultat dans le preview.\n */\n private compressAndPreview() {\n\n // Lecture du fichier\n var reader: FileReader = new FileReader();\n reader.readAsDataURL(this._fileData);\n var orientation = -1;\n reader.onload = (_event) => {\n\n // on créer un élément de type Image dans le but de calculer la taille de l'image (height/width)\n var img = new Image();\n let originalImage: string = reader.result as string;\n let sizeOfOriginalImage = this.imageCompress.byteCount(originalImage) / (1024 * 1024);\n \n // console.log('Taille originale de l\\'image: ' + sizeOfOriginalImage + ' Mo');\n\n // On s'abonne l'évènement de chargement de l'image\n img.onload = () => {\n\n // On récupère la taille de l'image.\n let height: number = img.height;\n let width: number = img.width;\n\n // console.log('Dimensions originales : h' + height + ' w' + width);\n\n // On calcule le ratio et le taux de compression.\n let ratio: number = this.computeRatio(height, width);\n let compression: number = ImageUploadComponent.COMPRESSION_RATE;\n \n // console.log('Ratio calculé : ' + ratio);\n\n this.imageCompress.compressFile(originalImage, orientation, ratio, compression).then(\n data => {\n\n // Affectation des données pour le preview\n this.previewUrl = data;\n\n let sizeOFCompressedImage = this.imageCompress.byteCount(data) / (1024 * 1024)\n \n //console.log('Taille de l\\'image compressée: ' + sizeOFCompressedImage + ' Mo');\n\n // Création de l'image compressée sous forme d'un fichier (pour pouvoir l'envoyer)\n const imageBlob = this.dataURItoBlob(data.split(',')[1], this._fileData.type);\n this._compressedImageFile = new File([imageBlob], this._fileData['name'], { type: this._fileData.type });\n\n if ( this.autoSave) {\n this.uploadImage();\n }\n else {\n // fin du chargement\n this.isLoading = false;\n }\n }\n );\n }\n // Affectation du contenu de l'image à l'élément Image, pour déclencer l'évènement de chargement.\n img.src = reader.result as string;\n }\n }\n\n dataURItoBlob(dataURI: string, mimType: string) {\n const byteString = window.atob(dataURI);\n const arrayBuffer = new ArrayBuffer(byteString.length);\n const int8Array = new Uint8Array(arrayBuffer);\n for (let i = 0; i < byteString.length; i++) {\n int8Array[i] = byteString.charCodeAt(i);\n }\n const blob = new Blob([int8Array], { type: mimType});\n return blob;\n }\n\n \n\n /**\n * Calcule le ratio de redimensionnemnet de l'image en fonction de la hauteur et largeur maximale souhaitée\n * @param height hauteur de l'image originale\n * @param width largeur de l'image originale\n * @returns Le ratio de redimensionnement de l'image\n */\n computeRatio(height: number, width: number): number {\n // On s'attend à une image rectangulaire ou carré, orientée de manière horizontale.\n // c'est-à-dire height <= width\n // Dans le cas d'une image erticale, on inverse les dimensions pour calculer le bon ratio.\n if (height > width) {\n let tmp = height;\n height = width;\n width = tmp;\n }\n\n // Si la dimension de l'image est inférieure aux dimensions maximales, on ne redimensionne pas l'image.\n // => On renvoie 100\n if (height < ImageUploadComponent.MAX_HEIGHT && width < ImageUploadComponent.MAX_WIDTH)\n return 100;\n else if (height < ImageUploadComponent.MAX_HEIGHT) {\n // Seule la largeur est supérieure à la largeur max.\n // on calcule le ratio par rapport à la largeur de l'image.\n return 100 * ImageUploadComponent.MAX_WIDTH / width;\n }\n else if (width < ImageUploadComponent.MAX_WIDTH) {\n // Seule la hauteur est supérieure à la hauteur max.\n // on calcule le ratio par rapport à la hauteur de l'image.\n return 100 * ImageUploadComponent.MAX_HEIGHT / height;\n }\n else {\n // Les 2 dimensions de l'image sont supérieures au dimensions maximales.\n // Dans ce cas, on prend le min des 2\n return Math.min(100 * ImageUploadComponent.MAX_WIDTH / width, 100 * ImageUploadComponent.MAX_HEIGHT / height);\n }\n }\n\n\n progress: number = 0;\n \n public uploadImage() {\n\n if (this.hasValidImageFile()) {\n\n let observer: PartialObserver<HttpEvent<UploadFileResult>> = {\n closed: false,\n next: this.handleSaveImageEvent.bind(this),\n error: this.handleSaveImageError.bind(this),\n complete: () => { }\n }\n \n //Indique que l'image est en cours de chargement\n this.isLoading= true;\n\n // Appel à l'API pour sauvegarder l'image.\n this.fileService.uploadFileWithEvents(\n this.compressedImageFile, this.entityId, this.entityType, this.fileType, this.imageFormat, null).subscribe(observer);\n }\n else {\n this.uploadImageSubject.complete();\n }\n }\n handleSaveImageError(error: any) {\n this.uploadImageSubject.next({Event: ImageUploadEventType.Error, Progress: 0, ResultUrl: null});\n \n //Indique que le chargement est terminé.\n this.isLoading = false;\n }\n\n \n\n handleSaveImageEvent(event: HttpEvent<UploadFileResult>) {\n switch (event.type) {\n case HttpEventType.Sent:\n this.uploadImageSubject.next({Event: ImageUploadEventType.InProgress, Progress: 0, ResultUrl: null});\n break;\n case HttpEventType.UploadProgress:\n let progress = Math.round(100 * (event.loaded / event.total));\n this.uploadImageSubject.next({Event: ImageUploadEventType.InProgress, Progress: progress, ResultUrl: null});\n \n break;\n case HttpEventType.Response:\n this.uploadImageSubject.next({Event: ImageUploadEventType.Complete, Progress: 100, ResultUrl: event.body.FileUrl});\n\n // En mode sauvegarde automatique, on ne clôture pas le suject\n // pour pouvoir relancer à nouveau la sauvegarde.\n if ( ! this.autoSave )\n this.uploadImageSubject.complete();\n\n //Indique que le chargement est terminé.\n this.isLoading = false;\n break;\n }\n }\n}\n\n\n","<div class=\"image-upload-container\" [class.loading]=\"isLoading\">\r\n <input class=\"image-upload-input\" type=\"file\" name=\"image\" (change)=\"handleFileChanged($event)\" title=\" \" />\r\n <div class=\"image-preview\">\r\n <ng-container *ngIf=\"isLoading\">\r\n <div class=\"loader\">\r\n <img src=\"assets/images/image-spinner.gif\" height=\"32\" width=\"32\" alt=\"image-spinner\">\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"previewUrl\">\r\n <img [src]=\"previewUrl\" alt=\"preview-image\"/>\r\n </ng-container>\r\n </div>\r\n</div>","\nimport { ApplicationService, BaseEditorComponent } from '@dflat-core/web/core-ux';\nimport { Country } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys, SystemMenuItemProvider } from '@dflat-core/web/system-root';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'msw-country-editor',\n templateUrl: '../../../../core-ux/src/lib/components/base-editor/base-editor.component.html',\n standalone: false\n})\n\nexport class CountryEditorComponent extends BaseEditorComponent<Country>{\n \n getEntityKey(): string {\n return SystemEntityKeys.Country;\n }\n getTitle(withId: boolean): string {\n return withId ? ((this.id === \"0\") ? ('Nouveau pays') : ('Pays (' + this.id + ')')): 'Pays';\n }\n \n getPath(withId: boolean): string {\n return withId ? SystemMenuItemProvider.GetLink(this.getEntityKey()) + '/' + this.id : SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n\n constructor(app : ApplicationService, route : ActivatedRoute) {\n super(app, route); \n }\n \n}\n","import { ApplicationService, BaseComponent } from '@dflat-core/web/core-ux';\nimport { Country, CountryFilterViewModel } from '@dflat-core/web/system-model';\nimport {\n SystemEntityKeys,\n SystemMenuItemProvider,\n SystemPermissions,\n} from '@dflat-core/web/system-root';\nimport {\n Component\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'msw-country-search',\n templateUrl: '../../../../core-ux/src/lib/v2/components/base-component/base-template.component.html',\n standalone: false\n})\nexport class CountryComponent extends BaseComponent<\n CountryFilterViewModel,\n Country\n> {\n getTitle(): string {\n return 'Pays';\n }\n getPath(): string {\n return SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n getEntityKey(): string {\n return SystemEntityKeys.Country;\n }\n get PermissionKey(): string {\n return SystemPermissions.DATABASE_COUNTRIES;\n }\n\n \n constructor( app: ApplicationService,protected route: ActivatedRoute) {\n super(app, route);\n }\n}\n","import { ApplicationService, BaseEditorComponent } from '@dflat-core/web/core-ux';\nimport { Currency } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys, SystemMenuItemProvider } from \"@dflat-core/web/system-root\";\nimport { Component } from \"@angular/core\";\nimport { ActivatedRoute } from '@angular/router';\n\n\n@Component({\n selector: 'alg-currency-editor',\n templateUrl: '../../../../core-ux/src/lib/components/base-editor/base-editor.component.html',\n standalone: false\n})\n\nexport class CurrencyEditorComponent extends BaseEditorComponent<Currency>\n{\n getEntityKey(): string {\n return SystemEntityKeys.Currency;\n }\n \n getTitle(withId: boolean): string {\n return withId ? ((this.id === \"0\") ? ('Nouvelle monnaie') : ('Monnaie (' + this.id + ')')): 'Monnaies';\n }\n \n getPath(withId: boolean): string {\n return withId ? SystemMenuItemProvider.GetLink(this.getEntityKey()) + '/' + this.id : SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n constructor(app : ApplicationService, route : ActivatedRoute) {\n super(app, route); \n }\n}","import { ApplicationService, BaseComponent } from '@dflat-core/web/core-ux';\nimport { Currency, CurrencyFilterViewModel } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys, SystemMenuItemProvider, SystemPermissions } from '@dflat-core/web/system-root';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n\n\n@Component({\n selector: 'alg-currency',\n templateUrl: '../../../../core-ux/src/lib/v2/components/base-component/base-template.component.html',\n standalone: false\n})\n\nexport class CurrencyComponent extends BaseComponent<CurrencyFilterViewModel, Currency> {\n\n getTitle(): string {\n return 'Monnaies';\n }\n getPath(): string {\n return SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n getEntityKey(): string {\n return SystemEntityKeys.Currency;\n }\n get PermissionKey(): string{\n return SystemPermissions.DATABASE_CURRENCIES;\n }\n \n constructor(app: ApplicationService,protected route: ActivatedRoute)\n { \n super(app, route); \n }\n}","import { Utilities } from '@dflat-core/web/core';\nimport { EntityViewModelWithFields } from '@dflat-core/web/core-model';\nimport { ApplicationService, BaseComponent } from '@dflat-core/web/core-ux';\nimport {\n ExchangeRateFilterViewModel,\n ExchangeRateView,\n} from '@dflat-core/web/system-model';\nimport {\n SystemEntityKeys,\n SystemMenuItemProvider,\n SystemPermissions,\n} from '@dflat-core/web/system-root';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'msw-exchange-rate-detail',\n templateUrl: '../../../../core-ux/src/lib/v2/components/base-component/base-template.component.html',\n standalone: false\n})\nexport class ExchangeRateDetailComponent extends BaseComponent<\n ExchangeRateFilterViewModel,\n ExchangeRateView\n> {\n getTitle(): string {\n return 'Historique des taux';\n }\n getPath(): string {\n return SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n getEntityKey(): string {\n return SystemEntityKeys.ExchangeRate;\n }\n get PermissionKey(): string {\n return SystemPermissions.DATABASE_EXCHANGERATE;\n }\n\n constructor(\n app: ApplicationService,\n protected route: ActivatedRoute\n ) \n { \n super(app, route);\n this.sectionKey = this.getEntityKey();\n }\n\n ngOnInit() {\n super.ngOnInit();\n\n this.facade.actions.patch('add', {\n getParameter: () => {\n let lastSelectedRate: ExchangeRateView = this.selectedEntities[0]\n return {\n CurrencyId : lastSelectedRate.CurrencyId\n } as Partial<ExchangeRateView>\n }\n }); \n }\n\n alterViewModel(viewModel : EntityViewModelWithFields<ExchangeRateView>, selected : ExchangeRateView)\n : EntityViewModelWithFields<ExchangeRateView> {\n \n // Si la sélection est vide, on ne fait rien.\n // Si l'élement selctionné est vide, on ne fait rien.\n // Si le ViewModel est vide, on ne fait rien\n if (Utilities.IsNil(selected) || Utilities.IsNil(viewModel))\n return viewModel;\n\n // Pour chaque propriété, on détermine si elle est en lecture seule ou pas en fonction de l'élément sélectionné.\n viewModel.FieldSections.forEach((s) => {\n for (let f of s.FieldViewModels) {\n switch (f.PropertyName) {\n // La monnaie n'est pas modifiable\n case 'CurrencyId':\n f.ReadOnly = true;\n break;\n\n // La date de début n'est modifiable que si la date de fin est vide (c'est le taux actuel)\n case 'StartDate':\n f.ReadOnly = \n !Utilities.IsNil(selected.StartDate) && \n !Utilities.IsNil(selected.IsLocked) &&\n !selected.IsLocked;\n break;\n\n // La date de fin est éditable sur une période déverrouillée\n case 'EndDate':\n f.ReadOnly =\n Utilities.IsNil(selected.EndDate) ||\n (!Utilities.IsNil(selected.IsLocked) && !selected.IsLocked);\n break;\n\n // Le taux est modificable si la date de début est supérieure à la date de verrouillage.\n case 'RateValue':\n f.ReadOnly = !Utilities.IsNil(selected.IsLocked) && !selected.IsLocked;\n break;\n\n // Toutes les autres propriétés ne sont pas impactées (on prend la valeur qui vient du controller)\n default:\n break;\n }\n }\n });\n\n return viewModel;\n }\n}\n","import { Section } from '@dflat-core/web/core-model';\nimport { AlertService, DynamicFormComponent, IIsCancel } from '@dflat-core/web/core-ux';\nimport { ExchangeRateDataService } from '@dflat-core/web/system-data';\nimport { ExchangeRateView } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys } from '@dflat-core/web/system-root';\nimport { Component, ViewChild } from '@angular/core';\n@Component({\n selector: 'msw-exchange-rate-editor',\n templateUrl: './exchange-rate-editor.component.html',\n standalone: false\n})\nexport class ExchangeRateEditorComponent implements IIsCancel {\n getEntityKey(): string {\n return SystemEntityKeys.ExchangeRate;\n }\n\n constructor(\n public alertService: AlertService,\n private dataService: ExchangeRateDataService\n ) {}\n\n @ViewChild(DynamicFormComponent, { static: false })\n form: DynamicFormComponent;\n\n public get isValid(): boolean {\n return this.form.form.valid;\n }\n exchangeRate: ExchangeRateView = {};\n ngOnInit(): void {\n this.loadFilterDescriptors();\n }\n\n public fieldSection: Section[] = [];\n id: number;\n loadFilterDescriptors() {\n this.dataService\n .getEntityViewModel(this.id)\n\n .subscribe(\n (res) => {\n res.FieldSections[0].FieldViewModels = res.FieldSections[0].FieldViewModels.filter((x) => x.PropertyName != 'EndDate');\n res.FieldSections[0].FieldViewModels = (this.id > 0) ? res.FieldSections[0].FieldViewModels.filter((x) => x.PropertyName != 'CurrencyId' ) : res.FieldSections[0].FieldViewModels;\n this.fieldSection = res.FieldSections;\n },\n () => {},\n () => {}\n );\n }\n\n public isCancel: boolean = false;\n\n callBackAction: (component: ExchangeRateEditorComponent) => void = () => {};\n\n onCancel() {\n this.isCancel = true;\n this.callBackAction(this);\n }\n\n onValidate() {\n this.isCancel = false;\n this.callBackAction(this);\n }\n\n propertyChanged(event) {\n this.exchangeRate[event.propertyName] = event.value;\n }\n}\n","<alg-dynamic-form #form [vm]=\"exchangeRate\" [vmDefinition]=\"fieldSection\" (propertychanged)=\"propertyChanged($event)\"\r\n [showButtons]=\"true\" [saveButtonLabel]=\"'Créer'\" (cancel)=\"onCancel()\" (update)=\"onValidate()\">\r\n</alg-dynamic-form>\r\n","import { EntityViewModelWithFields } from '@dflat-core/web/core-model';\nimport { ApplicationService, BaseComponent } from '@dflat-core/web/core-ux';\nimport {\n ExchangeRateFilterViewModel,\n ExchangeRateView,\n} from '@dflat-core/web/system-model';\nimport {\n SystemEntityKeys,\n SystemMenuItemProvider,\n SystemPermissions,\n} from '@dflat-core/web/system-root';\nimport { ExchangeRateDetailComponent } from './exchange-rate-detail.component';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { SelectionType } from '@swimlane/ngx-datatable';\n\n@Component({\n selector: 'msw-exchange-rate',\n templateUrl:\n '../../../../core-ux/src/lib/v2/components/base-component/base-template.component.html',\n standalone: false,\n})\nexport class ExchangeRateComponent extends BaseComponent<\n ExchangeRateFilterViewModel,\n ExchangeRateView\n> {\n EXCHANGE_RATE_HISTORY: string = 'Historique';\n\n getTitle(): string {\n return 'Taux de change';\n }\n getPath(): string {\n return SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n getEntityKey(): string {\n return SystemEntityKeys.ExchangeRate;\n }\n get PermissionKey(): string {\n return SystemPermissions.DATABASE_EXCHANGERATE;\n }\n\n constructor(\n app: ApplicationService,\n protected route: ActivatedRoute\n ) {\n super(app, route);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.facade.actions.hideAction('delete');\n this.facade.selection.setSelectionType(SelectionType.single);\n\n this.facade.sections.registerSection( this.EXCHANGE_RATE_HISTORY, ExchangeRateDetailComponent,\n {\n filterOverride: (selected) =>\n ({\n CurrencyId: selected[0]?.CurrencyId ?? -1,\n IsCurrent : false\n \n } as ExchangeRateFilterViewModel),\n selectionOverride : (component : ExchangeRateDetailComponent, selected : ExchangeRateView[]) => {\n component.facade.config.addAlterViewModelFunction((vm) => component.alterViewModel(vm,selected[0]));\n },\n });\n\n this.facade.selection.selected$.subscribe((r)=> \n this.facade.config.addAlterViewModelFunction((vm) => this.alterViewModel(vm,r[0])));\n\n this.facade.actions.actionResult$.subscribe({\n next : (value) => {\n if(value.actionName == 'save' || value.actionName == 'delete' )\n this.loadData();\n },\n });\n }\n\n alterViewModel(viewModel : EntityViewModelWithFields<ExchangeRateView>, selected : ExchangeRateView\n ): EntityViewModelWithFields<ExchangeRateView> {\n if(selected && selected.Id && selected.Id < 0) {\n viewModel.FieldSections[0].FieldViewModels.filter((x) => x.PropertyName != 'EndDate');\n viewModel.FieldSections[0].FieldViewModels.find((x) => x.PropertyName == 'CurrencyId').ReadOnly = false;\n }\n return viewModel;\n }\n}\n","import { ApplicationService, BaseComponent } from '@dflat-core/web/core-ux';\nimport { ParameterValueView, ParameterValueViewFilterViewModel } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys, SystemMenuItemProvider, SystemPermissions } from '@dflat-core/web/system-root';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'alg-global-param',\n templateUrl: '../../../../core-ux/src/lib/v2/components/base-component/base-template.component.html',\n standalone: false\n})\n\nexport class GlobalParameterComponent extends BaseComponent<ParameterValueViewFilterViewModel,ParameterValueView> {\n\n getTitle(): string {\n return 'Paramètres généraux';\n }\n getPath(): string {\n return SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n getEntityKey(): string {\n return SystemEntityKeys.GlobalParameter;\n }\n get PermissionKey(): string{\n return SystemPermissions.ADMIN_PARAMETER_VIEW;\n }\n \n constructor(app: ApplicationService,\n protected route: ActivatedRoute)\n {\n super(app, route); \n \n this.filterAction('add');\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.facade.layout.setFixedLayout({ IsVerticalLayout : true, PropertyFlexGrow : 68 });\n }\n}\n","import { Section } from '@dflat-core/web/core-model';\nimport { AlertService, DynamicFormComponent, IIsCancel } from '@dflat-core/web/core-ux';\nimport { TvaRateDataService } from '@dflat-core/web/system-data';\nimport { TvaRateView } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys } from '@dflat-core/web/system-root';\nimport { Component, ViewChild } from '@angular/core';\n@Component({\n selector: 'msw-tva-rate-editor',\n templateUrl: './tva-rate-editor.component.html',\n standalone: false\n})\nexport class TvaRateEditorComponent implements IIsCancel {\n getEntityKey(): string {\n return SystemEntityKeys.TvaRate;\n }\n\n constructor(\n public alertService: AlertService,\n private dataService: TvaRateDataService\n ) {}\n\n @ViewChild(DynamicFormComponent, { static: false })\n form: DynamicFormComponent;\n\n public get isValid(): boolean {\n return this.form.form.valid;\n }\n tvaRate: TvaRateView = {};\n ngOnInit(): void {\n this.loadFilterDescriptors();\n }\n\n public fieldSection: Section[] = [];\n id: number;\n loadFilterDescriptors() {\n this.dataService\n .getEntityViewModel(this.id)\n\n .subscribe(\n (res) => {\n res.FieldSections[0].FieldViewModels = res.FieldSections[0].FieldViewModels.filter((x) => x.PropertyName != 'EndDate');\n this.fieldSection = res.FieldSections;\n res.FieldSections[0].FieldViewModels.find((x)=>x.PropertyName == 'CountryId').ReadOnly = false;\n res.FieldSections[0].FieldViewModels.find((x)=>x.ExportPropertyName == 'TvaType').ReadOnly = false;\n },\n () => {},\n () => {}\n );\n }\n\n\n\n public isCancel: boolean = false;\n\n callBackAction: (component: TvaRateEditorComponent) => void = () => {};\n\n onCancel() {\n this.isCancel = true;\n this.callBackAction(this);\n }\n\n onValidate() {\n this.isCancel = false;\n this.callBackAction(this);\n }\n\n propertyChanged(event) {\n this.tvaRate[event.propertyName] = event.value;\n }\n}\n","<alg-dynamic-form #form [vm]=\"tvaRate\" [vmDefinition]=\"fieldSection\" (propertychanged)=\"propertyChanged($event)\"\r\n [showButtons]=\"true\" [saveButtonLabel]=\"'Créer'\" (cancel)=\"onCancel()\" (update)=\"onValidate()\">\r\n</alg-dynamic-form>\r\n","import { SaveResult } from '@dflat-core/web/core-model';\nimport {\n AlertService,\n IDialogOptions,\n MessageSeverity,\n ModalService,\n} from '@dflat-core/web/core-ux';\nimport { ExchangeRateDataService, TvaRateDataService } from '@dflat-core/web/system-data';\nimport { ExchangeRateView, TvaRateView } from '@dflat-core/web/system-model';\nimport { EventEmitter, Injectable } from '@angular/core';\nimport { ModalOptions } from 'ngx-bootstrap/modal';\nimport { ExchangeRateEditorComponent } from '../exchange-rate/exchange-rate-editor.component';\nimport { TvaRateEditorComponent } from '../tva-rate/tva-rate-editor.component';\n\n@Injectable()\nexport class RatesActionService {\n constructor(\n private modalService: ModalService,\n public alertService: AlertService,\n private exchangeRateDataService: ExchangeRateDataService,\n private tvaRateDataService: TvaRateDataService\n ) {}\n public onExchangeRateEditCompleted: EventEmitter<SaveResult> =\n new EventEmitter<SaveResult>();\n\n public onTvaRateEditCompleted: EventEmitter<SaveResult> =\n new EventEmitter<SaveResult>();\n\n notifySuper(){\n this.onExchangeRateEditCompleted.emit()\n this.onTvaRateEditCompleted.emit()\n }\n openAddExchangeRateModal(model: ExchangeRateView) {\n let options: ModalOptions = new ModalOptions();\n let dialogOptions: IDialogOptions = {\n childComponentType: ExchangeRateEditorComponent,\n initialViewModel: {\n exchangeRate: {\n CurrencyId: model.CurrencyId,\n StartDate: new Date()\n },\n id : model.Id,\n callBackAction: (component: ExchangeRateEditorComponent) => {\n if (component.isCancel) this.modalService.close(modal);\n else if (!component.isCancel) {\n this.addExchangeRateCallBack(component);\n this.modalService.close(modal);\n }\n },\n },\n title: `${model.CurrencyCode} : Ajout d'un nouveau taux`,\n loadFunction: undefined,\n };\n\n let modal = this.modalService.openComponentCustomModal(\n options,\n dialogOptions,\n false\n );\n return modal;\n }\n\n addExchangeRateCallBack(component: ExchangeRateEditorComponent) {\n if (!component.isCancel) {\n this.exchangeRateDataService\n .saveEntity(component.exchangeRate)\n .subscribe(\n (res) => {\n if (res.Success)\n this.alertService.showMessage(\n 'Taux de change',\n `Le taux a été ajouté avec succès`,\n MessageSeverity.Success\n );\n else this.alertService.handleSaveError(res);\n },\n (err) => {\n this.alertService.showMessage(\n 'Erreur',\n err.error.Message,\n MessageSeverity.Error\n );\n },\n () => {\n this.onExchangeRateEditCompleted.emit();\n }\n );\n }\n }\n\n openCreateExchangeRateModal() {\n let options: ModalOptions = new ModalOptions();\n let dialogOptions: IDialogOptions = {\n childComponentType: ExchangeRateEditorComponent,\n initialViewModel: {\n id : -1,\n exchangeRate: {\n StartDate: new Date()\n },\n callBackAction: (component: ExchangeRateEditorComponent) => {\n if (component.isCancel) this.modalService.close(modal);\n else if (!component.isCancel) {\n this.createExchangeRateCallBack(component);\n this.modalService.close(modal);\n }\n },\n },\n title: `Ajout d'un nouveau taux`,\n loadFunction: undefined,\n };\n\n let modal = this.modalService.openComponentCustomModal(\n options,\n dialogOptions,\n false\n );\n return modal;\n }\n\n createExchangeRateCallBack(component: ExchangeRateEditorComponent) {\n if (!component.isCancel) {\n this.exchangeRateDataService\n .saveEntity(component.exchangeRate)\n .subscribe(\n (res) => {\n if (res.Success)\n this.alertService.showMessage(\n 'Taux de change',\n `Le taux a été ajouté avec succès`,\n MessageSeverity.Success\n );\n else this.alertService.handleSaveError(res);\n },\n (err) => {\n this.alertService.showMessage(\n 'Erreur',\n err.error.Message,\n MessageSeverity.Error\n );\n },\n () => {\n this.onExchangeRateEditCompleted.emit();\n }\n );\n }\n }\n openAddTvaRateModal(model: TvaRateView) {\n let options: ModalOptions = new ModalOptions();\n let dialogOptions: IDialogOptions = {\n childComponentType: TvaRateEditorComponent,\n initialViewModel: {\n tvaRate: {\n CountryId: model.CountryId,\n TvaType : model.TvaType,\n StartDate: new Date()\n },\n id : model.Id,\n callBackAction: (component: TvaRateEditorComponent) => {\n if (component.isCancel) this.modalService.close(modal);\n else if (!component.isCancel) {\n this.addTvaRateCallBack(component);\n this.modalService.close(modal);\n }\n },\n },\n title: `${model.CountryName} : Ajout d'un nouveau taux`,\n loadFunction: undefined,\n };\n\n let modal = this.modalService.openComponentCustomModal(\n options,\n dialogOptions,\n false\n );\n return modal;\n }\n\n addTvaRateCallBack(component: TvaRateEditorComponent) {\n if (!component.isCancel) {\n this.tvaRateDataService\n .saveEntity(component.tvaRate)\n .subscribe(\n (res) => {\n if (res.Success)\n this.alertService.showMessage(\n 'Taux de tva',\n `Le taux a été ajouté avec succès`,\n MessageSeverity.Success\n );\n else this.alertService.handleSaveError(res);\n },\n (err) => {\n this.alertService.showMessage(\n 'Erreur',\n err.error.Message,\n MessageSeverity.Error\n );\n },\n () => {\n this.onTvaRateEditCompleted.emit();\n }\n );\n }\n }\n\n openCreateTvaRateModal() {\n let options: ModalOptions = new ModalOptions();\n let dialogOptions: IDialogOptions = {\n childComponentType: TvaRateEditorComponent,\n initialViewModel: {\n id : -1,\n tvaRate: {\n StartDate: new Date()\n },\n callBackAction: (component: TvaRateEditorComponent) => {\n if (component.isCancel) this.modalService.close(modal);\n else if (!component.isCancel) {\n this.createTvaRateCallBack(component);\n this.modalService.close(modal);\n }\n },\n },\n title: `Ajout d'un nouveau taux`,\n loadFunction: undefined,\n };\n\n let modal = this.modalService.openComponentCustomModal(\n options,\n dialogOptions,\n false\n );\n return modal;\n }\n\n createTvaRateCallBack(component: TvaRateEditorComponent) {\n if (!component.isCancel) {\n this.tvaRateDataService\n .saveEntity(component.tvaRate)\n .subscribe(\n (res) => {\n if (res.Success)\n this.alertService.showMessage(\n 'Taux de tva',\n `Le taux a été ajouté avec succès`,\n MessageSeverity.Success\n );\n else this.alertService.handleSaveError(res);\n },\n (err) => {\n this.alertService.showMessage(\n 'Erreur',\n err.error.Message,\n MessageSeverity.Error\n );\n },\n () => {\n this.onTvaRateEditCompleted.emit();\n }\n );\n }\n }\n\n}\n","import { ApplicationService, BaseEditorComponent } from '@dflat-core/web/core-ux';\nimport { ResourceTranslationView } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys, SystemMenuItemProvider } from '@dflat-core/web/system-root';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'alg-reslang-editor',\n templateUrl: '../../../../core-ux/src/lib/components/base-editor/base-editor.component.html',\n standalone: false\n})\nexport class ResourceTranslationEditorComponent extends BaseEditorComponent<ResourceTranslationView> {\n getEntityKey(): string {\n return SystemEntityKeys.ResourceTranslation;\n }\n\n getTitle(withId: boolean): string {\n return withId\n ? this.id === '0'\n ? 'Nouvelle traduction'\n : 'Traduction (' + this.id + ')'\n : 'Traductions';\n }\n\n getPath(withId: boolean): string {\n return withId\n ? SystemMenuItemProvider.GetLink(this.getEntityKey()) +\n '/' +\n this.id\n : SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n\n constructor(app: ApplicationService, route: ActivatedRoute) {\n super(app, route);\n }\n}\n","import { ApplicationService, BaseEditorComponent, NewEditorComponent } from '@dflat-core/web/core-ux';\nimport { SupplierView } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys, SystemMenuItemProvider } from '@dflat-core/web/system-root';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n\n@Component({\n selector: 'msw-supplier',\n templateUrl: '../../../../core-ux/src/lib/v2/components/new-editor/new-editor.component.html',\n standalone: false\n})\n\nexport class SupplierEditorComponent extends NewEditorComponent<SupplierView>{\n\n getEntityKey(): string {\n return SystemEntityKeys.Supplier;\n }\n\n getTitle(withId: boolean): string {\n return withId ? ((this.id === \"0\") ? ('Nouvelle source de données') : ('Source de données (' + this.id + ')')): 'Sources de données';\n }\n\n getPath(withId: boolean): string {\n return withId ? SystemMenuItemProvider.GetLink(this.getEntityKey()) + '/' + this.id : SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n\n constructor(app : ApplicationService, route : ActivatedRoute) {\n super(app, route); \n }\n\n}\n","import { ApplicationService, BaseComponent } from '@dflat-core/web/core-ux';\nimport { CustomFieldGroupEntityFilterViewModel, SupplierFilterViewModel, SupplierView } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys, SystemMenuItemProvider, SystemPermissions } from '@dflat-core/web/system-root';\nimport { CustomFieldGroupEntityComponent } from '../custom-field-group/custom-field-group-entity/custom-field-group-entity.component';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'msw-supplier',\n templateUrl: '../../../../core-ux/src/lib/v2/components/base-component/base-template.component.html',\n standalone: false\n})\nexport class SupplierComponent extends BaseComponent<SupplierFilterViewModel,SupplierView> {\n getTitle(): string {\n return 'Sources de données';\n }\n getPath(): string {\n return SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n getEntityKey(): string {\n return SystemEntityKeys.Supplier;\n }\n get PermissionKey(): string{\n return SystemPermissions.DATABASE_SUPPLIERS;\n }\n\n constructor(app: ApplicationService,\n protected route: ActivatedRoute)\n {\n super(app, route);\n }\n FIELD_OPTIONS_SECTION: string = \"Familles d'attribut\";\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.facade.sections.registerSection(this.FIELD_OPTIONS_SECTION,CustomFieldGroupEntityComponent,\n { filterOverride : (selected) => {\n const filter: CustomFieldGroupEntityFilterViewModel = {\n EntityId: selected[0].Id,\n EntityKey: 'SUP',\n Offset: 0,\n Take: 25\n };\n return filter;\n }});\n }\n\n}\n","import { FilterViewModel } from '@dflat-core/web/core-model';\nimport { ModalService, SelectorMapperServiceBase } from '@dflat-core/web/core-ux';\nimport {\n CompanyDataService,\n CountryDataService,\n CurrencyDataService,\n SupplierDataService,\n UserAccountCompanyDataService,\n UserAccountDataService,\n} from '@dflat-core/web/system-data';\nimport { SystemEntityKeys } from '@dflat-core/web/system-root';\nimport { AddressComponent } from '../address/address.component';\nimport { CompanyComponent } from '../company/company.component';\nimport { CustomFieldComponent } from '../custom-field/custom-field.component';\nimport { CustomFieldEditorComponent } from '../custom-field/custom-field-editor.component';\nimport { CustomFieldGroupComponent } from '../custom-field-group/custom-field-group.component';\nimport { CustomFieldOptionsComponent } from '../custom-field-options/custom-field-options.component';\nimport { CustomFieldOptionsEditorComponent } from '../custom-field-options/custom-field-options-editor.component';\nimport { MetaEntityComponent } from '../meta-entity/meta-entity.component';\nimport { MetaEntityFieldComponent } from '../meta-entity-field/meta-entity-field.component';\nimport { ResourceTranslationComponent } from '../resource-translation/resource-translation.component';\nimport { Injectable, Type } from '@angular/core';\nimport { map, Observable } from 'rxjs';\nimport { AddressEditorComponent } from '../address/address-editor.component';\nimport { CountryEditorComponent } from '../country/country-editor.component';\nimport { CountryComponent } from '../country/country.component';\nimport { CurrencyEditorComponent } from '../currency/currency-editor.component';\nimport { CurrencyComponent } from '../currency/currency.component';\nimport { ResourceTranslationEditorComponent } from '../resource-translation/resource-translation-editor.component';\nimport { SupplierEditorComponent } from '../supplier/supplier-editor.component';\nimport { SupplierComponent } from '../supplier/supplier.component';\nimport { UserAccountComponent } from '../user-account/user-account-component';\nimport { UserAccountEditorComponent } from '../user-account/user-account-editor.component';\nimport { UserCompanyComponent } from '../user-company/user-company-component';\nimport { UserRoleComponent } from '../user-role/user-role-component';\n\n@Injectable({ providedIn: 'root' })\nexport class SystemSelectorMapperService extends SelectorMapperServiceBase {\n constructor(\n protected modalService: ModalService,\n private supplierDataService: SupplierDataService,\n private countryDataService: CountryDataService,\n private currencyDataService: CurrencyDataService,\n private userAccountDataService: UserAccountDataService,\n private companyDataService: CompanyDataService,\n private userAccountCompanyDataService: UserAccountCompanyDataService,\n\n \n ) {\n super(modalService);\n }\n\n getComponentParams(\n key: string,\n params?: any\n ): {\n selectionCompType: Type<any>;\n selectionModalTitle?: string;\n creationComType: Type<any>;\n creationModalTitle?: string;\n loadFunction: (term: any) => Observable<any[]>;\n } {\n switch (key) {\n case SystemEntityKeys.Supplier:\n return {\n selectionCompType: SupplierComponent,\n selectionModalTitle: 'Sélectionner une source de données',\n creationComType: SupplierEditorComponent,\n creationModalTitle: 'Créer une source de données',\n loadFunction: (filter: FilterViewModel) =>\n this.supplierDataService.search(filter).pipe(map(r => r.Values)),\n };\n case SystemEntityKeys.Country:\n return {\n selectionCompType: CountryComponent,\n selectionModalTitle: 'Sélectionner un pays',\n creationComType: CountryEditorComponent,\n creationModalTitle: 'Créer un pays',\n loadFunction: (filter: FilterViewModel) =>\n this.countryDataService.search(filter).pipe(map(r => r.Values)),\n };\n case SystemEntityKeys.Currency:\n return {\n selectionCompType: CurrencyComponent,\n selectionModalTitle: 'Sélectionner une monnaie',\n creationComType: CurrencyEditorComponent,\n creationModalTitle: 'Créer une monnaie',\n loadFunction: (filter: FilterViewModel) =>\n this.currencyDataService.search(filter).pipe(map(r => r.Values)),\n };\n case SystemEntityKeys.UserAccount:\n return {\n selectionCompType: UserAccountComponent,\n selectionModalTitle: 'Sélectionner un utilisateur',\n creationComType: UserAccountEditorComponent,\n creationModalTitle: 'Créer un utilisateur',\n loadFunction: (filter: FilterViewModel) =>\n this.userAccountDataService.search(filter).pipe(map(r => r.Values)),\n };\n case SystemEntityKeys.CustomFieldOptions:\n return {\n selectionCompType: CustomFieldOptionsComponent,\n selectionModalTitle:\n 'Sélectionner les options des attributs ',\n creationComType: CustomFieldOptionsEditorComponent,\n creationModalTitle: 'Créer une nouvelle option',\n loadFunction: undefined,\n };\n case SystemEntityKeys.CustomField:\n return {\n selectionCompType: CustomFieldComponent,\n selectionModalTitle: 'Sélectionner les attributs',\n creationComType: CustomFieldEditorComponent,\n creationModalTitle: 'Modifier un attribut',\n loadFunction: undefined,\n };\n case SystemEntityKeys.CustomFieldGroup:\n return {\n selectionCompType: CustomFieldGroupComponent,\n selectionModalTitle: 'Sélectionner les familles attributs',\n creationComType: undefined,\n creationModalTitle: undefined,\n loadFunction: undefined,\n };\n case SystemEntityKeys.Company:\n return {\n selectionCompType: CompanyComponent,\n selectionModalTitle: 'Sélectionner le dispositif',\n creationComType: undefined,\n loadFunction: (filter: FilterViewModel) =>\n this.companyDataService.search(filter).pipe(map(r => r.Values)),\n };\n case SystemEntityKeys.MetaEntityField:\n return {\n selectionCompType: MetaEntityFieldComponent,\n selectionModalTitle: 'Sélectionner les champs',\n creationComType: undefined,\n creationModalTitle: undefined,\n loadFunction: undefined,\n };\n case SystemEntityKeys.MetaEntity:\n return {\n selectionCompType: MetaEntityComponent,\n selectionModalTitle: \"Sélectionner l'entité\",\n creationComType: undefined,\n creationModalTitle: undefined,\n loadFunction: undefined,\n };\n case SystemEntityKeys.UserCompany:\n return {\n selectionCompType: UserCompanyComponent,\n selectionModalTitle: 'Sélectionner une société',\n creationComType: undefined,\n creationModalTitle: undefined,\n loadFunction: (filter: FilterViewModel) =>\n this.userAccountCompanyDataService.search(filter).pipe(map(r => r.Values)),\n };\n case SystemEntityKeys.UserRole:\n return {\n selectionCompType: UserRoleComponent,\n selectionModalTitle: 'Sélectionner un rôle',\n creationComType: undefined,\n creationModalTitle: undefined,\n loadFunction: (filter: FilterViewModel) => undefined,\n }; \n case SystemEntityKeys.ResourceTranslation:\n return {\n selectionCompType: ResourceTranslationComponent,\n selectionModalTitle: 'Sélectionner une traduction',\n creationComType: ResourceTranslationEditorComponent,\n creationModalTitle: 'Créer une nouvelle option',\n loadFunction: undefined,\n };\n case SystemEntityKeys.Address:\n return {\n selectionCompType: AddressComponent,\n selectionModalTitle: 'Sélectionner une adresse',\n creationComType: AddressEditorComponent,\n creationModalTitle: 'Ajouter une addresse',\n loadFunction: undefined\n };\n \n default:\n return undefined;\n }\n }\n}\n","import { ApplicationService, BaseComponent } from '@dflat-core/web/core-ux';\nimport {\n RequestFilterViewModel,\n SynchronizedCompanyView,\n SynchronizedCompanyViewFilterViewModel,\n} from '@dflat-core/web/system-model';\nimport {\n SystemEntityKeys,\n SystemMenuItemProvider,\n SystemPermissions,\n} from '@dflat-core/web/system-root';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { RequestComponent } from '../request/request.component';\n\n@Component({\n selector: 'msw-synchronised-company',\n templateUrl:\n '../../../../core-ux/src/lib/v2/components/base-component/base-template.component.html',\n standalone: false,\n})\nexport class SynchronisedCompanyComponent extends BaseComponent<\n SynchronizedCompanyViewFilterViewModel,\n SynchronizedCompanyView\n> {\n REQUEST_SECTION: string = 'Requêtes';\n\n get PermissionKey(): string {\n return SystemPermissions.DATABASE_SYNCHRONIZEDCOMPANY_VIEW;\n }\n\n constructor(app: ApplicationService, protected route: ActivatedRoute) {\n super(app, route);\n\n this.filterAction('edit');\n this.filterAction('add');\n this.filterAction('delete');\n }\n\n getTitle(): string {\n return 'Synchronisation';\n }\n getPath(): string {\n return SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n getEntityKey(): string {\n return SystemEntityKeys.SynchronizedCompany;\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.facade.sections.registerSection(\n this.REQUEST_SECTION,\n RequestComponent,\n { filterOverride : (selected: SynchronizedCompanyView[]) => {\n const filter: RequestFilterViewModel = {\n EntityKey: 'CPY',\n EntityIds: [selected[0].CompanyId],\n };\n return filter;\n }}\n );\n }\n}\n","import { Utilities } from '@dflat-core/web/core';\nimport { EntityViewModelWithFields } from '@dflat-core/web/core-model';\nimport { ApplicationService, BaseComponent } from '@dflat-core/web/core-ux';\nimport {\n TvaRateFilterViewModel,\n TvaRateView\n} from '@dflat-core/web/system-model';\nimport {\n SystemEntityKeys,\n SystemMenuItemProvider,\n SystemPermissions\n} from '@dflat-core/web/system-root';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'msw-tva-rate-detail',\n templateUrl:\n '../../../../core-ux/src/lib/v2/components/base-component/base-template.component.html',\n standalone: false\n})\nexport class TvaRateDetailComponent extends BaseComponent<\n TvaRateFilterViewModel,\n TvaRateView\n> {\n getEntityKey(): string {\n return SystemEntityKeys.TvaRate;\n }\n getTitle(): string {\n return 'Historique des taux';\n }\n getPath(): string {\n return SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n get PermissionKey(): string {\n return SystemPermissions.DATABASE_TVARATES;\n }\n\n constructor(\n app: ApplicationService,\n protected route: ActivatedRoute\n )\n {\n super(app, route); \n this.sectionKey = this.getEntityKey(); \n \n }\n \n ngOnInit() {\n super.ngOnInit();\n this.facade.layout.setShowFilterSummary(false);\n this.facade.actions.patch('add', {\n getParameter: () => {\n // We have always a detail info for a rate \n let lastSelectedRate: TvaRateView = this.selectedEntities[0]\n return {\n CountryId : lastSelectedRate.CountryId,\n TvaType : lastSelectedRate.TvaType\n } as Partial<TvaRateView>\n }\n });\n \n }\n\n alterViewModel(\n viewModel : EntityViewModelWithFields<TvaRateView>,\n selected : TvaRateView \n ): EntityViewModelWithFields<TvaRateView> {\n\n // Si la sélection est vide, on ne fait rien.\n // Si l'élement selctionné est vide, on ne fait rien.\n // Si le ViewModel est vide, on ne fait rien\n if( Utilities.IsNil(selected) || Utilities.IsNil(viewModel))\n return viewModel;\n\n // Pour chaque propriété, on détermine si elle est en lecture seule ou pas en fonction de l'élément sélectionné.\n viewModel.FieldSections.forEach((s) => {\n for (let f of s.FieldViewModels ){\n switch (f.PropertyName) {\n // La monnaie n'est pas modifiable\n case 'CountryId': f.ReadOnly = true;\n break;\n\n // La date de début n'est modifiable que si la date de fin est vide (c'est le taux actuel)\n case 'StartDate': f.ReadOnly = false;\n break;\n\n // La date de fin est éditable sur une période déverrouillée\n case 'EndDate': f.ReadOnly = Utilities.IsNil(selected.EndDate);\n break;\n\n // Le taux est modificable si la date de début est supérieure à la date de verrouillage.\n case 'RateValue': f.ReadOnly = false;\n break;\n\n // Toutes les autres propriétés ne sont pas impactées (on prend la valeur qui vient du controller)\n default:\n break;\n }\n }\n });\n\n return viewModel;\n\n }\n\n}\n","import { EntityViewModelWithFields } from '@dflat-core/web/core-model';\nimport {\n ApplicationService,\n BaseComponent\n} from '@dflat-core/web/core-ux';\nimport { TvaRateFilterViewModel, TvaRateView } from '@dflat-core/web/system-model';\nimport {\n SystemEntityKeys,\n SystemMenuItemProvider,\n SystemPermissions,\n} from '@dflat-core/web/system-root';\nimport { TvaRateDetailComponent } from './tva-rate-detail.component';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'msw-tvr',\n templateUrl:\n '../../../../core-ux/src/lib/v2/components/base-component/base-template.component.html',\n standalone: false,\n})\nexport class TvaRateComponent extends BaseComponent<TvaRateFilterViewModel, TvaRateView> {\n getEntityKey(): string {\n return SystemEntityKeys.TvaRate;\n }\n\n getTitle(): string {\n return 'Taux de TVA';\n }\n getPath(): string {\n return SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n get PermissionKey(): string{\n return SystemPermissions.DATABASE_TVARATES;\n }\n\n constructor(\n app: ApplicationService,\n protected route: ActivatedRoute\n ) {\n super(app, route);\n\n this.filterAction('edit');\n this.filterAction('delete');\n }\n \n ngOnInit(): void {\n super.ngOnInit();\n this.facade.sections.registerSection(\"Détails\",TvaRateDetailComponent,\n { \n filterOverride : (selected: TvaRateView[]) => {\n const filter: TvaRateFilterViewModel = {\n CountryId: selected && selected.length > 0 ? selected[0].CountryId : null,\n TvaType: selected && selected.length > 0 ? selected[0].TvaType : null,\n IsCurrent: false,\n };\n return filter;\n },\n selectionOverride : (component : TvaRateDetailComponent, selected : TvaRateView[]) => {\n component.facade.config.addAlterViewModelFunction((vm) => component.alterViewModel(vm,selected[0]));\n },\n });\n \n this.facade.selection.selected$.subscribe((r)=> \n this.facade.config.addAlterViewModelFunction((vm) => this.alterViewModel(vm,r[0])));\n\n // this.facade.actions.actionResult$.subscribe({\n // next : (value) => {\n // if(value.sectionName && (value.actionName == 'save' || value.actionName == 'delete' ))\n // this.loadData();\n // },\n // });\n\n \n }\n\n alterViewModel(viewModel : EntityViewModelWithFields<TvaRateView>, selected : TvaRateView\n ): EntityViewModelWithFields<TvaRateView> {\n if(selected && selected.Id && selected.Id < 0) {\n viewModel.FieldSections[0].FieldViewModels = viewModel.FieldSections[0].FieldViewModels.filter((x) => x.PropertyName != 'EndDate');\n viewModel.FieldSections[0].FieldViewModels.find((x)=>x.PropertyName == 'CountryId').ReadOnly = false;\n viewModel.FieldSections[0].FieldViewModels.find((x)=>x.PropertyName == 'TvaType').ReadOnly = false;\n }\n return viewModel;\n }\n\n}\n","import {\n ApplicationService,\n BaseComponent\n} from '@dflat-core/web/core-ux';\nimport {\n UserGroupDefinitionFilterViewModel,\n UserGroupDefinitionView\n} from '@dflat-core/web/system-model';\nimport {\n SystemEntityKeys,\n SystemMenuItemProvider,\n SystemPermissions,\n} from '@dflat-core/web/system-root';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { takeUntil } from 'rxjs';\nimport { UserActionService } from '../services/user-action-service';\n\n@Component({\n selector: 'msw-usergroupdefinition',\n templateUrl:\n '../../../../core-ux/src/lib/v2/components/base-component/base-template.component.html',\n standalone: false,\n})\nexport class UserGroupDefinitionComponent extends BaseComponent<\n UserGroupDefinitionFilterViewModel,\n UserGroupDefinitionView\n> {\n getTitle(): string {\n return \"Définition du groupe d'utilisateurs\";\n }\n getPath(): string {\n return SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n getEntityKey(): string {\n return SystemEntityKeys.UserGroupDefinition;\n }\n get PermissionKey(): string {\n return SystemPermissions.ADMIN_USERS;\n }\n\n constructor(\n app: ApplicationService,\n protected route: ActivatedRoute,\n private userActionService: UserActionService\n ) {\n super(app, route);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.filterAction('edit');\n this.filterAction('save');\n this.facade.actions.patch('add', { action : () => this.add()});\n\n this.userActionService.onSelection\n .pipe(takeUntil(this.destroy$))\n .subscribe((r) => {\n this.loadData();\n });\n }\n\n add(): void {\n const groupId = this.Filter.GroupId;\n this.userActionService.addUserToGroup(groupId);\n }\n}\n","import { ApplicationService, BaseEditorComponent } from '@dflat-core/web/core-ux';\nimport { UserGroup } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys, SystemMenuItemProvider } from '@dflat-core/web/system-root';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n\n@Component({\n selector: 'msw-usergroup-editor',\n templateUrl: '../../../../core-ux/src/lib/components/base-editor/base-editor.component.html',\n standalone: false\n})\n\nexport class UserGroupEditorComponent extends BaseEditorComponent<UserGroup>{\n\n getEntityKey(): string {\n return SystemEntityKeys.UserGroup;\n }\n\n getTitle(withId: boolean): string {\n return withId ? ((this.id === \"0\") ? (`Nouveau groupe d'utilisateurs`) : (`Groupe d'utilisateurs (${this.id})`)): `Groupe d'utilisateurs`;\n }\n\n getPath(withId: boolean): string {\n return withId ? SystemMenuItemProvider.GetLink(this.getEntityKey()) + '/' + this.id : SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n constructor(app : ApplicationService, route : ActivatedRoute) {\n super(app, route); \n }\n\n}\n","import { ApplicationService, BaseComponent } from '@dflat-core/web/core-ux';\nimport {\n UserGroup,\n UserGroupDefinitionFilterViewModel,\n UserGroupFilterViewModel,\n} from '@dflat-core/web/system-model';\nimport {\n SystemEntityKeys,\n SystemMenuItemProvider,\n SystemPermissions,\n} from '@dflat-core/web/system-root';\nimport { UserGroupDefinitionComponent } from './user-group-definition.component';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'msw-usergroup',\n templateUrl:\n '../../../../core-ux/src/lib/v2/components/base-component/base-template.component.html',\n standalone: false,\n})\nexport class UserGroupComponent extends BaseComponent<\n UserGroupFilterViewModel,\n UserGroup\n> {\n USER_GROUP_DEFINITION_SECTION: string = 'Utilisateurs';\n\n getTitle(): string {\n return `Groupe d'utilisateurs`;\n }\n getPath(): string {\n return SystemMenuItemProvider.GetLink(this.getEntityKey());\n }\n getEntityKey(): string {\n return SystemEntityKeys.UserGroup;\n }\n get PermissionKey(): string {\n return SystemPermissions.ADMIN_USERS;\n }\n\n constructor(app: ApplicationService, protected route: ActivatedRoute) {\n super(app, route);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.facade.layout.setFixedLayout({ IsVerticalLayout : true, PropertyFlexGrow : 70 });\n\n this.facade.sections.registerSection(\n this.USER_GROUP_DEFINITION_SECTION,\n UserGroupDefinitionComponent,\n {\n layoutOverride : (component) => {\n component.facade.layout.disablePropertyPanel();\n },\n filterOverride : (selected: UserGroup[]) => {\n const filter: UserGroupDefinitionFilterViewModel = {\n GroupId: selected[0].Id ?? -1,\n UserAccountId: -1,\n };\n return filter;\n }\n });\n }\n}\n","import {\n CustomFieldGroupEntityDataService,\n CustomFieldGroupItemDataService,\n} from '@dflat-core/web/system-data';\nimport { CustomFieldGroupEntityView, CustomFieldGroupItemView } from '@dflat-core/web/system-model';\nimport { Injectable, OnDestroy } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class CustomFieldService implements OnDestroy {\n constructor(\n private customFieldGroupItemDataService: CustomFieldGroupItemDataService,\n private customFieldGroupEntityDataService: CustomFieldGroupEntityDataService\n ) {\n this.loadCustomFieldEntities();\n }\n\n private destroy$: Subject<void> = new Subject<void>();\n ngOnDestroy(): void {\n this.CustomFieldGroupEntities.clear()\n }\n\n CustomFieldGroupEntities: Map<string, CustomFieldGroupEntityView[]> = new Map<string, CustomFieldGroupEntityView[]>();\n IsCustomFieldGroupEntitiesLoaded : boolean = false;\n\n CustomFieldGroupItems: CustomFieldGroupItemView[] = [];\n IsCustomFieldGroupItemsLoaded : boolean = false;\n\n loadCustomFieldEntities() {\n this.customFieldGroupEntityDataService.search({}).subscribe({\n next: (res) => {\n res.Values.forEach((elt) => {\n const key = `${elt.EntityKey}¤${elt.EntityId}`;\n if (!this.CustomFieldGroupEntities.has(key)) {\n this.CustomFieldGroupEntities.set(key, [elt]);\n } else this.CustomFieldGroupEntities.get(key).push(elt);\n });\n },\n complete: () => {\n this.IsCustomFieldGroupEntitiesLoaded = true;\n },\n });\n }\n\n isCustomFieldGroupEntityExistent(elt: CustomFieldGroupEntityView): boolean {\n const key = `${elt.EntityKey}¤${elt.EntityId}`;\n return (\n this.CustomFieldGroupEntities.has(key) &&\n this.CustomFieldGroupEntities.get(key).includes(elt)\n );\n }\n\n getCustomFieldGroupEntities(entitykey : string,entityId : number) : CustomFieldGroupEntityView []{\n const key = `${entitykey}¤${entityId}`;\n if(this.CustomFieldGroupEntities.has(key))\n return this.CustomFieldGroupEntities.get(key);\n return undefined;\n }\n\n loadCustomFieldGroupItems() {\n this.customFieldGroupItemDataService.search({}).subscribe({\n next: (res) => {\n this.CustomFieldGroupItems = res.Values\n },\n complete: () => {\n this.IsCustomFieldGroupItemsLoaded = true;\n },\n });\n }\n}\n","import { Utilities } from \"@dflat-core/web/core\";\nimport { AppKeys, AuthService, LocalStoreManager } from '@dflat-core/web/core-services';\nimport { AlertService, DialogType, SelectorMapperServiceBase } from '@dflat-core/web/core-ux';\nimport { UserAccountCompanyDataService } from '@dflat-core/web/system-data';\nimport { UserAccountCompanyFilterViewModel, UserAccountCompanyView } from '@dflat-core/web/system-model';\nimport { SystemEntityKeys } from \"@dflat-core/web/system-root\";\nimport { EventEmitter, Injectable, Output } from '@angular/core';\n\n@Injectable({providedIn: 'root'})\nexport class SelectUserCompanyActionService {\n \n selectedUserCompany: UserAccountCompanyView; \n positionChanged: EventEmitter<UserAccountCompanyView> = new EventEmitter();\n constructor( \n public alertService: AlertService,\n private selector: SelectorMapperServiceBase,\n protected localStore: LocalStoreManager,\n private authService : AuthService,\n private userAccountCompanyDataService : UserAccountCompanyDataService\n ){\n try {\n let savedSelectedUserCompany = localStore.getDataObject<UserAccountCompanyView>(AppKeys.SELECTED_COMPANY, false);\n if ( ! Utilities.IsNil(savedSelectedUserCompany))\n this.selectedUserCompany = savedSelectedUserCompany;\n else\n this.setDefaultCompanyOfUser();\n\n this.checkSelectedUserCompany();\n }\n catch {}\n \n }\n\n @Output()\n newCompanySelected: EventEmitter<any> = new EventEmitter<any>();\n \n async setDefaultCompanyOfUser()\n {\n var filter :UserAccountCompanyFilterViewModel={UserAccountId : this.authService.userId, Offset: 0, Take: 1000};\n this.userAccountCompanyDataService.search(filter).subscribe((res) => {\n if(res.Values && res.Values.length>0)\n {\n this.selectedUserCompany = res.Values.filter(c => c.CompanyId == this.authService.companyId)[0];\n this.selectedUserCompany = this.selectedUserCompany ? this.selectedUserCompany : res.Values[0]\n // Sauvegarde dans le localStorage\n this.localStore.savePermanentData(this.selectedUserCompany, AppKeys.SELECTED_COMPANY);\n this.newCompanySelected.emit(this.selectedUserCompany);\n }\n else \n { \n this.localStore.savePermanentData(null, AppKeys.SELECTED_COMPANY);\n this.alertService.showDialog(\"Ce compte n'est associé à aucune société \", DialogType.Alert,null,null,'Ok','',\"Erreur\");\n }\n });\n }\n\n async setSelectedUserCompany(company:UserAccountCompanyView)\n {\n // Sauvegarde dans le localStorage\n this.selectedUserCompany = company;\n this.localStore.savePermanentData(company, AppKeys.SELECTED_COMPANY);\n }\n\n selectUserCompany(userAccountId : number) {\n let filter: UserAccountCompanyFilterViewModel = {};\n filter.Keywords = null;\n filter.UserAccountId = userAccountId;\n let modal = this.selector.openSelectorModal(SystemEntityKeys.UserCompany,null,filter);\n\n // let modal = this.selector.openSelectorModal('Sélection de la sociéte',UserCompanyComponent,\n // (component : UserCompanyComponent) => {\n // component.facade.filter.setApplyInitialFilter(true);\n // const filter: UserAccountCompanyFilterViewModel = {};\n // // filter.Keywords = groupId;\n // filter.UserAccountId = userAccountId;\n // component.facade.filter.setDefaultFilter(filter);\n\n // });\n let subscription = modal.subscribe((res: UserAccountCompanyView[]) => {\n // subscription.unsubscribe();\n this.newCompanySelected.emit(res[0]);\n });\n }\n checkSelectedUserCompany(){\n if(!Utilities.IsNil(this.selectedUserCompany))\n {\n var filter :UserAccountCompanyFilterViewModel={UserAccountId : this.authService.userId, Offset: 0, Take: 1000};\n this.userAccountCompanyDataService.search(filter).subscribe((res) => {\n var companyToCheck = res.Values.filter(c=>c.CompanyId == this.selectedUserCompany.CompanyId);\n if(companyToCheck && companyToCheck.length==0)\n {\n this.setDefaultCompanyOfUser();\n }\n }); \n }\n else\n this.setDefaultCompanyOfUser();\n \n }\n \n}\n\n","import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { Subject, combineLatest, of } from 'rxjs';\nimport { catchError, takeUntil } from 'rxjs/operators';\n\nimport { PresentationProfileDataService, PresentationProfileItemDataService } from '@dflat-core/web/system-data';\nimport {\n PresentationProfile, PresentationProfileFilterViewModel,\n PresentationProfileItem, PresentationProfilePurposes, PresentationProfileScopes,\n} from '@dflat-core/web/system-model';\nimport { PP_GRP_CUSTOM, PP_GRP_STANDARD, PpGroup, PresentationProfileTransformer } from '../presentation-profile-transformer';\n\n@Component({\n selector: 'alg-pp-column',\n templateUrl: './presentation-profile-column.component.html',\n styleUrls: ['./presentation-profile-column.component.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class PresentationProfileColumnComponent implements OnInit, OnDestroy {\n readonly Scopes = PresentationProfileScopes;\n readonly Purposes = PresentationProfilePurposes;\n\n readonly scopeSections = [\n { scope: PresentationProfileScopes.Default, label: 'Profils par défaut', icon: 'star-o' },\n { scope: PresentationProfileScopes.Role, label: 'Profils par rôle', icon: 'users' },\n { scope: PresentationProfileScopes.Supplier, label: 'Profils fournisseur', icon: 'truck' },\n ];\n\n readonly purposeOptions = [\n { value: PresentationProfilePurposes.Grid, label: 'Grille' },\n { value: PresentationProfilePurposes.Export, label: 'Export' },\n ];\n\n activeSection: number = PresentationProfileScopes.Default;\n filterKey: string = '';\n filterPurpose: number = PresentationProfilePurposes.Grid;\n filterScopeId: number | null = null;\n\n profiles: PresentationProfile[] = [];\n activeProfile: PresentationProfile | null = null;\n isLoadingList = false;\n message = '';\n\n get filterIsPerimeter(): boolean {\n return this.activeSection === PresentationProfileScopes.Role\n || this.activeSection === PresentationProfileScopes.Supplier;\n }\n get scopeIdLabel(): string {\n return this.activeSection === PresentationProfileScopes.Role ? 'ID Rôle' : 'ID Fournisseur';\n }\n\n isLoading = false;\n isSaving = false;\n\n groups: PpGroup[] = [];\n allItems: PresentationProfileItem[] = [];\n filteredItems: PresentationProfileItem[] = [];\n orderedSelection: PresentationProfileItem[] = [];\n selectedIds = new Set<string>();\n selectedGroup: PpGroup | null = null;\n searchText = '';\n naturalLabelByKey = new Map<string, string>();\n\n get isPerimeter(): boolean {\n return this.activeProfile?.ScopeType === PresentationProfileScopes.Role\n || this.activeProfile?.ScopeType === PresentationProfileScopes.Supplier;\n }\n get selectedCount(): number { return this.orderedSelection.length; }\n get canSave(): boolean { return !!this.activeProfile && !this.isSaving; }\n get allVisibleSelected(): boolean {\n return this.filteredItems.length > 0 && this.filteredItems.every(i => this.selectedIds.has(i.ColumnKey ?? ''));\n }\n get someVisibleSelected(): boolean {\n return this.filteredItems.some(i => this.selectedIds.has(i.ColumnKey ?? '')) && !this.allVisibleSelected;\n }\n\n private readonly destroy$ = new Subject<void>();\n\n constructor(\n private readonly data: PresentationProfileDataService,\n private readonly itemData: PresentationProfileItemDataService,\n ) {}\n\n ngOnInit(): void { this.search(); }\n ngOnDestroy(): void { this.destroy$.next(); this.destroy$.complete(); }\n\n setSection(scope: number): void {\n if (this.activeSection === scope) return;\n this.activeSection = scope;\n this.filterScopeId = null;\n this.activeProfile = null;\n this.resetEditor();\n this.search();\n }\n\n search(): void {\n this.isLoadingList = true;\n this.message = '';\n const listFilter: PresentationProfileFilterViewModel = {\n MetaEntityKey: this.filterKey || undefined,\n Purpose: this.filterPurpose,\n ScopeType: this.activeSection,\n ScopeId: this.filterIsPerimeter ? this.filterScopeId : null,\n EnablePaging: false,\n };\n this.data.search(listFilter).subscribe({\n next: res => { this.profiles = res.Values ?? []; this.isLoadingList = false; },\n error: () => { this.isLoadingList = false; },\n });\n }\n\n newProfile(): void {\n if (!this.filterKey?.trim()) {\n this.message = 'Veuillez saisir une clé de grille avant de créer un profil.';\n return;\n }\n this.activeProfile = {\n PurposeType: this.filterPurpose,\n MetaEntityKey: this.filterKey.trim(),\n ScopeType: this.activeSection,\n ScopeId: this.filterIsPerimeter ? this.filterScopeId : null,\n } as unknown as PresentationProfile;\n this.message = '';\n this.loadColumns();\n }\n\n selectProfile(profile: PresentationProfile): void {\n if (this.activeProfile?.Id != null && this.activeProfile.Id === profile.Id) return;\n this.activeProfile = { ...profile };\n this.message = '';\n this.loadColumns();\n }\n\n deleteProfile(profile: PresentationProfile, event: Event): void {\n event.stopPropagation();\n if (!confirm(`Supprimer le profil \"${profile.Label || profile.MetaEntityKey}\" ?`)) return;\n this.data.deleteEntity(profile).subscribe({\n next: () => {\n this.profiles = this.profiles.filter(p => p.Id !== profile.Id);\n if (this.activeProfile?.Id === profile.Id) { this.activeProfile = null; this.resetEditor(); }\n },\n });\n }\n\n getPurposeLabel(p: number | undefined): string { return this.purposeOptions.find(o => o.value === p)?.label ?? '–'; }\n\n getCatalogLabel(item: PresentationProfileItem): string {\n return this.naturalLabelByKey.get(item.ColumnKey ?? '') ?? item.ColumnKey ?? '';\n }\n\n private getItemGroupId(item: PresentationProfileItem): string {\n if ((item.ColumnSourceType ?? 0) !== 2) return PP_GRP_STANDARD;\n return item.GroupId != null ? `cf-${item.GroupId}` : PP_GRP_CUSTOM;\n }\n\n private loadColumns(): void {\n this.resetEditor();\n const key = this.activeProfile?.MetaEntityKey;\n if (!key) return;\n\n this.isLoading = true;\n const profileId = this.activeProfile!.Id;\n const supplierId = this.activeSection === PresentationProfileScopes.Supplier ? this.filterScopeId : null;\n const roleId = this.activeSection === PresentationProfileScopes.Role ? this.filterScopeId : null;\n\n const scopeType = supplierId != null ? PresentationProfileScopes.Supplier\n : roleId != null ? PresentationProfileScopes.Role : undefined;\n const catalogFilter: PresentationProfileFilterViewModel = {\n MetaEntityKey: key, ScopeType: scopeType, ScopeId: supplierId ?? roleId ?? null,\n };\n\n const catalog$ = this.itemData.getCatalog(catalogFilter).pipe(catchError(() => of([] as PresentationProfileItem[])));\n const items$ = profileId != null\n ? this.itemData.getPresentationProfileItems(profileId).pipe(catchError(() => of([] as PresentationProfileItem[])))\n : of([] as PresentationProfileItem[]);\n\n combineLatest([catalog$, items$])\n .pipe(takeUntil(this.destroy$))\n .subscribe({\n next: ([catalog, rawItems]) => {\n this.naturalLabelByKey = new Map(\n catalog.filter(i => !!i.ColumnKey).map(i => [i.ColumnKey!, i.Label ?? i.ColumnKey!])\n );\n this.groups = PresentationProfileTransformer.buildGroups(catalog);\n\n const savedByKey = new Map(rawItems.filter(i => !!i.ColumnKey).map(i => [i.ColumnKey!, i]));\n this.allItems = catalog.filter(i => !!i.ColumnKey).map(c => {\n const saved = savedByKey.get(c.ColumnKey!);\n return { ...c, IsAllowed: saved?.IsAllowed ?? false, IsLocked: saved?.IsLocked ?? false };\n });\n\n if (profileId != null && rawItems.length > 0) {\n const catalogByKey = new Map(catalog.filter(i => !!i.ColumnKey).map(i => [i.ColumnKey!, i]));\n this.orderedSelection = rawItems\n .filter(i => !!i.ColumnKey)\n .sort((a, b) => (a.DisplayOrder ?? 0) - (b.DisplayOrder ?? 0))\n .map(i => ({ ...(catalogByKey.get(i.ColumnKey!) ?? {}), ...i } as PresentationProfileItem));\n this.orderedSelection.forEach(c => this.selectedIds.add(c.ColumnKey!));\n }\n\n this.applyFilter();\n this.isLoading = false;\n },\n error: () => { this.isLoading = false; },\n });\n }\n\n private resetEditor(): void {\n this.allItems = [];\n this.filteredItems = [];\n this.orderedSelection = [];\n this.selectedIds = new Set();\n this.groups = [];\n this.selectedGroup = null;\n this.searchText = '';\n this.naturalLabelByKey = new Map();\n }\n\n selectGroup(group: PpGroup | null): void { this.selectedGroup = group; this.searchText = ''; this.applyFilter(); }\n onSearch(): void { this.applyFilter(); }\n\n private applyFilter(): void {\n let items = this.selectedGroup\n ? this.allItems.filter(i => this.getItemGroupId(i) === this.selectedGroup!.id)\n : this.allItems;\n if (this.searchText?.trim()) {\n const q = this.searchText.toLowerCase();\n items = items.filter(i =>\n (i.Label ?? i.ColumnKey ?? '').toLowerCase().includes(q) ||\n (i.ColumnKey ?? '').toLowerCase().includes(q)\n );\n }\n this.filteredItems = [...items];\n }\n\n getGroupCount(g: PpGroup): number { return this.allItems.filter(i => this.getItemGroupId(i) === g.id).length; }\n getGroupSelectedCount(g: PpGroup): number { return this.allItems.filter(i => this.getItemGroupId(i) === g.id && this.selectedIds.has(i.ColumnKey ?? '')).length; }\n\n isSelected(item: PresentationProfileItem): boolean { return this.selectedIds.has(item.ColumnKey ?? ''); }\n\n toggleItem(item: PresentationProfileItem): void {\n const key = item.ColumnKey ?? '';\n if (this.selectedIds.has(key)) {\n this.selectedIds.delete(key);\n this.orderedSelection = this.orderedSelection.filter(i => i.ColumnKey !== key);\n } else {\n this.selectedIds.add(key);\n this.orderedSelection = [...this.orderedSelection, { ...item, Label: null }];\n }\n }\n\n toggleAll(): void {\n if (this.allVisibleSelected) {\n this.filteredItems.forEach(i => this.selectedIds.delete(i.ColumnKey ?? ''));\n const visKeys = new Set(this.filteredItems.map(i => i.ColumnKey ?? ''));\n this.orderedSelection = this.orderedSelection.filter(i => !visKeys.has(i.ColumnKey ?? ''));\n } else {\n const toAdd = this.filteredItems.filter(i => !this.selectedIds.has(i.ColumnKey ?? ''));\n toAdd.forEach(i => this.selectedIds.add(i.ColumnKey ?? ''));\n this.orderedSelection = [...this.orderedSelection, ...toAdd.map(i => ({ ...i, Label: null as string | null | undefined }))];\n }\n }\n\n removeFromSelection(item: PresentationProfileItem): void {\n const key = item.ColumnKey ?? '';\n this.selectedIds.delete(key);\n this.orderedSelection = this.orderedSelection.filter(i => i.ColumnKey !== key);\n }\n\n onDrop(event: CdkDragDrop<PresentationProfileItem[]>): void {\n if (event.previousIndex === event.currentIndex) return;\n moveItemInArray(this.orderedSelection, event.previousIndex, event.currentIndex);\n }\n\n save(): void {\n if (!this.activeProfile) return;\n this.isSaving = true;\n this.message = '';\n const ctx = PresentationProfileTransformer.toAdminConfigContext(this.orderedSelection, this.activeProfile);\n this.data.savePresentationProfile(ctx).subscribe({\n next: res => {\n this.isSaving = false;\n if (res?.Success === false) {\n this.message = res.ErrorMessage ?? 'Échec de la sauvegarde';\n } else {\n this.message = 'Configuration enregistrée.';\n this.search();\n }\n },\n error: () => { this.isSaving = false; this.message = 'Erreur lors de la sauvegarde.'; },\n });\n }\n}\n","<div class=\"gcc\">\r\n\r\n <!-- ── SCOPE SECTION TABS ────────────────────────────────────────────────── -->\r\n <div class=\"gcc__sections\">\r\n <button *ngFor=\"let sec of scopeSections\"\r\n class=\"gcc__section-tab\"\r\n [class.gcc__section-tab--active]=\"activeSection === sec.scope\"\r\n type=\"button\"\r\n (click)=\"setSection(sec.scope)\">\r\n <i class=\"fa\" [ngClass]=\"'fa-' + sec.icon\"></i> {{ sec.label }}\r\n </button>\r\n </div>\r\n\r\n <!-- ── FILTER TOOLBAR ────────────────────────────────────────────────────── -->\r\n <div class=\"gcc__toolbar\">\r\n <div class=\"gcc__field\">\r\n <label>Finalité</label>\r\n <select [(ngModel)]=\"filterPurpose\" (ngModelChange)=\"search()\">\r\n <option *ngFor=\"let p of purposeOptions\" [ngValue]=\"p.value\">{{ p.label }}</option>\r\n </select>\r\n </div>\r\n <div class=\"gcc__field\">\r\n <label>Clé de grille</label>\r\n <input type=\"text\" [(ngModel)]=\"filterKey\" placeholder=\"ex. PDTV\" (keydown.enter)=\"search()\" />\r\n </div>\r\n <div class=\"gcc__field\" *ngIf=\"filterIsPerimeter\">\r\n <label>{{ scopeIdLabel }}</label>\r\n <input type=\"number\" [(ngModel)]=\"filterScopeId\" (keydown.enter)=\"search()\" />\r\n </div>\r\n <button class=\"btn btn-secondary\" (click)=\"search()\" [disabled]=\"isLoadingList\">\r\n <i class=\"fa fa-search\"></i> Rechercher\r\n </button>\r\n </div>\r\n\r\n <div *ngIf=\"message\" class=\"gcc__message\">{{ message }}</div>\r\n\r\n <!-- ── 4-PANEL BODY ──────────────────────────────────────────────────────── -->\r\n <div class=\"gcc__body\">\r\n\r\n <!-- ── Panel 1: Profile list (left sidebar) ─────────────────────────── -->\r\n <div class=\"gcc__configs\">\r\n <div class=\"gcc__panel-hd\">\r\n <span class=\"gcc__panel-title\">\r\n Profils <span class=\"gcc__count\">{{ profiles.length }}</span>\r\n </span>\r\n <button class=\"btn btn-sm btn-primary\" (click)=\"newProfile()\" title=\"Nouveau profil\">\r\n <i class=\"fa fa-plus\"></i>\r\n </button>\r\n </div>\r\n\r\n <div class=\"gcc__list-scroll\">\r\n <div *ngIf=\"isLoadingList\" class=\"gcc__spinner\">\r\n <i class=\"fa fa-circle-o-notch fa-spin\"></i> Chargement…\r\n </div>\r\n <p *ngIf=\"!isLoadingList && profiles.length === 0\" class=\"gcc__empty\">\r\n Aucun profil trouvé.\r\n </p>\r\n <table *ngIf=\"!isLoadingList && profiles.length > 0\" class=\"gcc__table\">\r\n <thead>\r\n <tr>\r\n <th>Clé</th>\r\n <th>Finalité</th>\r\n <th *ngIf=\"filterIsPerimeter\">Périmètre</th>\r\n <th></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let p of profiles\"\r\n class=\"gcc__config-row\"\r\n [class.gcc__config-row--selected]=\"activeProfile?.Id === p.Id\"\r\n (click)=\"selectProfile(p)\">\r\n <td class=\"gcc__key\">{{ p.MetaEntityKey }}</td>\r\n <td class=\"gcc__muted\">{{ getPurposeLabel(p.PurposeType) }}</td>\r\n <td *ngIf=\"filterIsPerimeter\" class=\"gcc__muted\">#{{ p.ScopeId }}</td>\r\n <td class=\"gcc__actions-cell\">\r\n <button class=\"gcc__del-btn\" (click)=\"deleteProfile(p, $event)\" title=\"Supprimer\">\r\n <i class=\"fa fa-trash\"></i>\r\n </button>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n\r\n <!-- ── Panels 2/3/4: only when a profile is active ───────────────────── -->\r\n <ng-container *ngIf=\"activeProfile; else noProfileTpl\">\r\n\r\n <div class=\"gcc__editor\">\r\n\r\n <div class=\"gcc__editor-hd\">\r\n <span class=\"gcc__panel-title\">\r\n {{ activeProfile.MetaEntityKey }}\r\n <span class=\"gcc__muted gcc__fw-normal\">· {{ getPurposeLabel(activeProfile.PurposeType) }}</span>\r\n <span *ngIf=\"activeProfile.ScopeId != null\" class=\"gcc__muted gcc__fw-normal\"> #{{ activeProfile.ScopeId }}</span>\r\n <span *ngIf=\"selectedCount > 0\" class=\"gcc__badge gcc__badge--primary\">{{ selectedCount }}</span>\r\n </span>\r\n </div>\r\n\r\n <div *ngIf=\"isLoading\" class=\"gcc__loading\">\r\n <span class=\"gcc__spinner-icon fa fa-circle-o-notch fa-spin\"></span>\r\n Chargement des colonnes…\r\n </div>\r\n\r\n <div *ngIf=\"!isLoading\" class=\"gcc__panels\">\r\n\r\n <!-- ── Panel 2: Group selector ─────────────────────────────────── -->\r\n <div class=\"gcc__groups\">\r\n <div class=\"gcc__panel-hd\">\r\n <span class=\"gcc__panel-label\">Sections</span>\r\n </div>\r\n <ul class=\"gcc__group-list\">\r\n <li class=\"gcc__group-item\"\r\n [class.gcc__group-item--active]=\"selectedGroup === null\"\r\n (click)=\"selectGroup(null)\">\r\n <span class=\"gcc__group-item__name\">Toutes les colonnes</span>\r\n <span class=\"gcc__badge\">{{ allItems.length }}</span>\r\n </li>\r\n <li *ngFor=\"let group of groups\"\r\n class=\"gcc__group-item\"\r\n [class.gcc__group-item--active]=\"selectedGroup?.id === group.id\"\r\n [class.gcc__group-item--standard]=\"group.id === 'standard'\"\r\n [class.gcc__group-item--custom]=\"group.isCustom\"\r\n (click)=\"selectGroup(group)\">\r\n <span class=\"gcc__group-item__name\">{{ group.label }}</span>\r\n <div class=\"gcc__group-meta\">\r\n <span *ngIf=\"getGroupSelectedCount(group) > 0\" class=\"gcc__badge gcc__badge--primary\">{{ getGroupSelectedCount(group) }}</span>\r\n <span class=\"gcc__badge\">{{ getGroupCount(group) }}</span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n <!-- ── Panel 3: Catalog browse ────────────────────────────────── -->\r\n <div class=\"gcc__browse\">\r\n <div class=\"gcc__panel-hd\">\r\n <span class=\"gcc__panel-label\">\r\n {{ selectedGroup == null ? 'Toutes' : selectedGroup.label }}\r\n </span>\r\n <input class=\"gcc__search\" type=\"text\" placeholder=\"Rechercher…\"\r\n [(ngModel)]=\"searchText\" (ngModelChange)=\"onSearch()\">\r\n </div>\r\n\r\n <div class=\"gcc__table-wrap\">\r\n <table class=\"gcc__browse-table\">\r\n <thead>\r\n <tr>\r\n <th class=\"gcc__col-check\">\r\n <input type=\"checkbox\"\r\n [checked]=\"allVisibleSelected\"\r\n [indeterminate]=\"someVisibleSelected\"\r\n (change)=\"toggleAll()\"\r\n title=\"Tout sélectionner / désélectionner\">\r\n </th>\r\n <th class=\"gcc__col-key\">Clé</th>\r\n <th>Colonne</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let item of filteredItems\"\r\n class=\"gcc__browse-row\"\r\n [class.gcc__browse-row--selected]=\"isSelected(item)\"\r\n [class.gcc__browse-row--custom]=\"item.ColumnSourceType === 2\"\r\n (click)=\"toggleItem(item)\">\r\n <td class=\"gcc__col-check\" (click)=\"$event.stopPropagation()\">\r\n <input type=\"checkbox\" [checked]=\"isSelected(item)\" (change)=\"toggleItem(item)\">\r\n </td>\r\n <td class=\"gcc__col-key\">{{ item.ColumnKey }}</td>\r\n <td class=\"gcc__col-name\">{{ item.Label ?? item.ColumnKey }}</td>\r\n </tr>\r\n <tr *ngIf=\"filteredItems.length === 0\">\r\n <td colspan=\"3\" class=\"gcc__browse-empty\">Aucune colonne trouvée</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n\r\n <!-- ── Panel 4: Ordered selection with admin flags ────────────── -->\r\n <div class=\"gcc__selection\">\r\n <div class=\"gcc__panel-hd\">\r\n <span class=\"gcc__panel-label\">Colonnes sélectionnées</span>\r\n <span *ngIf=\"selectedCount > 0\" class=\"gcc__badge gcc__badge--primary\">{{ selectedCount }}</span>\r\n </div>\r\n\r\n <div *ngIf=\"orderedSelection.length > 0\" class=\"gcc__sel-legend\">\r\n <span class=\"gcc__sel-legend__drag\"></span>\r\n <span class=\"gcc__sel-legend__pos\">#</span>\r\n <span class=\"gcc__sel-legend__code\">Clé</span>\r\n <span class=\"gcc__sel-legend__label\">Étiquette</span>\r\n <ng-container *ngIf=\"isPerimeter\">\r\n <span class=\"gcc__sel-legend__flag\">Aut.</span>\r\n </ng-container>\r\n <span class=\"gcc__sel-legend__flag\">Ver.</span>\r\n <span class=\"gcc__sel-legend__remove\"></span>\r\n </div>\r\n\r\n <div *ngIf=\"orderedSelection.length === 0\" class=\"gcc__sel-empty\">\r\n <span class=\"fa fa-columns gcc__sel-empty__icon\"></span>\r\n <p>Cochez des colonnes à gauche</p>\r\n </div>\r\n\r\n <div *ngIf=\"orderedSelection.length > 0\"\r\n class=\"gcc__sel-list\"\r\n cdkDropList\r\n [cdkDropListData]=\"orderedSelection\"\r\n (cdkDropListDropped)=\"onDrop($event)\">\r\n\r\n <div *ngFor=\"let item of orderedSelection; let i = index\"\r\n class=\"gcc__sel-item\"\r\n cdkDrag\r\n [cdkDragData]=\"item\">\r\n\r\n <div class=\"gcc__sel-item__placeholder\" *cdkDragPlaceholder></div>\r\n\r\n <span class=\"gcc__sel-item__drag\" cdkDragHandle>\r\n <i class=\"fa fa-bars\"></i>\r\n </span>\r\n\r\n <span class=\"gcc__sel-item__pos\">{{ i + 1 }}</span>\r\n\r\n <span class=\"gcc__sel-item__code\"\r\n [class.gcc__sel-item__code--cf]=\"item.ColumnSourceType === 2\"\r\n [title]=\"item.ColumnKey\">\r\n {{ item.ColumnKey }}\r\n </span>\r\n\r\n <input class=\"gcc__sel-item__label\" type=\"text\"\r\n [placeholder]=\"getCatalogLabel(item)\"\r\n [(ngModel)]=\"item.Label\"\r\n (click)=\"$event.stopPropagation()\"\r\n title=\"Étiquette personnalisée\">\r\n\r\n <!-- Perimeter scope: allowed flag -->\r\n <ng-container *ngIf=\"isPerimeter\">\r\n <label class=\"gcc__flag\" (click)=\"$event.stopPropagation()\">\r\n <input type=\"checkbox\" [(ngModel)]=\"item.IsAllowed\" title=\"Autorisé\">\r\n </label>\r\n </ng-container>\r\n\r\n <!-- Always: locked flag -->\r\n <label class=\"gcc__flag\" (click)=\"$event.stopPropagation()\">\r\n <input type=\"checkbox\" [(ngModel)]=\"item.IsLocked\" title=\"Verrouillé\">\r\n </label>\r\n\r\n <button class=\"gcc__sel-item__remove\" type=\"button\"\r\n (click)=\"removeFromSelection(item); $event.stopPropagation()\"\r\n title=\"Retirer\">✕</button>\r\n </div>\r\n\r\n </div>\r\n\r\n <!-- Footer / save -->\r\n <div class=\"gcc__sel-footer\">\r\n <span class=\"gcc__sel-footer__info\">\r\n <ng-container *ngIf=\"selectedCount > 0\">\r\n {{ selectedCount }} colonne(s) — glissez pour réordonner\r\n </ng-container>\r\n </span>\r\n <button class=\"btn btn-primary btn-sm\" type=\"button\" (click)=\"save()\" [disabled]=\"!canSave\">\r\n <i class=\"fa\"\r\n [class.fa-save]=\"!isSaving\"\r\n [class.fa-circle-o-notch]=\"isSaving\"\r\n [class.fa-spin]=\"isSaving\"></i>\r\n Enregistrer\r\n </button>\r\n </div>\r\n </div>\r\n\r\n </div><!-- /.gcc__panels -->\r\n </div><!-- /.gcc__editor -->\r\n\r\n </ng-container>\r\n\r\n <ng-template #noProfileTpl>\r\n <div class=\"gcc__hint\">\r\n <i class=\"fa fa-arrow-left\"></i> Sélectionnez ou créez un profil\r\n </div>\r\n </ng-template>\r\n\r\n </div><!-- /.gcc__body -->\r\n</div>\r\n","import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { Subject, combineLatest, of } from 'rxjs';\nimport { catchError, takeUntil } from 'rxjs/operators';\n\nimport { PresentationProfileDataService, PresentationProfileItemDataService } from '@dflat-core/web/system-data';\nimport {\n PresentationProfile, PresentationProfileFilterViewModel,\n PresentationProfileItem, PresentationProfileScopes,\n} from '@dflat-core/web/system-model';\nimport { PP_GRP_CUSTOM, PP_GRP_STANDARD, PpGroup, PresentationProfileTransformer } from '../presentation-profile-transformer';\n\n@Component({\n selector: 'alg-pp-items',\n templateUrl: './presentation-profile-items.component.html',\n styleUrls: ['./presentation-profile-items.component.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class PresentationProfileItemsComponent implements OnInit, OnDestroy {\n\n profile: PresentationProfile | null = null;\n isSection = true;\n isLoading = false;\n isSaving = false;\n message = '';\n\n groups: PpGroup[] = [];\n allItems: PresentationProfileItem[] = [];\n filteredItems: PresentationProfileItem[] = [];\n orderedSelection: PresentationProfileItem[] = [];\n selectedIds = new Set<string>();\n selectedGroup: PpGroup | null = null;\n searchText = '';\n naturalLabelByKey = new Map<string, string>();\n\n get isPerimeter(): boolean {\n return this.profile?.ScopeType === PresentationProfileScopes.Role\n || this.profile?.ScopeType === PresentationProfileScopes.Supplier;\n }\n get selectedCount(): number { return this.orderedSelection.length; }\n get canSave(): boolean { return !!this.profile && !this.isSaving; }\n get allVisibleSelected(): boolean {\n return this.filteredItems.length > 0 && this.filteredItems.every(i => this.selectedIds.has(i.ColumnKey ?? ''));\n }\n get someVisibleSelected(): boolean {\n return this.filteredItems.some(i => this.selectedIds.has(i.ColumnKey ?? '')) && !this.allVisibleSelected;\n }\n\n private readonly destroy$ = new Subject<void>();\n\n constructor(\n private readonly data: PresentationProfileDataService,\n private readonly itemData: PresentationProfileItemDataService,\n ) {}\n\n ngOnInit(): void {}\n ngOnDestroy(): void { this.destroy$.next(); this.destroy$.complete(); }\n\n setProfile(profile: PresentationProfile): void {\n if (this.profile?.Id === profile?.Id) return;\n this.profile = profile;\n this.message = '';\n this.loadColumns();\n }\n\n getCatalogLabel(item: PresentationProfileItem): string {\n return this.naturalLabelByKey.get(item.ColumnKey ?? '') ?? item.ColumnKey ?? '';\n }\n\n private getItemGroupId(item: PresentationProfileItem): string {\n if ((item.ColumnSourceType ?? 0) !== 2) return PP_GRP_STANDARD;\n return item.GroupId != null ? `cf-${item.GroupId}` : PP_GRP_CUSTOM;\n }\n\n private loadColumns(): void {\n this.resetEditor();\n if (!this.profile?.MetaEntityKey) return;\n\n this.isLoading = true;\n const profileId = this.profile.Id;\n const supplierId = this.profile.ScopeType === PresentationProfileScopes.Supplier ? this.profile.ScopeId : null;\n const roleId = this.profile.ScopeType === PresentationProfileScopes.Role ? this.profile.ScopeId : null;\n\n const scopeType = supplierId != null ? PresentationProfileScopes.Supplier\n : roleId != null ? PresentationProfileScopes.Role : undefined;\n const catalogFilter: PresentationProfileFilterViewModel = {\n MetaEntityKey: this.profile.MetaEntityKey,\n ScopeType: scopeType,\n ScopeId: supplierId ?? roleId ?? null,\n };\n\n const catalog$ = this.itemData.getCatalog(catalogFilter).pipe(catchError(() => of([] as PresentationProfileItem[])));\n const items$ = profileId != null\n ? this.itemData.getPresentationProfileItems(profileId).pipe(catchError(() => of([] as PresentationProfileItem[])))\n : of([] as PresentationProfileItem[]);\n\n combineLatest([catalog$, items$])\n .pipe(takeUntil(this.destroy$))\n .subscribe({\n next: ([catalog, rawItems]) => {\n this.naturalLabelByKey = new Map(\n catalog.filter(i => !!i.ColumnKey).map(i => [i.ColumnKey!, i.Label ?? i.ColumnKey!])\n );\n this.groups = PresentationProfileTransformer.buildGroups(catalog);\n\n const savedByKey = new Map(rawItems.filter(i => !!i.ColumnKey).map(i => [i.ColumnKey!, i]));\n this.allItems = catalog.filter(i => !!i.ColumnKey).map(c => {\n const saved = savedByKey.get(c.ColumnKey!);\n return { ...c, IsAllowed: saved?.IsAllowed ?? false, IsLocked: saved?.IsLocked ?? false };\n });\n\n if (profileId != null && rawItems.length > 0) {\n const catalogByKey = new Map(catalog.filter(i => !!i.ColumnKey).map(i => [i.ColumnKey!, i]));\n this.orderedSelection = rawItems\n .filter(i => !!i.ColumnKey)\n .sort((a, b) => (a.DisplayOrder ?? 0) - (b.DisplayOrder ?? 0))\n .map(i => ({ ...(catalogByKey.get(i.ColumnKey!) ?? {}), ...i } as PresentationProfileItem));\n this.orderedSelection.forEach(c => this.selectedIds.add(c.ColumnKey!));\n }\n\n this.applyFilter();\n this.isLoading = false;\n },\n error: () => { this.isLoading = false; },\n });\n }\n\n private resetEditor(): void {\n this.allItems = [];\n this.filteredItems = [];\n this.orderedSelection = [];\n this.selectedIds = new Set();\n this.groups = [];\n this.selectedGroup = null;\n this.searchText = '';\n this.naturalLabelByKey = new Map();\n }\n\n selectGroup(group: PpGroup | null): void { this.selectedGroup = group; this.searchText = ''; this.applyFilter(); }\n onSearch(): void { this.applyFilter(); }\n\n private applyFilter(): void {\n let items = this.selectedGroup\n ? this.allItems.filter(i => this.getItemGroupId(i) === this.selectedGroup!.id)\n : this.allItems;\n if (this.searchText?.trim()) {\n const q = this.searchText.toLowerCase();\n items = items.filter(i =>\n (i.Label ?? i.ColumnKey ?? '').toLowerCase().includes(q) ||\n (i.ColumnKey ?? '').toLowerCase().includes(q)\n );\n }\n this.filteredItems = [...items];\n }\n\n getGroupCount(g: PpGroup): number { return this.allItems.filter(i => this.getItemGroupId(i) === g.id).length; }\n getGroupSelectedCount(g: PpGroup): number { return this.allItems.filter(i => this.getItemGroupId(i) === g.id && this.selectedIds.has(i.ColumnKey ?? '')).length; }\n\n isSelected(item: PresentationProfileItem): boolean { return this.selectedIds.has(item.ColumnKey ?? ''); }\n\n toggleItem(item: PresentationProfileItem): void {\n const key = item.ColumnKey ?? '';\n if (this.selectedIds.has(key)) {\n this.selectedIds.delete(key);\n this.orderedSelection = this.orderedSelection.filter(i => i.ColumnKey !== key);\n } else {\n this.selectedIds.add(key);\n this.orderedSelection = [...this.orderedSelection, { ...item, Label: null }];\n }\n }\n\n toggleAll(): void {\n if (this.allVisibleSelected) {\n this.filteredItems.forEach(i => this.selectedIds.delete(i.ColumnKey ?? ''));\n const visKeys = new Set(this.filteredItems.map(i => i.ColumnKey ?? ''));\n this.orderedSelection = this.orderedSelection.filter(i => !visKeys.has(i.ColumnKey ?? ''));\n } else {\n const toAdd = this.filteredItems.filter(i => !this.selectedIds.has(i.ColumnKey ?? ''));\n toAdd.forEach(i => this.selectedIds.add(i.ColumnKey ?? ''));\n this.orderedSelection = [...this.orderedSelection, ...toAdd.map(i => ({ ...i, Label: null as string | null | undefined }))];\n }\n }\n\n removeFromSelection(item: PresentationProfileItem): void {\n const key = item.ColumnKey ?? '';\n this.selectedIds.delete(key);\n this.orderedSelection = this.orderedSelection.filter(i => i.ColumnKey !== key);\n }\n\n onDrop(event: CdkDragDrop<PresentationProfileItem[]>): void {\n if (event.previousIndex === event.currentIndex) return;\n moveItemInArray(this.orderedSelection, event.previousIndex, event.currentIndex);\n }\n\n save(): void {\n if (!this.profile) return;\n this.isSaving = true;\n this.message = '';\n const ctx = PresentationProfileTransformer.toAdminConfigContext(this.orderedSelection, this.profile);\n this.data.savePresentationProfile(ctx).subscribe({\n next: res => {\n this.isSaving = false;\n this.message = res?.Success === false\n ? (res.ErrorMessage ?? 'Échec de la sauvegarde')\n : 'Configuration enregistrée.';\n },\n error: () => { this.isSaving = false; this.message = 'Erreur lors de la sauvegarde.'; },\n });\n }\n}\n","<div *ngIf=\"!profile\" class=\"gcc__hint\">\r\n <i class=\"fa fa-arrow-up\"></i> Sélectionnez un profil dans la grille\r\n</div>\r\n\r\n<ng-container *ngIf=\"profile\">\r\n\r\n <div *ngIf=\"message\" class=\"gcc__message\">{{ message }}</div>\r\n\r\n <div *ngIf=\"isLoading\" class=\"gcc__loading\">\r\n <span class=\"gcc__spinner-icon fa fa-circle-o-notch fa-spin\"></span>\r\n Chargement des colonnes…\r\n </div>\r\n\r\n <div *ngIf=\"!isLoading\" class=\"gcc__panels\">\r\n\r\n <!-- ── Panel 1: Group selector ─────────────────────────────────────── -->\r\n <div class=\"gcc__groups\">\r\n <div class=\"gcc__panel-hd\">\r\n <span class=\"gcc__panel-label\">Sections</span>\r\n </div>\r\n <ul class=\"gcc__group-list\">\r\n <li class=\"gcc__group-item\"\r\n [class.gcc__group-item--active]=\"selectedGroup === null\"\r\n (click)=\"selectGroup(null)\">\r\n <span class=\"gcc__group-item__name\">Toutes les colonnes</span>\r\n <span class=\"gcc__badge\">{{ allItems.length }}</span>\r\n </li>\r\n <li *ngFor=\"let group of groups\"\r\n class=\"gcc__group-item\"\r\n [class.gcc__group-item--active]=\"selectedGroup?.id === group.id\"\r\n [class.gcc__group-item--standard]=\"group.id === 'standard'\"\r\n [class.gcc__group-item--custom]=\"group.isCustom\"\r\n (click)=\"selectGroup(group)\">\r\n <span class=\"gcc__group-item__name\">{{ group.label }}</span>\r\n <div class=\"gcc__group-meta\">\r\n <span *ngIf=\"getGroupSelectedCount(group) > 0\" class=\"gcc__badge gcc__badge--primary\">{{ getGroupSelectedCount(group) }}</span>\r\n <span class=\"gcc__badge\">{{ getGroupCount(group) }}</span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n <!-- ── Panel 2: Catalog browse ──────────────────────────────────────── -->\r\n <div class=\"gcc__browse\">\r\n <div class=\"gcc__panel-hd\">\r\n <span class=\"gcc__panel-label\">\r\n {{ selectedGroup == null ? 'Toutes' : selectedGroup.label }}\r\n </span>\r\n <input class=\"gcc__search\" type=\"text\" placeholder=\"Rechercher…\"\r\n [(ngModel)]=\"searchText\" (ngModelChange)=\"onSearch()\">\r\n </div>\r\n\r\n <div class=\"gcc__table-wrap\">\r\n <table class=\"gcc__browse-table\">\r\n <thead>\r\n <tr>\r\n <th class=\"gcc__col-check\">\r\n <input type=\"checkbox\"\r\n [checked]=\"allVisibleSelected\"\r\n [indeterminate]=\"someVisibleSelected\"\r\n (change)=\"toggleAll()\"\r\n title=\"Tout sélectionner / désélectionner\">\r\n </th>\r\n <th class=\"gcc__col-key\">Clé</th>\r\n <th>Colonne</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let item of filteredItems\"\r\n class=\"gcc__browse-row\"\r\n [class.gcc__browse-row--selected]=\"isSelected(item)\"\r\n [class.gcc__browse-row--custom]=\"item.ColumnSourceType === 2\"\r\n (click)=\"toggleItem(item)\">\r\n <td class=\"gcc__col-check\" (click)=\"$event.stopPropagation()\">\r\n <input type=\"checkbox\" [checked]=\"isSelected(item)\" (change)=\"toggleItem(item)\">\r\n </td>\r\n <td class=\"gcc__col-key\">{{ item.ColumnKey }}</td>\r\n <td class=\"gcc__col-name\">{{ item.Label ?? item.ColumnKey }}</td>\r\n </tr>\r\n <tr *ngIf=\"filteredItems.length === 0\">\r\n <td colspan=\"3\" class=\"gcc__browse-empty\">Aucune colonne trouvée</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n\r\n <!-- ── Panel 3: Ordered selection with admin flags ──────────────────── -->\r\n <div class=\"gcc__selection\">\r\n <div class=\"gcc__panel-hd\">\r\n <span class=\"gcc__panel-label\">Colonnes sélectionnées</span>\r\n <span *ngIf=\"selectedCount > 0\" class=\"gcc__badge gcc__badge--primary\">{{ selectedCount }}</span>\r\n </div>\r\n\r\n <div *ngIf=\"orderedSelection.length > 0\" class=\"gcc__sel-legend\">\r\n <span class=\"gcc__sel-legend__drag\"></span>\r\n <span class=\"gcc__sel-legend__pos\">#</span>\r\n <span class=\"gcc__sel-legend__code\">Clé</span>\r\n <span class=\"gcc__sel-legend__label\">Étiquette</span>\r\n <ng-container *ngIf=\"isPerimeter\">\r\n <span class=\"gcc__sel-legend__flag\">Aut.</span>\r\n </ng-container>\r\n <span class=\"gcc__sel-legend__flag\">Ver.</span>\r\n <span class=\"gcc__sel-legend__remove\"></span>\r\n </div>\r\n\r\n <div *ngIf=\"orderedSelection.length === 0\" class=\"gcc__sel-empty\">\r\n <span class=\"fa fa-columns gcc__sel-empty__icon\"></span>\r\n <p>Cochez des colonnes à gauche</p>\r\n </div>\r\n\r\n <div *ngIf=\"orderedSelection.length > 0\"\r\n class=\"gcc__sel-list\"\r\n cdkDropList\r\n [cdkDropListData]=\"orderedSelection\"\r\n (cdkDropListDropped)=\"onDrop($event)\">\r\n\r\n <div *ngFor=\"let item of orderedSelection; let i = index\"\r\n class=\"gcc__sel-item\"\r\n cdkDrag\r\n [cdkDragData]=\"item\">\r\n\r\n <div class=\"gcc__sel-item__placeholder\" *cdkDragPlaceholder></div>\r\n\r\n <span class=\"gcc__sel-item__drag\" cdkDragHandle>\r\n <i class=\"fa fa-bars\"></i>\r\n </span>\r\n\r\n <span class=\"gcc__sel-item__pos\">{{ i + 1 }}</span>\r\n\r\n <span class=\"gcc__sel-item__code\"\r\n [class.gcc__sel-item__code--cf]=\"item.ColumnSourceType === 2\"\r\n [title]=\"item.ColumnKey\">\r\n {{ item.ColumnKey }}\r\n </span>\r\n\r\n <input class=\"gcc__sel-item__label\" type=\"text\"\r\n [placeholder]=\"getCatalogLabel(item)\"\r\n [(ngModel)]=\"item.Label\"\r\n (click)=\"$event.stopPropagation()\"\r\n title=\"Étiquette personnalisée\">\r\n\r\n <ng-container *ngIf=\"isPerimeter\">\r\n <label class=\"gcc__flag\" (click)=\"$event.stopPropagation()\">\r\n <input type=\"checkbox\" [(ngModel)]=\"item.IsAllowed\" title=\"Autorisé\">\r\n </label>\r\n </ng-container>\r\n\r\n <label class=\"gcc__flag\" (click)=\"$event.stopPropagation()\">\r\n <input type=\"checkbox\" [(ngModel)]=\"item.IsLocked\" title=\"Verrouillé\">\r\n </label>\r\n\r\n <button class=\"gcc__sel-item__remove\" type=\"button\"\r\n (click)=\"removeFromSelection(item); $event.stopPropagation()\"\r\n title=\"Retirer\">✕</button>\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"gcc__sel-footer\">\r\n <span class=\"gcc__sel-footer__info\">\r\n <ng-container *ngIf=\"selectedCount > 0\">\r\n {{ selectedCount }} colonne(s) — glissez pour réordonner\r\n </ng-container>\r\n </span>\r\n <button class=\"btn btn-primary btn-sm\" type=\"button\" (click)=\"save()\" [disabled]=\"!canSave\">\r\n <i class=\"fa\"\r\n [class.fa-save]=\"!isSaving\"\r\n [class.fa-circle-o-notch]=\"isSaving\"\r\n [class.fa-spin]=\"isSaving\"></i>\r\n Enregistrer\r\n </button>\r\n </div>\r\n </div>\r\n\r\n </div><!-- /.gcc__panels -->\r\n\r\n</ng-container>\r\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { filter, map } from 'rxjs/operators';\nimport { ColumnDescriptor } from '@dflat-core/web/core-model';\nimport { IPpService } from '@dflat-core/web/core-ux';\nimport { PresentationProfilePurposes } from '@dflat-core/web/system-model';\nimport { PresentationProfileItem } from '@dflat-core/web/system-model';\nimport { PpExportSplit, PresentationProfileTransformer } from './presentation-profile-transformer';\nimport { PresentationProfileActionService } from './presentation-profile-action-service';\nimport { PresentationProfileResolver, PpResolverConfig } from './presentation-profile-resolver.service';\n\n/** Global entry point for all Presentation Profile concerns. Bound to PP_SERVICE injection token. */\n@Injectable()\nexport class PpFacadeService implements IPpService {\n constructor(\n private readonly resolver: PresentationProfileResolver,\n private readonly actionService: PresentationProfileActionService,\n ) {}\n\n openColumnSelector(config: { title: string; metaEntityKey: string; supplierId?: number | null; roleId?: number | null }): void {\n this.actionService.open({ ...config, purpose: PresentationProfilePurposes.Grid });\n }\n\n openExportSelector(config: { title: string; metaEntityKey: string; supplierId?: number | null; roleId?: number | null }): void {\n this.actionService.open({ ...config, purpose: PresentationProfilePurposes.Export });\n }\n\n resolveColumns(config: { metaEntityKey: string; supplierId?: number | null; roleId?: number | null }): Observable<any[]> {\n return this.resolver.resolve(config as PpResolverConfig).pipe(map(r => r.columns));\n }\n\n buildDescriptors(ppColumns: any[], backendDescriptors: ColumnDescriptor[]): ColumnDescriptor[] {\n return PresentationProfileTransformer.buildDescriptors(ppColumns as PresentationProfileItem[], backendDescriptors);\n }\n\n splitForExport(columns: any[]): PpExportSplit {\n return PresentationProfileTransformer.splitForExport(columns as PresentationProfileItem[]);\n }\n\n get selectionConfirmed$(): Observable<{ purpose: number; columns: any[] }> {\n return this.actionService.selectionConfirmed$;\n }\n\n get gridSelectionConfirmed$(): Observable<any[]> {\n return this.actionService.selectionConfirmed$.pipe(\n filter(r => r.purpose === PresentationProfilePurposes.Grid),\n map(r => r.columns),\n );\n }\n}\n","import { User } from '@dflat-core/web/core-model';\nimport { AuthService, UserService } from '@dflat-core/web/core-services';\nimport { IUserCredential } from '@dflat-core/web/core-model';\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { SelectUserCompanyActionService } from '../services/select-user-company-action-service';\n\n\n@Component({\n selector: 'alg-login',\n styleUrls: ['./login.component.scss'],\n templateUrl: './login.component.html',\n standalone: false\n})\nexport class LoginComponent implements OnInit {\n\n \n @Input()\n isModal: boolean = false;\n\n @Input()\n allowCreation: boolean = false;\n\n @Output()\n registerClick: EventEmitter<string> = new EventEmitter<string>();\n\n @Output()\n cancelClick: EventEmitter<string> = new EventEmitter<string>();\n\n @Output()\n resetPasswordClick: EventEmitter<string> = new EventEmitter<string>();\n\n @Output()\n afterLogin: EventEmitter<User> = new EventEmitter<User>();\n\n // hasErrors : boolean = false;\n emailPattern2: string = \"^(([^<>()\\\\[\\\\]\\\\\\\\.,;:\\\\s@\\\"]+(\\\\.[^<>()\\\\[\\\\]\\\\\\\\.,;:\\\\s@\\\"]+)*)|(\\\".+\\\"))@((\\\\[[0-9]{1,3}\\\\.[0-9]{1,3}\\\\.[0-9]{1,3}\\\\.[0-9]{1,3}])|(([a-zA-Z\\\\-0-9]+\\\\.)+[a-zA-Z]{2,}))$\";\n\n\n\n username: string;\n password: string;\n rememberMe: boolean;\n loading = false;\n hasErrors : boolean = false;\n errorMessage:string = '';\n\n constructor(\n protected userServ: UserService,\n protected authService: AuthService,\n protected router: Router,\n protected route: ActivatedRoute,\n protected selectUserCompanyActionService : SelectUserCompanyActionService\n ) {\n }\n\n public ngOnInit() {\n\n this.rememberMe = this.authService.rememberMe;\n\n if (this.getShouldRedirect()) {\n this.authService.redirectLoginUser();\n }\n else {\n window.dispatchEvent(new Event('resize'));\n \n }\n }\n\n getShouldRedirect() {\n return this.authService.isLoggedIn;;\n }\n\n login() {\n // clean alerts \n // this.alertService.clear();\n this.hasErrors = false;\n this.authService.login(this.username, this.password, this.rememberMe)\n .subscribe(\n data => {\n this.OnLogin(data);\n\n },\n error => {\n this.hasErrors = true;\n this.errorMessage = 'Login ou mot de passe incorrect';\n });\n }\n \n OnLogin(data: IUserCredential) {\n const user = new User(data);\n user.IsConnected = true;\n\n this.userServ.setCurrent(user);\n this.selectUserCompanyActionService.checkSelectedUserCompany();\n this.authService.redirectLoginUser();\n \n }\n \n onRegisterClick() {\n if (!this.isModal)\n this.router.navigate(['/register']);\n else\n this.registerClick.emit(this.username);\n }\n onResetPasswordClick() {\n if (!this.isModal)\n this.router.navigate(['/reset-password']);\n else\n this.resetPasswordClick.emit(this.username);\n }\n\n\n onCancelClick() {\n this.cancelClick.emit(this.username);\n }\n}\n","<form class=\"login-form\" (ngSubmit)=\"f.form.valid && login()\" #f=\"ngForm\" novalidate>\r\n\r\n <div class=\"form-group has-feedback\">\r\n <input type=\"text\" class=\"form-control login-control\" placeholder=\"Identifiant\" required name=\"eml\" [(ngModel)]=\"username\" #eml=\"ngModel\">\r\n <!-- <span class=\"fa fa-user form-control-feedback\"></span> -->\r\n <!-- <div *ngIf=\"eml.errors && (eml.dirty && eml.touched)\" class=\"input-alert\">\r\n <div [hidden]=\"!eml.errors.required\">\r\n L'Identifiant est requis\r\n </div>\r\n </div> -->\r\n </div>\r\n\r\n <div class=\"form-group has-feedback\">\r\n <input type=\"password\" class=\"form-control login-control\" placeholder=\"Password\" required name=\"passwd\" [(ngModel)]=\"password\" #passwd=\"ngModel\">\r\n <!-- <span class=\"fa fa-lock form-control-feedback\"></span> -->\r\n <!-- <div *ngIf=\"passwd.errors && (passwd.dirty || passwd.touched)\" class=\"input-alert\">\r\n <div [hidden]=\"!passwd.errors.required\">\r\n Le mot de passe est requis\r\n </div>\r\n </div> -->\r\n </div>\r\n <div class=\"form-group has-feedback\">\r\n <div class=\"custom-control custom-switch\">\r\n <input type=\"checkbox\" class=\"custom-control-input\" id=\"customSwitch1\" name=\"rememberMe\" [(ngModel)]=\"rememberMe\">\r\n <label class=\"custom-control-label\" for=\"customSwitch1\">Se souvenir de moi</label>\r\n </div>\r\n </div>\r\n <div class=\"form-group\">\r\n <button [disabled]=\"!f.form.valid\" class=\"btn btn-primary btn-block login-button\">Connexion</button>\r\n </div>\r\n</form>\r\n<div class=\"btn-bar\">\r\n <ng-container *ngIf=\"allowCreation\">\r\n <button class=\"btn btn-primary\" (click)=\"onRegisterClick()\"><span>Créer un compte</span></button> \r\n </ng-container>\r\n <button class=\"btn btn-link btn-reset-pwd\" (click)=\"onResetPasswordClick()\">Mot de passe oublié ?</button>\r\n</div>\r\n\r\n<div class=\"error-message\">\r\n <div>\r\n <ng-container *ngIf=\"hasErrors\">\r\n {{this.errorMessage}}\r\n </ng-container>\r\n <ng-container *ngIf=\"!hasErrors\">\r\n \r\n </ng-container>\r\n </div>\r\n</div>\r\n","import { AuthService, UserService } from '@dflat-core/web/core-services';\nimport { AccountDataService } from '@dflat-core/web/system-data';\nimport { ActivationResults, ResetPasswordViewModel } from '@dflat-core/web/system-model';\nimport { ActivateComponent } from '../activate/activate.component';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\n\nexport function MustMatch(controlName: string, matchingControlName: string) {\n return (formGroup: UntypedFormGroup) => {\n const control = formGroup.controls[controlName];\n const matchingControl = formGroup.controls[matchingControlName];\n\n if (matchingControl.errors && !matchingControl.errors.mustMatch) {\n // return if another validator has already found an error on the matchingControl\n return;\n }\n\n // set error on matchingControl if validation fails\n if (control.value !== matchingControl.value) {\n matchingControl.setErrors({ mustMatch: true });\n } else {\n matchingControl.setErrors(null);\n }\n }\n}\n\n@Component({\n selector: 'kzk-reset-password',\n templateUrl: './reset-password.component.html',\n styleUrls: ['./reset-password.component.scss'],\n standalone: false\n})\nexport class ResetPasswordComponent extends ActivateComponent {\n\n @Input()\n isModal: boolean=false;\n \n passwordSuccess: boolean = false;\n password: string ;\n password2: string ;\n passwordForm: UntypedFormGroup;\n\n @Output()\n connexionClick: EventEmitter<string> = new EventEmitter<string>();\n\n @Output()\n registerClick: EventEmitter<string> = new EventEmitter<string>();\n \n constructor(\n router: Router, \n route: ActivatedRoute, \n accountDataService: AccountDataService,\n authService : AuthService,\n userService: UserService,\n private formBuilder: UntypedFormBuilder\n\n ) \n { \n super(router, route, accountDataService, authService, userService);\n }\n goToConnect(){\n this.router.navigate(['/login']);\n }\n \n get f() { return this.passwordForm.controls; }\n resolve(event) {\n console.log(event);\n }\n ngOnInit() {\n \n \n this.passwordForm = this.formBuilder.group({\n passwd: ['', [Validators.required, Validators.minLength(6)]],\n passwd2: ['', [Validators.required, Validators.minLength(6)]],\n //captchaToken: [null, Validators.required]\n }, {\n validator: MustMatch('passwd', 'passwd2')\n });\n super.ngOnInit();\n }\n isPasswordInitSuccess() {\n return this.passwordSuccess == true;\n }\n\n validatePassword() {\n this.activate(false);\n }\n\n activate(sendAgain: boolean) \n {\n this.passwordSuccess= false;\n this.hasErrors = false;\n this.loading = true;\n this.ActivationResults = undefined;\n this.errorMessage = '';\n\n // Initialisation du paramètre\n let parameter: ResetPasswordViewModel = {};\n parameter.ActivationCode = this.code;\n parameter.SendAgain= sendAgain;\n parameter.UserEmail = this.email;\n parameter.CaptchaToken = this.captchaToken;\n parameter.Password = this.passwordForm.controls[\"passwd\"].value;\n\n this.accountDataService.resetPassword(parameter)\n .subscribe(\n data => {\n \n this.ActivationResults = data;\n this.captchaToken = undefined;\n this.loading= false;\n if ( this.passwordForm.valid )\n this.passwordSuccess = true;\n this.passwordForm.reset();\n },\n error => {\n this.hasErrors = true;\n this.ActivationResults = ActivationResults.Error;\n this.errorMessage = \"Une erreur s'est produite pendant l'activation de votre compte\";\n this.captchaToken = undefined;\n this.loading= false;\n this.passwordForm.reset();\n }\n );\n }\n\n OnConnexionClick() \n {\n if( ! this.isModal )\n this.router.navigate(['/login']);\n else\n this.connexionClick.emit();\n }\n\n OnRegisterClick() \n {\n if( ! this.isModal )\n this.router.navigate(['/register']);\n else\n this.registerClick.emit();\n } \n}","<div class=\"login-form\">\r\n \r\n <h3>Réinitialisation du mot de passe</h3>\r\n \r\n <ng-container *ngIf=\"isLoading()\">\r\n <p>Le traitement de votre demande est en cours. Merci de patienter quelques instants...</p>\r\n </ng-container>\r\n <ng-container *ngIf=\"!isLoading()\">\r\n <ng-container *ngIf=\"isPasswordInitSuccess()\">\r\n <p>\r\n Félicitations, votre mot de passe a été réinitialisé avec succès ! \r\n </p>\r\n <div class=\"btn-bar\">\r\n <button class=\"btn btn-primary\" (click)=\"goToConnect()\"><span>Connexion</span></button>\r\n </div>\r\n <div class=\"btn-bar\">\r\n <button class=\"btn\" (click)=\"goHome()\"><span>Retour à l'accueil</span></button>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"isSuccess() && ! isPasswordInitSuccess()\">\r\n <p>\r\n Merci de saisir 2 fois le même mot de passe afin de le réinitialiser.\r\n </p>\r\n \r\n\r\n <form [formGroup]=\"passwordForm\" (ngSubmit)=\"passwordForm.valid && validatePassword()\" validate>\r\n <div class=\"form-group\">\r\n <input type=\"password\" formControlName=\"passwd\" class=\"form-control\" placeholder=\"Entrez votre nouveau mot de passe\"\r\n >\r\n \r\n <div *ngIf=\"f.passwd.errors && f.passwd.dirty && f.passwd.touched\" class=\"input-alert\">\r\n <div *ngIf=\"f.passwd.errors?.required\">\r\n Le mot de passe est obligatoire\r\n </div>\r\n <div *ngIf=\"f.passwd.errors?.minlength\">\r\n Le mot de passe doit comporter au moins 6 caractères\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group\">\r\n <input type=\"password\" formControlName=\"passwd2\" class=\"form-control\" placeholder=\"Confirmez votre nouveau mot de passe\"\r\n >\r\n \r\n <div *ngIf=\"f.passwd2.errors && f.passwd2.dirty && f.passwd2.touched\" class=\"input-alert\">\r\n <div *ngIf=\"f.passwd2.errors?.required\">\r\n Le mot de passe est obligatoire\r\n </div>\r\n <div *ngIf=\"f.passwd2.errors?.minlength\">\r\n Le mot de passe doit comporter au moins 6 caractères\r\n </div>\r\n <div *ngIf=\"f.passwd2.errors?.mustMatch\">\r\n Les 2 mots de passe ne correspondent pas !\r\n </div>\r\n \r\n </div>\r\n </div>\r\n <!-- <div style=\"display: flex;align-items: center;\">\r\n <div class=\"captcha\">\r\n <re-captcha \r\n formControlName=\"captchaToken\"\r\n name=\"captcha\"\r\n required\r\n siteKey=\"6Lcuj_4ZAAAAAKoa7Dyi7LeJRzyCfqqTpte-wPTi\"\r\n theme=\"dark light\"\r\n > \r\n </re-captcha>\r\n </div>\r\n </div> -->\r\n <div class=\"btn-bar\">\r\n <button class=\"btn btn-primary\" [disabled]=\"!passwordForm.valid\" type=\"submit\"><span>Valider</span></button>\r\n </div>\r\n </form>\r\n <div class=\"btn-bar btn-bar-horizontal\">\r\n <button class=\"btn btn-link btn-reset-pwd\" (click)=\"OnConnexionClick()\">Connexion</button>\r\n <button class=\"btn btn-link btn-reset-pwd\" (click)=\"OnRegisterClick()\">Créer un compte</button>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"isSentAgain()\">\r\n <p>\r\n Un mail de réinitilisation de votre mot de passe a été renvoyé à votre adresse mail, merci de vérifier votre messagerie.\r\n </p>\r\n <div class=\"btn-bar\">\r\n <button class=\"btn btn-primary\" (click)=\"goHome()\"><span>Retour à l'accueil</span></button>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"isError()\">\r\n <p class=\"text-error\">\r\n Une erreur s'est produite pendant la réinitialisation de votre mot de passe.\r\n Merci de saisir votre email ci-dessous afin de renvoyer à nouveau un mail de réinitialisation.\r\n </p>\r\n </ng-container>\r\n <ng-container *ngIf=\"isExpired()\">\r\n <p class=\"text-error\">\r\n Le lien de réinitialisation de votre mot de passe n'est plus valide car le délai de 24h a été dépassé ou bien vous avez fait une demande plus récente.\r\n Cliquez sur le bouton ci-dessous pour renvoyer à nouveau un mail de réinitialisation.\r\n </p>\r\n </ng-container>\r\n <ng-container *ngIf=\"isUserUnknown()\">\r\n <p class=\"text-error\">\r\n {{this.email}} : Aucun compte lié à cette addresse email n'a été trouvé.\r\n </p>\r\n </ng-container>\r\n <ng-container *ngIf=\"isExpired() || isError() || isUserUnknown() || (isEmptyCode() && !isAlreadyActivated() && !isSentAgain() && ! isSuccess())\">\r\n <p>Merci de saisir votre email ci-dessous afin de recevoir un mail de réinitialisation de votre mot de passe.</p>\r\n <form (ngSubmit)=\"f.form.valid && sendAgain()\" #f=\"ngForm\" validate>\r\n <div class=\"form-group\">\r\n <input \r\n type=\"text\" class=\"form-control\" placeholder=\"Entrez votre addresse mail\" name=\"eml\"\r\n [(ngModel)]=\"email\" #eml=\"ngModel\" required [pattern]=\"emailPattern2\">\r\n <div *ngIf=\"eml.errors && (eml.dirty && eml.touched)\" class=\"input-alert\">\r\n <div *ngIf=\"eml.errors?.required\">\r\n L'email est obligatoire\r\n </div>\r\n <div *ngIf=\"eml.errors?.pattern\">\r\n L'email n'est pas valide\r\n </div>\r\n </div>\r\n </div>\r\n <div style=\"display: flex;align-items: center;\">\r\n <div class=\"captcha\">\r\n <re-captcha \r\n [(ngModel)]=\"captchaToken\"\r\n name=\"captcha\"\r\n required\r\n siteKey=\"6Lcuj_4ZAAAAAKoa7Dyi7LeJRzyCfqqTpte-wPTi\"\r\n theme=\"light\"\r\n > \r\n </re-captcha>\r\n </div>\r\n </div>\r\n <div class=\"btn-bar\">\r\n <button class=\"btn btn-primary\" [disabled]=\"!f.form.valid\" type=\"submit\"><span>Valider</span></button>\r\n </div>\r\n </form>\r\n <div class=\"btn-bar btn-bar-horizontal\">\r\n <button class=\"btn btn-link btn-reset-pwd\" (click)=\"OnConnexionClick()\">Connexion</button>\r\n <button class=\"btn btn-link btn-reset-pwd\" (click)=\"OnRegisterClick()\">Créer un compte</button>\r\n </div>\r\n </ng-container>\r\n\r\n </ng-container>\r\n \r\n \r\n <!-- <kzk-login-disclaimer class=\"login-disclaimer\"></kzk-login-disclaimer> -->\r\n <ng-container *ngIf=\"hasErrors\">\r\n <div class=\"error-message\">\r\n <div>\r\n {{this.errorMessage}}\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>","import {\n TreeviewConfig,\n TreeviewI18n,\n DefaultTreeviewI18n,\n TreeviewModule,\n} from '@samotics/ngx-treeview';\n\nimport { CoreDataModule } from '@dflat-core/web/core-data';\nimport { CoreModelModule } from '@dflat-core/web/core-model';\nimport { CanDeactivateGuard, CoreUxModule } from '@dflat-core/web/core-ux';\nimport { PresentationProfileActionService } from './presentation-profile/presentation-profile-action-service';\nimport { PresentationProfileComponent } from './presentation-profile/presentation-profile.component';\nimport { SystemDataModule } from '@dflat-core/web/system-data';\nimport { SystemModelModule } from '@dflat-core/web/system-model';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { AngularEditorModule } from '@kolkov/angular-editor';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { NgxDropzoneModule } from 'ngx-dropzone';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { ConfigComponent } from './config/config-component';\nimport { DWSupplyComponent } from './config/datawarehouse-supply/dw-supply.component';\nimport { CustomFieldOptionsEditorComponent } from './custom-field-options/custom-field-options-editor.component';\nimport { CustomFieldOptionsComponent } from './custom-field-options/custom-field-options.component';\nimport { CustomFieldEditorComponent } from './custom-field/custom-field-editor.component';\nimport { CustomFieldComponent } from './custom-field/custom-field.component';\nimport { NewsComponent } from './news/news-component';\nimport { NewsEditorComponent } from './news/news-editor.component';\nimport { PermissionComponent } from './permission/permission-component';\nimport { PermissionEditorComponent } from './permission/permission-editor.component';\nimport { RequestResultsComponent } from './request-results/request-results.component';\nimport { RequestEditorComponent } from './request/request-editor.component';\nimport { RequestComponent } from './request/request.component';\nimport { ResourceLanguageEditorComponent } from './resource-language/resourcelanguage-editor.component';\nimport { ResourceLanguageComponent } from './resource-language/resource-language.component';\nimport { RoleComponent } from './role/role-component';\nimport { RoleEditorComponent } from './role/role-editor.component';\nimport { UserAccountComponent } from './user-account/user-account-component';\nimport { UserAccountEditorComponent } from './user-account/user-account-editor.component';\n\nimport { CustomFieldGroupEditorComponent } from './custom-field-group/custom-field-group-editor.component';\nimport { CustomFieldGroupItemEditorComponent } from './custom-field-group/custom-field-group-item/custom-field-group-item-editor.component';\nimport { CustomFieldGroupItemComponent } from './custom-field-group/custom-field-group-item/custom-field-group-item.component';\nimport { CustomFieldGroupComponent } from './custom-field-group/custom-field-group.component';\nimport { ModalModule } from 'ngx-bootstrap/modal';\nimport { ActivateComponent } from './activate/activate.component';\nimport { CustomFieldGroupEntityEditorComponent } from './custom-field-group/custom-field-group-entity/custom-field-group-entity-editor.component';\nimport { CustomFieldGroupEntityComponent } from './custom-field-group/custom-field-group-entity/custom-field-group-entity.component';\nimport { MetaEntityFieldEditorComponent } from './meta-entity-field/meta-entity-field-editor.component';\nimport { MetaEntityFieldComponent } from './meta-entity-field/meta-entity-field.component';\nimport { MetaEntityComponent } from './meta-entity/meta-entity.component';\nimport { ResourceKeyComponent } from './resource-key/resource-key.component';\nimport { ResourceTranslationComponent } from './resource-translation/resource-translation.component';\nimport { CustomFieldActionService } from './services/custom-field-action-service';\nimport { UserProfileAccountComponent } from './user-account-profile/user-account-profile.component';\n\nimport { EnsureModuleLoadedOnceGuard } from '@dflat-core/web/core';\nimport { SystemEntityKeys, SystemRootModule } from '@dflat-core/web/system-root';\nimport { NgxImageCompressService } from 'ngx-image-compress';\nimport { AddressEditorComponent } from './address/address-editor.component';\nimport { AddressComponent } from './address/address.component';\nimport { CompanyEditorComponent } from './company/company-editor.component';\nimport { CompanyComponent } from './company/company.component';\nimport { ImageUploadComponent } from './components/image-upload/image-upload.component';\nimport { CountryEditorComponent } from './country/country-editor.component';\nimport { CountryComponent } from './country/country.component';\nimport { CurrencyEditorComponent } from './currency/currency-editor.component';\nimport { CurrencyComponent } from './currency/currency.component';\nimport { EntityFilesComponent } from './entity-files/entity-files.component';\nimport { ExchangeRateDetailComponent } from './exchange-rate/exchange-rate-detail.component';\nimport { ExchangeRateEditorComponent } from './exchange-rate/exchange-rate-editor.component';\nimport { ExchangeRateComponent } from './exchange-rate/exchange-rate.component';\nimport { GlobalParameterComponent } from './global-parameter/global-parameter.component';\nimport { RatesActionService } from './services/rates-action-service';\nimport { SystemSelectorMapperService } from './services/system-selector-mapper.service';\nimport { UserActionService } from './services/user-action-service';\nimport { SubCompanyComponent } from './sub-company/sub-company.component';\nimport { SupplierEditorComponent } from './supplier/supplier-editor.component';\nimport { SupplierComponent } from './supplier/supplier.component';\nimport { SynchronisedCompanyComponent } from './synchronised-company/synchronised-company.component';\nimport { TvaRateDetailComponent } from './tva-rate/tva-rate-detail.component';\nimport { TvaRateEditorComponent } from './tva-rate/tva-rate-editor.component';\nimport { TvaRateComponent } from './tva-rate/tva-rate.component';\nimport { UserGroupDefinitionComponent } from './user-group/user-group-definition.component';\nimport { UserGroupEditorComponent } from './user-group/user-group-editor.component';\nimport { UserGroupComponent } from './user-group/user-group.component';\nimport { CustomFieldService } from './services/custom-field-service';\nimport { UserRoleComponent } from './user-role/user-role-component';\nimport { UserPermissionComponent } from './user-permission/user-permission-component';\nimport { UserCompanyComponent } from './user-company/user-company-component';\nimport { ResourceTranslationEditorComponent } from './resource-translation/resource-translation-editor.component';\nimport { SelectUserCompanyActionService } from './services/select-user-company-action-service';\nimport { SystemSectionService } from './services/system-section.service';\nimport { PresentationProfileColumnComponent } from './presentation-profile/presentation-profile-column-grid/presentation-profile-column.component';\nimport { PresentationProfileItemsComponent } from './presentation-profile/presentation-profile-column-grid/presentation-profile-items.component';\nimport { PP_SERVICE } from '@dflat-core/web/core-ux';\nimport { PpFacadeService } from './presentation-profile/pp-facade.service';\nimport { LoginComponent } from './login/login.component';\nimport { ResetPasswordComponent } from './reset-password/reset-password.component';\nimport { RecaptchaFormsModule, RecaptchaModule } from 'ng-recaptcha';\nvar components = [\n ActivateComponent,\n LoginComponent,\n ResetPasswordComponent,\n CompanyComponent,\n CompanyEditorComponent,\n CountryComponent,\n CountryEditorComponent,\n CurrencyComponent,\n CurrencyEditorComponent,\n ExchangeRateComponent,\n ExchangeRateEditorComponent,\n NewsComponent,\n NewsEditorComponent,\n PermissionComponent,\n PermissionEditorComponent,\n RequestComponent,\n RequestEditorComponent,\n RequestResultsComponent,\n RoleComponent,\n RoleEditorComponent,\n UserAccountComponent,\n UserRoleComponent,\n UserPermissionComponent,\n UserAccountEditorComponent,\n UserProfileAccountComponent,\n CustomFieldComponent,\n CustomFieldOptionsComponent,\n CustomFieldOptionsEditorComponent,\n\n CustomFieldGroupComponent,\n CustomFieldGroupEditorComponent,\n CustomFieldGroupItemComponent,\n CustomFieldGroupItemEditorComponent,\n CustomFieldGroupEntityComponent,\n CustomFieldGroupEntityEditorComponent,\n CustomFieldEditorComponent,\n ConfigComponent,\n ResourceLanguageComponent,\n ResourceLanguageEditorComponent,\n ResourceTranslationComponent,\n ResourceTranslationEditorComponent,\n ResourceKeyComponent,\n MetaEntityComponent,\n MetaEntityFieldComponent,\n MetaEntityFieldEditorComponent,\n SupplierComponent,\n SupplierEditorComponent,\n TvaRateComponent,\n TvaRateEditorComponent,\n TvaRateDetailComponent,\n ImageUploadComponent,\n AddressComponent,\n AddressEditorComponent,\n SubCompanyComponent,\n DWSupplyComponent,\n SynchronisedCompanyComponent,\n GlobalParameterComponent,\n EntityFilesComponent,\n ExchangeRateDetailComponent,\n UserGroupComponent,\n UserGroupEditorComponent,\n UserGroupDefinitionComponent,\n UserCompanyComponent,\n PresentationProfileColumnComponent,\n PresentationProfileItemsComponent,\n];\n@NgModule({\n imports: [\n ModalModule.forRoot(),\n DragDropModule,\n CommonModule,\n AngularEditorModule,\n FormsModule,\n ReactiveFormsModule,\n CoreModelModule,\n CoreUxModule,\n PresentationProfileComponent,\n CoreDataModule,\n SystemModelModule,\n SystemDataModule,\n SystemRootModule,\n NgSelectModule,\n RecaptchaModule,\n RecaptchaFormsModule,\n NgxDropzoneModule,\n TreeviewModule.forRoot(),\n RouterModule.forChild([\n {\n path: SystemEntityKeys.SynchronizedCompany,\n component: SynchronisedCompanyComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.Company,\n component: CompanyComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.Company + '/:id',\n component: CompanyEditorComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.Country,\n component: CountryComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.Country + '/:id',\n component: CountryEditorComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.Currency,\n component: CurrencyComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.Currency + '/:id',\n component: CurrencyEditorComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.ExchangeRate,\n component: ExchangeRateComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.ExchangeRate + '/:id',\n component: ExchangeRateEditorComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.News,\n component: NewsComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.News + '/:id',\n component: NewsEditorComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.Permission,\n component: PermissionComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.Permission + '/:id',\n component: PermissionEditorComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.Request,\n component: RequestComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.Request + '/:id',\n component: RequestEditorComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.Role,\n component: RoleComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.Role + '/:id',\n component: RoleEditorComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.UserAccount,\n component: UserAccountComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.UserAccount + '/:id',\n component: UserAccountEditorComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n\n {\n path: SystemEntityKeys.CustomField,\n component: CustomFieldComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.CustomField + '/:id',\n component: CustomFieldEditorComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n\n {\n path: SystemEntityKeys.CustomFieldOptions,\n component: CustomFieldOptionsComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.CustomFieldOptions + '/:id',\n component: CustomFieldOptionsEditorComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n\n {\n path: SystemEntityKeys.CustomFieldGroup,\n component: CustomFieldGroupComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.CustomFieldGroup + '/:id',\n component: CustomFieldGroupEditorComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.CustomFieldGroupItem,\n component: CustomFieldGroupItemComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.CustomFieldGroupItem + '/:id',\n component: CustomFieldGroupItemEditorComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n\n {\n path: SystemEntityKeys.ResourceLanguage,\n component: ResourceLanguageComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.ResourceLanguage + '/:id',\n component: ResourceLanguageEditorComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.ResourceTranslation,\n component: ResourceTranslationComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.ResourceTranslation + '/:id',\n component: ResourceTranslationEditorComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.ResourceKey,\n component: ResourceKeyComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.MetaEntity,\n component: MetaEntityComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.MetaEntityField,\n component: MetaEntityFieldComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.MetaEntityField + '/:id',\n component: MetaEntityFieldEditorComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.Supplier,\n component: SupplierComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.Supplier + '/:id',\n component: SupplierEditorComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.TvaRate,\n component: TvaRateComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.TvaRate + '/:id',\n component: TvaRateEditorComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.Subcompany,\n component: SubCompanyComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.Address,\n component: AddressComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.Address + '/:id',\n component: AddressComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.GlobalParameter,\n component: GlobalParameterComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.UserGroup,\n component: UserGroupComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.UserGroup + '/:id',\n component: UserGroupEditorComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.UserGroupDefinition,\n component: UserGroupDefinitionComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.PresentationProfile,\n component: PresentationProfileColumnComponent,\n },\n\n {\n path: 'config',\n component: ConfigComponent,\n canDeactivate: [CanDeactivateGuard],\n },\n {\n path: SystemEntityKeys.GridColumnConfig,\n component: PresentationProfileColumnComponent,\n },\n ]),\n ],\n declarations: [...components],\n exports: [...components],\n providers: [\n NgxImageCompressService,\n PresentationProfileActionService,\n PpFacadeService,\n { provide: PP_SERVICE, useExisting: PpFacadeService },\n SystemSelectorMapperService,\n SelectUserCompanyActionService,\n UserActionService,\n RatesActionService,\n CustomFieldActionService,\n CustomFieldService,\n TreeviewConfig,\n SystemSectionService,\n {\n provide: TreeviewI18n,\n useClass: DefaultTreeviewI18n,\n },\n ],\n})\nexport class SystemUxModule extends EnsureModuleLoadedOnceGuard {\n // Looks for the module in the parent injector to see if it's already been loaded (only want it loaded once)\n // constructor( @Optional() @SkipSelf() parentModule: SystemUxModule) {\n // super(parentModule);\n // }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.PresentationProfileResolver","i1.PresentationProfileService","i2","i3","i4","takeUntil","i3.CustomFieldActionService","i5","i6","i2.SystemSectionService","i3.SystemSectionService","i3.UserActionService","i2.CustomFieldActionService","map","i1.PresentationProfileResolver","i2.PresentationProfileActionService","i3.SelectUserCompanyActionService"],"mappings":"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"}
|