@wizishop/img-manager 0.2.109 → 14.0.9
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/assets/i18n/en.json +1 -1
- package/assets/i18n/fr.json +1 -1
- package/esm2020/lib/animations/easeInOut/ease-in-out.animation.mjs +12 -0
- package/esm2020/lib/animations/insertRemove/insert-remove.animation.mjs +9 -0
- package/esm2020/lib/animations/listAnnimation/list.animation.mjs +16 -0
- package/esm2020/lib/components/canva-btn/canva-btn.component.mjs +67 -0
- package/esm2020/lib/components/images-view/images-actions-handler.mjs +151 -0
- package/esm2020/lib/components/images-view/images-view.component.mjs +474 -0
- package/esm2020/lib/components/images-view/mosaic-view/img-card/img-card.component.mjs +66 -0
- package/esm2020/lib/components/images-view/mosaic-view/mosaic-view.component.mjs +68 -0
- package/esm2020/lib/components/images-view/table-view/table-view.component.mjs +48 -0
- package/esm2020/lib/components/img-editor/cropper/cropper.component.mjs +307 -0
- package/esm2020/lib/components/img-editor/img-editor.component.mjs +109 -0
- package/esm2020/lib/components/img-editor/info-section/info-section.component.mjs +54 -0
- package/esm2020/lib/components/img-selection/img-selection.component.mjs +59 -0
- package/esm2020/lib/components/img-tabs/img-tabs.component.mjs +122 -0
- package/esm2020/lib/components/img-upload/img-upload.component.mjs +118 -0
- package/esm2020/lib/components/loader/loader.component.mjs +21 -0
- package/esm2020/lib/components/pexels-lib/pexels-lib.component.mjs +200 -0
- package/esm2020/lib/components/shared/alert/alert.component.mjs +27 -0
- package/esm2020/lib/components/shared/checkbox/checkbox.component.mjs +52 -0
- package/esm2020/lib/components/shared/dropdown/dropdown.component.mjs +21 -0
- package/esm2020/lib/components/shared/input-search/input-search.component.mjs +54 -0
- package/esm2020/lib/components/shared/pagination/page-selector/page-selector.component.mjs +49 -0
- package/esm2020/lib/components/shared/pagination/pagination.component.mjs +49 -0
- package/esm2020/lib/components/shared/select/call-to-action.model.mjs +2 -0
- package/esm2020/lib/components/shared/select/select-items.dto.mjs +2 -0
- package/esm2020/lib/components/shared/select/select.component.mjs +110 -0
- package/esm2020/lib/components/shared/table/table.component.mjs +116 -0
- package/esm2020/lib/components/upload-list/upload-list.component.mjs +79 -0
- package/esm2020/lib/directives/abstract-debounce/abstract-debounce.directive.mjs +37 -0
- package/esm2020/lib/directives/abstract-debounce/debounce-keyup.directive.mjs +24 -0
- package/esm2020/lib/directives/auto-hide.directive.mjs +48 -0
- package/esm2020/lib/directives/copy-to-clipboard.directive.mjs +37 -0
- package/esm2020/lib/directives/drag-drop.directive.mjs +57 -0
- package/esm2020/lib/directives/loading.directive.mjs +42 -0
- package/esm2020/lib/directives/table/checkBoxRow.directive.mjs +114 -0
- package/esm2020/lib/directives/table/column.directive.mjs +45 -0
- package/esm2020/lib/directives/table/columnHeader.directive.mjs +204 -0
- package/esm2020/lib/directives/table/raw.directive.mjs +31 -0
- package/esm2020/lib/directives/zindex-toggle.directive.mjs +42 -0
- package/esm2020/lib/dto/ImgManagerDisplayConfig.dto.mjs +2 -0
- package/esm2020/lib/dto/canva-create-design.dto.mjs +4 -0
- package/esm2020/lib/dto/canva.dto.mjs +4 -0
- package/esm2020/lib/dto/config/apis/api.dto.mjs +9 -0
- package/esm2020/lib/dto/config/external/external-config.dto.mjs +3 -0
- package/esm2020/lib/dto/config/image-cdn/image-cdn-config.dto.mjs +10 -0
- package/esm2020/lib/dto/export-dtos.api.mjs +11 -0
- package/esm2020/lib/dto/img-editor-config.dto.mjs +2 -0
- package/esm2020/lib/dto/img-manager.dto.mjs +2 -0
- package/esm2020/lib/dto/pexels-img.dto.mjs +2 -0
- package/esm2020/lib/dto/picture-name-update.dto.mjs +2 -0
- package/esm2020/lib/dto/stateDisplayed.dto.mjs +2 -0
- package/esm2020/lib/dto/tabDisplayed.dto.mjs +2 -0
- package/esm2020/lib/dto/wizi-block-media.dto.mjs +3 -0
- package/esm2020/lib/pipes/images/img-src.pipe.mjs +28 -0
- package/esm2020/lib/pipes/number-to-array.pipe.mjs +16 -0
- package/esm2020/lib/pipes/pagination/array-total-pages/array-pages.pipe.mjs +28 -0
- package/esm2020/lib/pipes/pagination/large-number-of-page/large-number-of-page.pipe.mjs +53 -0
- package/esm2020/lib/pipes/pagination/text/custom-text.pipe.mjs +35 -0
- package/esm2020/lib/pipes/pagination/total-pages/is-last-page.pipe.mjs +25 -0
- package/esm2020/lib/pipes/select/select-filters.pipe.mjs +19 -0
- package/esm2020/lib/services/alert.service.mjs +53 -0
- package/esm2020/lib/services/canva.service.mjs +159 -0
- package/esm2020/lib/services/config/external-config.service.mjs +49 -0
- package/esm2020/lib/services/config/img-cdn.service.mjs +28 -0
- package/esm2020/lib/services/dom.service.mjs +36 -0
- package/{esm2015/lib/services/img-event.service.js → esm2020/lib/services/img-event.service.mjs} +11 -12
- package/esm2020/lib/services/img-manager.service.mjs +138 -0
- package/{esm2015/lib/services/img-selection.service.js → esm2020/lib/services/img-selection.service.mjs} +11 -12
- package/esm2020/lib/services/pexels.service.mjs +62 -0
- package/esm2020/lib/services/rename-picture.service.mjs +68 -0
- package/esm2020/lib/services/table/filters-table.service.mjs +63 -0
- package/{esm2015/lib/services/user-settings.service.js → esm2020/lib/services/user-settings.service.mjs} +11 -12
- package/esm2020/lib/wz-img-manager.component.mjs +186 -0
- package/esm2020/lib/wz-img-manager.module.mjs +193 -0
- package/esm2020/public-api.mjs +11 -0
- package/esm2020/wizishop-img-manager.mjs +5 -0
- package/fesm2015/wizishop-img-manager.mjs +4134 -0
- package/fesm2015/wizishop-img-manager.mjs.map +1 -0
- package/fesm2020/wizishop-img-manager.mjs +4140 -0
- package/fesm2020/wizishop-img-manager.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/components/canva-btn/canva-btn.component.d.ts +9 -6
- package/lib/components/images-view/images-actions-handler.d.ts +3 -0
- package/lib/components/images-view/images-view.component.d.ts +3 -0
- package/lib/components/images-view/mosaic-view/img-card/img-card.component.d.ts +3 -0
- package/lib/components/images-view/mosaic-view/mosaic-view.component.d.ts +3 -0
- package/lib/components/images-view/table-view/table-view.component.d.ts +3 -0
- package/lib/components/img-editor/cropper/cropper.component.d.ts +6 -3
- package/lib/components/img-editor/img-editor.component.d.ts +3 -0
- package/lib/components/img-editor/info-section/info-section.component.d.ts +3 -0
- package/lib/components/img-selection/img-selection.component.d.ts +3 -0
- package/lib/components/img-tabs/img-tabs.component.d.ts +3 -0
- package/lib/components/img-upload/img-upload.component.d.ts +4 -1
- package/lib/components/loader/loader.component.d.ts +3 -0
- package/lib/components/pexels-lib/pexels-lib.component.d.ts +3 -0
- package/lib/components/shared/alert/alert.component.d.ts +3 -0
- package/lib/components/shared/checkbox/checkbox.component.d.ts +3 -0
- package/lib/components/shared/dropdown/dropdown.component.d.ts +3 -0
- package/lib/components/shared/input-search/input-search.component.d.ts +3 -0
- package/lib/components/shared/pagination/page-selector/page-selector.component.d.ts +3 -0
- package/lib/components/shared/pagination/pagination.component.d.ts +3 -0
- package/lib/components/shared/select/select.component.d.ts +3 -0
- package/lib/components/shared/table/table.component.d.ts +3 -0
- package/lib/components/upload-list/upload-list.component.d.ts +3 -0
- package/lib/directives/abstract-debounce/abstract-debounce.directive.d.ts +3 -0
- package/lib/directives/abstract-debounce/debounce-keyup.directive.d.ts +3 -0
- package/lib/directives/auto-hide.directive.d.ts +3 -0
- package/lib/directives/copy-to-clipboard.directive.d.ts +3 -0
- package/lib/directives/drag-drop.directive.d.ts +3 -0
- package/lib/directives/loading.directive.d.ts +3 -0
- package/lib/directives/table/checkBoxRow.directive.d.ts +3 -0
- package/lib/directives/table/column.directive.d.ts +3 -0
- package/lib/directives/table/columnHeader.directive.d.ts +3 -0
- package/lib/directives/table/raw.directive.d.ts +3 -0
- package/lib/directives/zindex-toggle.directive.d.ts +3 -0
- package/lib/dto/pexels-img.dto.d.ts +1 -0
- package/lib/pipes/images/img-src.pipe.d.ts +3 -0
- package/lib/pipes/number-to-array.pipe.d.ts +3 -0
- package/lib/pipes/pagination/array-total-pages/array-pages.pipe.d.ts +3 -0
- package/lib/pipes/pagination/large-number-of-page/large-number-of-page.pipe.d.ts +7 -1
- package/lib/pipes/pagination/text/custom-text.pipe.d.ts +3 -0
- package/lib/pipes/pagination/total-pages/is-last-page.pipe.d.ts +3 -0
- package/lib/pipes/select/select-filters.pipe.d.ts +3 -0
- package/lib/services/alert.service.d.ts +3 -0
- package/lib/services/canva.service.d.ts +3 -0
- package/lib/services/config/external-config.service.d.ts +3 -0
- package/lib/services/config/img-cdn.service.d.ts +3 -0
- package/lib/services/dom.service.d.ts +3 -0
- package/lib/services/img-event.service.d.ts +3 -0
- package/lib/services/img-manager.service.d.ts +5 -2
- package/lib/services/img-selection.service.d.ts +3 -0
- package/lib/services/pexels.service.d.ts +7 -4
- package/lib/services/rename-picture.service.d.ts +3 -0
- package/lib/services/table/filters-table.service.d.ts +3 -0
- package/lib/services/user-settings.service.d.ts +3 -0
- package/lib/wz-img-manager.component.d.ts +3 -0
- package/lib/wz-img-manager.module.d.ts +56 -0
- package/package.json +47 -29
- package/wizishop-img-manager-14.0.9.tgz +0 -0
- package/wz-img-manager.scss +4 -404
- package/bundles/wizishop-img-manager.umd.js +0 -5077
- package/bundles/wizishop-img-manager.umd.js.map +0 -1
- package/bundles/wizishop-img-manager.umd.min.js +0 -16
- package/bundles/wizishop-img-manager.umd.min.js.map +0 -1
- package/esm2015/lib/animations/easeInOut/ease-in-out.animation.js +0 -12
- package/esm2015/lib/animations/insertRemove/insert-remove.animation.js +0 -9
- package/esm2015/lib/animations/listAnnimation/list.animation.js +0 -16
- package/esm2015/lib/components/canva-btn/canva-btn.component.js +0 -70
- package/esm2015/lib/components/images-view/images-actions-handler.js +0 -180
- package/esm2015/lib/components/images-view/images-view.component.js +0 -492
- package/esm2015/lib/components/images-view/mosaic-view/img-card/img-card.component.js +0 -84
- package/esm2015/lib/components/images-view/mosaic-view/mosaic-view.component.js +0 -79
- package/esm2015/lib/components/images-view/table-view/table-view.component.js +0 -49
- package/esm2015/lib/components/img-editor/cropper/cropper.component.js +0 -300
- package/esm2015/lib/components/img-editor/img-editor.component.js +0 -112
- package/esm2015/lib/components/img-editor/info-section/info-section.component.js +0 -59
- package/esm2015/lib/components/img-selection/img-selection.component.js +0 -62
- package/esm2015/lib/components/img-tabs/img-tabs.component.js +0 -131
- package/esm2015/lib/components/img-upload/img-upload.component.js +0 -125
- package/esm2015/lib/components/loader/loader.component.js +0 -28
- package/esm2015/lib/components/pexels-lib/pexels-lib.component.js +0 -208
- package/esm2015/lib/components/shared/alert/alert.component.js +0 -37
- package/esm2015/lib/components/shared/checkbox/checkbox.component.js +0 -69
- package/esm2015/lib/components/shared/dropdown/dropdown.component.js +0 -26
- package/esm2015/lib/components/shared/input-search/input-search.component.js +0 -62
- package/esm2015/lib/components/shared/pagination/page-selector/page-selector.component.js +0 -55
- package/esm2015/lib/components/shared/pagination/pagination.component.js +0 -51
- package/esm2015/lib/components/shared/select/call-to-action.model.js +0 -1
- package/esm2015/lib/components/shared/select/select-items.dto.js +0 -1
- package/esm2015/lib/components/shared/select/select.component.js +0 -133
- package/esm2015/lib/components/shared/table/table.component.js +0 -133
- package/esm2015/lib/components/upload-list/upload-list.component.js +0 -87
- package/esm2015/lib/directives/abstract-debounce/abstract-debounce.directive.js +0 -40
- package/esm2015/lib/directives/abstract-debounce/debounce-keyup.directive.js +0 -26
- package/esm2015/lib/directives/auto-hide.directive.js +0 -55
- package/esm2015/lib/directives/copy-to-clipboard.directive.js +0 -40
- package/esm2015/lib/directives/drag-drop.directive.js +0 -68
- package/esm2015/lib/directives/loading.directive.js +0 -44
- package/esm2015/lib/directives/table/checkBoxRow.directive.js +0 -128
- package/esm2015/lib/directives/table/column.directive.js +0 -49
- package/esm2015/lib/directives/table/columnHeader.directive.js +0 -221
- package/esm2015/lib/directives/table/raw.directive.js +0 -33
- package/esm2015/lib/directives/zindex-toggle.directive.js +0 -49
- package/esm2015/lib/dto/ImgManagerDisplayConfig.dto.js +0 -1
- package/esm2015/lib/dto/canva-create-design.dto.js +0 -4
- package/esm2015/lib/dto/canva.dto.js +0 -4
- package/esm2015/lib/dto/config/apis/api.dto.js +0 -9
- package/esm2015/lib/dto/config/external/external-config.dto.js +0 -3
- package/esm2015/lib/dto/config/image-cdn/image-cdn-config.dto.js +0 -10
- package/esm2015/lib/dto/export-dtos.api.js +0 -5
- package/esm2015/lib/dto/img-editor-config.dto.js +0 -1
- package/esm2015/lib/dto/img-manager.dto.js +0 -1
- package/esm2015/lib/dto/pexels-img.dto.js +0 -1
- package/esm2015/lib/dto/picture-name-update.dto.js +0 -1
- package/esm2015/lib/dto/stateDisplayed.dto.js +0 -1
- package/esm2015/lib/dto/tabDisplayed.dto.js +0 -1
- package/esm2015/lib/dto/wizi-block-media.dto.js +0 -3
- package/esm2015/lib/pipes/images/img-src.pipe.js +0 -29
- package/esm2015/lib/pipes/number-to-array.pipe.js +0 -14
- package/esm2015/lib/pipes/pagination/array-total-pages/array-pages.pipe.js +0 -26
- package/esm2015/lib/pipes/pagination/large-number-of-page/large-number-of-page.pipe.js +0 -51
- package/esm2015/lib/pipes/pagination/text/custom-text.pipe.js +0 -36
- package/esm2015/lib/pipes/pagination/total-pages/is-last-page.pipe.js +0 -23
- package/esm2015/lib/pipes/select/select-filters.pipe.js +0 -17
- package/esm2015/lib/services/alert.service.js +0 -59
- package/esm2015/lib/services/canva.service.js +0 -171
- package/esm2015/lib/services/config/external-config.service.js +0 -55
- package/esm2015/lib/services/config/img-cdn.service.js +0 -29
- package/esm2015/lib/services/dom.service.js +0 -36
- package/esm2015/lib/services/img-manager.service.js +0 -142
- package/esm2015/lib/services/pexels.service.js +0 -70
- package/esm2015/lib/services/rename-picture.service.js +0 -74
- package/esm2015/lib/services/table/filters-table.service.js +0 -67
- package/esm2015/lib/wz-img-manager.component.js +0 -212
- package/esm2015/lib/wz-img-manager.module.js +0 -132
- package/esm2015/public-api.js +0 -11
- package/esm2015/wizishop-img-manager.js +0 -57
- package/esm5/lib/animations/easeInOut/ease-in-out.animation.js +0 -12
- package/esm5/lib/animations/insertRemove/insert-remove.animation.js +0 -9
- package/esm5/lib/animations/listAnnimation/list.animation.js +0 -16
- package/esm5/lib/components/canva-btn/canva-btn.component.js +0 -72
- package/esm5/lib/components/images-view/images-actions-handler.js +0 -183
- package/esm5/lib/components/images-view/images-view.component.js +0 -535
- package/esm5/lib/components/images-view/mosaic-view/img-card/img-card.component.js +0 -87
- package/esm5/lib/components/images-view/mosaic-view/mosaic-view.component.js +0 -82
- package/esm5/lib/components/images-view/table-view/table-view.component.js +0 -52
- package/esm5/lib/components/img-editor/cropper/cropper.component.js +0 -312
- package/esm5/lib/components/img-editor/img-editor.component.js +0 -115
- package/esm5/lib/components/img-editor/info-section/info-section.component.js +0 -64
- package/esm5/lib/components/img-selection/img-selection.component.js +0 -64
- package/esm5/lib/components/img-tabs/img-tabs.component.js +0 -133
- package/esm5/lib/components/img-upload/img-upload.component.js +0 -138
- package/esm5/lib/components/loader/loader.component.js +0 -29
- package/esm5/lib/components/pexels-lib/pexels-lib.component.js +0 -216
- package/esm5/lib/components/shared/alert/alert.component.js +0 -38
- package/esm5/lib/components/shared/checkbox/checkbox.component.js +0 -71
- package/esm5/lib/components/shared/dropdown/dropdown.component.js +0 -27
- package/esm5/lib/components/shared/input-search/input-search.component.js +0 -68
- package/esm5/lib/components/shared/pagination/page-selector/page-selector.component.js +0 -64
- package/esm5/lib/components/shared/pagination/pagination.component.js +0 -56
- package/esm5/lib/components/shared/select/call-to-action.model.js +0 -1
- package/esm5/lib/components/shared/select/select-items.dto.js +0 -1
- package/esm5/lib/components/shared/select/select.component.js +0 -136
- package/esm5/lib/components/shared/table/table.component.js +0 -135
- package/esm5/lib/components/upload-list/upload-list.component.js +0 -103
- package/esm5/lib/directives/abstract-debounce/abstract-debounce.directive.js +0 -42
- package/esm5/lib/directives/abstract-debounce/debounce-keyup.directive.js +0 -28
- package/esm5/lib/directives/auto-hide.directive.js +0 -57
- package/esm5/lib/directives/copy-to-clipboard.directive.js +0 -42
- package/esm5/lib/directives/drag-drop.directive.js +0 -69
- package/esm5/lib/directives/loading.directive.js +0 -46
- package/esm5/lib/directives/table/checkBoxRow.directive.js +0 -137
- package/esm5/lib/directives/table/column.directive.js +0 -50
- package/esm5/lib/directives/table/columnHeader.directive.js +0 -229
- package/esm5/lib/directives/table/raw.directive.js +0 -34
- package/esm5/lib/directives/zindex-toggle.directive.js +0 -54
- package/esm5/lib/dto/ImgManagerDisplayConfig.dto.js +0 -1
- package/esm5/lib/dto/canva-create-design.dto.js +0 -8
- package/esm5/lib/dto/canva.dto.js +0 -8
- package/esm5/lib/dto/config/apis/api.dto.js +0 -11
- package/esm5/lib/dto/config/external/external-config.dto.js +0 -7
- package/esm5/lib/dto/config/image-cdn/image-cdn-config.dto.js +0 -12
- package/esm5/lib/dto/export-dtos.api.js +0 -5
- package/esm5/lib/dto/img-editor-config.dto.js +0 -1
- package/esm5/lib/dto/img-manager.dto.js +0 -1
- package/esm5/lib/dto/pexels-img.dto.js +0 -1
- package/esm5/lib/dto/picture-name-update.dto.js +0 -1
- package/esm5/lib/dto/stateDisplayed.dto.js +0 -1
- package/esm5/lib/dto/tabDisplayed.dto.js +0 -1
- package/esm5/lib/dto/wizi-block-media.dto.js +0 -7
- package/esm5/lib/pipes/images/img-src.pipe.js +0 -30
- package/esm5/lib/pipes/number-to-array.pipe.js +0 -17
- package/esm5/lib/pipes/pagination/array-total-pages/array-pages.pipe.js +0 -29
- package/esm5/lib/pipes/pagination/large-number-of-page/large-number-of-page.pipe.js +0 -54
- package/esm5/lib/pipes/pagination/text/custom-text.pipe.js +0 -37
- package/esm5/lib/pipes/pagination/total-pages/is-last-page.pipe.js +0 -26
- package/esm5/lib/pipes/select/select-filters.pipe.js +0 -20
- package/esm5/lib/services/alert.service.js +0 -62
- package/esm5/lib/services/canva.service.js +0 -181
- package/esm5/lib/services/config/external-config.service.js +0 -56
- package/esm5/lib/services/config/img-cdn.service.js +0 -34
- package/esm5/lib/services/dom.service.js +0 -39
- package/esm5/lib/services/img-event.service.js +0 -46
- package/esm5/lib/services/img-manager.service.js +0 -143
- package/esm5/lib/services/img-selection.service.js +0 -143
- package/esm5/lib/services/pexels.service.js +0 -72
- package/esm5/lib/services/rename-picture.service.js +0 -88
- package/esm5/lib/services/table/filters-table.service.js +0 -68
- package/esm5/lib/services/user-settings.service.js +0 -30
- package/esm5/lib/wz-img-manager.component.js +0 -228
- package/esm5/lib/wz-img-manager.module.js +0 -131
- package/esm5/public-api.js +0 -11
- package/esm5/wizishop-img-manager.js +0 -57
- package/fesm2015/wizishop-img-manager.js +0 -4533
- package/fesm2015/wizishop-img-manager.js.map +0 -1
- package/fesm5/wizishop-img-manager.js +0 -4814
- package/fesm5/wizishop-img-manager.js.map +0 -1
- package/wizishop-img-manager-0.2.109.tgz +0 -0
- package/wizishop-img-manager.d.ts +0 -56
- package/wizishop-img-manager.metadata.json +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWl0ZW1zLmR0by5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQvc2VsZWN0L3NlbGVjdC1pdGVtcy5kdG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0SXRlbSB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHZhbHVlPzogYW55O1xuICAgIGljb24/OiBzdHJpbmc7XG4gICAgc2VsZWN0ZWQ/OiBib29sZWFuO1xuICAgIGhpZGU/OmJvb2xlYW47XG4gICAgaWQ6IG51bWJlcjtcbiAgfVxuIl19
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
3
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@ngx-translate/core";
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
7
|
+
import * as i3 from "@angular/forms";
|
|
8
|
+
import * as i4 from "ngx-perfect-scrollbar";
|
|
9
|
+
import * as i5 from "../../../directives/auto-hide.directive";
|
|
10
|
+
import * as i6 from "../../../directives/zindex-toggle.directive";
|
|
11
|
+
import * as i7 from "../../../pipes/select/select-filters.pipe";
|
|
12
|
+
export class SelectComponent {
|
|
13
|
+
constructor(translateService) {
|
|
14
|
+
this.translateService = translateService;
|
|
15
|
+
this.search = false;
|
|
16
|
+
this.type = 'default';
|
|
17
|
+
this.maxWidth = '100%';
|
|
18
|
+
this.disabled = false;
|
|
19
|
+
this.selectValue = new EventEmitter();
|
|
20
|
+
this.clickOnCallToAction = new EventEmitter();
|
|
21
|
+
this.openCategories = false;
|
|
22
|
+
this.searchValue = '';
|
|
23
|
+
this.indexItemSelected = -1;
|
|
24
|
+
// ControlValueAccessor methods
|
|
25
|
+
this.onChange = () => { };
|
|
26
|
+
this.onTouch = () => { };
|
|
27
|
+
}
|
|
28
|
+
ngOnInit() {
|
|
29
|
+
this.indexItemSelected = this.items.findIndex(item => item.selected);
|
|
30
|
+
}
|
|
31
|
+
onClose() {
|
|
32
|
+
this.openCategories = false;
|
|
33
|
+
}
|
|
34
|
+
customTB(item, index) {
|
|
35
|
+
return `${item.id}-${index}`;
|
|
36
|
+
}
|
|
37
|
+
onSelectItem(id) {
|
|
38
|
+
this.unselectAll();
|
|
39
|
+
this.setIndexItemSelected(id);
|
|
40
|
+
const itemSelected = this.getItemSelected();
|
|
41
|
+
itemSelected.selected = true;
|
|
42
|
+
this.selectValue.emit(this.indexItemSelected);
|
|
43
|
+
this.onChange(itemSelected);
|
|
44
|
+
}
|
|
45
|
+
onClickCallToAction() {
|
|
46
|
+
this.onClose();
|
|
47
|
+
this.clickOnCallToAction.emit(this.callToAction.value);
|
|
48
|
+
}
|
|
49
|
+
getItemSelected() {
|
|
50
|
+
return this.items[this.indexItemSelected];
|
|
51
|
+
}
|
|
52
|
+
showCategories() {
|
|
53
|
+
this.openCategories = true;
|
|
54
|
+
setTimeout(() => {
|
|
55
|
+
this.searchElement.nativeElement.focus();
|
|
56
|
+
}, 0);
|
|
57
|
+
}
|
|
58
|
+
unselectAll() {
|
|
59
|
+
this.items.forEach(item => item.selected = false);
|
|
60
|
+
}
|
|
61
|
+
setIndexItemSelected(id) {
|
|
62
|
+
this.indexItemSelected = this.items.findIndex(item => item.id === id);
|
|
63
|
+
}
|
|
64
|
+
writeValue(selectItem) {
|
|
65
|
+
if (!selectItem) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
this.unselectAll();
|
|
69
|
+
selectItem.selected = true;
|
|
70
|
+
this.setIndexItemSelected(selectItem.id);
|
|
71
|
+
}
|
|
72
|
+
registerOnChange(fn) {
|
|
73
|
+
this.onChange = fn;
|
|
74
|
+
}
|
|
75
|
+
registerOnTouched(fn) {
|
|
76
|
+
this.onTouch = fn;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
SelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SelectComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
80
|
+
SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: SelectComponent, selector: "wac-select", inputs: { items: "items", placeholder: "placeholder", label: "label", maxWidthItems: "maxWidthItems", search: "search", type: "type", callToAction: "callToAction", maxWidth: "maxWidth", disabled: "disabled" }, outputs: { selectValue: "selectValue", clickOnCallToAction: "clickOnCallToAction" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: SelectComponent, multi: true }], viewQueries: [{ propertyName: "searchElement", first: true, predicate: ["search"], descendants: true }], ngImport: i0, template: "<p *ngIf=\"label\" [innerHTML]=\"label\" class=\"wac-select__label\"></p>\n\n<div class=\"wac-select\" wzAutoHide (clickOutside)=\"onClose()\" [ngStyle]=\"{ 'max-width': maxWidth }\" [zIndexToggle]=\"openCategories\">\n\n <div class=\"wac-select__current\" [ngClass]=\"{ 'select-disabled' : disabled }\" (click)=\"!disabled && openCategories = !openCategories\" *ngIf=\"!search\">\n <span *ngIf=\"indexItemSelected !== -1\" class=\"icon\" [innerHTML]=\"items[indexItemSelected].icon\"></span>\n <span [innerHTML]=\"(indexItemSelected !== -1 ? items[indexItemSelected].name : placeholder) | translate\"></span><span><i class=\"fas fa-chevron-down\"></i></span>\n </div>\n\n <div class=\"wac-select__current wac-select__current--withSearch\" [ngClass]=\"{ 'select-disabled' : disabled, 'open-search': openCategories }\" *ngIf=\"search\">\n <div class=\"wac-select__current__search\" *ngIf=\"openCategories && !disabled\">\n <i class=\"far fa-search\"></i>\n <input #search type=\"text\" [(ngModel)]=\"searchValue\" />\n </div>\n <span (click)=\"openCategories = !openCategories;\" *ngIf=\"items[indexItemSelected]?.icon && !openCategories\" class=\"icon\" [innerHTML]=\"items[indexItemSelected].icon\"></span>\n <span (click)=\"showCategories()\" [innerHTML]=\"items[indexItemSelected]?.name ? items[indexItemSelected].name : placeholder\"></span>\n <span (click)=\"openCategories = !openCategories;\"><i class=\"fas fa-chevron-down\"></i></span>\n </div>\n\n <div class=\"wac-select__content\" *ngIf=\"!disabled\" [ngClass]=\"{ hidden: !openCategories, open: type === 'open' }\" [ngStyle]=\"{ 'max-width': maxWidthItems }\">\n <div [perfectScrollbar]=\"{ suppressScrollX: true }\" *ngIf=\"items.length\">\n\n <div *ngIf=\"callToAction\" class=\"wac-select__content__cta\">\n <div (click)=\"onClickCallToAction()\">\n <i *ngIf=\"callToAction.icon\" [classList]=\"callToAction.icon\"></i><strong *ngIf=\"callToAction.boldText\">{{ callToAction.boldText }}</strong\n ><span>{{ callToAction?.name }}</span>\n </div>\n </div>\n\n <div\n *ngFor=\"let item of items | selectFilters: searchValue; let index = index;\"\n (click)=\"onClose()\"\n class=\"wac-select__content__item\"\n >\n <div *ngIf=\"!item.hide\" [ngClass]=\"{ selected: item.selected }\" (click)=\"onSelectItem(item.id)\">\n <span class=\"icon\" [innerHTML]=\"item.icon\" *ngIf=\"item.icon\"></span>{{ item.name | translate }}\n </div>\n </div>\n\n </div>\n\n <div *ngIf=\"!(items | selectFilters: searchValue)?.length\" class=\"wac-select__content__empty\">\n <span>{{'wac.datatable.noresult' | translate}}</span>\n </div>\n\n </div>\n</div>", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", 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]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.PerfectScrollbarDirective, selector: "[perfectScrollbar]", inputs: ["disabled", "perfectScrollbar"], outputs: ["psScrollY", "psScrollX", "psScrollUp", "psScrollDown", "psScrollLeft", "psScrollRight", "psYReachEnd", "psYReachStart", "psXReachEnd", "psXReachStart"], exportAs: ["ngxPerfectScrollbar"] }, { kind: "directive", type: i5.AutoHideDirective, selector: "[wzAutoHide]", inputs: ["triggerElement", "forceOn"], outputs: ["clickOutside"] }, { kind: "directive", type: i6.ZindexToggleDirective, selector: "[zIndexToggle]", inputs: ["zIndexToggle"], outputs: ["onEventChange"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i7.SelectFiltersPipe, name: "selectFilters" }] });
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SelectComponent, decorators: [{
|
|
82
|
+
type: Component,
|
|
83
|
+
args: [{ selector: 'wac-select', providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: SelectComponent, multi: true }], template: "<p *ngIf=\"label\" [innerHTML]=\"label\" class=\"wac-select__label\"></p>\n\n<div class=\"wac-select\" wzAutoHide (clickOutside)=\"onClose()\" [ngStyle]=\"{ 'max-width': maxWidth }\" [zIndexToggle]=\"openCategories\">\n\n <div class=\"wac-select__current\" [ngClass]=\"{ 'select-disabled' : disabled }\" (click)=\"!disabled && openCategories = !openCategories\" *ngIf=\"!search\">\n <span *ngIf=\"indexItemSelected !== -1\" class=\"icon\" [innerHTML]=\"items[indexItemSelected].icon\"></span>\n <span [innerHTML]=\"(indexItemSelected !== -1 ? items[indexItemSelected].name : placeholder) | translate\"></span><span><i class=\"fas fa-chevron-down\"></i></span>\n </div>\n\n <div class=\"wac-select__current wac-select__current--withSearch\" [ngClass]=\"{ 'select-disabled' : disabled, 'open-search': openCategories }\" *ngIf=\"search\">\n <div class=\"wac-select__current__search\" *ngIf=\"openCategories && !disabled\">\n <i class=\"far fa-search\"></i>\n <input #search type=\"text\" [(ngModel)]=\"searchValue\" />\n </div>\n <span (click)=\"openCategories = !openCategories;\" *ngIf=\"items[indexItemSelected]?.icon && !openCategories\" class=\"icon\" [innerHTML]=\"items[indexItemSelected].icon\"></span>\n <span (click)=\"showCategories()\" [innerHTML]=\"items[indexItemSelected]?.name ? items[indexItemSelected].name : placeholder\"></span>\n <span (click)=\"openCategories = !openCategories;\"><i class=\"fas fa-chevron-down\"></i></span>\n </div>\n\n <div class=\"wac-select__content\" *ngIf=\"!disabled\" [ngClass]=\"{ hidden: !openCategories, open: type === 'open' }\" [ngStyle]=\"{ 'max-width': maxWidthItems }\">\n <div [perfectScrollbar]=\"{ suppressScrollX: true }\" *ngIf=\"items.length\">\n\n <div *ngIf=\"callToAction\" class=\"wac-select__content__cta\">\n <div (click)=\"onClickCallToAction()\">\n <i *ngIf=\"callToAction.icon\" [classList]=\"callToAction.icon\"></i><strong *ngIf=\"callToAction.boldText\">{{ callToAction.boldText }}</strong\n ><span>{{ callToAction?.name }}</span>\n </div>\n </div>\n\n <div\n *ngFor=\"let item of items | selectFilters: searchValue; let index = index;\"\n (click)=\"onClose()\"\n class=\"wac-select__content__item\"\n >\n <div *ngIf=\"!item.hide\" [ngClass]=\"{ selected: item.selected }\" (click)=\"onSelectItem(item.id)\">\n <span class=\"icon\" [innerHTML]=\"item.icon\" *ngIf=\"item.icon\"></span>{{ item.name | translate }}\n </div>\n </div>\n\n </div>\n\n <div *ngIf=\"!(items | selectFilters: searchValue)?.length\" class=\"wac-select__content__empty\">\n <span>{{'wac.datatable.noresult' | translate}}</span>\n </div>\n\n </div>\n</div>" }]
|
|
84
|
+
}], ctorParameters: function () { return [{ type: i1.TranslateService }]; }, propDecorators: { items: [{
|
|
85
|
+
type: Input
|
|
86
|
+
}], placeholder: [{
|
|
87
|
+
type: Input
|
|
88
|
+
}], label: [{
|
|
89
|
+
type: Input
|
|
90
|
+
}], maxWidthItems: [{
|
|
91
|
+
type: Input
|
|
92
|
+
}], search: [{
|
|
93
|
+
type: Input
|
|
94
|
+
}], type: [{
|
|
95
|
+
type: Input
|
|
96
|
+
}], callToAction: [{
|
|
97
|
+
type: Input
|
|
98
|
+
}], maxWidth: [{
|
|
99
|
+
type: Input
|
|
100
|
+
}], disabled: [{
|
|
101
|
+
type: Input
|
|
102
|
+
}], selectValue: [{
|
|
103
|
+
type: Output
|
|
104
|
+
}], clickOnCallToAction: [{
|
|
105
|
+
type: Output
|
|
106
|
+
}], searchElement: [{
|
|
107
|
+
type: ViewChild,
|
|
108
|
+
args: ['search']
|
|
109
|
+
}] } });
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7O0FBU3pFLE1BQU0sT0FBTyxlQUFlO0lBc0MxQixZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXhCdEQsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUdmLFNBQUksR0FBRyxTQUFTLENBQUM7UUFLUixhQUFRLEdBQUcsTUFBTSxDQUFDO1FBRzNCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFUCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFekMsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUl4RCxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUVqQixzQkFBaUIsR0FBVyxDQUFDLENBQUMsQ0FBQztRQWlEL0IsK0JBQStCO1FBRS9CLGFBQVEsR0FBcUMsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ3RELFlBQU8sR0FBUSxH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SztzQkFESixLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLO2dCQUlOLE1BQU07c0JBREwsS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR04sUUFBUTtzQkFEUCxLQUFLO2dCQUdJLFdBQVc7c0JBQXBCLE1BQU07Z0JBRUcsbUJBQW1CO3NCQUE1QixNQUFNO2dCQUVjLGFBQWE7c0JBQWpDLFNBQVM7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTZWxlY3RJdGVtIH0gZnJvbSAnLi9zZWxlY3QtaXRlbXMuZHRvJztcbmltcG9ydCB7IENhbGxsVG9BY3Rpb24gfSBmcm9tICcuL2NhbGwtdG8tYWN0aW9uLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2FjLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogU2VsZWN0Q29tcG9uZW50LCBtdWx0aTogdHJ1ZSB9XVxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQElucHV0KClcbiAgaXRlbXM6IFNlbGVjdEl0ZW1bXTtcblxuICBASW5wdXQoKVxuICBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGxhYmVsOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgbWF4V2lkdGhJdGVtczogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHNlYXJjaCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHR5cGUgPSAnZGVmYXVsdCc7XG5cbiAgQElucHV0KClcbiAgY2FsbFRvQWN0aW9uOiBDYWxsbFRvQWN0aW9uO1xuXG4gIEBJbnB1dCgpIG1heFdpZHRoID0gJzEwMCUnO1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIHNlbGVjdFZhbHVlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQE91dHB1dCgpIGNsaWNrT25DYWxsVG9BY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBAVmlld0NoaWxkKCdzZWFyY2gnKSBzZWFyY2hFbGVtZW50OiBFbGVtZW50UmVmO1xuXG4gIG9wZW5DYXRlZ29yaWVzID0gZmFsc2U7XG4gIHNlYXJjaFZhbHVlID0gJyc7XG5cbiAgaW5kZXhJdGVtU2VsZWN0ZWQ6IG51bWJlciA9IC0xO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluZGV4SXRlbVNlbGVjdGVkID0gdGhpcy5pdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLnNlbGVjdGVkKTtcbiAgfVxuXG4gIG9uQ2xvc2UoKSB7XG4gICAgdGhpcy5vcGVuQ2F0ZWdvcmllcyA9IGZhbHNlO1xuICB9XG5cbiAgY3VzdG9tVEIoaXRlbTogU2VsZWN0SXRlbSwgaW5kZXg6IG51bWJlcikge1xuICAgIHJldHVybiBgJHtpdGVtLmlkfS0ke2luZGV4fWA7XG4gIH1cblxuICBvblNlbGVjdEl0ZW0oaWQ6IG51bWJlcikge1xuICAgIHRoaXMudW5zZWxlY3RBbGwoKTtcbiAgICB0aGlzLnNldEluZGV4SXRlbVNlbGVjdGVkKGlkKTtcbiAgICBjb25zdCBpdGVtU2VsZWN0ZWQ6IFNlbGVjdEl0ZW0gPSB0aGlzLmdldEl0ZW1TZWxlY3RlZCgpO1xuICAgIGl0ZW1TZWxlY3RlZC5zZWxlY3RlZCA9IHRydWU7XG4gICAgdGhpcy5zZWxlY3RWYWx1ZS5lbWl0KHRoaXMuaW5kZXhJdGVtU2VsZWN0ZWQpO1xuICAgIHRoaXMub25DaGFuZ2UoaXRlbVNlbGVjdGVkKTtcbiAgfVxuXG4gIG9uQ2xpY2tDYWxsVG9BY3Rpb24oKSB7XG4gICAgdGhpcy5vbkNsb3NlKCk7XG4gICAgdGhpcy5jbGlja09uQ2FsbFRvQWN0aW9uLmVtaXQodGhpcy5jYWxsVG9BY3Rpb24udmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRJdGVtU2VsZWN0ZWQoKTogU2VsZWN0SXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXNbdGhpcy5pbmRleEl0ZW1TZWxlY3RlZF07XG4gIH1cblxuICBzaG93Q2F0ZWdvcmllcygpIHtcbiAgICB0aGlzLm9wZW5DYXRlZ29yaWVzID0gdHJ1ZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHsgLy8gdGhpcyB3aWxsIG1ha2UgdGhlIGV4ZWN1dGlvbiBhZnRlciB0aGUgYWJvdmUgYm9vbGVhbiBoYXMgY2hhbmdlZFxuICAgICAgdGhpcy5zZWFyY2hFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9LCAwKTtcbiAgfVxuXG4gIHByaXZhdGUgdW5zZWxlY3RBbGwoKSB7XG4gICAgdGhpcy5pdGVtcy5mb3JFYWNoKGl0ZW0gPT4gaXRlbS5zZWxlY3RlZCA9IGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0SW5kZXhJdGVtU2VsZWN0ZWQoaWQ6IG51bWJlcikge1xuICAgIHRoaXMuaW5kZXhJdGVtU2VsZWN0ZWQgPSB0aGlzLml0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IGlkKTtcbiAgfVxuXG4gIC8vIENvbnRyb2xWYWx1ZUFjY2Vzc29yIG1ldGhvZHNcblxuICBvbkNoYW5nZTogKHNlbGVjdEl0ZW06IFNlbGVjdEl0ZW0pID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgb25Ub3VjaDogYW55ID0gKCkgPT4ge31cblxuICB3cml0ZVZhbHVlKHNlbGVjdEl0ZW06IGFueSl7XG4gICAgaWYgKCFzZWxlY3RJdGVtKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMudW5zZWxlY3RBbGwoKTtcbiAgICBzZWxlY3RJdGVtLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICB0aGlzLnNldEluZGV4SXRlbVNlbGVjdGVkKHNlbGVjdEl0ZW0uaWQpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KXtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSl7XG4gICAgdGhpcy5vblRvdWNoID0gZm47XG4gIH1cbn1cbiIsIjxwICpuZ0lmPVwibGFiZWxcIiBbaW5uZXJIVE1MXT1cImxhYmVsXCIgY2xhc3M9XCJ3YWMtc2VsZWN0X19sYWJlbFwiPjwvcD5cblxuPGRpdiBjbGFzcz1cIndhYy1zZWxlY3RcIiB3ekF1dG9IaWRlIChjbGlja091dHNpZGUpPVwib25DbG9zZSgpXCIgW25nU3R5bGVdPVwieyAnbWF4LXdpZHRoJzogbWF4V2lkdGggfVwiIFt6SW5kZXhUb2dnbGVdPVwib3BlbkNhdGVnb3JpZXNcIj5cblxuICA8ZGl2IGNsYXNzPVwid2FjLXNlbGVjdF9fY3VycmVudFwiIFtuZ0NsYXNzXT1cInsgJ3NlbGVjdC1kaXNhYmxlZCcgOiBkaXNhYmxlZCB9XCIgKGNsaWNrKT1cIiFkaXNhYmxlZCAmJiBvcGVuQ2F0ZWdvcmllcyA9ICFvcGVuQ2F0ZWdvcmllc1wiICpuZ0lmPVwiIXNlYXJjaFwiPlxuICAgIDxzcGFuICpuZ0lmPVwiaW5kZXhJdGVtU2VsZWN0ZWQgIT09IC0xXCIgY2xhc3M9XCJpY29uXCIgW2lubmVySFRNTF09XCJpdGVtc1tpbmRleEl0ZW1TZWxlY3RlZF0uaWNvblwiPjwvc3Bhbj5cbiAgICA8c3BhbiBbaW5uZXJIVE1MXT1cIihpbmRleEl0ZW1TZWxlY3RlZCAhPT0gLTEgPyBpdGVtc1tpbmRleEl0ZW1TZWxlY3RlZF0ubmFtZSA6IHBsYWNlaG9sZGVyKSB8IHRyYW5zbGF0ZVwiPjwvc3Bhbj48c3Bhbj48aSBjbGFzcz1cImZhcyBmYS1jaGV2cm9uLWRvd25cIj48L2k+PC9zcGFuPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwid2FjLXNlbGVjdF9fY3VycmVudCB3YWMtc2VsZWN0X19jdXJyZW50LS13aXRoU2VhcmNoXCIgW25nQ2xhc3NdPVwieyAnc2VsZWN0LWRpc2FibGVkJyA6IGRpc2FibGVkLCAnb3Blbi1zZWFyY2gnOiBvcGVuQ2F0ZWdvcmllcyB9XCIgKm5nSWY9XCJzZWFyY2hcIj5cbiAgICA8ZGl2IGNsYXNzPVwid2FjLXNlbGVjdF9fY3VycmVudF9fc2VhcmNoXCIgKm5nSWY9XCJvcGVuQ2F0ZWdvcmllcyAmJiAhZGlzYWJsZWRcIj5cbiAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLXNlYXJjaFwiPjwvaT5cbiAgICAgIDxpbnB1dCAjc2VhcmNoIHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJzZWFyY2hWYWx1ZVwiIC8+XG4gICAgPC9kaXY+XG4gICAgPHNwYW4gKGNsaWNrKT1cIm9wZW5DYXRlZ29yaWVzID0gIW9wZW5DYXRlZ29yaWVzO1wiICpuZ0lmPVwiaXRlbXNbaW5kZXhJdGVtU2VsZWN0ZWRdPy5pY29uICYmICFvcGVuQ2F0ZWdvcmllc1wiIGNsYXNzPVwiaWNvblwiIFtpbm5lckhUTUxdPVwiaXRlbXNbaW5kZXhJdGVtU2VsZWN0ZWRdLmljb25cIj48L3NwYW4+XG4gICAgPHNwYW4gKGNsaWNrKT1cInNob3dDYXRlZ29yaWVzKClcIiBbaW5uZXJIVE1MXT1cIml0ZW1zW2luZGV4SXRlbVNlbGVjdGVkXT8ubmFtZSA/IGl0ZW1zW2luZGV4SXRlbVNlbGVjdGVkXS5uYW1lIDogcGxhY2Vob2xkZXJcIj48L3NwYW4+XG4gICAgPHNwYW4gKGNsaWNrKT1cIm9wZW5DYXRlZ29yaWVzID0gIW9wZW5DYXRlZ29yaWVzO1wiPjxpIGNsYXNzPVwiZmFzIGZhLWNoZXZyb24tZG93blwiPjwvaT48L3NwYW4+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJ3YWMtc2VsZWN0X19jb250ZW50XCIgKm5nSWY9XCIhZGlzYWJsZWRcIiBbbmdDbGFzc109XCJ7IGhpZGRlbjogIW9wZW5DYXRlZ29yaWVzLCBvcGVuOiB0eXBlID09PSAnb3BlbicgfVwiIFtuZ1N0eWxlXT1cInsgJ21heC13aWR0aCc6IG1heFdpZHRoSXRlbXMgfVwiPlxuICAgIDxkaXYgW3BlcmZlY3RTY3JvbGxiYXJdPVwieyBzdXBwcmVzc1Njcm9sbFg6IHRydWUgfVwiICpuZ0lmPVwiaXRlbXMubGVuZ3RoXCI+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCJjYWxsVG9BY3Rpb25cIiBjbGFzcz1cIndhYy1zZWxlY3RfX2NvbnRlbnRfX2N0YVwiPlxuICAgICAgICA8ZGl2IChjbGljayk9XCJvbkNsaWNrQ2FsbFRvQWN0aW9uKClcIj5cbiAgICAgICAgICA8aSAqbmdJZj1cImNhbGxUb0FjdGlvbi5pY29uXCIgW2NsYXNzTGlzdF09XCJjYWxsVG9BY3Rpb24uaWNvblwiPjwvaT48c3Ryb25nICpuZ0lmPVwiY2FsbFRvQWN0aW9uLmJvbGRUZXh0XCI+e3sgY2FsbFRvQWN0aW9uLmJvbGRUZXh0IH19PC9zdHJvbmdcbiAgICAgICAgICA+PHNwYW4+e3sgY2FsbFRvQWN0aW9uPy5uYW1lIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zIHwgc2VsZWN0RmlsdGVyczogc2VhcmNoVmFsdWU7IGxldCBpbmRleCA9IGluZGV4O1wiXG4gICAgICAgIChjbGljayk9XCJvbkNsb3NlKClcIlxuICAgICAgICBjbGFzcz1cIndhYy1zZWxlY3RfX2NvbnRlbnRfX2l0ZW1cIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cIiFpdGVtLmhpZGVcIiBbbmdDbGFzc109XCJ7IHNlbGVjdGVkOiBpdGVtLnNlbGVjdGVkIH1cIiAoY2xpY2spPVwib25TZWxlY3RJdGVtKGl0ZW0uaWQpXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImljb25cIiBbaW5uZXJIVE1MXT1cIml0ZW0uaWNvblwiICpuZ0lmPVwiaXRlbS5pY29uXCI+PC9zcGFuPnt7IGl0ZW0ubmFtZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCIhKGl0ZW1zIHwgc2VsZWN0RmlsdGVyczogc2VhcmNoVmFsdWUpPy5sZW5ndGhcIiBjbGFzcz1cIndhYy1zZWxlY3RfX2NvbnRlbnRfX2VtcHR5XCI+XG4gICAgICA8c3Bhbj57eyd3YWMuZGF0YXRhYmxlLm5vcmVzdWx0JyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgIDwvZGl2PlxuXG4gIDwvZGl2PlxuPC9kaXY+Il19
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { v4 as uuid } from 'uuid';
|
|
3
|
+
import { FiltersTableService } from '../../../services/table/filters-table.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../../services/table/filters-table.service";
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
7
|
+
import * as i3 from "@angular/forms";
|
|
8
|
+
import * as i4 from "../../loader/loader.component";
|
|
9
|
+
import * as i5 from "../input-search/input-search.component";
|
|
10
|
+
import * as i6 from "../pagination/pagination.component";
|
|
11
|
+
import * as i7 from "../checkbox/checkbox.component";
|
|
12
|
+
export class TableComponent {
|
|
13
|
+
constructor(filtersTableService) {
|
|
14
|
+
this.filtersTableService = filtersTableService;
|
|
15
|
+
this.tableFiltersChange = new EventEmitter();
|
|
16
|
+
this.placeholder = '';
|
|
17
|
+
/// Input/Output of checkbox ///
|
|
18
|
+
/** Pass to true to display checkbox in the header table */
|
|
19
|
+
this.checkbox = false;
|
|
20
|
+
/** Emit new header checboxValue */
|
|
21
|
+
this.toggleAllCheckBox = new EventEmitter();
|
|
22
|
+
/// Input to disable section ///
|
|
23
|
+
/** Pass to true to hide search input */
|
|
24
|
+
this.disableSearch = false;
|
|
25
|
+
/** Pass to true to hide the pagniator */
|
|
26
|
+
this.disablePagniation = false;
|
|
27
|
+
/// Input for loader on table body ///
|
|
28
|
+
this.isLoading = false;
|
|
29
|
+
}
|
|
30
|
+
ngOnInit() {
|
|
31
|
+
this.headerCheckBoxId = uuid(); // Create checkbox unique id
|
|
32
|
+
/* Handle routing filters */
|
|
33
|
+
if (this.tableRoutingName) {
|
|
34
|
+
this._filterGroup = this.filtersTableService.getTableFilterGroup(this.tableRoutingName);
|
|
35
|
+
// Performe initial fetch data
|
|
36
|
+
this._filterGroup.valuesChange$.next([]);
|
|
37
|
+
this.setTablesFilters();
|
|
38
|
+
// Listen to filters changes with debounced time to limit multiple api calls
|
|
39
|
+
this.filterGroupChangeSub = this._filterGroup.valuesChange$.subscribe(filters => {
|
|
40
|
+
this.setTablesFilters();
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
onToggleAllCheckBox(event) {
|
|
45
|
+
this.toggleAllCheckBox.emit(event.target.checked);
|
|
46
|
+
}
|
|
47
|
+
searchChange(event) {
|
|
48
|
+
// Reset table filters
|
|
49
|
+
this.tableFilters.sort = undefined;
|
|
50
|
+
this.tableFilters.order = undefined;
|
|
51
|
+
this.tableFilters.currentPage = 1;
|
|
52
|
+
this.tableFiltersChange.emit(this.tableFilters);
|
|
53
|
+
// Reset routing filters
|
|
54
|
+
if (this._filterGroup) {
|
|
55
|
+
this._filterGroup.setValues({
|
|
56
|
+
searchValue: this.tableFilters.searchValue,
|
|
57
|
+
sort: undefined,
|
|
58
|
+
order: undefined,
|
|
59
|
+
currentPage: 1
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
pageChange() {
|
|
64
|
+
this.tableFiltersChange.emit(this.tableFilters);
|
|
65
|
+
if (this._filterGroup) {
|
|
66
|
+
this._filterGroup.setValues({
|
|
67
|
+
itemsPerPage: this.tableFilters.itemsPerPage,
|
|
68
|
+
currentPage: this.tableFilters.currentPage
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Set tableFilters from routing data existing in the url
|
|
74
|
+
* */
|
|
75
|
+
setTablesFilters() {
|
|
76
|
+
this.tableFilters = {
|
|
77
|
+
sort: this._filterGroup.get('sort'),
|
|
78
|
+
order: this._filterGroup.get('order'),
|
|
79
|
+
searchValue: this._filterGroup.get('searchValue'),
|
|
80
|
+
itemsPerPage: this._filterGroup.get('itemsPerPage') ? parseInt(this._filterGroup.get('itemsPerPage')) : 0,
|
|
81
|
+
currentPage: this._filterGroup.get('currentPage') ? parseInt(this._filterGroup.get('currentPage')) : 0,
|
|
82
|
+
totalItems: this.tableFilters.totalItems
|
|
83
|
+
};
|
|
84
|
+
this.tableFiltersChange.emit(this.tableFilters);
|
|
85
|
+
}
|
|
86
|
+
ngDestroy() {
|
|
87
|
+
if (this.filterGroupChangeSub) {
|
|
88
|
+
this.filterGroupChangeSub.unsubscribe();
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
TableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: TableComponent, deps: [{ token: i1.FiltersTableService }], target: i0.ɵɵFactoryTarget.Component });
|
|
93
|
+
TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: TableComponent, selector: "wz-table", inputs: { tableFilters: "tableFilters", tableRoutingName: "tableRoutingName", placeholder: "placeholder", checkbox: "checkbox", disableSearch: "disableSearch", disablePagniation: "disablePagniation", isLoading: "isLoading" }, outputs: { tableFiltersChange: "tableFiltersChange", toggleAllCheckBox: "toggleAllCheckBox" }, ngImport: i0, template: "<div class=\"wz-table\">\n <!-- Header section -->\n <div class=\"wz-table__head\" id=\"headerTable\">\n <div *ngIf=\"checkbox\" class=\"wz-table__head__cell wz-table__head__cell--checkbox\">\n <wz-checkbox [id]=\"headerCheckBoxId\" (change)=\"onToggleAllCheckBox($event)\" [alone]=\"true\"></wz-checkbox>\n </div>\n\n <!-- Header contents are added with the headerCell directive -->\n <ng-content select=\"[headerCell]\"></ng-content>\n </div>\n\n <!-- Search section -->\n <div *ngIf=\"!disableSearch\" class=\"wz-table__search\">\n <wz-input-search\n [(ngModel)]=\"tableFilters.searchValue\"\n (changeDebounced)=\"searchChange($event)\"\n [placeholder]=\"placeholder\"\n [smallPadding]=\"true\"\n ></wz-input-search>\n </div>\n\n <!-- Body section -->\n <div class=\"wz-table__body\">\n <!-- Loader on body -->\n <div class=\"wz-table__body__loader\" *ngIf=\"isLoading\">\n <wz-loader [small]=\"true\"></wz-loader>\n </div>\n <!-- Body contents are added with the tableRow directive -->\n <ng-content select=\"[tableRow]\" *ngIf=\"!isLoading\"></ng-content>\n </div>\n\n <!-- Pagination section -->\n <wz-pagination *ngIf=\"!disablePagniation\" [pagination]=\"tableFilters\" (pageChange)=\"pageChange()\"></wz-pagination>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.LoaderComponent, selector: "wz-loader", inputs: ["text", "small", "position"] }, { kind: "component", type: i5.InputSearchComponent, selector: "wz-input-search", inputs: ["placeholder", "smallPadding", "id"], outputs: ["changeDebounced"] }, { kind: "component", type: i6.PaginationComponent, selector: "wz-pagination", inputs: ["pagination"], outputs: ["pageChange"] }, { kind: "component", type: i7.CheckboxComponent, selector: "wz-checkbox", inputs: ["label", "value", "type", "alone", "checked", "id", "name"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
94
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: TableComponent, decorators: [{
|
|
95
|
+
type: Component,
|
|
96
|
+
args: [{ selector: 'wz-table', encapsulation: ViewEncapsulation.None, template: "<div class=\"wz-table\">\n <!-- Header section -->\n <div class=\"wz-table__head\" id=\"headerTable\">\n <div *ngIf=\"checkbox\" class=\"wz-table__head__cell wz-table__head__cell--checkbox\">\n <wz-checkbox [id]=\"headerCheckBoxId\" (change)=\"onToggleAllCheckBox($event)\" [alone]=\"true\"></wz-checkbox>\n </div>\n\n <!-- Header contents are added with the headerCell directive -->\n <ng-content select=\"[headerCell]\"></ng-content>\n </div>\n\n <!-- Search section -->\n <div *ngIf=\"!disableSearch\" class=\"wz-table__search\">\n <wz-input-search\n [(ngModel)]=\"tableFilters.searchValue\"\n (changeDebounced)=\"searchChange($event)\"\n [placeholder]=\"placeholder\"\n [smallPadding]=\"true\"\n ></wz-input-search>\n </div>\n\n <!-- Body section -->\n <div class=\"wz-table__body\">\n <!-- Loader on body -->\n <div class=\"wz-table__body__loader\" *ngIf=\"isLoading\">\n <wz-loader [small]=\"true\"></wz-loader>\n </div>\n <!-- Body contents are added with the tableRow directive -->\n <ng-content select=\"[tableRow]\" *ngIf=\"!isLoading\"></ng-content>\n </div>\n\n <!-- Pagination section -->\n <wz-pagination *ngIf=\"!disablePagniation\" [pagination]=\"tableFilters\" (pageChange)=\"pageChange()\"></wz-pagination>\n</div>\n" }]
|
|
97
|
+
}], ctorParameters: function () { return [{ type: i1.FiltersTableService }]; }, propDecorators: { tableFilters: [{
|
|
98
|
+
type: Input
|
|
99
|
+
}], tableFiltersChange: [{
|
|
100
|
+
type: Output
|
|
101
|
+
}], tableRoutingName: [{
|
|
102
|
+
type: Input
|
|
103
|
+
}], placeholder: [{
|
|
104
|
+
type: Input
|
|
105
|
+
}], checkbox: [{
|
|
106
|
+
type: Input
|
|
107
|
+
}], toggleAllCheckBox: [{
|
|
108
|
+
type: Output
|
|
109
|
+
}], disableSearch: [{
|
|
110
|
+
type: Input
|
|
111
|
+
}], disablePagniation: [{
|
|
112
|
+
type: Input
|
|
113
|
+
}], isLoading: [{
|
|
114
|
+
type: Input
|
|
115
|
+
}] } });
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC90YWJsZS90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkL3RhYmxlL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHbEMsT0FBTyxFQUFnQixtQkFBbUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7Ozs7Ozs7QUFPbEcsTUFBTSxPQUFPLGNBQWM7SUFnQ3pCLFlBQW9CLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBNUJsRCx1QkFBa0IsR0FBK0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUdyRSxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUlsQyxnQ0FBZ0M7UUFFaEMsMkRBQTJEO1FBQ2xELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDMUIsbUNBQW1DO1FBQ3pCLHNCQUFpQixHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXhFLGdDQUFnQztRQUVoQyx3Q0FBd0M7UUFDL0Isa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDeEMseUNBQXlDO1FBQ2hDLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUU1QyxzQ0FBc0M7UUFDN0IsY0FBUyxHQUFHLEtBQUssQ0FBQztJQU1vQyxDQUFDO0lBRWhFLFFBQVE7UUFDTixJQUFJLENBQUMsZ0JB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QVU7U0FDekMsQ0FBQztRQUNGLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDN0IsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQzs7MkdBeEdVLGNBQWM7K0ZBQWQsY0FBYyxpWENYM0IsOHhDQWtDQTsyRkR2QmEsY0FBYztrQkFMMUIsU0FBUzsrQkFDRSxVQUFVLGlCQUVMLGlCQUFpQixDQUFDLElBQUk7MEdBSzVCLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0ksa0JBQWtCO3NCQUEzQixNQUFNO2dCQUVFLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQU9HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksaUJBQWlCO3NCQUExQixNQUFNO2dCQUtFLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgTndiRmlsdGVyR3JvdXAgfSBmcm9tICdAd2l6aXNob3Avbmctd2l6aS1idWxtYSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRhYmxlRmlsdGVycywgRmlsdGVyc1RhYmxlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3RhYmxlL2ZpbHRlcnMtdGFibGUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3d6LXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8vLyBJbnB1dC9PdXRwdXQgb2YgdGFibGUgZmlsdGVycyAvLy9cblxuICBASW5wdXQoKSB0YWJsZUZpbHRlcnM6IFRhYmxlRmlsdGVycztcbiAgQE91dHB1dCgpIHRhYmxlRmlsdGVyc0NoYW5nZTogRXZlbnRFbWl0dGVyPFRhYmxlRmlsdGVycz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQElucHV0KCkgdGFibGVSb3V0aW5nTmFtZTogc3RyaW5nOyAvLyBOYW1lIG9mIHRoZSB0YWJsZVxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gJyc7XG5cbiAgcHJpdmF0ZSBfZmlsdGVyR3JvdXA6IE53YkZpbHRlckdyb3VwO1xuXG4gIC8vLyBJbnB1dC9PdXRwdXQgb2YgY2hlY2tib3ggLy8vXG5cbiAgLyoqIFBhc3MgdG8gdHJ1ZSB0byBkaXNwbGF5IGNoZWNrYm94IGluIHRoZSBoZWFkZXIgdGFibGUgKi9cbiAgQElucHV0KCkgY2hlY2tib3ggPSBmYWxzZTtcbiAgLyoqIEVtaXQgbmV3IGhlYWRlciBjaGVjYm94VmFsdWUgKi9cbiAgQE91dHB1dCgpIHRvZ2dsZUFsbENoZWNrQm94OiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLy8vIElucHV0IHRvIGRpc2FibGUgc2VjdGlvbiAvLy9cblxuICAvKiogUGFzcyB0byB0cnVlIHRvIGhpZGUgc2VhcmNoIGlucHV0ICovXG4gIEBJbnB1dCgpIGRpc2FibGVTZWFyY2g6IGJvb2xlYW4gPSBmYWxzZTtcbiAgLyoqIFBhc3MgdG8gdHJ1ZSB0byBoaWRlIHRoZSBwYWduaWF0b3IgKi9cbiAgQElucHV0KCkgZGlzYWJsZVBhZ25pYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvLy8gSW5wdXQgZm9yIGxvYWRlciBvbiB0YWJsZSBib2R5IC8vL1xuICBASW5wdXQoKSBpc0xvYWRpbmcgPSBmYWxzZTtcblxuICAvLy8gUHJpdmF0ZSB2YXJpYWJsZXMgLy8vXG4gIGhlYWRlckNoZWNrQm94SWQ6IHN0cmluZztcbiAgcHJpdmF0ZSBmaWx0ZXJHcm91cENoYW5nZVN1YjogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmlsdGVyc1RhYmxlU2VydmljZTogRmlsdGVyc1RhYmxlU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhlYWRlckNoZWNrQm94SWQgPSB1dWlkKCk7IC8vIENyZWF0ZSBjaGVja2JveCB1bmlxdWUgaWRcblxuICAgIC8qIEhhbmRsZSByb3V0aW5nIGZpbHRlcnMgKi9cbiAgICBpZiAodGhpcy50YWJsZVJvdXRpbmdOYW1lKSB7XG4gICAgICB0aGlzLl9maWx0ZXJHcm91cCA9IHRoaXMuZmlsdGVyc1RhYmxlU2VydmljZS5nZXRUYWJsZUZpbHRlckdyb3VwKHRoaXMudGFibGVSb3V0aW5nTmFtZSk7XG5cbiAgICAgIC8vIFBlcmZvcm1lIGluaXRpYWwgZmV0Y2ggZGF0YVxuICAgICAgdGhpcy5fZmlsdGVyR3JvdXAudmFsdWVzQ2hhbmdlJC5uZXh0KFtdKTtcblxuICAgICAgdGhpcy5zZXRUYWJsZXNGaWx0ZXJzKCk7XG5cbiAgICAgIC8vIExpc3RlbiB0byBmaWx0ZXJzIGNoYW5nZXMgd2l0aCBkZWJvdW5jZWQgdGltZSB0byBsaW1pdCBtdWx0aXBsZSBhcGkgY2FsbHNcbiAgICAgIHRoaXMuZmlsdGVyR3JvdXBDaGFuZ2VTdWIgPSB0aGlzLl9maWx0ZXJHcm91cC52YWx1ZXNDaGFuZ2UkLnN1YnNjcmliZShmaWx0ZXJzID0+IHtcbiAgICAgICAgdGhpcy5zZXRUYWJsZXNGaWx0ZXJzKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvblRvZ2dsZUFsbENoZWNrQm94KGV2ZW50KSB7XG4gICAgdGhpcy50b2dnbGVBbGxDaGVja0JveC5lbWl0KGV2ZW50LnRhcmdldC5jaGVja2VkKTtcbiAgfVxuXG4gIHNlYXJjaENoYW5nZShldmVudDogc3RyaW5nKSB7XG4gICAgLy8gUmVzZXQgdGFibGUgZmlsdGVyc1xuICAgIHRoaXMudGFibGVGaWx0ZXJzLnNvcnQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy50YWJsZUZpbHRlcnMub3JkZXIgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy50YWJsZUZpbHRlcnMuY3VycmVudFBhZ2UgPSAxO1xuICAgIHRoaXMudGFibGVGaWx0ZXJzQ2hhbmdlLmVtaXQodGhpcy50YWJsZUZpbHRlcnMpO1xuXG4gICAgLy8gUmVzZXQgcm91dGluZyBmaWx0ZXJzXG4gICAgaWYgKHRoaXMuX2ZpbHRlckdyb3VwKSB7XG4gICAgICB0aGlzLl9maWx0ZXJHcm91cC5zZXRWYWx1ZXMoe1xuICAgICAgICBzZWFyY2hWYWx1ZTogdGhpcy50YWJsZUZpbHRlcnMuc2VhcmNoVmFsdWUsXG4gICAgICAgIHNvcnQ6IHVuZGVmaW5lZCxcbiAgICAgICAgb3JkZXI6IHVuZGVmaW5lZCxcbiAgICAgICAgY3VycmVudFBhZ2U6IDFcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHBhZ2VDaGFuZ2UoKSB7XG4gICAgdGhpcy50YWJsZUZpbHRlcnNDaGFuZ2UuZW1pdCh0aGlzLnRhYmxlRmlsdGVycyk7XG4gICAgaWYgKHRoaXMuX2ZpbHRlckdyb3VwKSB7XG4gICAgICB0aGlzLl9maWx0ZXJHcm91cC5zZXRWYWx1ZXMoe1xuICAgICAgICBpdGVtc1BlclBhZ2U6IHRoaXMudGFibGVGaWx0ZXJzLml0ZW1zUGVyUGFnZSxcbiAgICAgICAgY3VycmVudFBhZ2U6IHRoaXMudGFibGVGaWx0ZXJzLmN1cnJlbnRQYWdlXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogIFNldCB0YWJsZUZpbHRlcnMgZnJvbSByb3V0aW5nIGRhdGEgZXhpc3RpbmcgaW4gdGhlIHVybFxuICAgKiAqL1xuICBwcml2YXRlIHNldFRhYmxlc0ZpbHRlcnMoKSB7XG4gICAgdGhpcy50YWJsZUZpbHRlcnMgPSB7XG4gICAgICBzb3J0OiB0aGlzLl9maWx0ZXJHcm91cC5nZXQoJ3NvcnQnKSxcbiAgICAgIG9yZGVyOiB0aGlzLl9maWx0ZXJHcm91cC5nZXQoJ29yZGVyJyksXG4gICAgICBzZWFyY2hWYWx1ZTogdGhpcy5fZmlsdGVyR3JvdXAuZ2V0KCdzZWFyY2hWYWx1ZScpLFxuICAgICAgaXRlbXNQZXJQYWdlOiB0aGlzLl9maWx0ZXJHcm91cC5nZXQoJ2l0ZW1zUGVyUGFnZScpID8gcGFyc2VJbnQodGhpcy5fZmlsdGVyR3JvdXAuZ2V0KCdpdGVtc1BlclBhZ2UnKSkgOiAwLFxuICAgICAgY3VycmVudFBhZ2U6IHRoaXMuX2ZpbHRlckdyb3VwLmdldCgnY3VycmVudFBhZ2UnKSA/IHBhcnNlSW50KHRoaXMuX2ZpbHRlckdyb3VwLmdldCgnY3VycmVudFBhZ2UnKSkgOiAwLFxuICAgICAgdG90YWxJdGVtczogdGhpcy50YWJsZUZpbHRlcnMudG90YWxJdGVtc1xuICAgIH07XG4gICAgdGhpcy50YWJsZUZpbHRlcnNDaGFuZ2UuZW1pdCh0aGlzLnRhYmxlRmlsdGVycyk7XG4gIH1cblxuICBuZ0Rlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuZmlsdGVyR3JvdXBDaGFuZ2VTdWIpIHtcbiAgICAgIHRoaXMuZmlsdGVyR3JvdXBDaGFuZ2VTdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ3ei10YWJsZVwiPlxuICA8IS0tIEhlYWRlciBzZWN0aW9uIC0tPlxuICA8ZGl2IGNsYXNzPVwid3otdGFibGVfX2hlYWRcIiBpZD1cImhlYWRlclRhYmxlXCI+XG4gICAgPGRpdiAqbmdJZj1cImNoZWNrYm94XCIgY2xhc3M9XCJ3ei10YWJsZV9faGVhZF9fY2VsbCB3ei10YWJsZV9faGVhZF9fY2VsbC0tY2hlY2tib3hcIj5cbiAgICAgIDx3ei1jaGVja2JveCBbaWRdPVwiaGVhZGVyQ2hlY2tCb3hJZFwiIChjaGFuZ2UpPVwib25Ub2dnbGVBbGxDaGVja0JveCgkZXZlbnQpXCIgW2Fsb25lXT1cInRydWVcIj48L3d6LWNoZWNrYm94PlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBIZWFkZXIgY29udGVudHMgYXJlIGFkZGVkIHdpdGggdGhlIGhlYWRlckNlbGwgZGlyZWN0aXZlIC0tPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltoZWFkZXJDZWxsXVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG5cbiAgPCEtLSBTZWFyY2ggc2VjdGlvbiAtLT5cbiAgPGRpdiAqbmdJZj1cIiFkaXNhYmxlU2VhcmNoXCIgY2xhc3M9XCJ3ei10YWJsZV9fc2VhcmNoXCI+XG4gICAgPHd6LWlucHV0LXNlYXJjaFxuICAgICAgWyhuZ01vZGVsKV09XCJ0YWJsZUZpbHRlcnMuc2VhcmNoVmFsdWVcIlxuICAgICAgKGNoYW5nZURlYm91bmNlZCk9XCJzZWFyY2hDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgW3NtYWxsUGFkZGluZ109XCJ0cnVlXCJcbiAgICA+PC93ei1pbnB1dC1zZWFyY2g+XG4gIDwvZGl2PlxuXG4gIDwhLS0gQm9keSBzZWN0aW9uIC0tPlxuICA8ZGl2IGNsYXNzPVwid3otdGFibGVfX2JvZHlcIj5cbiAgICA8IS0tIExvYWRlciBvbiBib2R5IC0tPlxuICAgIDxkaXYgY2xhc3M9XCJ3ei10YWJsZV9fYm9keV9fbG9hZGVyXCIgKm5nSWY9XCJpc0xvYWRpbmdcIj5cbiAgICAgIDx3ei1sb2FkZXIgW3NtYWxsXT1cInRydWVcIj48L3d6LWxvYWRlcj5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIEJvZHkgY29udGVudHMgYXJlIGFkZGVkIHdpdGggdGhlIHRhYmxlUm93IGRpcmVjdGl2ZSAtLT5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbdGFibGVSb3ddXCIgKm5nSWY9XCIhaXNMb2FkaW5nXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cblxuICA8IS0tIFBhZ2luYXRpb24gc2VjdGlvbiAtLT5cbiAgPHd6LXBhZ2luYXRpb24gKm5nSWY9XCIhZGlzYWJsZVBhZ25pYXRpb25cIiBbcGFnaW5hdGlvbl09XCJ0YWJsZUZpbHRlcnNcIiAocGFnZUNoYW5nZSk9XCJwYWdlQ2hhbmdlKClcIj48L3d6LXBhZ2luYXRpb24+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
import { ImgSelectionService } from '../../services/img-selection.service';
|
|
3
|
+
import { easeInOut } from '../../animations/easeInOut/ease-in-out.animation';
|
|
4
|
+
import { RenamePictureService } from '../../services/rename-picture.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../../services/img-selection.service";
|
|
7
|
+
import * as i2 from "../../services/rename-picture.service";
|
|
8
|
+
import * as i3 from "@angular/common";
|
|
9
|
+
import * as i4 from "ngx-perfect-scrollbar";
|
|
10
|
+
import * as i5 from "../images-view/mosaic-view/img-card/img-card.component";
|
|
11
|
+
import * as i6 from "@ngx-translate/core";
|
|
12
|
+
export class UploadListComponent {
|
|
13
|
+
constructor(imgSelectionService, renamePictureService) {
|
|
14
|
+
this.imgSelectionService = imgSelectionService;
|
|
15
|
+
this.renamePictureService = renamePictureService;
|
|
16
|
+
this.picturesList = [];
|
|
17
|
+
this.multipleImgMode = false;
|
|
18
|
+
this.switchDisplayWindow = new EventEmitter();
|
|
19
|
+
}
|
|
20
|
+
ngOnInit() {
|
|
21
|
+
this.setEvents();
|
|
22
|
+
}
|
|
23
|
+
onImgUploaded(img) {
|
|
24
|
+
img.forEach(picture => this.picturesList.push(picture));
|
|
25
|
+
this.renamePictureService.setPicturesList(this.picturesList);
|
|
26
|
+
}
|
|
27
|
+
onToggleSelectImg(index) {
|
|
28
|
+
if (this.stateDisplayed === 'window') {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
if (!this.picturesList[index].selected) {
|
|
32
|
+
this.imgSelectionService.addImgSelected(this.picturesList[index]);
|
|
33
|
+
this.picturesList[index].selected = true;
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
this.imgSelectionService.removeImgSelectedById(this.picturesList[index].id_file);
|
|
37
|
+
this.picturesList[index].selected = false;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
switchDisplayWindowCard() {
|
|
41
|
+
this.switchDisplayWindow.emit(true);
|
|
42
|
+
}
|
|
43
|
+
onRenamePicture(pictureRenamed) {
|
|
44
|
+
this.renamePictureService.onRenamePicture(pictureRenamed);
|
|
45
|
+
}
|
|
46
|
+
setEvents() {
|
|
47
|
+
this.imgSelectionChange = this.imgSelectionService.getImgSelectionChange().subscribe(imgSelection => {
|
|
48
|
+
const idFileList = [];
|
|
49
|
+
imgSelection.map(img => idFileList.push(img.id_file));
|
|
50
|
+
for (const picture of this.picturesList) {
|
|
51
|
+
if (idFileList.indexOf(picture.id_file) === -1) {
|
|
52
|
+
picture.selected = false;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
ngOnDestroy() {
|
|
58
|
+
this.imgSelectionChange.unsubscribe();
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
UploadListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: UploadListComponent, deps: [{ token: i1.ImgSelectionService }, { token: i2.RenamePictureService }], target: i0.ɵɵFactoryTarget.Component });
|
|
62
|
+
UploadListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: UploadListComponent, selector: "upload-list", inputs: { stateDisplayed: "stateDisplayed", tabDisplayed: "tabDisplayed", multipleImgMode: "multipleImgMode" }, outputs: { switchDisplayWindow: "switchDisplayWindow" }, ngImport: i0, template: "<div class=\"upload-list\" [ngClass]=\"{'smallDisplay': stateDisplayed === 'small'}\" [@easeInOut]=\"'in'\">\n\n <perfect-scrollbar\n #scrollable\n [config]=\"{ suppressScrollX: true }\"\n class=\"upload-list__scroll\"\n [ngClass]=\"{\n 'upload-list__scroll--smallDisplay': stateDisplayed === 'small',\n 'upload-list__scroll--window': stateDisplayed === 'window'}\"\n >\n <div class=\"upload-list__box\">\n <div class=\"upload-list__box__container\">\n <div>\n <p class=\"mainColor\">\n {{ picturesList? picturesList.length : '' }}\n <ng-container *ngIf=\"picturesList && picturesList.length > 1\">{{ 'ImgManager.UploadList.imgSuccessImport' | translate }}</ng-container>\n <ng-container *ngIf=\"picturesList && picturesList.length === 1\">{{ 'ImgManager.UploadList.imgSuccessImportOne' | translate }}</ng-container>\n </p>\n <div class=\"dropdown is-hoverable\">\n <div class=\"dropdown-trigger\">\n <i\n aria-haspopup=\"true\" aria-controls=\"dropdown-menuInfoSeo\"\n class=\"fas fa-info-circle\">\n </i>\n </div>\n <div class=\"dropdown-menu dropDownShadow\" id=\"dropdown-menuInfoSeo\" role=\"menu\">\n <div class=\"dropdown-content\">\n <div class=\"dropdown-item\">\n <p>{{ 'ImgManager.UploadList.seo.rezise' | translate }}</p>\n <p><i class=\"fal fa-check\"></i> 100%</p>\n </div>\n <div class=\"dropdown-item\">\n <p>{{ 'ImgManager.UploadList.seo.webp' | translate }}</p>\n <p><i class=\"fal fa-check\"></i> 100%</p>\n </div>\n <div class=\"dropdown-item\">\n <p>{{ 'ImgManager.UploadList.seo.cdn' | translate }}</p>\n <p><i class=\"fal fa-check\"></i> 100%</p>\n </div>\n <div class=\"dropdown-item\">\n <p>{{ 'ImgManager.UploadList.seo.lazyloading' | translate }}</p>\n <p><i class=\"fal fa-check\"></i> 100%</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"upload-list__box__cards\">\n <div class=\"upload-list__box__cards__card\" *ngFor=\"let picture of picturesList; let index = index;\">\n <img-card\n [picture]=\"picture\"\n [stateDisplayed]=\"stateDisplayed\"\n (toggleImgSelected)=\"onToggleSelectImg(index)\"\n (switchDisplayWindow)=\"switchDisplayWindowCard()\"\n (pictureNameChange)=\"onRenamePicture($event)\"\n ></img-card>\n <div class=\"upload-list__box__cards__card__btnBox\">\n <button class=\"button success upload-list__box__cards__card__btnBox__btn\"><i class=\"fal fa-check\"></i></button>\n </div>\n </div>\n </div>\n </div>\n </perfect-scrollbar>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.PerfectScrollbarComponent, selector: "perfect-scrollbar", inputs: ["disabled", "usePSClass", "autoPropagation", "scrollIndicators", "config"], outputs: ["psScrollY", "psScrollX", "psScrollUp", "psScrollDown", "psScrollLeft", "psScrollRight", "psYReachEnd", "psYReachStart", "psXReachEnd", "psXReachStart"], exportAs: ["ngxPerfectScrollbar"] }, { kind: "component", type: i5.ImgCardComponent, selector: "img-card", inputs: ["tabDisplayed", "fullSize", "picture", "index"], outputs: ["toggleImgSelected", "switchDisplayWindow"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], animations: [
|
|
63
|
+
easeInOut
|
|
64
|
+
] });
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: UploadListComponent, decorators: [{
|
|
66
|
+
type: Component,
|
|
67
|
+
args: [{ selector: 'upload-list', animations: [
|
|
68
|
+
easeInOut
|
|
69
|
+
], template: "<div class=\"upload-list\" [ngClass]=\"{'smallDisplay': stateDisplayed === 'small'}\" [@easeInOut]=\"'in'\">\n\n <perfect-scrollbar\n #scrollable\n [config]=\"{ suppressScrollX: true }\"\n class=\"upload-list__scroll\"\n [ngClass]=\"{\n 'upload-list__scroll--smallDisplay': stateDisplayed === 'small',\n 'upload-list__scroll--window': stateDisplayed === 'window'}\"\n >\n <div class=\"upload-list__box\">\n <div class=\"upload-list__box__container\">\n <div>\n <p class=\"mainColor\">\n {{ picturesList? picturesList.length : '' }}\n <ng-container *ngIf=\"picturesList && picturesList.length > 1\">{{ 'ImgManager.UploadList.imgSuccessImport' | translate }}</ng-container>\n <ng-container *ngIf=\"picturesList && picturesList.length === 1\">{{ 'ImgManager.UploadList.imgSuccessImportOne' | translate }}</ng-container>\n </p>\n <div class=\"dropdown is-hoverable\">\n <div class=\"dropdown-trigger\">\n <i\n aria-haspopup=\"true\" aria-controls=\"dropdown-menuInfoSeo\"\n class=\"fas fa-info-circle\">\n </i>\n </div>\n <div class=\"dropdown-menu dropDownShadow\" id=\"dropdown-menuInfoSeo\" role=\"menu\">\n <div class=\"dropdown-content\">\n <div class=\"dropdown-item\">\n <p>{{ 'ImgManager.UploadList.seo.rezise' | translate }}</p>\n <p><i class=\"fal fa-check\"></i> 100%</p>\n </div>\n <div class=\"dropdown-item\">\n <p>{{ 'ImgManager.UploadList.seo.webp' | translate }}</p>\n <p><i class=\"fal fa-check\"></i> 100%</p>\n </div>\n <div class=\"dropdown-item\">\n <p>{{ 'ImgManager.UploadList.seo.cdn' | translate }}</p>\n <p><i class=\"fal fa-check\"></i> 100%</p>\n </div>\n <div class=\"dropdown-item\">\n <p>{{ 'ImgManager.UploadList.seo.lazyloading' | translate }}</p>\n <p><i class=\"fal fa-check\"></i> 100%</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"upload-list__box__cards\">\n <div class=\"upload-list__box__cards__card\" *ngFor=\"let picture of picturesList; let index = index;\">\n <img-card\n [picture]=\"picture\"\n [stateDisplayed]=\"stateDisplayed\"\n (toggleImgSelected)=\"onToggleSelectImg(index)\"\n (switchDisplayWindow)=\"switchDisplayWindowCard()\"\n (pictureNameChange)=\"onRenamePicture($event)\"\n ></img-card>\n <div class=\"upload-list__box__cards__card__btnBox\">\n <button class=\"button success upload-list__box__cards__card__btnBox__btn\"><i class=\"fal fa-check\"></i></button>\n </div>\n </div>\n </div>\n </div>\n </perfect-scrollbar>\n</div>\n" }]
|
|
70
|
+
}], ctorParameters: function () { return [{ type: i1.ImgSelectionService }, { type: i2.RenamePictureService }]; }, propDecorators: { stateDisplayed: [{
|
|
71
|
+
type: Input
|
|
72
|
+
}], tabDisplayed: [{
|
|
73
|
+
type: Input
|
|
74
|
+
}], multipleImgMode: [{
|
|
75
|
+
type: Input
|
|
76
|
+
}], switchDisplayWindow: [{
|
|
77
|
+
type: Output
|
|
78
|
+
}] } });
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9jb21wb25lbnRzL3VwbG9hZC1saXN0L3VwbG9hZC1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy91cGxvYWQtbGlzdC91cGxvYWQtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRzdFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUU3RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7Ozs7QUFTN0UsTUFBTSxPQUFPLG1CQUFtQjtJQVk5QixZQUNVLG1CQUF3QyxFQUN4QyxvQkFBMEM7UUFEMUMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBWnBELGlCQUFZLEdBQW9CLEVBQUUsQ0FBQztRQU0xQixvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUUxQyx3QkFBbUIsR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUs1RCxDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsYUFBYSxDQUFDLEdBQW9CO1FBQ2hDLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQzlCLENBQUM7UUFDSixJQUFJLENBQUMsb0JBQW9CLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBYTtRQUM3QixJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssUUFBUSxFQUFFO1lBQ3BDLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRTtZQUN0QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNsRSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDMUM7YUFBTTtZQUNMLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pGLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztTQUMzQztJQUNILENBQUM7SUFFRCx1QkFBdUI7UUFDckIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsZUFBZSxDQUFDLGNBQWlDO1FBQy9DLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHFCQUFxQixFQUFFLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ2xHLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQztZQUN0QixZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUN0RCxLQUFLLE1BQU0sT0FBTyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ3ZDLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7b0JBQzlDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2lCQUMxQjthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QyxDQUFDOztnSEE5RFUsbUJBQW1CO29HQUFuQixtQkFBbUIsNE5DZmhDLHNsSEFrRUEseThCRHZEYztRQUNWLFNBQVM7S0FDVjsyRkFFVSxtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0UsYUFBYSxjQUVYO3dCQUNWLFNBQVM7cUJBQ1Y7NklBUVEsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRU4sbUJBQW1CO3NCQURsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEltZ1BpY3R1cmVEVE8gfSBmcm9tICcuLi8uLi9kdG8vaW1nLW1hbmFnZXIuZHRvJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW1nU2VsZWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ltZy1zZWxlY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBlYXNlSW5PdXQgfSBmcm9tICcuLi8uLi9hbmltYXRpb25zL2Vhc2VJbk91dC9lYXNlLWluLW91dC5hbmltYXRpb24nO1xuaW1wb3J0IHsgUGljdHVyZU5hbWVVcGRhdGUsIHN0YXRlRGlzcGxheWVkLCB0YWJEaXNwbGF5ZWQgfSBmcm9tICcuLi8uLi9kdG8vZXhwb3J0LWR0b3MuYXBpJztcbmltcG9ydCB7IFJlbmFtZVBpY3R1cmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcmVuYW1lLXBpY3R1cmUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VwbG9hZC1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VwbG9hZC1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgYW5pbWF0aW9uczogW1xuICAgIGVhc2VJbk91dFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFVwbG9hZExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHBpY3R1cmVzTGlzdDogSW1nUGljdHVyZURUT1tdID0gW107XG4gIGltZ1NlbGVjdGlvbkNoYW5nZTogU3Vic2NyaXB0aW9uO1xuICBzZWxlY3RJbWdFdmVudDogU3Vic2NyaXB0aW9uO1xuXG4gIEBJbnB1dCgpIHN0YXRlRGlzcGxheWVkOiBzdGF0ZURpc3BsYXllZDtcbiAgQElucHV0KCkgdGFiRGlzcGxheWVkOiB0YWJEaXNwbGF5ZWQ7XG4gIEBJbnB1dCgpIG11bHRpcGxlSW1nTW9kZTogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KClcbiAgc3dpdGNoRGlzcGxheVdpbmRvdzogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaW1nU2VsZWN0aW9uU2VydmljZTogSW1nU2VsZWN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJlbmFtZVBpY3R1cmVTZXJ2aWNlOiBSZW5hbWVQaWN0dXJlU2VydmljZVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0RXZlbnRzKCk7XG4gIH1cblxuICBvbkltZ1VwbG9hZGVkKGltZzogSW1nUGljdHVyZURUT1tdKSB7XG4gICAgaW1nLmZvckVhY2gocGljdHVyZSA9PlxuICAgICAgdGhpcy5waWN0dXJlc0xpc3QucHVzaChwaWN0dXJlKVxuICAgICAgKTtcbiAgICB0aGlzLnJlbmFtZVBpY3R1cmVTZXJ2aWNlLnNldFBpY3R1cmVzTGlzdCh0aGlzLnBpY3R1cmVzTGlzdCk7XG4gIH1cblxuICBvblRvZ2dsZVNlbGVjdEltZyhpbmRleDogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuc3RhdGVEaXNwbGF5ZWQgPT09ICd3aW5kb3cnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghdGhpcy5waWN0dXJlc0xpc3RbaW5kZXhdLnNlbGVjdGVkKSB7XG4gICAgICB0aGlzLmltZ1NlbGVjdGlvblNlcnZpY2UuYWRkSW1nU2VsZWN0ZWQodGhpcy5waWN0dXJlc0xpc3RbaW5kZXhdKTtcbiAgICAgIHRoaXMucGljdHVyZXNMaXN0W2luZGV4XS5zZWxlY3RlZCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW1nU2VsZWN0aW9uU2VydmljZS5yZW1vdmVJbWdTZWxlY3RlZEJ5SWQodGhpcy5waWN0dXJlc0xpc3RbaW5kZXhdLmlkX2ZpbGUpO1xuICAgICAgdGhpcy5waWN0dXJlc0xpc3RbaW5kZXhdLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgc3dpdGNoRGlzcGxheVdpbmRvd0NhcmQoKSB7XG4gICAgdGhpcy5zd2l0Y2hEaXNwbGF5V2luZG93LmVtaXQodHJ1ZSk7XG4gIH1cblxuICBvblJlbmFtZVBpY3R1cmUocGljdHVyZVJlbmFtZWQ6IFBpY3R1cmVOYW1lVXBkYXRlKSB7XG4gICAgdGhpcy5yZW5hbWVQaWN0dXJlU2VydmljZS5vblJlbmFtZVBpY3R1cmUocGljdHVyZVJlbmFtZWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRFdmVudHMoKSB7XG4gICAgdGhpcy5pbWdTZWxlY3Rpb25DaGFuZ2UgPSB0aGlzLmltZ1NlbGVjdGlvblNlcnZpY2UuZ2V0SW1nU2VsZWN0aW9uQ2hhbmdlKCkuc3Vic2NyaWJlKGltZ1NlbGVjdGlvbiA9PntcbiAgICAgIGNvbnN0IGlkRmlsZUxpc3QgPSBbXTtcbiAgICAgIGltZ1NlbGVjdGlvbi5tYXAoaW1nID0+IGlkRmlsZUxpc3QucHVzaChpbWcuaWRfZmlsZSkpO1xuICAgICAgZm9yIChjb25zdCBwaWN0dXJlIG9mIHRoaXMucGljdHVyZXNMaXN0KSB7XG4gICAgICAgIGlmIChpZEZpbGVMaXN0LmluZGV4T2YocGljdHVyZS5pZF9maWxlKSA9PT0gLTEpIHtcbiAgICAgICAgICBwaWN0dXJlLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmltZ1NlbGVjdGlvbkNoYW5nZS51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidXBsb2FkLWxpc3RcIiBbbmdDbGFzc109XCJ7J3NtYWxsRGlzcGxheSc6IHN0YXRlRGlzcGxheWVkID09PSAnc21hbGwnfVwiIFtAZWFzZUluT3V0XT1cIidpbidcIj5cblxuICAgIDxwZXJmZWN0LXNjcm9sbGJhclxuICAgICAgICAjc2Nyb2xsYWJsZVxuICAgICAgICBbY29uZmlnXT1cInsgc3VwcHJlc3NTY3JvbGxYOiB0cnVlIH1cIlxuICAgICAgICBjbGFzcz1cInVwbG9hZC1saXN0X19zY3JvbGxcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAndXBsb2FkLWxpc3RfX3Njcm9sbC0tc21hbGxEaXNwbGF5Jzogc3RhdGVEaXNwbGF5ZWQgPT09ICdzbWFsbCcsXG4gICAgICAgICAgICAndXBsb2FkLWxpc3RfX3Njcm9sbC0td2luZG93Jzogc3RhdGVEaXNwbGF5ZWQgPT09ICd3aW5kb3cnfVwiXG4gICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidXBsb2FkLWxpc3RfX2JveFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVwbG9hZC1saXN0X19ib3hfX2NvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibWFpbkNvbG9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBwaWN0dXJlc0xpc3Q/IHBpY3R1cmVzTGlzdC5sZW5ndGggOiAnJyB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBpY3R1cmVzTGlzdCAmJiBwaWN0dXJlc0xpc3QubGVuZ3RoID4gMVwiPnt7ICdJbWdNYW5hZ2VyLlVwbG9hZExpc3QuaW1nU3VjY2Vzc0ltcG9ydCcgfCB0cmFuc2xhdGUgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwaWN0dXJlc0xpc3QgJiYgcGljdHVyZXNMaXN0Lmxlbmd0aCA9PT0gMVwiPnt7ICdJbWdNYW5hZ2VyLlVwbG9hZExpc3QuaW1nU3VjY2Vzc0ltcG9ydE9uZScgfCB0cmFuc2xhdGUgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24gaXMtaG92ZXJhYmxlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tdHJpZ2dlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCIgYXJpYS1jb250cm9scz1cImRyb3Bkb3duLW1lbnVJbmZvU2VvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmYXMgZmEtaW5mby1jaXJjbGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1tZW51IGRyb3BEb3duU2hhZG93XCIgaWQ9XCJkcm9wZG93bi1tZW51SW5mb1Nlb1wiIHJvbGU9XCJtZW51XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPnt7ICdJbWdNYW5hZ2VyLlVwbG9hZExpc3Quc2VvLnJlemlzZScgfCB0cmFuc2xhdGUgfX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48aSBjbGFzcz1cImZhbCBmYS1jaGVja1wiPjwvaT4gMTAwJTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24taXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD57eyAnSW1nTWFuYWdlci5VcGxvYWRMaXN0LnNlby53ZWJwJyB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGkgY2xhc3M9XCJmYWwgZmEtY2hlY2tcIj48L2k+IDEwMCU8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+e3sgJ0ltZ01hbmFnZXIuVXBsb2FkTGlzdC5zZW8uY2RuJyB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGkgY2xhc3M9XCJmYWwgZmEtY2hlY2tcIj48L2k+IDEwMCU8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+e3sgJ0ltZ01hbmFnZXIuVXBsb2FkTGlzdC5zZW8ubGF6eWxvYWRpbmcnIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48aSBjbGFzcz1cImZhbCBmYS1jaGVja1wiPjwvaT4gMTAwJTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVwbG9hZC1saXN0X19ib3hfX2NhcmRzXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVwbG9hZC1saXN0X19ib3hfX2NhcmRzX19jYXJkXCIgKm5nRm9yPVwibGV0IHBpY3R1cmUgb2YgcGljdHVyZXNMaXN0OyBsZXQgaW5kZXggPSBpbmRleDtcIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZy1jYXJkXG4gICAgICAgICAgICAgICAgICAgICAgICBbcGljdHVyZV09XCJwaWN0dXJlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzdGF0ZURpc3BsYXllZF09XCJzdGF0ZURpc3BsYXllZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAodG9nZ2xlSW1nU2VsZWN0ZWQpPVwib25Ub2dnbGVTZWxlY3RJbWcoaW5kZXgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChzd2l0Y2hEaXNwbGF5V2luZG93KT1cInN3aXRjaERpc3BsYXlXaW5kb3dDYXJkKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKHBpY3R1cmVOYW1lQ2hhbmdlKT1cIm9uUmVuYW1lUGljdHVyZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvaW1nLWNhcmQ+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1cGxvYWQtbGlzdF9fYm94X19jYXJkc19fY2FyZF9fYnRuQm94XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIHN1Y2Nlc3MgdXBsb2FkLWxpc3RfX2JveF9fY2FyZHNfX2NhcmRfX2J0bkJveF9fYnRuXCI+PGkgY2xhc3M9XCJmYWwgZmEtY2hlY2tcIj48L2k+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvcGVyZmVjdC1zY3JvbGxiYXI+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Directive, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import { takeUntil, debounceTime, distinctUntilChanged, tap } from 'rxjs/operators';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class AbstractDebounceDirective {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.debounceTime = 500;
|
|
8
|
+
this.onEventChange = new EventEmitter();
|
|
9
|
+
this.emitEvent$ = new Subject();
|
|
10
|
+
this.subscription$ = new Subject();
|
|
11
|
+
}
|
|
12
|
+
ngOnInit() {
|
|
13
|
+
this.emitEvent$
|
|
14
|
+
.pipe(takeUntil(this.subscription$), debounceTime(this.debounceTime), distinctUntilChanged(), tap(value => this.emitChange(value)))
|
|
15
|
+
.subscribe();
|
|
16
|
+
}
|
|
17
|
+
emitChange(value) {
|
|
18
|
+
this.onEventChange.emit(value);
|
|
19
|
+
}
|
|
20
|
+
ngOnDestroy() {
|
|
21
|
+
this.subscription$.next();
|
|
22
|
+
this.subscription$.complete();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
AbstractDebounceDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: AbstractDebounceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
26
|
+
AbstractDebounceDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.3", type: AbstractDebounceDirective, selector: "AbstractDebounceDirective", inputs: { debounceTime: "debounceTime" }, outputs: { onEventChange: "onEventChange" }, ngImport: i0 });
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: AbstractDebounceDirective, decorators: [{
|
|
28
|
+
type: Directive,
|
|
29
|
+
args: [{
|
|
30
|
+
selector: 'AbstractDebounceDirective'
|
|
31
|
+
}]
|
|
32
|
+
}], ctorParameters: function () { return []; }, propDecorators: { debounceTime: [{
|
|
33
|
+
type: Input
|
|
34
|
+
}], onEventChange: [{
|
|
35
|
+
type: Output
|
|
36
|
+
}] } });
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZGVib3VuY2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9kaXJlY3RpdmVzL2Fic3RyYWN0LWRlYm91bmNlL2Fic3RyYWN0LWRlYm91bmNlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFhLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBS3BGLE1BQU0sT0FBTyx5QkFBeUI7SUFVcEM7UUFDRSxJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDN0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBTyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUMzQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVO2FBQ1osSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQzdCLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQy9CLG9CQUFvQixFQUFFLEVBQ3RCLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDckM7YUFDQSxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQVU7UUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDaEMsQ0FBQzs7c0hBbkNVLHlCQUF5QjswR0FBekIseUJBQXlCOzJGQUF6Qix5QkFBeUI7a0JBSHJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtpQkFDdEM7MEVBR1EsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxhQUFhO3NCQURuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBPbkRlc3Ryb3ksIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsLCBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ0Fic3RyYWN0RGVib3VuY2VEaXJlY3RpdmUnXG59KVxuZXhwb3J0IGNsYXNzIEFic3RyYWN0RGVib3VuY2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGVib3VuY2VUaW1lOiBudW1iZXI7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvbkV2ZW50Q2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PjtcblxuICBwcm90ZWN0ZWQgZW1pdEV2ZW50JDogU3ViamVjdDxhbnk+O1xuICBwcm90ZWN0ZWQgc3Vic2NyaXB0aW9uJDogU3ViamVjdDx2b2lkPjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmRlYm91bmNlVGltZSA9IDUwMDtcbiAgICB0aGlzLm9uRXZlbnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICB0aGlzLmVtaXRFdmVudCQgPSBuZXcgU3ViamVjdDxhbnk+KCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24kID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZW1pdEV2ZW50JFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnN1YnNjcmlwdGlvbiQpLFxuICAgICAgICBkZWJvdW5jZVRpbWUodGhpcy5kZWJvdW5jZVRpbWUpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICB0YXAodmFsdWUgPT4gdGhpcy5lbWl0Q2hhbmdlKHZhbHVlKSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBlbWl0Q2hhbmdlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uRXZlbnRDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiQubmV4dCgpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uJC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Directive, HostListener } from '@angular/core';
|
|
2
|
+
import { AbstractDebounceDirective } from './abstract-debounce.directive';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class DebounceKeyupDirective extends AbstractDebounceDirective {
|
|
5
|
+
constructor() {
|
|
6
|
+
super();
|
|
7
|
+
}
|
|
8
|
+
onKeyUp(event) {
|
|
9
|
+
event.preventDefault();
|
|
10
|
+
this.emitEvent$.next(event);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
DebounceKeyupDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: DebounceKeyupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
14
|
+
DebounceKeyupDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.3", type: DebounceKeyupDirective, selector: "input[debounceKeyUp]", host: { listeners: { "keyup": "onKeyUp($event)" } }, usesInheritance: true, ngImport: i0 });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: DebounceKeyupDirective, decorators: [{
|
|
16
|
+
type: Directive,
|
|
17
|
+
args: [{
|
|
18
|
+
selector: 'input[debounceKeyUp]'
|
|
19
|
+
}]
|
|
20
|
+
}], ctorParameters: function () { return []; }, propDecorators: { onKeyUp: [{
|
|
21
|
+
type: HostListener,
|
|
22
|
+
args: ['keyup', ['$event']]
|
|
23
|
+
}] } });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVib3VuY2Uta2V5dXAuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9kaXJlY3RpdmVzL2Fic3RyYWN0LWRlYm91bmNlL2RlYm91bmNlLWtleXVwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFJMUUsTUFBTSxPQUFPLHNCQUF1QixTQUFRLHlCQUF5QjtJQUNuRTtRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztJQUdNLE9BQU8sQ0FBQyxLQUFVO1FBQ3ZCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDOzttSEFUVSxzQkFBc0I7dUdBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQUhsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7aUJBQ2pDOzBFQU9RLE9BQU87c0JBRGIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3REZWJvdW5jZURpcmVjdGl2ZSB9IGZyb20gJy4vYWJzdHJhY3QtZGVib3VuY2UuZGlyZWN0aXZlJztcbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2lucHV0W2RlYm91bmNlS2V5VXBdJ1xufSlcbmV4cG9ydCBjbGFzcyBEZWJvdW5jZUtleXVwRGlyZWN0aXZlIGV4dGVuZHMgQWJzdHJhY3REZWJvdW5jZURpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXl1cCcsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbktleVVwKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuZW1pdEV2ZW50JC5uZXh0KGV2ZW50KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Directive, ElementRef, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
import { DomService } from '../services/dom.service';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../services/dom.service";
|
|
5
|
+
export class AutoHideDirective {
|
|
6
|
+
constructor(_elementRef, domService) {
|
|
7
|
+
this._elementRef = _elementRef;
|
|
8
|
+
this.domService = domService;
|
|
9
|
+
this.forceOn = null;
|
|
10
|
+
this.clickOutside = new EventEmitter();
|
|
11
|
+
}
|
|
12
|
+
ngAfterViewInit() {
|
|
13
|
+
this.domService.documentEvent().subscribe((targetElement) => {
|
|
14
|
+
const clickedInside = this._elementRef.nativeElement.contains(targetElement);
|
|
15
|
+
const classNameFromElement = targetElement.getAttribute('class');
|
|
16
|
+
if (!clickedInside && (classNameFromElement === null || !classNameFromElement.includes(this.triggerElement))) {
|
|
17
|
+
this.clickOutside.emit(null);
|
|
18
|
+
}
|
|
19
|
+
if (this.forceOn != null && classNameFromElement !== null) {
|
|
20
|
+
let needToClose = true;
|
|
21
|
+
this.forceOn.forEach(v => {
|
|
22
|
+
if (!classNameFromElement.includes(v)) {
|
|
23
|
+
needToClose = false;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
if (needToClose) {
|
|
27
|
+
this.clickOutside.emit(null);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
AutoHideDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: AutoHideDirective, deps: [{ token: i0.ElementRef }, { token: i1.DomService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
34
|
+
AutoHideDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.3", type: AutoHideDirective, selector: "[wzAutoHide]", inputs: { triggerElement: "triggerElement", forceOn: "forceOn" }, outputs: { clickOutside: "clickOutside" }, ngImport: i0 });
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: AutoHideDirective, decorators: [{
|
|
36
|
+
type: Directive,
|
|
37
|
+
args: [{
|
|
38
|
+
selector: '[wzAutoHide]'
|
|
39
|
+
}]
|
|
40
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.DomService }]; }, propDecorators: { triggerElement: [{
|
|
41
|
+
type: Input
|
|
42
|
+
}], forceOn: [{
|
|
43
|
+
type: Input
|
|
44
|
+
}], clickOutside: [{
|
|
45
|
+
type: Output,
|
|
46
|
+
args: ['clickOutside']
|
|
47
|
+
}] } });
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1oaWRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvZGlyZWN0aXZlcy9hdXRvLWhpZGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQUtyRCxNQUFNLE9BQU8saUJBQWlCO0lBSTVCLFlBQW9CLFdBQXVCLEVBQVUsVUFBc0I7UUFBdkQsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBRmxFLFlBQU8sR0FBa0IsSUFBSSxDQUFDO1FBSWYsaUJBQVksR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUZDLENBQUM7SUFJL0UsZUFBZTtRQUNiLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsYUFBc0IsRUFBRSxFQUFFO1lBQ25FLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUM3RSxNQUFNLG9CQUFvQixHQUFHLGFBQWEsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFakUsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLG9CQUFvQixLQUFLLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRTtnQkFDNUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDOUI7WUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxJQUFJLG9CQUFvQixLQUFLLElBQUksRUFBRTtnQkFDekQsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDO2dCQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDdkIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRTt3QkFDckMsV0FBVyxHQUFHLEtBQUssQ0FBQztxQkFDckI7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsSUFBSSxXQUFXLEVBQUU7b0JBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQzlCO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzhHQTdCVSxpQkFBaUI7a0dBQWpCLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQUg3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO2lCQUN6QjswSEFFVSxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFJa0IsWUFBWTtzQkFBbkMsTUFBTTt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9kb20uc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t3ekF1dG9IaWRlXSdcbn0pXG5leHBvcnQgY2xhc3MgQXV0b0hpZGVEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgdHJpZ2dlckVsZW1lbnQ6IHN0cmluZztcbiAgQElucHV0KCkgZm9yY2VPbjogQXJyYXk8c3RyaW5nPiA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBkb21TZXJ2aWNlOiBEb21TZXJ2aWNlKSB7fVxuXG4gIEBPdXRwdXQoJ2NsaWNrT3V0c2lkZScpIGNsaWNrT3V0c2lkZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZG9tU2VydmljZS5kb2N1bWVudEV2ZW50KCkuc3Vic2NyaWJlKCh0YXJnZXRFbGVtZW50OiBFbGVtZW50KSA9PiB7XG4gICAgICBjb25zdCBjbGlja2VkSW5zaWRlID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldEVsZW1lbnQpO1xuICAgICAgY29uc3QgY2xhc3NOYW1lRnJvbUVsZW1lbnQgPSB0YXJnZXRFbGVtZW50LmdldEF0dHJpYnV0ZSgnY2xhc3MnKTtcblxuICAgICAgaWYgKCFjbGlja2VkSW5zaWRlICYmIChjbGFzc05hbWVGcm9tRWxlbWVudCA9PT0gbnVsbCB8fCAhY2xhc3NOYW1lRnJvbUVsZW1lbnQuaW5jbHVkZXModGhpcy50cmlnZ2VyRWxlbWVudCkpKSB7XG4gICAgICAgIHRoaXMuY2xpY2tPdXRzaWRlLmVtaXQobnVsbCk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmZvcmNlT24gIT0gbnVsbCAmJiBjbGFzc05hbWVGcm9tRWxlbWVudCAhPT0gbnVsbCkge1xuICAgICAgICBsZXQgbmVlZFRvQ2xvc2UgPSB0cnVlO1xuICAgICAgICB0aGlzLmZvcmNlT24uZm9yRWFjaCh2ID0+IHtcbiAgICAgICAgICBpZiAoIWNsYXNzTmFtZUZyb21FbGVtZW50LmluY2x1ZGVzKHYpKSB7XG4gICAgICAgICAgICBuZWVkVG9DbG9zZSA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChuZWVkVG9DbG9zZSkge1xuICAgICAgICAgIHRoaXMuY2xpY2tPdXRzaWRlLmVtaXQobnVsbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Directive, Input, Output, EventEmitter, HostListener } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class CopyClipboardDirective {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.copied = new EventEmitter();
|
|
6
|
+
}
|
|
7
|
+
onClick(event) {
|
|
8
|
+
event.preventDefault();
|
|
9
|
+
if (!this.payload)
|
|
10
|
+
return;
|
|
11
|
+
let listener = (e) => {
|
|
12
|
+
let clipboard = e.clipboardData || window["clipboardData"];
|
|
13
|
+
clipboard.setData("text", this.payload.toString());
|
|
14
|
+
e.preventDefault();
|
|
15
|
+
this.copied.emit(this.payload);
|
|
16
|
+
};
|
|
17
|
+
document.addEventListener("copy", listener, false);
|
|
18
|
+
document.execCommand("copy");
|
|
19
|
+
document.removeEventListener("copy", listener, false);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
CopyClipboardDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: CopyClipboardDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
23
|
+
CopyClipboardDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.3", type: CopyClipboardDirective, selector: "[copy-clipboard]", inputs: { payload: ["copy-clipboard", "payload"] }, outputs: { copied: "copied" }, host: { listeners: { "click": "onClick($event)" } }, ngImport: i0 });
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: CopyClipboardDirective, decorators: [{
|
|
25
|
+
type: Directive,
|
|
26
|
+
args: [{ selector: '[copy-clipboard]' }]
|
|
27
|
+
}], propDecorators: { payload: [{
|
|
28
|
+
type: Input,
|
|
29
|
+
args: ["copy-clipboard"]
|
|
30
|
+
}], copied: [{
|
|
31
|
+
type: Output,
|
|
32
|
+
args: ["copied"]
|
|
33
|
+
}], onClick: [{
|
|
34
|
+
type: HostListener,
|
|
35
|
+
args: ["click", ["$event"]]
|
|
36
|
+
}] } });
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS10by1jbGlwYm9hcmQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9kaXJlY3RpdmVzL2NvcHktdG8tY2xpcGJvYXJkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHckYsTUFBTSxPQUFPLHNCQUFzQjtJQURuQztRQU9TLFdBQU0sR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztLQXFCbEU7SUFsQlEsT0FBTyxDQUFDLEtBQWlCO1FBRTlCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFDZixPQUFPO1FBRVQsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFpQixFQUFFLEVBQUU7WUFDbkMsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDLGFBQWEsSUFBSSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDM0QsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ25ELENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUVuQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDO1FBRUYsUUFBUSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDbEQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QixRQUFRLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN4RCxDQUFDOzttSEExQlUsc0JBQXNCO3VHQUF0QixzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkFEbEMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRTs4QkFJbEMsT0FBTztzQkFEYixLQUFLO3VCQUFDLGdCQUFnQjtnQkFJaEIsTUFBTTtzQkFEWixNQUFNO3VCQUFDLFFBQVE7Z0JBSVQsT0FBTztzQkFEYixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbY29weS1jbGlwYm9hcmRdJyB9KVxuZXhwb3J0IGNsYXNzIENvcHlDbGlwYm9hcmREaXJlY3RpdmUge1xuXG4gIEBJbnB1dChcImNvcHktY2xpcGJvYXJkXCIpXG4gIHB1YmxpYyBwYXlsb2FkOiBzdHJpbmc7XG5cbiAgQE91dHB1dChcImNvcGllZFwiKVxuICBwdWJsaWMgY29waWVkOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBIb3N0TGlzdGVuZXIoXCJjbGlja1wiLCBbXCIkZXZlbnRcIl0pXG4gIHB1YmxpYyBvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG5cbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmICghdGhpcy5wYXlsb2FkKVxuICAgICAgcmV0dXJuO1xuXG4gICAgbGV0IGxpc3RlbmVyID0gKGU6IENsaXBib2FyZEV2ZW50KSA9PiB7XG4gICAgICBsZXQgY2xpcGJvYXJkID0gZS5jbGlwYm9hcmREYXRhIHx8IHdpbmRvd1tcImNsaXBib2FyZERhdGFcIl07XG4gICAgICBjbGlwYm9hcmQuc2V0RGF0YShcInRleHRcIiwgdGhpcy5wYXlsb2FkLnRvU3RyaW5nKCkpO1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICB0aGlzLmNvcGllZC5lbWl0KHRoaXMucGF5bG9hZCk7XG4gICAgfTtcblxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJjb3B5XCIsIGxpc3RlbmVyLCBmYWxzZSlcbiAgICBkb2N1bWVudC5leGVjQ29tbWFuZChcImNvcHlcIik7XG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNvcHlcIiwgbGlzdGVuZXIsIGZhbHNlKTtcbiAgfVxufSJdfQ==
|