@codetectonics/mantle 1.0.6 → 1.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/codetectonics-mantle.mjs +6582 -0
- package/fesm2022/codetectonics-mantle.mjs.map +1 -0
- package/index.d.ts +2816 -0
- package/package.json +38 -32
- package/bundles/codetectonics-mantle.umd.js +0 -7979
- package/bundles/codetectonics-mantle.umd.js.map +0 -1
- package/codetectonics-mantle.d.ts +0 -5
- package/esm2015/codetectonics-mantle.js +0 -5
- package/esm2015/lib/components/dashboard/containers/dynamic-dashboard-container/dynamic-dashboard-container.component.js +0 -28
- package/esm2015/lib/components/dashboard/containers/plain-dashboard-container/plain-dashboard-container.component.js +0 -39
- package/esm2015/lib/components/dashboard/dashboard-card/dashboard-card.component.js +0 -141
- package/esm2015/lib/components/dashboard/dashboard-card-search-menu/dashboard-card-search-menu.component.js +0 -54
- package/esm2015/lib/components/dashboard/dynamic-dashboard/dynamic-dashboard.component.js +0 -27
- package/esm2015/lib/components/dashboard/sections/dashboard-section/dashboard-section.component.js +0 -72
- package/esm2015/lib/components/dashboard/widgets/dashboard-info-card/dashboard-info-card.component.js +0 -26
- package/esm2015/lib/components/dashboard/widgets/dashboard-table/dashboard-table-datasource.js +0 -30
- package/esm2015/lib/components/dashboard/widgets/dashboard-table/dashboard-table.component.js +0 -61
- package/esm2015/lib/components/dashboard/widgets/dynamic-chart/dynamic-chart.component.js +0 -91
- package/esm2015/lib/components/dashboard/widgets/dynamic-widget-display/dynamic-widget-display.component.js +0 -29
- package/esm2015/lib/components/details/containers/accordion-details-container/accordion-details-container.component.js +0 -26
- package/esm2015/lib/components/details/containers/dynamic-details-container/dynamic-details-container.component.js +0 -25
- package/esm2015/lib/components/details/containers/plain-details-container/plain-details-container.component.js +0 -25
- package/esm2015/lib/components/details/dialog-details/dialog-details.component.js +0 -83
- package/esm2015/lib/components/details/dialog-nested-details/dialog-nested-details.component.js +0 -41
- package/esm2015/lib/components/details/dynamic-details/dynamic-details.component.js +0 -23
- package/esm2015/lib/components/details/fields/actions-attribute-display/actions-attribute-display.component.js +0 -27
- package/esm2015/lib/components/details/fields/chip-attribute-display/chip-attribute-display.component.js +0 -40
- package/esm2015/lib/components/details/fields/dynamic-attribute-display/dynamic-attribute-display.component.js +0 -46
- package/esm2015/lib/components/details/fields/file-attribute-display/file-attribute-display.component.js +0 -37
- package/esm2015/lib/components/details/fields/icon-attribute-display/icon-attribute-display.component.js +0 -22
- package/esm2015/lib/components/details/fields/image-attribute-display/image-attribute-display.component.js +0 -36
- package/esm2015/lib/components/details/fields/link-attribute-display/link-attribute-display.component.js +0 -29
- package/esm2015/lib/components/details/fields/markdown-attribute-display/markdown-attribute-display.component.js +0 -21
- package/esm2015/lib/components/details/fields/thumbnail-display/thumbnail-display.component.js +0 -33
- package/esm2015/lib/components/details/sections/dynamic-details-section/dynamic-details-section.component.js +0 -46
- package/esm2015/lib/components/details/sections/grid-details-section/grid-details-section.component.js +0 -64
- package/esm2015/lib/components/details/sections/markdown-details-section/markdown-details-section.component.js +0 -19
- package/esm2015/lib/components/details/sections/roster-shift-list-details-section/roster-shift-list-details-section.component.js +0 -21
- package/esm2015/lib/components/details/sections/table-details-section/table-details-section.component.js +0 -42
- package/esm2015/lib/components/form/containers/accordion-form-container/accordion-form-container.component.js +0 -28
- package/esm2015/lib/components/form/containers/dynamic-form-container/dynamic-form-container.component.js +0 -27
- package/esm2015/lib/components/form/containers/plain-form-container/plain-form-container.component.js +0 -27
- package/esm2015/lib/components/form/dialog-form/dialog-form.component.js +0 -102
- package/esm2015/lib/components/form/dialog-nested-form/dialog-nested-form.component.js +0 -66
- package/esm2015/lib/components/form/dynamic-form/dynamic-form.component.js +0 -55
- package/esm2015/lib/components/form/fields/autocomplete-input/autocomplete-input.component.js +0 -70
- package/esm2015/lib/components/form/fields/chip-input/chip-input.component.js +0 -85
- package/esm2015/lib/components/form/fields/colorpicker-input/colorpicker-input.component.js +0 -57
- package/esm2015/lib/components/form/fields/datepicker/datepicker.component.js +0 -92
- package/esm2015/lib/components/form/fields/datetimepicker/datetimepicker.component.js +0 -93
- package/esm2015/lib/components/form/fields/dropdown/dropdown.component.js +0 -73
- package/esm2015/lib/components/form/fields/dynamic-form-field/dynamic-form-field.component.js +0 -40
- package/esm2015/lib/components/form/fields/filepicker/filepicker.component.js +0 -97
- package/esm2015/lib/components/form/fields/image-cropper/image-cropper.component.js +0 -53
- package/esm2015/lib/components/form/fields/imagepicker/imagepicker.component.js +0 -138
- package/esm2015/lib/components/form/fields/markdown-input/markdown-input.component.js +0 -54
- package/esm2015/lib/components/form/fields/number-input/number-input.component.js +0 -92
- package/esm2015/lib/components/form/fields/password-input/password-input.component.js +0 -59
- package/esm2015/lib/components/form/fields/text-input/text-input.component.js +0 -56
- package/esm2015/lib/components/form/fields/textarea/textarea.component.js +0 -59
- package/esm2015/lib/components/form/fields/time-input/time-input.component.js +0 -80
- package/esm2015/lib/components/form/sections/dynamic-form-section/dynamic-form-section.component.js +0 -54
- package/esm2015/lib/components/form/sections/grid-form-section/grid-form-section.component.js +0 -76
- package/esm2015/lib/components/form/sections/roster-shift-list-form-section/roster-shift-list-form-section.component.js +0 -69
- package/esm2015/lib/components/form/sections/table-form-section/table-form-section.component.js +0 -115
- package/esm2015/lib/components/layout-editor/containers/accordion-layout-editor-container/accordion-layout-editor-container.component.js +0 -24
- package/esm2015/lib/components/layout-editor/containers/dynamic-layout-editor-container/dynamic-layout-editor-container.component.js +0 -23
- package/esm2015/lib/components/layout-editor/containers/plain-layout-editor-container/plain-layout-editor-container.component.js +0 -24
- package/esm2015/lib/components/layout-editor/dynamic-layout-editor/dynamic-layout-editor.component.js +0 -23
- package/esm2015/lib/components/layout-editor/elements/dynamic-layout-editor-element/dynamic-layout-editor-element.component.js +0 -38
- package/esm2015/lib/components/layout-editor/elements/layout-editor-field-element/layout-editor-field-element.component.js +0 -76
- package/esm2015/lib/components/layout-editor/elements/layout-editor-table-column-element/layout-editor-table-column-element.component.js +0 -76
- package/esm2015/lib/components/layout-editor/elements/layout-editor-widget-element/layout-editor-widget-element.component.js +0 -19
- package/esm2015/lib/components/layout-editor/sections/dashboard-layout-editor-section/dashboard-layout-editor-section.component.js +0 -21
- package/esm2015/lib/components/layout-editor/sections/dynamic-layout-editor-section/dynamic-layout-editor-section.component.js +0 -25
- package/esm2015/lib/components/layout-editor/sections/grid-layout-editor-section/grid-layout-editor-section.component.js +0 -100
- package/esm2015/lib/components/layout-editor/sections/markdown-layout-editor-section/markdown-layout-editor-section.component.js +0 -19
- package/esm2015/lib/components/layout-editor/sections/table-layout-editor-section/table-layout-editor-section.component.js +0 -73
- package/esm2015/lib/components/navigation/nav-tree/nav-tree.component.js +0 -66
- package/esm2015/lib/components/navigation/paginator/custom-paginator-intl.js +0 -33
- package/esm2015/lib/components/navigation/reroute/reroute.component.js +0 -27
- package/esm2015/lib/components/pages/dashboard-page/dashboard-page.component.js +0 -36
- package/esm2015/lib/components/pages/detail-page/detail-page.component.js +0 -105
- package/esm2015/lib/components/pages/documents-page/documents-page.component.js +0 -106
- package/esm2015/lib/components/pages/export-page/export-page.component.js +0 -63
- package/esm2015/lib/components/pages/form-page/form-page.component.js +0 -131
- package/esm2015/lib/components/pages/layout-editor-page/layout-editor-page.component.js +0 -74
- package/esm2015/lib/components/pages/list-page/list-page-datasource.js +0 -69
- package/esm2015/lib/components/pages/list-page/list-page.component.js +0 -167
- package/esm2015/lib/components/pages/roster-page/roster-gantt.data.js +0 -50
- package/esm2015/lib/components/pages/roster-page/roster-page.component.js +0 -134
- package/esm2015/lib/components/pages/tabbed-page/tabbed-page.component.js +0 -35
- package/esm2015/lib/components/titles/content-title/content-title.component.js +0 -23
- package/esm2015/lib/components/titles/page-title/page-title.component.js +0 -29
- package/esm2015/lib/components/titles/section-title/section-title.component.js +0 -19
- package/esm2015/lib/components/widgets/delete-confirmation-dialog/delete-confirmation-dialog.component.js +0 -37
- package/esm2015/lib/components/widgets/draggable-table/draggable-table-datasource.js +0 -31
- package/esm2015/lib/components/widgets/draggable-table/draggable-table.component.js +0 -79
- package/esm2015/lib/components/widgets/dynamic-table/dynamic-table-datasource.js +0 -89
- package/esm2015/lib/components/widgets/dynamic-table/dynamic-table.component.js +0 -65
- package/esm2015/lib/components/widgets/file-preview-dialog/file-preview-dialog.component.js +0 -42
- package/esm2015/lib/components/widgets/loader/loader.component.js +0 -21
- package/esm2015/lib/components/widgets/qr-code-dialog/qr-code-dialog.component.js +0 -37
- package/esm2015/lib/components/widgets/save-confirmation-dialog/save-confirmation-dialog.component.js +0 -36
- package/esm2015/lib/components/widgets/search-panel/search-panel.component.js +0 -66
- package/esm2015/lib/components/widgets/snackbar/snackbar.component.js +0 -43
- package/esm2015/lib/config/charts/column-chart.data.js +0 -38
- package/esm2015/lib/config/charts/gantt-chart.data.js +0 -18
- package/esm2015/lib/config/charts/pie-chart.data.js +0 -21
- package/esm2015/lib/config/charts/progress-bar-chart.data.js +0 -50
- package/esm2015/lib/config/charts/spline-chart.data.js +0 -24
- package/esm2015/lib/data-structures/dynamic-layout.structure.js +0 -2
- package/esm2015/lib/data-structures/file-attachment.structure.js +0 -2
- package/esm2015/lib/directives/click-stop-propagation.directive.js +0 -19
- package/esm2015/lib/directives/file-dropzone.directive.js +0 -53
- package/esm2015/lib/guards/feature.guard.js +0 -39
- package/esm2015/lib/guards/password-check.guard.js +0 -20
- package/esm2015/lib/guards/session.guard.js +0 -20
- package/esm2015/lib/language-packs/en.data.js +0 -63
- package/esm2015/lib/language-packs/ms.data.js +0 -63
- package/esm2015/lib/mantle.module.js +0 -568
- package/esm2015/lib/material.module.js +0 -314
- package/esm2015/lib/models/screen-size-map.model.js +0 -9
- package/esm2015/lib/pipes/dynamic.pipe.js +0 -45
- package/esm2015/lib/pipes/secure-image.pipe.js +0 -34
- package/esm2015/lib/services/adapters/web-api-crud.adapter.js +0 -22
- package/esm2015/lib/services/adapters/websocket.adapter.js +0 -2
- package/esm2015/lib/services/announcement.service.js +0 -42
- package/esm2015/lib/services/array.service.js +0 -81
- package/esm2015/lib/services/chart.service.js +0 -44
- package/esm2015/lib/services/confirmation.service.js +0 -45
- package/esm2015/lib/services/current-user.service.js +0 -151
- package/esm2015/lib/services/data-broadcast.service.js +0 -18
- package/esm2015/lib/services/dynamic-form.service.js +0 -60
- package/esm2015/lib/services/feature-config.service.js +0 -262
- package/esm2015/lib/services/interfaces/authorisable-feature.service.js +0 -2
- package/esm2015/lib/services/interfaces/dashboard-page.service.js +0 -2
- package/esm2015/lib/services/interfaces/dashboard-widget.service.js +0 -2
- package/esm2015/lib/services/interfaces/detail-page.service.js +0 -2
- package/esm2015/lib/services/interfaces/export-page.service.js +0 -2
- package/esm2015/lib/services/interfaces/form-page.service.js +0 -2
- package/esm2015/lib/services/interfaces/layout-editor-page.service.js +0 -2
- package/esm2015/lib/services/interfaces/list-page.service.js +0 -2
- package/esm2015/lib/services/interfaces/nav-tabs.service.js +0 -2
- package/esm2015/lib/services/interfaces/reroute.service.js +0 -2
- package/esm2015/lib/services/interfaces/roster-page.service.js +0 -2
- package/esm2015/lib/services/interfaces/roster-schedule.service.js +0 -2
- package/esm2015/lib/services/locale.service.js +0 -75
- package/esm2015/lib/services/object.service.js +0 -77
- package/esm2015/lib/services/password-check.service.js +0 -92
- package/esm2015/lib/services/screen-size.service.js +0 -41
- package/esm2015/lib/services/web-api.service.js +0 -97
- package/esm2015/lib/services/websocket.service.js +0 -57
- package/esm2015/lib/tokens/environment.token.js +0 -3
- package/esm2015/public-api.js +0 -148
- package/fesm2015/codetectonics-mantle.js +0 -6945
- package/fesm2015/codetectonics-mantle.js.map +0 -1
- package/lib/components/dashboard/containers/dynamic-dashboard-container/dynamic-dashboard-container.component.d.ts +0 -12
- package/lib/components/dashboard/containers/plain-dashboard-container/plain-dashboard-container.component.d.ts +0 -15
- package/lib/components/dashboard/dashboard-card/dashboard-card.component.d.ts +0 -42
- package/lib/components/dashboard/dashboard-card-search-menu/dashboard-card-search-menu.component.d.ts +0 -20
- package/lib/components/dashboard/dynamic-dashboard/dynamic-dashboard.component.d.ts +0 -11
- package/lib/components/dashboard/sections/dashboard-section/dashboard-section.component.d.ts +0 -28
- package/lib/components/dashboard/widgets/dashboard-info-card/dashboard-info-card.component.d.ts +0 -8
- package/lib/components/dashboard/widgets/dashboard-table/dashboard-table-datasource.d.ts +0 -22
- package/lib/components/dashboard/widgets/dashboard-table/dashboard-table.component.d.ts +0 -29
- package/lib/components/dashboard/widgets/dynamic-chart/dynamic-chart.component.d.ts +0 -20
- package/lib/components/dashboard/widgets/dynamic-widget-display/dynamic-widget-display.component.d.ts +0 -9
- package/lib/components/details/containers/accordion-details-container/accordion-details-container.component.d.ts +0 -11
- package/lib/components/details/containers/dynamic-details-container/dynamic-details-container.component.d.ts +0 -11
- package/lib/components/details/containers/plain-details-container/plain-details-container.component.d.ts +0 -11
- package/lib/components/details/dialog-details/dialog-details.component.d.ts +0 -37
- package/lib/components/details/dialog-nested-details/dialog-nested-details.component.d.ts +0 -22
- package/lib/components/details/dynamic-details/dynamic-details.component.d.ts +0 -10
- package/lib/components/details/fields/actions-attribute-display/actions-attribute-display.component.d.ts +0 -7
- package/lib/components/details/fields/chip-attribute-display/chip-attribute-display.component.d.ts +0 -9
- package/lib/components/details/fields/dynamic-attribute-display/dynamic-attribute-display.component.d.ts +0 -15
- package/lib/components/details/fields/file-attribute-display/file-attribute-display.component.d.ts +0 -12
- package/lib/components/details/fields/icon-attribute-display/icon-attribute-display.component.d.ts +0 -6
- package/lib/components/details/fields/image-attribute-display/image-attribute-display.component.d.ts +0 -12
- package/lib/components/details/fields/link-attribute-display/link-attribute-display.component.d.ts +0 -10
- package/lib/components/details/fields/markdown-attribute-display/markdown-attribute-display.component.d.ts +0 -6
- package/lib/components/details/fields/thumbnail-display/thumbnail-display.component.d.ts +0 -10
- package/lib/components/details/sections/dynamic-details-section/dynamic-details-section.component.d.ts +0 -18
- package/lib/components/details/sections/grid-details-section/grid-details-section.component.d.ts +0 -17
- package/lib/components/details/sections/markdown-details-section/markdown-details-section.component.d.ts +0 -7
- package/lib/components/details/sections/roster-shift-list-details-section/roster-shift-list-details-section.component.d.ts +0 -9
- package/lib/components/details/sections/table-details-section/table-details-section.component.d.ts +0 -14
- package/lib/components/form/containers/accordion-form-container/accordion-form-container.component.d.ts +0 -13
- package/lib/components/form/containers/dynamic-form-container/dynamic-form-container.component.d.ts +0 -13
- package/lib/components/form/containers/plain-form-container/plain-form-container.component.d.ts +0 -13
- package/lib/components/form/dialog-form/dialog-form.component.d.ts +0 -43
- package/lib/components/form/dialog-nested-form/dialog-nested-form.component.d.ts +0 -34
- package/lib/components/form/dynamic-form/dynamic-form.component.d.ts +0 -21
- package/lib/components/form/fields/autocomplete-input/autocomplete-input.component.d.ts +0 -32
- package/lib/components/form/fields/chip-input/chip-input.component.d.ts +0 -27
- package/lib/components/form/fields/colorpicker-input/colorpicker-input.component.d.ts +0 -18
- package/lib/components/form/fields/datepicker/datepicker.component.d.ts +0 -24
- package/lib/components/form/fields/datetimepicker/datetimepicker.component.d.ts +0 -24
- package/lib/components/form/fields/dropdown/dropdown.component.d.ts +0 -31
- package/lib/components/form/fields/dynamic-form-field/dynamic-form-field.component.d.ts +0 -10
- package/lib/components/form/fields/filepicker/filepicker.component.d.ts +0 -27
- package/lib/components/form/fields/image-cropper/image-cropper.component.d.ts +0 -27
- package/lib/components/form/fields/imagepicker/imagepicker.component.d.ts +0 -41
- package/lib/components/form/fields/markdown-input/markdown-input.component.d.ts +0 -17
- package/lib/components/form/fields/number-input/number-input.component.d.ts +0 -27
- package/lib/components/form/fields/password-input/password-input.component.d.ts +0 -19
- package/lib/components/form/fields/text-input/text-input.component.d.ts +0 -18
- package/lib/components/form/fields/textarea/textarea.component.d.ts +0 -19
- package/lib/components/form/fields/time-input/time-input.component.d.ts +0 -22
- package/lib/components/form/sections/dynamic-form-section/dynamic-form-section.component.d.ts +0 -22
- package/lib/components/form/sections/grid-form-section/grid-form-section.component.d.ts +0 -23
- package/lib/components/form/sections/roster-shift-list-form-section/roster-shift-list-form-section.component.d.ts +0 -23
- package/lib/components/form/sections/table-form-section/table-form-section.component.d.ts +0 -24
- package/lib/components/layout-editor/containers/accordion-layout-editor-container/accordion-layout-editor-container.component.d.ts +0 -10
- package/lib/components/layout-editor/containers/dynamic-layout-editor-container/dynamic-layout-editor-container.component.d.ts +0 -10
- package/lib/components/layout-editor/containers/plain-layout-editor-container/plain-layout-editor-container.component.d.ts +0 -10
- package/lib/components/layout-editor/dynamic-layout-editor/dynamic-layout-editor.component.d.ts +0 -10
- package/lib/components/layout-editor/elements/dynamic-layout-editor-element/dynamic-layout-editor-element.component.d.ts +0 -13
- package/lib/components/layout-editor/elements/layout-editor-field-element/layout-editor-field-element.component.d.ts +0 -14
- package/lib/components/layout-editor/elements/layout-editor-table-column-element/layout-editor-table-column-element.component.d.ts +0 -14
- package/lib/components/layout-editor/elements/layout-editor-widget-element/layout-editor-widget-element.component.d.ts +0 -8
- package/lib/components/layout-editor/sections/dashboard-layout-editor-section/dashboard-layout-editor-section.component.d.ts +0 -8
- package/lib/components/layout-editor/sections/dynamic-layout-editor-section/dynamic-layout-editor-section.component.d.ts +0 -10
- package/lib/components/layout-editor/sections/grid-layout-editor-section/grid-layout-editor-section.component.d.ts +0 -21
- package/lib/components/layout-editor/sections/markdown-layout-editor-section/markdown-layout-editor-section.component.d.ts +0 -7
- package/lib/components/layout-editor/sections/table-layout-editor-section/table-layout-editor-section.component.d.ts +0 -14
- package/lib/components/navigation/nav-tree/nav-tree.component.d.ts +0 -46
- package/lib/components/navigation/paginator/custom-paginator-intl.d.ts +0 -12
- package/lib/components/navigation/reroute/reroute.component.d.ts +0 -14
- package/lib/components/pages/dashboard-page/dashboard-page.component.d.ts +0 -17
- package/lib/components/pages/detail-page/detail-page.component.d.ts +0 -36
- package/lib/components/pages/documents-page/documents-page.component.d.ts +0 -41
- package/lib/components/pages/export-page/export-page.component.d.ts +0 -29
- package/lib/components/pages/form-page/form-page.component.d.ts +0 -37
- package/lib/components/pages/layout-editor-page/layout-editor-page.component.d.ts +0 -27
- package/lib/components/pages/list-page/list-page-datasource.d.ts +0 -32
- package/lib/components/pages/list-page/list-page.component.d.ts +0 -49
- package/lib/components/pages/roster-page/roster-gantt.data.d.ts +0 -1
- package/lib/components/pages/roster-page/roster-page.component.d.ts +0 -40
- package/lib/components/pages/tabbed-page/tabbed-page.component.d.ts +0 -16
- package/lib/components/titles/content-title/content-title.component.d.ts +0 -8
- package/lib/components/titles/page-title/page-title.component.d.ts +0 -12
- package/lib/components/titles/section-title/section-title.component.d.ts +0 -7
- package/lib/components/widgets/delete-confirmation-dialog/delete-confirmation-dialog.component.d.ts +0 -21
- package/lib/components/widgets/draggable-table/draggable-table-datasource.d.ts +0 -23
- package/lib/components/widgets/draggable-table/draggable-table.component.d.ts +0 -24
- package/lib/components/widgets/dynamic-table/dynamic-table-datasource.d.ts +0 -40
- package/lib/components/widgets/dynamic-table/dynamic-table.component.d.ts +0 -25
- package/lib/components/widgets/file-preview-dialog/file-preview-dialog.component.d.ts +0 -17
- package/lib/components/widgets/loader/loader.component.d.ts +0 -6
- package/lib/components/widgets/qr-code-dialog/qr-code-dialog.component.d.ts +0 -18
- package/lib/components/widgets/save-confirmation-dialog/save-confirmation-dialog.component.d.ts +0 -15
- package/lib/components/widgets/search-panel/search-panel.component.d.ts +0 -21
- package/lib/components/widgets/snackbar/snackbar.component.d.ts +0 -11
- package/lib/config/charts/column-chart.data.d.ts +0 -37
- package/lib/config/charts/gantt-chart.data.d.ts +0 -17
- package/lib/config/charts/pie-chart.data.d.ts +0 -20
- package/lib/config/charts/progress-bar-chart.data.d.ts +0 -49
- package/lib/config/charts/spline-chart.data.d.ts +0 -23
- package/lib/data-structures/dynamic-layout.structure.d.ts +0 -179
- package/lib/data-structures/file-attachment.structure.d.ts +0 -6
- package/lib/directives/click-stop-propagation.directive.d.ts +0 -6
- package/lib/directives/file-dropzone.directive.d.ts +0 -12
- package/lib/guards/feature.guard.d.ts +0 -15
- package/lib/guards/password-check.guard.d.ts +0 -11
- package/lib/guards/session.guard.d.ts +0 -10
- package/lib/language-packs/en.data.d.ts +0 -62
- package/lib/language-packs/ms.data.d.ts +0 -62
- package/lib/mantle.module.d.ts +0 -117
- package/lib/material.module.d.ts +0 -37
- package/lib/models/screen-size-map.model.d.ts +0 -13
- package/lib/pipes/dynamic.pipe.d.ts +0 -12
- package/lib/pipes/secure-image.pipe.d.ts +0 -11
- package/lib/services/adapters/web-api-crud.adapter.d.ts +0 -64
- package/lib/services/adapters/websocket.adapter.d.ts +0 -6
- package/lib/services/announcement.service.d.ts +0 -11
- package/lib/services/array.service.d.ts +0 -21
- package/lib/services/chart.service.d.ts +0 -14
- package/lib/services/confirmation.service.d.ts +0 -11
- package/lib/services/current-user.service.d.ts +0 -35
- package/lib/services/data-broadcast.service.d.ts +0 -8
- package/lib/services/dynamic-form.service.d.ts +0 -32
- package/lib/services/feature-config.service.d.ts +0 -94
- package/lib/services/interfaces/authorisable-feature.service.d.ts +0 -5
- package/lib/services/interfaces/dashboard-page.service.d.ts +0 -13
- package/lib/services/interfaces/dashboard-widget.service.d.ts +0 -34
- package/lib/services/interfaces/detail-page.service.d.ts +0 -38
- package/lib/services/interfaces/export-page.service.d.ts +0 -6
- package/lib/services/interfaces/form-page.service.d.ts +0 -38
- package/lib/services/interfaces/layout-editor-page.service.d.ts +0 -14
- package/lib/services/interfaces/list-page.service.d.ts +0 -57
- package/lib/services/interfaces/nav-tabs.service.d.ts +0 -7
- package/lib/services/interfaces/reroute.service.d.ts +0 -3
- package/lib/services/interfaces/roster-page.service.d.ts +0 -20
- package/lib/services/interfaces/roster-schedule.service.d.ts +0 -22
- package/lib/services/locale.service.d.ts +0 -21
- package/lib/services/object.service.d.ts +0 -13
- package/lib/services/password-check.service.d.ts +0 -23
- package/lib/services/screen-size.service.d.ts +0 -14
- package/lib/services/web-api.service.d.ts +0 -21
- package/lib/services/websocket.service.d.ts +0 -20
- package/lib/tokens/environment.token.d.ts +0 -2
- package/public-api.d.ts +0 -144
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import { Component, Input, forwardRef, ViewChild } from '@angular/core';
|
|
2
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../../../../services/web-api.service";
|
|
5
|
-
import * as i2 from "@angular/material/form-field";
|
|
6
|
-
import * as i3 from "@angular/material/button";
|
|
7
|
-
import * as i4 from "@angular/material/icon";
|
|
8
|
-
import * as i5 from "@angular/material/progress-spinner";
|
|
9
|
-
import * as i6 from "@angular/material/input";
|
|
10
|
-
import * as i7 from "@angular/common";
|
|
11
|
-
import * as i8 from "../../../../directives/click-stop-propagation.directive";
|
|
12
|
-
import * as i9 from "@ngx-translate/core";
|
|
13
|
-
export class FilepickerComponent {
|
|
14
|
-
constructor(webApiService) {
|
|
15
|
-
this.webApiService = webApiService;
|
|
16
|
-
this.onChange = (newValue) => { };
|
|
17
|
-
this.onTouched = () => { };
|
|
18
|
-
}
|
|
19
|
-
registerOnChange(fn) { this.onChange = fn; }
|
|
20
|
-
registerOnTouched(fn) { this.onTouched = fn; }
|
|
21
|
-
writeValue(newValue) {
|
|
22
|
-
this.currentAttachment = this.previousAttachment = newValue;
|
|
23
|
-
this.onChange(newValue);
|
|
24
|
-
}
|
|
25
|
-
onFileSelected(event) {
|
|
26
|
-
if (!event.target.files || !event.target.files[0])
|
|
27
|
-
return;
|
|
28
|
-
const file = event.target.files[0];
|
|
29
|
-
this.uploadInProgress = true;
|
|
30
|
-
this.webApiService.upload(file, (response) => {
|
|
31
|
-
this.currentAttachment = {
|
|
32
|
-
filename: file.name,
|
|
33
|
-
source_url: '',
|
|
34
|
-
preview_url: '',
|
|
35
|
-
signed_id: response.signed_id
|
|
36
|
-
};
|
|
37
|
-
this.onChange(this.currentAttachment);
|
|
38
|
-
this.uploadInProgress = false;
|
|
39
|
-
}, (response) => {
|
|
40
|
-
this.reset();
|
|
41
|
-
this.error = 'Unable to upload file';
|
|
42
|
-
this.uploadInProgress = false;
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
clearAttachment() {
|
|
46
|
-
if (this.fileInput)
|
|
47
|
-
this.fileInput.nativeElement.value = '';
|
|
48
|
-
this.currentAttachment = {
|
|
49
|
-
filename: '',
|
|
50
|
-
source_url: '',
|
|
51
|
-
preview_url: '',
|
|
52
|
-
signed_id: null
|
|
53
|
-
};
|
|
54
|
-
this.onChange(this.currentAttachment);
|
|
55
|
-
}
|
|
56
|
-
reset() {
|
|
57
|
-
if (this.fileInput)
|
|
58
|
-
this.fileInput.nativeElement.value = '';
|
|
59
|
-
this.currentAttachment = this.previousAttachment;
|
|
60
|
-
this.onChange(undefined);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
FilepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: FilepickerComponent, deps: [{ token: i1.WebApiService }], target: i0.ɵɵFactoryTarget.Component });
|
|
64
|
-
FilepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: FilepickerComponent, selector: "mantle-filepicker", inputs: { label: "label", disable: "disable", required: "required", error: "error" }, providers: [
|
|
65
|
-
{
|
|
66
|
-
provide: NG_VALUE_ACCESSOR,
|
|
67
|
-
useExisting: forwardRef(() => FilepickerComponent),
|
|
68
|
-
multi: true
|
|
69
|
-
}
|
|
70
|
-
], viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<mat-form-field [class.mat-form-field-invalid]=\"error\">\n <mat-label>{{ label | translate }}</mat-label>\n <input matInput\n type=\"text\"\n [attr.value]=\"currentAttachment?.filename\"\n (click)=\"fileInput.click()\"\n [required]=\"required\"\n [disabled]=\"disable\"\n autocomplete=\"off\">\n\n <button *ngIf=\"currentAttachment?.filename\" mat-icon-button matSuffix tabindex=\"-1\" (click)=\"clearAttachment()\" [disabled]=\"disable\" click-stop-propagation>\n <mat-icon>close</mat-icon>\n </button>\n\n <button *ngIf=\"!uploadInProgress\" mat-icon-button matSuffix tabindex=\"-1\" (click)=\"fileInput.click()\" [disabled]=\"disable\">\n <mat-icon>attach_file</mat-icon>\n </button>\n\n <mat-spinner *ngIf=\"uploadInProgress\" matSuffix [diameter]=\"18\"></mat-spinner>\n\n <input #fileInput\n type=\"file\"\n hidden\n (change)=\"onFileSelected($event)\">\n\n <mat-hint *ngIf=\"error\" class=\"error-message\">{{ error }}</mat-hint>\n</mat-form-field>\n", styles: [""], components: [{ type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i5.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i2.MatLabel, selector: "mat-label" }, { type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.MatSuffix, selector: "[matSuffix]" }, { type: i8.ClickStopPropagationDirective, selector: "[click-stop-propagation]" }, { type: i2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }], pipes: { "translate": i9.TranslatePipe } });
|
|
71
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: FilepickerComponent, decorators: [{
|
|
72
|
-
type: Component,
|
|
73
|
-
args: [{
|
|
74
|
-
selector: 'mantle-filepicker',
|
|
75
|
-
templateUrl: './filepicker.component.html',
|
|
76
|
-
styleUrls: ['./filepicker.component.scss'],
|
|
77
|
-
providers: [
|
|
78
|
-
{
|
|
79
|
-
provide: NG_VALUE_ACCESSOR,
|
|
80
|
-
useExisting: forwardRef(() => FilepickerComponent),
|
|
81
|
-
multi: true
|
|
82
|
-
}
|
|
83
|
-
]
|
|
84
|
-
}]
|
|
85
|
-
}], ctorParameters: function () { return [{ type: i1.WebApiService }]; }, propDecorators: { fileInput: [{
|
|
86
|
-
type: ViewChild,
|
|
87
|
-
args: ['fileInput']
|
|
88
|
-
}], label: [{
|
|
89
|
-
type: Input
|
|
90
|
-
}], disable: [{
|
|
91
|
-
type: Input
|
|
92
|
-
}], required: [{
|
|
93
|
-
type: Input
|
|
94
|
-
}], error: [{
|
|
95
|
-
type: Input
|
|
96
|
-
}] } });
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZmllbGRzL2ZpbGVwaWNrZXIvZmlsZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZmllbGRzL2ZpbGVwaWNrZXIvZmlsZXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFnQnpFLE1BQU0sT0FBTyxtQkFBbUI7SUFhOUIsWUFBb0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFFaEQsYUFBUSxHQUFHLENBQUMsUUFBb0MsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBR3pELGNBQVMsR0FBRyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFMOEIsQ0FBQztJQUdyRCxnQkFBZ0IsQ0FBQyxFQUFrRCxJQUFVLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUdsRyxpQkFBaUIsQ0FBQyxFQUFjLElBQVUsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRWhFLFVBQVUsQ0FBQyxRQUF3QjtRQUNqQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFFBQVEsQ0FBQztRQUM1RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFBRSxPQUFPO1FBRTFELE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRW5DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFFN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUM1QixDQUFDLFFBQWEsRUFBRSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxpQkFBaUIsR0FBRztnQkFDdkIsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNuQixVQUFVLEVBQUUsRUFBRTtnQkFDZCxXQUFXLEVBQUUsRUFBRTtnQkFDZixTQUFTLEVBQUUsUUFBUSxDQUFDLFNBQVM7YUFDOUIsQ0FBQTtZQUNELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDdEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztRQUNoQyxDQUFDLEVBQ0QsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUNoQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsS0FBSyxHQUFHLHVCQUF1QixDQUFDO1lBQ3JDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDaEMsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLFNBQVM7WUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQzVELElBQUksQ0FBQyxpQkFBaUIsR0FBRztZQUN2QixRQUFRLEVBQUUsRUFBRTtZQUNaLFVBQVUsRUFBRSxFQUFFO1lBQ2QsV0FBVyxFQUFFLEVBQUU7WUFDZixTQUFTLEVBQUUsSUFBSTtTQUNoQixDQUFBO1FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksSUFBSSxDQUFDLFNBQVM7WUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQzVELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7UUFDakQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMzQixDQUFDOztnSEFuRVUsbUJBQW1CO29HQUFuQixtQkFBbUIsa0lBUm5CO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUM7WUFDbEQsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLGtJQ2ZILDQvQkEyQkE7MkZEVmEsbUJBQW1CO2tCQVovQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFdBQVcsRUFBRSw2QkFBNkI7b0JBQzFDLFNBQVMsRUFBRSxDQUFDLDZCQUE2QixDQUFDO29CQUMxQyxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUM7NEJBQ2xELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGO29HQUd5QixTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7Z0JBRWIsS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIGZvcndhcmRSZWYsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRmlsZUF0dGFjaG1lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9kYXRhLXN0cnVjdHVyZXMvZmlsZS1hdHRhY2htZW50LnN0cnVjdHVyZSc7XG5pbXBvcnQgeyBXZWJBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvd2ViLWFwaS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFudGxlLWZpbGVwaWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbGVwaWNrZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBGaWxlcGlja2VyQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVwaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cbiAgQFZpZXdDaGlsZCgnZmlsZUlucHV0JykgZmlsZUlucHV0ITogRWxlbWVudFJlZjtcblxuICBASW5wdXQoKSBsYWJlbCE6IHN0cmluZztcbiAgQElucHV0KCkgZGlzYWJsZSE6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHJlcXVpcmVkITogYm9vbGVhbjtcbiAgQElucHV0KCkgZXJyb3I6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgcHJldmlvdXNBdHRhY2htZW50OiBGaWxlQXR0YWNobWVudCB8IHVuZGVmaW5lZDtcbiAgcHVibGljIGN1cnJlbnRBdHRhY2htZW50OiBGaWxlQXR0YWNobWVudCB8IHVuZGVmaW5lZDtcbiAgcHVibGljIHVwbG9hZEluUHJvZ3Jlc3MhOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgd2ViQXBpU2VydmljZTogV2ViQXBpU2VydmljZSkgeyB9XG5cbiAgb25DaGFuZ2UgPSAobmV3VmFsdWU6IEZpbGVBdHRhY2htZW50IHwgdW5kZWZpbmVkKSA9PiB7IH07XG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IChuZXdWYWx1ZTogRmlsZUF0dGFjaG1lbnQgfCB1bmRlZmluZWQpID0+IHZvaWQpOiB2b2lkIHsgdGhpcy5vbkNoYW5nZSA9IGZuOyB9XG5cbiAgb25Ub3VjaGVkID0gKCkgPT4geyB9O1xuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQgeyB0aGlzLm9uVG91Y2hlZCA9IGZuOyB9XG5cbiAgd3JpdGVWYWx1ZShuZXdWYWx1ZTogRmlsZUF0dGFjaG1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLmN1cnJlbnRBdHRhY2htZW50ID0gdGhpcy5wcmV2aW91c0F0dGFjaG1lbnQgPSBuZXdWYWx1ZTtcbiAgICB0aGlzLm9uQ2hhbmdlKG5ld1ZhbHVlKTtcbiAgfVxuXG4gIG9uRmlsZVNlbGVjdGVkKGV2ZW50OiBhbnkpIHtcbiAgICBpZiAoIWV2ZW50LnRhcmdldC5maWxlcyB8fCAhZXZlbnQudGFyZ2V0LmZpbGVzWzBdKSByZXR1cm47XG5cbiAgICBjb25zdCBmaWxlID0gZXZlbnQudGFyZ2V0LmZpbGVzWzBdO1xuXG4gICAgdGhpcy51cGxvYWRJblByb2dyZXNzID0gdHJ1ZTtcblxuICAgIHRoaXMud2ViQXBpU2VydmljZS51cGxvYWQoZmlsZSxcbiAgICAgIChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuY3VycmVudEF0dGFjaG1lbnQgPSB7XG4gICAgICAgICAgZmlsZW5hbWU6IGZpbGUubmFtZSxcbiAgICAgICAgICBzb3VyY2VfdXJsOiAnJyxcbiAgICAgICAgICBwcmV2aWV3X3VybDogJycsXG4gICAgICAgICAgc2lnbmVkX2lkOiByZXNwb25zZS5zaWduZWRfaWRcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuY3VycmVudEF0dGFjaG1lbnQpO1xuICAgICAgICB0aGlzLnVwbG9hZEluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgICAocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgIHRoaXMuZXJyb3IgPSAnVW5hYmxlIHRvIHVwbG9hZCBmaWxlJztcbiAgICAgICAgdGhpcy51cGxvYWRJblByb2dyZXNzID0gZmFsc2U7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIGNsZWFyQXR0YWNobWVudCgpIHtcbiAgICBpZiAodGhpcy5maWxlSW5wdXQpIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICB0aGlzLmN1cnJlbnRBdHRhY2htZW50ID0ge1xuICAgICAgZmlsZW5hbWU6ICcnLFxuICAgICAgc291cmNlX3VybDogJycsXG4gICAgICBwcmV2aWV3X3VybDogJycsXG4gICAgICBzaWduZWRfaWQ6IG51bGxcbiAgICB9XG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLmN1cnJlbnRBdHRhY2htZW50KTtcbiAgfVxuXG4gIHJlc2V0KCkge1xuICAgIGlmICh0aGlzLmZpbGVJbnB1dCkgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgIHRoaXMuY3VycmVudEF0dGFjaG1lbnQgPSB0aGlzLnByZXZpb3VzQXR0YWNobWVudDtcbiAgICB0aGlzLm9uQ2hhbmdlKHVuZGVmaW5lZCk7XG4gIH1cblxufVxuIiwiPG1hdC1mb3JtLWZpZWxkIFtjbGFzcy5tYXQtZm9ybS1maWVsZC1pbnZhbGlkXT1cImVycm9yXCI+XG4gIDxtYXQtbGFiZWw+e3sgbGFiZWwgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgPGlucHV0IG1hdElucHV0XG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBbYXR0ci52YWx1ZV09XCJjdXJyZW50QXR0YWNobWVudD8uZmlsZW5hbWVcIlxuICAgICAgKGNsaWNrKT1cImZpbGVJbnB1dC5jbGljaygpXCJcbiAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZVwiXG4gICAgICBhdXRvY29tcGxldGU9XCJvZmZcIj5cblxuICA8YnV0dG9uICpuZ0lmPVwiY3VycmVudEF0dGFjaG1lbnQ/LmZpbGVuYW1lXCIgbWF0LWljb24tYnV0dG9uIG1hdFN1ZmZpeCB0YWJpbmRleD1cIi0xXCIgKGNsaWNrKT1cImNsZWFyQXR0YWNobWVudCgpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVcIiBjbGljay1zdG9wLXByb3BhZ2F0aW9uPlxuICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuXG4gIDxidXR0b24gKm5nSWY9XCIhdXBsb2FkSW5Qcm9ncmVzc1wiIG1hdC1pY29uLWJ1dHRvbiBtYXRTdWZmaXggdGFiaW5kZXg9XCItMVwiIChjbGljayk9XCJmaWxlSW5wdXQuY2xpY2soKVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlXCI+XG4gICAgPG1hdC1pY29uPmF0dGFjaF9maWxlPC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG5cbiAgPG1hdC1zcGlubmVyICpuZ0lmPVwidXBsb2FkSW5Qcm9ncmVzc1wiIG1hdFN1ZmZpeCBbZGlhbWV0ZXJdPVwiMThcIj48L21hdC1zcGlubmVyPlxuXG4gIDxpbnB1dCAjZmlsZUlucHV0XG4gICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICBoaWRkZW5cbiAgICAgIChjaGFuZ2UpPVwib25GaWxlU2VsZWN0ZWQoJGV2ZW50KVwiPlxuXG4gIDxtYXQtaGludCAqbmdJZj1cImVycm9yXCIgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+e3sgZXJyb3IgfX08L21hdC1oaW50PlxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { Component, Inject } from '@angular/core';
|
|
2
|
-
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
|
-
import { base64ToFile } from 'ngx-image-cropper';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/material/dialog";
|
|
6
|
-
import * as i2 from "@angular/material/button";
|
|
7
|
-
import * as i3 from "@angular/material/icon";
|
|
8
|
-
import * as i4 from "ngx-image-cropper";
|
|
9
|
-
import * as i5 from "@angular/flex-layout/flex";
|
|
10
|
-
import * as i6 from "@ngx-translate/core";
|
|
11
|
-
export class ImageCropperComponent {
|
|
12
|
-
constructor(dialogRef, data) {
|
|
13
|
-
this.dialogRef = dialogRef;
|
|
14
|
-
this.data = data;
|
|
15
|
-
this.maintainAspectRatio = true;
|
|
16
|
-
this.aspectRatio = 1;
|
|
17
|
-
this.resizeToWidth = 100;
|
|
18
|
-
this.format = 'png';
|
|
19
|
-
this.croppedImage = '';
|
|
20
|
-
this.imageChangedEvent = this.data.imageChangedEvent;
|
|
21
|
-
this.maintainAspectRatio = this.data.maintainAspectRatio || this.maintainAspectRatio;
|
|
22
|
-
this.aspectRatio = this.data.aspectRatio || this.aspectRatio;
|
|
23
|
-
this.resizeToWidth = this.data.resizeToWidth || this.resizeToWidth;
|
|
24
|
-
this.format = this.data.format || this.format;
|
|
25
|
-
}
|
|
26
|
-
imageCropped(event) {
|
|
27
|
-
this.croppedImage = event.base64;
|
|
28
|
-
}
|
|
29
|
-
loadImageFailed() {
|
|
30
|
-
this.dialogRef.close();
|
|
31
|
-
}
|
|
32
|
-
onCropComplete() {
|
|
33
|
-
let file = base64ToFile(this.croppedImage);
|
|
34
|
-
this.dialogRef.close(file);
|
|
35
|
-
}
|
|
36
|
-
onCancel() {
|
|
37
|
-
this.dialogRef.close();
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
ImageCropperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: ImageCropperComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
41
|
-
ImageCropperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: ImageCropperComponent, selector: "mantle-image-cropper", ngImport: i0, template: "<div mat-dialog-title fxLayout=\"row\" fxLayoutAlign=\"center center\" class=\"dialog-title-section\">\n <h2 fxFlex=\"1 1 auto\">{{ 'mantle.image_cropper.crop_image' | translate }}</h2>\n <button fxFlex=\"0 0 auto\" mat-icon-button tabindex=\"-1\" (click)=\"onCancel()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n<mat-dialog-content>\n <div class=\"cropper-wrapper\" fxLayout=\"row\" fxLayoutAlign=\"start\" fxLayoutGap=\"32px\">\n <div fxFlex=\"1 0 1px\">\n <h5>{{ 'mantle.image_cropper.original' | translate }}</h5>\n </div>\n <div fxFlex=\"0 0 100px\">\n <h5>{{ 'mantle.image_cropper.preview' | translate }}</h5>\n </div>\n </div>\n\n <div class=\"cropper-wrapper\" fxLayout=\"row\" fxLayoutAlign=\"start\" fxLayoutGap=\"32px\">\n\n <image-cropper\n [imageChangedEvent]=\"imageChangedEvent\"\n [maintainAspectRatio]=\"maintainAspectRatio\"\n [aspectRatio]=\"aspectRatio\"\n [resizeToWidth]=\"resizeToWidth\"\n format=\"png\"\n (imageCropped)=\"imageCropped($event)\"\n (loadImageFailed)=\"loadImageFailed()\">\n </image-cropper>\n\n <div fxFlex=\"0 0 100px\" class=\"preview-section\">\n <img [src]=\"croppedImage\" />\n </div>\n </div>\n</mat-dialog-content>\n<mat-dialog-actions fxLayout=\"row\" fxLayoutAlign=\"end\" class=\"actions-section\">\n <button fxFlex=\"0 0 auto\" mat-button (click)=\"onCropComplete()\">{{ 'mantle.buttons.save' | translate }}</button>\n</mat-dialog-actions>\n", styles: [".dialog-title-section h2{margin:0;padding-left:16px}.cropper-wrapper{max-width:532px}.preview-section img{width:100%;border:1px solid lightgrey}.actions-section button{text-transform:uppercase}\n"], components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4.ImageCropperComponent, selector: "image-cropper", inputs: ["format", "transform", "maintainAspectRatio", "aspectRatio", "resizeToWidth", "resizeToHeight", "cropperMinWidth", "cropperMinHeight", "cropperMaxHeight", "cropperMaxWidth", "cropperStaticWidth", "cropperStaticHeight", "canvasRotation", "initialStepSize", "roundCropper", "onlyScaleDown", "imageQuality", "autoCrop", "backgroundColor", "containWithinAspectRatio", "hideResizeSquares", "cropper", "alignImage", "disabled", "imageChangedEvent", "imageURL", "imageBase64", "imageFile"], outputs: ["imageCropped", "startCropImage", "imageLoaded", "cropperReady", "loadImageFailed"] }], directives: [{ type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i5.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i5.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i5.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i5.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }], pipes: { "translate": i6.TranslatePipe } });
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: ImageCropperComponent, decorators: [{
|
|
43
|
-
type: Component,
|
|
44
|
-
args: [{
|
|
45
|
-
selector: 'mantle-image-cropper',
|
|
46
|
-
templateUrl: './image-cropper.component.html',
|
|
47
|
-
styleUrls: ['./image-cropper.component.scss']
|
|
48
|
-
}]
|
|
49
|
-
}], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
50
|
-
type: Inject,
|
|
51
|
-
args: [MAT_DIALOG_DATA]
|
|
52
|
-
}] }]; } });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY3JvcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZmllbGRzL2ltYWdlLWNyb3BwZXIvaW1hZ2UtY3JvcHBlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZmllbGRzL2ltYWdlLWNyb3BwZXIvaW1hZ2UtY3JvcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBcUIsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7O0FBZXBFLE1BQU0sT0FBTyxxQkFBcUI7SUFTaEMsWUFBb0IsU0FBOEMsRUFDckIsSUFBd0I7UUFEakQsY0FBUyxHQUFULFNBQVMsQ0FBcUM7UUFDckIsU0FBSSxHQUFKLElBQUksQ0FBb0I7UUFQOUQsd0JBQW1CLEdBQVksSUFBSSxDQUFDO1FBQ3BDLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBQ3hCLGtCQUFhLEdBQVcsR0FBRyxDQUFDO1FBQzVCLFdBQU0sR0FBVyxLQUFLLENBQUM7UUFDdkIsaUJBQVksR0FBUSxFQUFFLENBQUM7UUFJNUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFDckQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDO1FBQ3JGLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUM3RCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDbkUsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ2hELENBQUM7SUFFRCxZQUFZLENBQUMsS0FBd0I7UUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQ25DLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksSUFBSSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7O2tIQWpDVSxxQkFBcUIsOENBVVosZUFBZTtzR0FWeEIscUJBQXFCLDREQ2pCbEMsZytDQW9DQTsyRkRuQmEscUJBQXFCO2tCQUxqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFdBQVcsRUFBRSxnQ0FBZ0M7b0JBQzdDLFNBQVMsRUFBRSxDQUFDLGdDQUFnQyxDQUFDO2lCQUM5Qzs7MEJBV2MsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IEltYWdlQ3JvcHBlZEV2ZW50LCBiYXNlNjRUb0ZpbGUgfSBmcm9tICduZ3gtaW1hZ2UtY3JvcHBlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW1hZ2VDcm9wcGVyUGFyYW1zIHtcbiAgaW1hZ2VDaGFuZ2VkRXZlbnQ6IGFueTtcbiAgbWFpbnRhaW5Bc3BlY3RSYXRpbz86IGJvb2xlYW47XG4gIGFzcGVjdFJhdGlvPzogbnVtYmVyO1xuICByZXNpemVUb1dpZHRoPzogbnVtYmVyO1xuICBmb3JtYXQ/OiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hbnRsZS1pbWFnZS1jcm9wcGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ltYWdlLWNyb3BwZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbWFnZS1jcm9wcGVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSW1hZ2VDcm9wcGVyQ29tcG9uZW50IHtcblxuICBwdWJsaWMgaW1hZ2VDaGFuZ2VkRXZlbnQ6IGFueTtcbiAgcHVibGljIG1haW50YWluQXNwZWN0UmF0aW86IGJvb2xlYW4gPSB0cnVlO1xuICBwdWJsaWMgYXNwZWN0UmF0aW86IG51bWJlciA9IDE7XG4gIHB1YmxpYyByZXNpemVUb1dpZHRoOiBudW1iZXIgPSAxMDA7XG4gIHB1YmxpYyBmb3JtYXQ6IHN0cmluZyA9ICdwbmcnO1xuICBwdWJsaWMgY3JvcHBlZEltYWdlOiBhbnkgPSAnJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEltYWdlQ3JvcHBlckNvbXBvbmVudD4sXG4gICAgICAgICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcml2YXRlIGRhdGE6IEltYWdlQ3JvcHBlclBhcmFtcykge1xuICAgIHRoaXMuaW1hZ2VDaGFuZ2VkRXZlbnQgPSB0aGlzLmRhdGEuaW1hZ2VDaGFuZ2VkRXZlbnQ7XG4gICAgdGhpcy5tYWludGFpbkFzcGVjdFJhdGlvID0gdGhpcy5kYXRhLm1haW50YWluQXNwZWN0UmF0aW8gfHwgdGhpcy5tYWludGFpbkFzcGVjdFJhdGlvO1xuICAgIHRoaXMuYXNwZWN0UmF0aW8gPSB0aGlzLmRhdGEuYXNwZWN0UmF0aW8gfHwgdGhpcy5hc3BlY3RSYXRpbztcbiAgICB0aGlzLnJlc2l6ZVRvV2lkdGggPSB0aGlzLmRhdGEucmVzaXplVG9XaWR0aCB8fCB0aGlzLnJlc2l6ZVRvV2lkdGg7XG4gICAgdGhpcy5mb3JtYXQgPSB0aGlzLmRhdGEuZm9ybWF0IHx8IHRoaXMuZm9ybWF0O1xuICB9XG5cbiAgaW1hZ2VDcm9wcGVkKGV2ZW50OiBJbWFnZUNyb3BwZWRFdmVudCkge1xuICAgIHRoaXMuY3JvcHBlZEltYWdlID0gZXZlbnQuYmFzZTY0O1xuICB9XG5cbiAgbG9hZEltYWdlRmFpbGVkKCkge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gIH1cblxuICBvbkNyb3BDb21wbGV0ZSgpIHtcbiAgICBsZXQgZmlsZSA9IGJhc2U2NFRvRmlsZSh0aGlzLmNyb3BwZWRJbWFnZSk7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoZmlsZSk7XG4gIH1cblxuICBvbkNhbmNlbCgpIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xuICB9XG5cbn1cbiIsIjxkaXYgbWF0LWRpYWxvZy10aXRsZSBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCIgY2xhc3M9XCJkaWFsb2ctdGl0bGUtc2VjdGlvblwiPlxuICA8aDIgZnhGbGV4PVwiMSAxIGF1dG9cIj57eyAnbWFudGxlLmltYWdlX2Nyb3BwZXIuY3JvcF9pbWFnZScgfCB0cmFuc2xhdGUgfX08L2gyPlxuICA8YnV0dG9uIGZ4RmxleD1cIjAgMCBhdXRvXCIgbWF0LWljb24tYnV0dG9uIHRhYmluZGV4PVwiLTFcIiAoY2xpY2spPVwib25DYW5jZWwoKVwiPlxuICAgIDxtYXQtaWNvbj5jYW5jZWw8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuPG1hdC1kaWFsb2ctY29udGVudD5cbiAgPGRpdiBjbGFzcz1cImNyb3BwZXItd3JhcHBlclwiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0XCIgZnhMYXlvdXRHYXA9XCIzMnB4XCI+XG4gICAgPGRpdiBmeEZsZXg9XCIxIDAgMXB4XCI+XG4gICAgICA8aDU+e3sgJ21hbnRsZS5pbWFnZV9jcm9wcGVyLm9yaWdpbmFsJyB8IHRyYW5zbGF0ZSB9fTwvaDU+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBmeEZsZXg9XCIwIDAgMTAwcHhcIj5cbiAgICAgIDxoNT57eyAnbWFudGxlLmltYWdlX2Nyb3BwZXIucHJldmlldycgfCB0cmFuc2xhdGUgfX08L2g1PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiY3JvcHBlci13cmFwcGVyXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3RhcnRcIiBmeExheW91dEdhcD1cIjMycHhcIj5cblxuICAgIDxpbWFnZS1jcm9wcGVyXG4gICAgICAgIFtpbWFnZUNoYW5nZWRFdmVudF09XCJpbWFnZUNoYW5nZWRFdmVudFwiXG4gICAgICAgIFttYWludGFpbkFzcGVjdFJhdGlvXT1cIm1haW50YWluQXNwZWN0UmF0aW9cIlxuICAgICAgICBbYXNwZWN0UmF0aW9dPVwiYXNwZWN0UmF0aW9cIlxuICAgICAgICBbcmVzaXplVG9XaWR0aF09XCJyZXNpemVUb1dpZHRoXCJcbiAgICAgICAgZm9ybWF0PVwicG5nXCJcbiAgICAgICAgKGltYWdlQ3JvcHBlZCk9XCJpbWFnZUNyb3BwZWQoJGV2ZW50KVwiXG4gICAgICAgIChsb2FkSW1hZ2VGYWlsZWQpPVwibG9hZEltYWdlRmFpbGVkKClcIj5cbiAgICA8L2ltYWdlLWNyb3BwZXI+XG5cbiAgICA8ZGl2IGZ4RmxleD1cIjAgMCAxMDBweFwiIGNsYXNzPVwicHJldmlldy1zZWN0aW9uXCI+XG4gICAgICA8aW1nIFtzcmNdPVwiY3JvcHBlZEltYWdlXCIgLz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L21hdC1kaWFsb2ctY29udGVudD5cbjxtYXQtZGlhbG9nLWFjdGlvbnMgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiZW5kXCIgY2xhc3M9XCJhY3Rpb25zLXNlY3Rpb25cIj5cbiAgPGJ1dHRvbiBmeEZsZXg9XCIwIDAgYXV0b1wiIG1hdC1idXR0b24gKGNsaWNrKT1cIm9uQ3JvcENvbXBsZXRlKClcIj57eyAnbWFudGxlLmJ1dHRvbnMuc2F2ZScgfCB0cmFuc2xhdGUgfX08L2J1dHRvbj5cbjwvbWF0LWRpYWxvZy1hY3Rpb25zPlxuIl19
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
import { Component, forwardRef, Input, ViewChild } from '@angular/core';
|
|
2
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import { ImageCropperComponent } from '../../../../components/form/fields/image-cropper/image-cropper.component';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/material/dialog";
|
|
6
|
-
import * as i2 from "../../../../services/web-api.service";
|
|
7
|
-
import * as i3 from "@angular/material/form-field";
|
|
8
|
-
import * as i4 from "@angular/material/button";
|
|
9
|
-
import * as i5 from "@angular/material/icon";
|
|
10
|
-
import * as i6 from "@angular/material/progress-spinner";
|
|
11
|
-
import * as i7 from "@angular/material/input";
|
|
12
|
-
import * as i8 from "@angular/common";
|
|
13
|
-
import * as i9 from "../../../../directives/click-stop-propagation.directive";
|
|
14
|
-
import * as i10 from "@ngx-translate/core";
|
|
15
|
-
export class ImagepickerComponent {
|
|
16
|
-
constructor(dialog, webApiService) {
|
|
17
|
-
this.dialog = dialog;
|
|
18
|
-
this.webApiService = webApiService;
|
|
19
|
-
this.defaultCropperConfig = {
|
|
20
|
-
maintainAspectRatio: true,
|
|
21
|
-
aspectRatio: 1,
|
|
22
|
-
resizeToWidth: 256,
|
|
23
|
-
uploadFormat: 'png'
|
|
24
|
-
};
|
|
25
|
-
this.cropperConfig = this.defaultCropperConfig;
|
|
26
|
-
this.onChange = (newValue) => { };
|
|
27
|
-
this.onTouched = () => { };
|
|
28
|
-
}
|
|
29
|
-
registerOnChange(fn) { this.onChange = fn; }
|
|
30
|
-
registerOnTouched(fn) { this.onTouched = fn; }
|
|
31
|
-
ngOnChanges() {
|
|
32
|
-
this.cropperConfig = Object.assign(Object.assign({}, this.defaultCropperConfig), this.options);
|
|
33
|
-
}
|
|
34
|
-
writeValue(newValue) {
|
|
35
|
-
this.currentAttachment = this.previousAttachment = newValue;
|
|
36
|
-
this.onChange(newValue);
|
|
37
|
-
}
|
|
38
|
-
onFileSelected(event) {
|
|
39
|
-
if (!event.target.files || !event.target.files[0])
|
|
40
|
-
return;
|
|
41
|
-
const file = event.target.files[0];
|
|
42
|
-
const dialogRef = this.dialog.open(ImageCropperComponent, {
|
|
43
|
-
data: {
|
|
44
|
-
imageChangedEvent: event,
|
|
45
|
-
maintainAspectRatio: this.cropperConfig.maintainAspectRatio,
|
|
46
|
-
aspectRatio: this.cropperConfig.aspectRatio,
|
|
47
|
-
resizeToWidth: this.cropperConfig.resizeToWidth,
|
|
48
|
-
format: this.cropperConfig.uploadFormat
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
dialogRef.afterClosed().subscribe((croppedImage) => {
|
|
52
|
-
this.onImageCropped(croppedImage, file.name);
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
onImageCropped(croppedImage, filename) {
|
|
56
|
-
if (!croppedImage) {
|
|
57
|
-
this.reset();
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
filename = filename.split('.').slice(0, -1).join('.') + '.' + this.cropperConfig.uploadFormat;
|
|
61
|
-
let file = this.blobToFile(croppedImage, filename);
|
|
62
|
-
this.uploadInProgress = true;
|
|
63
|
-
this.webApiService.upload(file, (response) => {
|
|
64
|
-
this.currentAttachment = {
|
|
65
|
-
filename: filename,
|
|
66
|
-
source_url: '',
|
|
67
|
-
preview_url: '',
|
|
68
|
-
signed_id: response.signed_id
|
|
69
|
-
};
|
|
70
|
-
this.onChange(this.currentAttachment);
|
|
71
|
-
this.uploadInProgress = false;
|
|
72
|
-
}, (response) => {
|
|
73
|
-
this.reset();
|
|
74
|
-
this.error = 'Unable to upload file';
|
|
75
|
-
this.uploadInProgress = false;
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
clearAttachment() {
|
|
79
|
-
if (this.fileInput)
|
|
80
|
-
this.fileInput.nativeElement.value = '';
|
|
81
|
-
this.currentAttachment = {
|
|
82
|
-
filename: '',
|
|
83
|
-
source_url: '',
|
|
84
|
-
preview_url: '',
|
|
85
|
-
signed_id: null
|
|
86
|
-
};
|
|
87
|
-
this.onChange(this.currentAttachment);
|
|
88
|
-
}
|
|
89
|
-
reset() {
|
|
90
|
-
if (this.fileInput)
|
|
91
|
-
this.fileInput.nativeElement.value = '';
|
|
92
|
-
this.currentAttachment = this.previousAttachment;
|
|
93
|
-
this.onChange(undefined);
|
|
94
|
-
}
|
|
95
|
-
blobToFile(blob, filename) {
|
|
96
|
-
var blobData = blob;
|
|
97
|
-
blobData.lastModifiedDate = new Date();
|
|
98
|
-
blobData.name = filename;
|
|
99
|
-
return blob;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
ImagepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: ImagepickerComponent, deps: [{ token: i1.MatDialog }, { token: i2.WebApiService }], target: i0.ɵɵFactoryTarget.Component });
|
|
103
|
-
ImagepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: ImagepickerComponent, selector: "mantle-imagepicker", inputs: { label: "label", options: "options", disable: "disable", required: "required", error: "error" }, providers: [
|
|
104
|
-
{
|
|
105
|
-
provide: NG_VALUE_ACCESSOR,
|
|
106
|
-
useExisting: forwardRef(() => ImagepickerComponent),
|
|
107
|
-
multi: true
|
|
108
|
-
}
|
|
109
|
-
], viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<mat-form-field [class.mat-form-field-invalid]=\"error\">\n <mat-label>{{ label | translate }}</mat-label>\n <input matInput\n type=\"text\"\n [attr.value]=\"currentAttachment?.filename\"\n (click)=\"fileInput.click()\"\n [required]=\"required\"\n [disabled]=\"disable\"\n autocomplete=\"off\">\n\n <button *ngIf=\"currentAttachment?.filename\" mat-icon-button matSuffix tabindex=\"-1\" (click)=\"clearAttachment()\" [disabled]=\"disable\" click-stop-propagation>\n <mat-icon>close</mat-icon>\n </button>\n\n <button *ngIf=\"!uploadInProgress\" mat-icon-button matSuffix tabindex=\"-1\" (click)=\"fileInput.click()\" [disabled]=\"disable\">\n <mat-icon>image</mat-icon>\n </button>\n\n <mat-spinner *ngIf=\"uploadInProgress\" matSuffix [diameter]=\"18\"></mat-spinner>\n\n <input #fileInput\n type=\"file\"\n accept=\"image/*\"\n hidden\n (change)=\"onFileSelected($event)\">\n\n <mat-hint *ngIf=\"error\" class=\"error-message\">{{ error }}</mat-hint>\n</mat-form-field>\n", styles: [""], components: [{ type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i6.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i3.MatLabel, selector: "mat-label" }, { type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.MatSuffix, selector: "[matSuffix]" }, { type: i9.ClickStopPropagationDirective, selector: "[click-stop-propagation]" }, { type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }], pipes: { "translate": i10.TranslatePipe } });
|
|
110
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: ImagepickerComponent, decorators: [{
|
|
111
|
-
type: Component,
|
|
112
|
-
args: [{
|
|
113
|
-
selector: 'mantle-imagepicker',
|
|
114
|
-
templateUrl: './imagepicker.component.html',
|
|
115
|
-
styleUrls: ['./imagepicker.component.scss'],
|
|
116
|
-
providers: [
|
|
117
|
-
{
|
|
118
|
-
provide: NG_VALUE_ACCESSOR,
|
|
119
|
-
useExisting: forwardRef(() => ImagepickerComponent),
|
|
120
|
-
multi: true
|
|
121
|
-
}
|
|
122
|
-
]
|
|
123
|
-
}]
|
|
124
|
-
}], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.WebApiService }]; }, propDecorators: { fileInput: [{
|
|
125
|
-
type: ViewChild,
|
|
126
|
-
args: ['fileInput']
|
|
127
|
-
}], label: [{
|
|
128
|
-
type: Input
|
|
129
|
-
}], options: [{
|
|
130
|
-
type: Input
|
|
131
|
-
}], disable: [{
|
|
132
|
-
type: Input
|
|
133
|
-
}], required: [{
|
|
134
|
-
type: Input
|
|
135
|
-
}], error: [{
|
|
136
|
-
type: Input
|
|
137
|
-
}] } });
|
|
138
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2VwaWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2ZpZWxkcy9pbWFnZXBpY2tlci9pbWFnZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZmllbGRzL2ltYWdlcGlja2VyL2ltYWdlcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsVUFBVSxFQUFFLEtBQUssRUFBYSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBFQUEwRSxDQUFDOzs7Ozs7Ozs7Ozs7QUFxQmpILE1BQU0sT0FBTyxvQkFBb0I7SUFzQi9CLFlBQW9CLE1BQWlCLEVBQVUsYUFBNEI7UUFBdkQsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUFVLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBWm5FLHlCQUFvQixHQUF3QjtZQUNsRCxtQkFBbUIsRUFBRSxJQUFJO1lBQ3pCLFdBQVcsRUFBRSxDQUFDO1lBQ2QsYUFBYSxFQUFFLEdBQUc7WUFDbEIsWUFBWSxFQUFFLEtBQUs7U0FDcEIsQ0FBQTtRQUNNLGtCQUFhLEdBQXdCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztRQVF0RSxhQUFRLEdBQUcsQ0FBQyxRQUFvQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFHekQsY0FBUyxHQUFHLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUx5RCxDQUFDO0lBR2hGLGdCQUFnQixDQUFDLEVBQWtELElBQVUsSUFBSSxDQUFDLFFBQVEs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QztvQkFDM0MsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHFCQUFxQixDQUFDOzRCQUNuRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRjs0SEFHeUIsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXO2dCQUViLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBGaWxlQXR0YWNobWVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2RhdGEtc3RydWN0dXJlcy9maWxlLWF0dGFjaG1lbnQuc3RydWN0dXJlJztcbmltcG9ydCB7IEltYWdlQ3JvcHBlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvZm9ybS9maWVsZHMvaW1hZ2UtY3JvcHBlci9pbWFnZS1jcm9wcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXZWJBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvd2ViLWFwaS5zZXJ2aWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBJbWFnZUNyb3BwZXJPcHRpb25zIHtcbiAgbWFpbnRhaW5Bc3BlY3RSYXRpbz86IGJvb2xlYW4sXG4gIGFzcGVjdFJhdGlvPzogbnVtYmVyLFxuICByZXNpemVUb1dpZHRoPzogbnVtYmVyLFxuICB1cGxvYWRGb3JtYXQ/OiBzdHJpbmcgfVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYW50bGUtaW1hZ2VwaWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2VwaWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbWFnZXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEltYWdlcGlja2VyQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlcGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uQ2hhbmdlcyB7XG5cbiAgQFZpZXdDaGlsZCgnZmlsZUlucHV0JykgZmlsZUlucHV0ITogRWxlbWVudFJlZjtcblxuICBASW5wdXQoKSBsYWJlbCE6IHN0cmluZztcbiAgQElucHV0KCkgb3B0aW9ucyE6IEltYWdlQ3JvcHBlck9wdGlvbnM7XG4gIEBJbnB1dCgpIGRpc2FibGUhOiBib29sZWFuO1xuICBASW5wdXQoKSByZXF1aXJlZCE6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGVycm9yOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSBkZWZhdWx0Q3JvcHBlckNvbmZpZzogSW1hZ2VDcm9wcGVyT3B0aW9ucyA9IHtcbiAgICBtYWludGFpbkFzcGVjdFJhdGlvOiB0cnVlLFxuICAgIGFzcGVjdFJhdGlvOiAxLFxuICAgIHJlc2l6ZVRvV2lkdGg6IDI1NixcbiAgICB1cGxvYWRGb3JtYXQ6ICdwbmcnXG4gIH1cbiAgcHVibGljIGNyb3BwZXJDb25maWc6IEltYWdlQ3JvcHBlck9wdGlvbnMgPSB0aGlzLmRlZmF1bHRDcm9wcGVyQ29uZmlnO1xuXG4gIHB1YmxpYyBwcmV2aW91c0F0dGFjaG1lbnQ6IEZpbGVBdHRhY2htZW50IHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgY3VycmVudEF0dGFjaG1lbnQ6IEZpbGVBdHRhY2htZW50IHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgdXBsb2FkSW5Qcm9ncmVzcyE6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZywgcHJpdmF0ZSB3ZWJBcGlTZXJ2aWNlOiBXZWJBcGlTZXJ2aWNlKSB7IH1cblxuICBvbkNoYW5nZSA9IChuZXdWYWx1ZTogRmlsZUF0dGFjaG1lbnQgfCB1bmRlZmluZWQpID0+IHsgfTtcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKG5ld1ZhbHVlOiBGaWxlQXR0YWNobWVudCB8IHVuZGVmaW5lZCkgPT4gdm9pZCk6IHZvaWQgeyB0aGlzLm9uQ2hhbmdlID0gZm47IH1cblxuICBvblRvdWNoZWQgPSAoKSA9PiB7IH07XG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7IHRoaXMub25Ub3VjaGVkID0gZm47IH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmNyb3BwZXJDb25maWcgPSB7IC4uLnRoaXMuZGVmYXVsdENyb3BwZXJDb25maWcsIC4uLnRoaXMub3B0aW9ucyB9O1xuICB9XG5cbiAgd3JpdGVWYWx1ZShuZXdWYWx1ZTogRmlsZUF0dGFjaG1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLmN1cnJlbnRBdHRhY2htZW50ID0gdGhpcy5wcmV2aW91c0F0dGFjaG1lbnQgPSBuZXdWYWx1ZTtcbiAgICB0aGlzLm9uQ2hhbmdlKG5ld1ZhbHVlKTtcbiAgfVxuXG4gIG9uRmlsZVNlbGVjdGVkKGV2ZW50OiBhbnkpIHtcbiAgICBpZiAoIWV2ZW50LnRhcmdldC5maWxlcyB8fCAhZXZlbnQudGFyZ2V0LmZpbGVzWzBdKSByZXR1cm47XG5cbiAgICBjb25zdCBmaWxlID0gZXZlbnQudGFyZ2V0LmZpbGVzWzBdO1xuXG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihJbWFnZUNyb3BwZXJDb21wb25lbnQsIHtcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgaW1hZ2VDaGFuZ2VkRXZlbnQ6IGV2ZW50LFxuICAgICAgICBtYWludGFpbkFzcGVjdFJhdGlvOiB0aGlzLmNyb3BwZXJDb25maWcubWFpbnRhaW5Bc3BlY3RSYXRpbyxcbiAgICAgICAgYXNwZWN0UmF0aW86IHRoaXMuY3JvcHBlckNvbmZpZy5hc3BlY3RSYXRpbyxcbiAgICAgICAgcmVzaXplVG9XaWR0aDogdGhpcy5jcm9wcGVyQ29uZmlnLnJlc2l6ZVRvV2lkdGgsXG4gICAgICAgIGZvcm1hdDogdGhpcy5jcm9wcGVyQ29uZmlnLnVwbG9hZEZvcm1hdFxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKFxuICAgICAgKGNyb3BwZWRJbWFnZTogQmxvYikgPT4ge1xuICAgICAgICB0aGlzLm9uSW1hZ2VDcm9wcGVkKGNyb3BwZWRJbWFnZSwgZmlsZS5uYW1lKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgb25JbWFnZUNyb3BwZWQoY3JvcHBlZEltYWdlOiBCbG9iLCBmaWxlbmFtZTogc3RyaW5nKSB7XG4gICAgaWYgKCFjcm9wcGVkSW1hZ2UpIHtcbiAgICAgIHRoaXMucmVzZXQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmaWxlbmFtZSA9IGZpbGVuYW1lLnNwbGl0KCcuJykuc2xpY2UoMCwgLTEpLmpvaW4oJy4nKSArICcuJyArIHRoaXMuY3JvcHBlckNvbmZpZy51cGxvYWRGb3JtYXQ7XG4gICAgbGV0IGZpbGU6IEZpbGUgPSB0aGlzLmJsb2JUb0ZpbGUoY3JvcHBlZEltYWdlLCBmaWxlbmFtZSk7XG5cbiAgICB0aGlzLnVwbG9hZEluUHJvZ3Jlc3MgPSB0cnVlO1xuXG4gICAgdGhpcy53ZWJBcGlTZXJ2aWNlLnVwbG9hZChmaWxlLFxuICAgICAgKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5jdXJyZW50QXR0YWNobWVudCA9IHtcbiAgICAgICAgICBmaWxlbmFtZTogZmlsZW5hbWUsXG4gICAgICAgICAgc291cmNlX3VybDogJycsXG4gICAgICAgICAgcHJldmlld191cmw6ICcnLFxuICAgICAgICAgIHNpZ25lZF9pZDogcmVzcG9uc2Uuc2lnbmVkX2lkXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLmN1cnJlbnRBdHRhY2htZW50KTtcbiAgICAgICAgdGhpcy51cGxvYWRJblByb2dyZXNzID0gZmFsc2U7XG4gICAgICB9LFxuICAgICAgKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgICB0aGlzLmVycm9yID0gJ1VuYWJsZSB0byB1cGxvYWQgZmlsZSc7XG4gICAgICAgIHRoaXMudXBsb2FkSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBjbGVhckF0dGFjaG1lbnQoKSB7XG4gICAgaWYgKHRoaXMuZmlsZUlucHV0KSB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgdGhpcy5jdXJyZW50QXR0YWNobWVudCA9IHtcbiAgICAgIGZpbGVuYW1lOiAnJyxcbiAgICAgIHNvdXJjZV91cmw6ICcnLFxuICAgICAgcHJldmlld191cmw6ICcnLFxuICAgICAgc2lnbmVkX2lkOiBudWxsXG4gICAgfVxuICAgIHRoaXMub25DaGFuZ2UodGhpcy5jdXJyZW50QXR0YWNobWVudCk7XG4gIH1cblxuICByZXNldCgpIHtcbiAgICBpZiAodGhpcy5maWxlSW5wdXQpIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICB0aGlzLmN1cnJlbnRBdHRhY2htZW50ID0gdGhpcy5wcmV2aW91c0F0dGFjaG1lbnQ7XG4gICAgdGhpcy5vbkNoYW5nZSh1bmRlZmluZWQpO1xuICB9XG5cbiAgYmxvYlRvRmlsZShibG9iOiBCbG9iLCBmaWxlbmFtZTogc3RyaW5nKTogRmlsZSB7XG4gICAgdmFyIGJsb2JEYXRhOiBhbnkgPSBibG9iO1xuXG4gICAgYmxvYkRhdGEubGFzdE1vZGlmaWVkRGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgYmxvYkRhdGEubmFtZSA9IGZpbGVuYW1lO1xuXG4gICAgcmV0dXJuIDxGaWxlPmJsb2I7XG4gIH1cblxufVxuIiwiPG1hdC1mb3JtLWZpZWxkIFtjbGFzcy5tYXQtZm9ybS1maWVsZC1pbnZhbGlkXT1cImVycm9yXCI+XG4gIDxtYXQtbGFiZWw+e3sgbGFiZWwgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgPGlucHV0IG1hdElucHV0XG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBbYXR0ci52YWx1ZV09XCJjdXJyZW50QXR0YWNobWVudD8uZmlsZW5hbWVcIlxuICAgICAgKGNsaWNrKT1cImZpbGVJbnB1dC5jbGljaygpXCJcbiAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZVwiXG4gICAgICBhdXRvY29tcGxldGU9XCJvZmZcIj5cblxuICA8YnV0dG9uICpuZ0lmPVwiY3VycmVudEF0dGFjaG1lbnQ/LmZpbGVuYW1lXCIgbWF0LWljb24tYnV0dG9uIG1hdFN1ZmZpeCB0YWJpbmRleD1cIi0xXCIgKGNsaWNrKT1cImNsZWFyQXR0YWNobWVudCgpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVcIiBjbGljay1zdG9wLXByb3BhZ2F0aW9uPlxuICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuXG4gIDxidXR0b24gKm5nSWY9XCIhdXBsb2FkSW5Qcm9ncmVzc1wiIG1hdC1pY29uLWJ1dHRvbiBtYXRTdWZmaXggdGFiaW5kZXg9XCItMVwiIChjbGljayk9XCJmaWxlSW5wdXQuY2xpY2soKVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlXCI+XG4gICAgPG1hdC1pY29uPmltYWdlPC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG5cbiAgPG1hdC1zcGlubmVyICpuZ0lmPVwidXBsb2FkSW5Qcm9ncmVzc1wiIG1hdFN1ZmZpeCBbZGlhbWV0ZXJdPVwiMThcIj48L21hdC1zcGlubmVyPlxuXG4gIDxpbnB1dCAjZmlsZUlucHV0XG4gICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICBhY2NlcHQ9XCJpbWFnZS8qXCJcbiAgICAgIGhpZGRlblxuICAgICAgKGNoYW5nZSk9XCJvbkZpbGVTZWxlY3RlZCgkZXZlbnQpXCI+XG5cbiAgPG1hdC1oaW50ICpuZ0lmPVwiZXJyb3JcIiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIj57eyBlcnJvciB9fTwvbWF0LWhpbnQ+XG48L21hdC1mb3JtLWZpZWxkPlxuIl19
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { Component, Input, forwardRef } from '@angular/core';
|
|
2
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/material/form-field";
|
|
5
|
-
import * as i2 from "ngx-markdown";
|
|
6
|
-
import * as i3 from "@angular/common";
|
|
7
|
-
import * as i4 from "@angular/material/input";
|
|
8
|
-
import * as i5 from "@angular/forms";
|
|
9
|
-
import * as i6 from "@ngx-translate/core";
|
|
10
|
-
export class MarkdownInputComponent {
|
|
11
|
-
constructor() {
|
|
12
|
-
this.value = null;
|
|
13
|
-
this.onChange = (newValue) => { };
|
|
14
|
-
this.onTouched = () => { };
|
|
15
|
-
}
|
|
16
|
-
registerOnChange(fn) { this.onChange = fn; }
|
|
17
|
-
registerOnTouched(fn) { this.onTouched = fn; }
|
|
18
|
-
writeValue(newValue) {
|
|
19
|
-
this.value = newValue;
|
|
20
|
-
this.onChange(newValue);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
MarkdownInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: MarkdownInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
24
|
-
MarkdownInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: MarkdownInputComponent, selector: "mantle-markdown-input", inputs: { label: "label", disable: "disable", required: "required", error: "error" }, providers: [
|
|
25
|
-
{
|
|
26
|
-
provide: NG_VALUE_ACCESSOR,
|
|
27
|
-
useExisting: forwardRef(() => MarkdownInputComponent),
|
|
28
|
-
multi: true
|
|
29
|
-
}
|
|
30
|
-
], ngImport: i0, template: "<div class=\"markdown-input-disabled\" *ngIf=\"disable\">\n <mat-form-field [class.mat-form-field-invalid]=\"error\">\n <mat-label>{{ label | translate }}</mat-label>\n\n <markdown ngPreserveWhitespaces>\n {{ value }}\n </markdown>\n\n <input matInput\n type=\"text\"\n [(ngModel)]=\"value\"\n [required]=\"required\"\n [disabled]=true\n [hidden]=true\n autocomplete=\"off\">\n\n <mat-hint *ngIf=\"error\" class=\"error-message\">{{ error }}</mat-hint>\n </mat-form-field>\n</div>\n", styles: [".markdown-input-disabled ::ng-deep .mat-form-field-underline{display:none}\n"], components: [{ type: i1.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i2.MarkdownComponent, selector: "markdown, [markdown]", inputs: ["data", "src", "emoji", "katex", "katexOptions", "lineHighlight", "line", "lineOffset", "lineNumbers", "start"], outputs: ["error", "load", "ready"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatLabel, selector: "mat-label" }, { type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }], pipes: { "translate": i6.TranslatePipe } });
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: MarkdownInputComponent, decorators: [{
|
|
32
|
-
type: Component,
|
|
33
|
-
args: [{
|
|
34
|
-
selector: 'mantle-markdown-input',
|
|
35
|
-
templateUrl: './markdown-input.component.html',
|
|
36
|
-
styleUrls: ['./markdown-input.component.scss'],
|
|
37
|
-
providers: [
|
|
38
|
-
{
|
|
39
|
-
provide: NG_VALUE_ACCESSOR,
|
|
40
|
-
useExisting: forwardRef(() => MarkdownInputComponent),
|
|
41
|
-
multi: true
|
|
42
|
-
}
|
|
43
|
-
]
|
|
44
|
-
}]
|
|
45
|
-
}], ctorParameters: function () { return []; }, propDecorators: { label: [{
|
|
46
|
-
type: Input
|
|
47
|
-
}], disable: [{
|
|
48
|
-
type: Input
|
|
49
|
-
}], required: [{
|
|
50
|
-
type: Input
|
|
51
|
-
}], error: [{
|
|
52
|
-
type: Input
|
|
53
|
-
}] } });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24taW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2ZpZWxkcy9tYXJrZG93bi1pbnB1dC9tYXJrZG93bi1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZmllbGRzL21hcmtkb3duLWlucHV0L21hcmtkb3duLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBY3pFLE1BQU0sT0FBTyxzQkFBc0I7SUFTakM7UUFGTyxVQUFLLEdBQVEsSUFBSSxDQUFDO1FBSXpCLGFBQVEsR0FBRyxDQUFDLFFBQWdCLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUdyQyxjQUFTLEdBQUcsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBTE4sQ0FBQztJQUdqQixnQkFBZ0IsQ0FBQyxFQUE4QixJQUFVLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUc5RSxpQkFBaUIsQ0FBQyxFQUFjLElBQVUsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRWhFLFVBQVUsQ0FBQyxRQUFhO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUIsQ0FBQzs7bUhBcEJVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLHNJQVJ0QjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDO1lBQ3JELEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRiwwQkNiSCxvaUJBbUJBOzJGREphLHNCQUFzQjtrQkFabEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxXQUFXLEVBQUUsaUNBQWlDO29CQUM5QyxTQUFTLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztvQkFDOUMsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHVCQUF1QixDQUFDOzRCQUNyRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRjswRUFHVSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYW50bGUtbWFya2Rvd24taW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWFya2Rvd24taW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXJrZG93bi1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE1hcmtkb3duSW5wdXRDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTWFya2Rvd25JbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICBASW5wdXQoKSBsYWJlbCE6IHN0cmluZztcbiAgQElucHV0KCkgZGlzYWJsZSE6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHJlcXVpcmVkITogYm9vbGVhbjtcbiAgQElucHV0KCkgZXJyb3I6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgdmFsdWU6IGFueSA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBvbkNoYW5nZSA9IChuZXdWYWx1ZTogc3RyaW5nKSA9PiB7IH07XG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IChuZXdWYWx1ZTogc3RyaW5nKSA9PiB2b2lkKTogdm9pZCB7IHRoaXMub25DaGFuZ2UgPSBmbjsgfVxuXG4gIG9uVG91Y2hlZCA9ICgpID0+IHsgfTtcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHsgdGhpcy5vblRvdWNoZWQgPSBmbjsgfVxuXG4gIHdyaXRlVmFsdWUobmV3VmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSBuZXdWYWx1ZTtcbiAgICB0aGlzLm9uQ2hhbmdlKG5ld1ZhbHVlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1hcmtkb3duLWlucHV0LWRpc2FibGVkXCIgKm5nSWY9XCJkaXNhYmxlXCI+XG4gIDxtYXQtZm9ybS1maWVsZCBbY2xhc3MubWF0LWZvcm0tZmllbGQtaW52YWxpZF09XCJlcnJvclwiPlxuICAgIDxtYXQtbGFiZWw+e3sgbGFiZWwgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cblxuICAgIDxtYXJrZG93biBuZ1ByZXNlcnZlV2hpdGVzcGFjZXM+XG4gICAgICB7eyB2YWx1ZSB9fVxuICAgIDwvbWFya2Rvd24+XG5cbiAgICA8aW5wdXQgbWF0SW5wdXRcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgW2Rpc2FibGVkXT10cnVlXG4gICAgICAgIFtoaWRkZW5dPXRydWVcbiAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XG5cbiAgICA8bWF0LWhpbnQgKm5nSWY9XCJlcnJvclwiIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiPnt7IGVycm9yIH19PC9tYXQtaGludD5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PlxuIl19
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { Component, Input, forwardRef } from '@angular/core';
|
|
2
|
-
import { NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/material/form-field";
|
|
5
|
-
import * as i2 from "@angular/material/input";
|
|
6
|
-
import * as i3 from "@angular/forms";
|
|
7
|
-
import * as i4 from "@angular/common";
|
|
8
|
-
import * as i5 from "@ngx-translate/core";
|
|
9
|
-
export class NumberInputComponent {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.value = null;
|
|
12
|
-
this.onChange = (newValue) => { };
|
|
13
|
-
this.onTouched = () => { };
|
|
14
|
-
}
|
|
15
|
-
registerOnChange(fn) { this.onChange = fn; }
|
|
16
|
-
registerOnTouched(fn) { this.onTouched = fn; }
|
|
17
|
-
ngOnChanges() { }
|
|
18
|
-
writeValue(newValue) {
|
|
19
|
-
this.value = newValue;
|
|
20
|
-
this.onChange(newValue);
|
|
21
|
-
}
|
|
22
|
-
onValueChanged(event) {
|
|
23
|
-
this.onChange(this.value);
|
|
24
|
-
}
|
|
25
|
-
validate(control) {
|
|
26
|
-
if (control.value === null) {
|
|
27
|
-
this.errorMessage = this.error;
|
|
28
|
-
return null;
|
|
29
|
-
}
|
|
30
|
-
let errors = {};
|
|
31
|
-
if (this.options.min && control.value < this.options.min)
|
|
32
|
-
errors.min = `must be greater than or equal to ${this.options.min}`;
|
|
33
|
-
if (this.options.max && control.value > this.options.max)
|
|
34
|
-
errors.max = `must be lower than or equal to ${this.options.max}`;
|
|
35
|
-
if (this.options.decimal_places) {
|
|
36
|
-
if (this.options.decimal_places == 0) {
|
|
37
|
-
if ((control.value - Math.floor(control.value)) !== 0)
|
|
38
|
-
errors.decimal_places = 'cannot be a decimal';
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
if ((control.value - control.value.toFixed(2)) !== 0)
|
|
42
|
-
errors.decimal_places = `must have a maximum of ${this.options.decimal_places} decimal places`;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
this.errorMessage = [...[this.error], ...Object.values(errors)].filter(item => { return !!item; }).join(', ');
|
|
46
|
-
return errors ? errors : null;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
NumberInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: NumberInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
50
|
-
NumberInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: NumberInputComponent, selector: "mantle-number-input", inputs: { label: "label", options: "options", disable: "disable", required: "required", error: "error" }, providers: [
|
|
51
|
-
{
|
|
52
|
-
provide: NG_VALUE_ACCESSOR,
|
|
53
|
-
useExisting: forwardRef(() => NumberInputComponent),
|
|
54
|
-
multi: true
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
provide: NG_VALIDATORS,
|
|
58
|
-
useExisting: forwardRef(() => NumberInputComponent),
|
|
59
|
-
multi: true,
|
|
60
|
-
},
|
|
61
|
-
], usesOnChanges: true, ngImport: i0, template: "<mat-form-field [class.mat-form-field-invalid]=\"errorMessage\">\n <mat-label>{{ label | translate }}</mat-label>\n <input matInput\n type=\"number\"\n [(ngModel)]=\"value\"\n (keyup)=\"onValueChanged($event)\"\n (change)=\"onValueChanged($event)\"\n [required]=\"required\"\n [disabled]=\"disable\"\n autocomplete=\"off\">\n\n <mat-hint *ngIf=\"errorMessage\" class=\"error-message\">{{ errorMessage }}</mat-hint>\n</mat-form-field>\n", styles: ["input{text-align:right}\n"], components: [{ type: i1.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }], directives: [{ type: i1.MatLabel, selector: "mat-label" }, { type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }], pipes: { "translate": i5.TranslatePipe } });
|
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: NumberInputComponent, decorators: [{
|
|
63
|
-
type: Component,
|
|
64
|
-
args: [{
|
|
65
|
-
selector: 'mantle-number-input',
|
|
66
|
-
templateUrl: './number-input.component.html',
|
|
67
|
-
styleUrls: ['./number-input.component.scss'],
|
|
68
|
-
providers: [
|
|
69
|
-
{
|
|
70
|
-
provide: NG_VALUE_ACCESSOR,
|
|
71
|
-
useExisting: forwardRef(() => NumberInputComponent),
|
|
72
|
-
multi: true
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
provide: NG_VALIDATORS,
|
|
76
|
-
useExisting: forwardRef(() => NumberInputComponent),
|
|
77
|
-
multi: true,
|
|
78
|
-
},
|
|
79
|
-
]
|
|
80
|
-
}]
|
|
81
|
-
}], ctorParameters: function () { return []; }, propDecorators: { label: [{
|
|
82
|
-
type: Input
|
|
83
|
-
}], options: [{
|
|
84
|
-
type: Input
|
|
85
|
-
}], disable: [{
|
|
86
|
-
type: Input
|
|
87
|
-
}], required: [{
|
|
88
|
-
type: Input
|
|
89
|
-
}], error: [{
|
|
90
|
-
type: Input
|
|
91
|
-
}] } });
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9maWVsZHMvbnVtYmVyLWlucHV0L251bWJlci1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZmllbGRzL251bWJlci1pbnB1dC9udW1iZXItaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYSxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBc0UsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFtQnRJLE1BQU0sT0FBTyxvQkFBb0I7SUFXL0I7UUFITyxVQUFLLEdBQVEsSUFBSSxDQUFDO1FBS3pCLGFBQVEsR0FBRyxDQUFDLFFBQWdCLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUdyQyxjQUFTLEdBQUcsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBTE4sQ0FBQztJQUdqQixnQkFBZ0IsQ0FBQyxFQUE4QixJQUFVLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUc5RSxpQkFBaUIsQ0FBQyxFQUFjLElBQVUsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRWhFLFdBQVcsS0FBVyxDQUFDO0lBRXZCLFVBQVUsQ0FBQyxRQUFhO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFVO1FBQ3ZCLElB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RUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGOzBFQUdVLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkNoYW5nZXMsIElucHV0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0b3IsIFZhbGlkYXRpb25FcnJvcnMsIE5HX1ZBTFVFX0FDQ0VTU09SLCBOR19WQUxJREFUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYW50bGUtbnVtYmVyLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL251bWJlci1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL251bWJlci1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE51bWJlcklucHV0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTnVtYmVySW5wdXRDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBOdW1iZXJJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3IsIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KCkgbGFiZWwhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG9wdGlvbnMhOiB7IG1pbjogbnVtYmVyLCBtYXg6IG51bWJlciwgZGVjaW1hbF9wbGFjZXM6IG51bWJlciB9O1xuICBASW5wdXQoKSBkaXNhYmxlITogYm9vbGVhbjtcbiAgQElucHV0KCkgcmVxdWlyZWQhOiBib29sZWFuO1xuICBASW5wdXQoKSBlcnJvcjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyB2YWx1ZTogYW55ID0gbnVsbDtcbiAgcHVibGljIGVycm9yTWVzc2FnZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgb25DaGFuZ2UgPSAobmV3VmFsdWU6IHN0cmluZykgPT4geyB9O1xuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAobmV3VmFsdWU6IHN0cmluZykgPT4gdm9pZCk6IHZvaWQgeyB0aGlzLm9uQ2hhbmdlID0gZm47IH1cblxuICBvblRvdWNoZWQgPSAoKSA9PiB7IH07XG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7IHRoaXMub25Ub3VjaGVkID0gZm47IH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHsgfVxuXG4gIHdyaXRlVmFsdWUobmV3VmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSBuZXdWYWx1ZTtcbiAgICB0aGlzLm9uQ2hhbmdlKG5ld1ZhbHVlKTtcbiAgfVxuXG4gIG9uVmFsdWVDaGFuZ2VkKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICB9XG5cbiAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGlmIChjb250cm9sLnZhbHVlID09PSBudWxsKSB7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuZXJyb3I7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBsZXQgZXJyb3JzOiBhbnkgPSB7fTtcbiAgICBpZiAodGhpcy5vcHRpb25zLm1pbiAmJiBjb250cm9sLnZhbHVlIDwgdGhpcy5vcHRpb25zLm1pbikgZXJyb3JzLm1pbiA9IGBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAke3RoaXMub3B0aW9ucy5taW59YDtcbiAgICBpZiAodGhpcy5vcHRpb25zLm1heCAmJiBjb250cm9sLnZhbHVlID4gdGhpcy5vcHRpb25zLm1heCkgZXJyb3JzLm1heCA9IGBtdXN0IGJlIGxvd2VyIHRoYW4gb3IgZXF1YWwgdG8gJHt0aGlzLm9wdGlvbnMubWF4fWA7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5kZWNpbWFsX3BsYWNlcykge1xuICAgICAgaWYgKHRoaXMub3B0aW9ucy5kZWNpbWFsX3BsYWNlcyA9PSAwKSB7XG4gICAgICAgIGlmICgoY29udHJvbC52YWx1ZSAtIE1hdGguZmxvb3IoY29udHJvbC52YWx1ZSkpICE9PSAwKSBlcnJvcnMuZGVjaW1hbF9wbGFjZXMgPSAnY2Fubm90IGJlIGEgZGVjaW1hbCc7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgaWYgKChjb250cm9sLnZhbHVlIC0gY29udHJvbC52YWx1ZS50b0ZpeGVkKDIpKSAhPT0gMCkgZXJyb3JzLmRlY2ltYWxfcGxhY2VzID0gYG11c3QgaGF2ZSBhIG1heGltdW0gb2YgJHt0aGlzLm9wdGlvbnMuZGVjaW1hbF9wbGFjZXN9IGRlY2ltYWwgcGxhY2VzYDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9IFsuLi5bdGhpcy5lcnJvcl0sIC4uLk9iamVjdC52YWx1ZXMoZXJyb3JzKV0uZmlsdGVyKGl0ZW0gPT4geyByZXR1cm4gISFpdGVtIH0pLmpvaW4oJywgJyk7XG5cbiAgICByZXR1cm4gZXJyb3JzID8gZXJyb3JzIDogbnVsbDtcbiAgfVxuXG59XG4iLCI8bWF0LWZvcm0tZmllbGQgW2NsYXNzLm1hdC1mb3JtLWZpZWxkLWludmFsaWRdPVwiZXJyb3JNZXNzYWdlXCI+XG4gIDxtYXQtbGFiZWw+e3sgbGFiZWwgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgPGlucHV0IG1hdElucHV0XG4gICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgICAgKGtleXVwKT1cIm9uVmFsdWVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgKGNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZVwiXG4gICAgICBhdXRvY29tcGxldGU9XCJvZmZcIj5cblxuICA8bWF0LWhpbnQgKm5nSWY9XCJlcnJvck1lc3NhZ2VcIiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIj57eyBlcnJvck1lc3NhZ2UgfX08L21hdC1oaW50PlxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { Component, Input, forwardRef } from '@angular/core';
|
|
2
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/material/form-field";
|
|
5
|
-
import * as i2 from "@angular/material/button";
|
|
6
|
-
import * as i3 from "@angular/material/icon";
|
|
7
|
-
import * as i4 from "@angular/material/input";
|
|
8
|
-
import * as i5 from "@angular/forms";
|
|
9
|
-
import * as i6 from "@angular/common";
|
|
10
|
-
import * as i7 from "@ngx-translate/core";
|
|
11
|
-
export class PasswordInputComponent {
|
|
12
|
-
constructor() {
|
|
13
|
-
this.value = null;
|
|
14
|
-
this.hide = true;
|
|
15
|
-
this.onChange = (newValue) => { };
|
|
16
|
-
this.onTouched = () => { };
|
|
17
|
-
}
|
|
18
|
-
registerOnChange(fn) { this.onChange = fn; }
|
|
19
|
-
registerOnTouched(fn) { this.onTouched = fn; }
|
|
20
|
-
writeValue(newValue) {
|
|
21
|
-
this.value = newValue;
|
|
22
|
-
this.onChange(newValue);
|
|
23
|
-
}
|
|
24
|
-
onValueChanged(event) {
|
|
25
|
-
this.onChange(this.value);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
PasswordInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: PasswordInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
-
PasswordInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: PasswordInputComponent, selector: "mantle-password-input", inputs: { label: "label", disable: "disable", required: "required", error: "error" }, providers: [
|
|
30
|
-
{
|
|
31
|
-
provide: NG_VALUE_ACCESSOR,
|
|
32
|
-
useExisting: forwardRef(() => PasswordInputComponent),
|
|
33
|
-
multi: true
|
|
34
|
-
}
|
|
35
|
-
], ngImport: i0, template: "<mat-form-field [class.mat-form-field-invalid]=\"error\">\n <mat-label>{{ label | translate }}</mat-label>\n <input matInput\n [type]=\"hide ? 'password' : 'text'\"\n [(ngModel)]=\"value\"\n (keyup)=\"onValueChanged($event)\"\n (change)=\"onValueChanged($event)\"\n [required]=\"required\"\n [disabled]=\"disable\"\n autocomplete=\"off\">\n\n <button mat-icon-button matSuffix type=\"button\" tabindex=\"-1\" (click)=\"hide = !hide\">\n <mat-icon>{{hide ? 'visibility_off' : 'visibility'}}</mat-icon>\n </button>\n\n <mat-hint *ngIf=\"error\" class=\"error-message\">{{ error }}</mat-hint>\n</mat-form-field>\n", styles: [""], components: [{ type: i1.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i1.MatLabel, selector: "mat-label" }, { type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i1.MatSuffix, selector: "[matSuffix]" }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }], pipes: { "translate": i7.TranslatePipe } });
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: PasswordInputComponent, decorators: [{
|
|
37
|
-
type: Component,
|
|
38
|
-
args: [{
|
|
39
|
-
selector: 'mantle-password-input',
|
|
40
|
-
templateUrl: './password-input.component.html',
|
|
41
|
-
styleUrls: ['./password-input.component.scss'],
|
|
42
|
-
providers: [
|
|
43
|
-
{
|
|
44
|
-
provide: NG_VALUE_ACCESSOR,
|
|
45
|
-
useExisting: forwardRef(() => PasswordInputComponent),
|
|
46
|
-
multi: true
|
|
47
|
-
}
|
|
48
|
-
]
|
|
49
|
-
}]
|
|
50
|
-
}], ctorParameters: function () { return []; }, propDecorators: { label: [{
|
|
51
|
-
type: Input
|
|
52
|
-
}], disable: [{
|
|
53
|
-
type: Input
|
|
54
|
-
}], required: [{
|
|
55
|
-
type: Input
|
|
56
|
-
}], error: [{
|
|
57
|
-
type: Input
|
|
58
|
-
}] } });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2ZpZWxkcy9wYXNzd29yZC1pbnB1dC9wYXNzd29yZC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZmllbGRzL3Bhc3N3b3JkLWlucHV0L3Bhc3N3b3JkLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQWN6RSxNQUFNLE9BQU8sc0JBQXNCO0lBVWpDO1FBSE8sVUFBSyxHQUFRLElBQUksQ0FBQztRQUNsQixTQUFJLEdBQVksSUFBSSxDQUFDO1FBSTVCLGFBQVEsR0FBRyxDQUFDLFFBQWdCLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUdyQyxjQUFTLEdBQUcsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBTE4sQ0FBQztJQUdqQixnQkFBZ0IsQ0FBQyxFQUE4QixJQUFVLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUc5RSxpQkFBaUIsQ0FBQyxFQUFjLElBQVUsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRWhFLFVBQVUsQ0FBQyxRQUFhO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7O21IQXpCVSxzQkFBc0I7dUdBQXRCLHNCQUFzQixzSUFSdEI7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztZQUNyRCxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsMEJDYkgsK29CQWlCQTsyRkRGYSxzQkFBc0I7a0JBWmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsV0FBVyxFQUFFLGlDQUFpQztvQkFDOUMsU0FBUyxFQUFFLENBQUMsaUNBQWlDLENBQUM7b0JBQzlDLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx1QkFBdUIsQ0FBQzs0QkFDckQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0Y7MEVBR1UsS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFudGxlLXBhc3N3b3JkLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Bhc3N3b3JkLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGFzc3dvcmQtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQYXNzd29yZElucHV0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFBhc3N3b3JkSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cbiAgQElucHV0KCkgbGFiZWwhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRpc2FibGUhOiBib29sZWFuO1xuICBASW5wdXQoKSByZXF1aXJlZCE6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGVycm9yOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIHZhbHVlOiBhbnkgPSBudWxsO1xuICBwdWJsaWMgaGlkZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBvbkNoYW5nZSA9IChuZXdWYWx1ZTogc3RyaW5nKSA9PiB7IH07XG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IChuZXdWYWx1ZTogc3RyaW5nKSA9PiB2b2lkKTogdm9pZCB7IHRoaXMub25DaGFuZ2UgPSBmbjsgfVxuXG4gIG9uVG91Y2hlZCA9ICgpID0+IHsgfTtcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHsgdGhpcy5vblRvdWNoZWQgPSBmbjsgfVxuXG4gIHdyaXRlVmFsdWUobmV3VmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSBuZXdWYWx1ZTtcbiAgICB0aGlzLm9uQ2hhbmdlKG5ld1ZhbHVlKTtcbiAgfVxuXG4gIG9uVmFsdWVDaGFuZ2VkKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICB9XG59XG4iLCI8bWF0LWZvcm0tZmllbGQgW2NsYXNzLm1hdC1mb3JtLWZpZWxkLWludmFsaWRdPVwiZXJyb3JcIj5cbiAgPG1hdC1sYWJlbD57eyBsYWJlbCB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICA8aW5wdXQgbWF0SW5wdXRcbiAgICAgIFt0eXBlXT1cImhpZGUgPyAncGFzc3dvcmQnIDogJ3RleHQnXCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgICAgKGtleXVwKT1cIm9uVmFsdWVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgKGNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZVwiXG4gICAgICBhdXRvY29tcGxldGU9XCJvZmZcIj5cblxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBtYXRTdWZmaXggdHlwZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiLTFcIiAoY2xpY2spPVwiaGlkZSA9ICFoaWRlXCI+XG4gICAgPG1hdC1pY29uPnt7aGlkZSA/ICd2aXNpYmlsaXR5X29mZicgOiAndmlzaWJpbGl0eSd9fTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuXG4gIDxtYXQtaGludCAqbmdJZj1cImVycm9yXCIgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+e3sgZXJyb3IgfX08L21hdC1oaW50PlxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==
|