@delon/abc 15.2.1 → 16.0.0-beta.0
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/auto-focus/auto-focus.directive.d.ts +1 -1
- package/avatar-list/avatar-list-item.component.d.ts +1 -1
- package/avatar-list/avatar-list.component.d.ts +1 -1
- package/count-down/count-down.component.d.ts +1 -1
- package/date-picker/range.directive.d.ts +1 -1
- package/down-file/down-file.directive.d.ts +1 -1
- package/ellipsis/ellipsis.component.d.ts +1 -1
- package/error-collect/error-collect.component.d.ts +1 -1
- package/esm2022/auto-focus/auto-focus.directive.mjs +51 -0
- package/esm2022/auto-focus/auto-focus.module.mjs +18 -0
- package/esm2022/avatar-list/avatar-list-item.component.mjs +27 -0
- package/esm2022/avatar-list/avatar-list.component.mjs +89 -0
- package/esm2022/avatar-list/avatar-list.module.mjs +23 -0
- package/esm2022/count-down/count-down.component.mjs +46 -0
- package/esm2022/count-down/count-down.module.mjs +21 -0
- package/esm2022/date-picker/date-picker.module.mjs +23 -0
- package/esm2022/date-picker/range-shortcut.component.mjs +41 -0
- package/esm2022/date-picker/range.directive.mjs +174 -0
- package/esm2022/down-file/down-file.directive.mjs +115 -0
- package/esm2022/down-file/down-file.module.mjs +21 -0
- package/esm2022/ellipsis/ellipsis.component.mjs +233 -0
- package/esm2022/ellipsis/ellipsis.module.mjs +22 -0
- package/esm2022/error-collect/error-collect.component.mjs +122 -0
- package/esm2022/error-collect/error-collect.module.mjs +21 -0
- package/esm2022/exception/exception.component.mjs +109 -0
- package/esm2022/exception/exception.module.mjs +24 -0
- package/esm2022/footer-toolbar/footer-toolbar.component.mjs +45 -0
- package/esm2022/footer-toolbar/footer-toolbar.module.mjs +22 -0
- package/esm2022/full-content/full-content-toggle.directive.mjs +25 -0
- package/esm2022/full-content/full-content.component.mjs +140 -0
- package/esm2022/full-content/full-content.module.mjs +21 -0
- package/esm2022/full-content/full-content.service.mjs +23 -0
- package/esm2022/global-footer/global-footer-item.component.mjs +31 -0
- package/esm2022/global-footer/global-footer.component.mjs +73 -0
- package/esm2022/global-footer/global-footer.module.mjs +22 -0
- package/esm2022/hotkey/hotkey.directive.mjs +37 -0
- package/esm2022/hotkey/hotkey.module.mjs +18 -0
- package/esm2022/let/let.directive.mjs +38 -0
- package/esm2022/let/let.module.mjs +18 -0
- package/esm2022/loading/loading.component.mjs +27 -0
- package/esm2022/loading/loading.module.mjs +24 -0
- package/esm2022/loading/loading.service.mjs +91 -0
- package/esm2022/lodop/lodop.module.mjs +13 -0
- package/esm2022/lodop/lodop.service.mjs +223 -0
- package/esm2022/media/media.component.mjs +118 -0
- package/esm2022/media/media.module.mjs +20 -0
- package/esm2022/media/media.service.mjs +47 -0
- package/esm2022/notice-icon/notice-icon-tab.component.mjs +35 -0
- package/esm2022/notice-icon/notice-icon.component.mjs +90 -0
- package/esm2022/notice-icon/notice-icon.module.mjs +59 -0
- package/esm2022/observers/observer-size.mjs +119 -0
- package/esm2022/onboarding/onboarding.component.mjs +135 -0
- package/esm2022/onboarding/onboarding.module.mjs +27 -0
- package/esm2022/onboarding/onboarding.service.mjs +186 -0
- package/esm2022/page-header/page-header.component.mjs +247 -0
- package/esm2022/page-header/page-header.module.mjs +25 -0
- package/esm2022/pdf/pdf.component.mjs +474 -0
- package/esm2022/pdf/pdf.module.mjs +21 -0
- package/esm2022/qr/qr.component.mjs +137 -0
- package/esm2022/qr/qr.module.mjs +20 -0
- package/esm2022/quick-menu/quick-menu.component.mjs +90 -0
- package/esm2022/quick-menu/quick-menu.module.mjs +22 -0
- package/esm2022/result/result.component.mjs +61 -0
- package/esm2022/result/result.module.mjs +22 -0
- package/esm2022/reuse-tab/reuse-tab-context-menu.component.mjs +77 -0
- package/esm2022/reuse-tab/reuse-tab-context.component.mjs +34 -0
- package/esm2022/reuse-tab/reuse-tab-context.directive.mjs +36 -0
- package/esm2022/reuse-tab/reuse-tab-context.service.mjs +56 -0
- package/esm2022/reuse-tab/reuse-tab.component.mjs +368 -0
- package/esm2022/reuse-tab/reuse-tab.module.mjs +50 -0
- package/esm2022/reuse-tab/reuse-tab.service.mjs +559 -0
- package/esm2022/se/se-container.component.mjs +174 -0
- package/esm2022/se/se.component.mjs +235 -0
- package/esm2022/se/se.module.mjs +24 -0
- package/esm2022/sg/sg-container.component.mjs +53 -0
- package/esm2022/sg/sg.component.mjs +68 -0
- package/esm2022/sg/sg.module.mjs +21 -0
- package/esm2022/st/st-column-source.mjs +493 -0
- package/esm2022/st/st-data-source.mjs +480 -0
- package/esm2022/st/st-export.mjs +90 -0
- package/{esm2020 → esm2022}/st/st-filter.component.mjs +8 -7
- package/esm2022/st/st-row.directive.mjs +47 -0
- package/esm2022/st/st-widget-host.directive.mjs +32 -0
- package/esm2022/st/st-widget.mjs +27 -0
- package/esm2022/st/st.component.mjs +1004 -0
- package/esm2022/st/st.module.mjs +97 -0
- package/esm2022/sv/sv-container.component.mjs +127 -0
- package/esm2022/sv/sv-value.component.mjs +45 -0
- package/esm2022/sv/sv.component.mjs +120 -0
- package/esm2022/sv/sv.module.mjs +26 -0
- package/esm2022/tag-select/tag-select.component.mjs +64 -0
- package/esm2022/tag-select/tag-select.module.mjs +22 -0
- package/esm2022/xlsx/xlsx.directive.mjs +28 -0
- package/esm2022/xlsx/xlsx.module.mjs +20 -0
- package/esm2022/xlsx/xlsx.service.mjs +129 -0
- package/esm2022/zip/zip.module.mjs +16 -0
- package/esm2022/zip/zip.service.mjs +117 -0
- package/exception/exception.component.d.ts +1 -1
- package/{fesm2015 → fesm2022}/auto-focus.mjs +7 -7
- package/{fesm2015 → fesm2022}/auto-focus.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/avatar-list.mjs +10 -10
- package/fesm2022/avatar-list.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/chart-observer-size.mjs +10 -10
- package/fesm2022/chart-observer-size.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/count-down.mjs +7 -7
- package/fesm2022/count-down.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/date-picker.mjs +14 -13
- package/fesm2022/date-picker.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/down-file.mjs +8 -8
- package/fesm2022/down-file.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/ellipsis.mjs +7 -7
- package/fesm2022/ellipsis.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/error-collect.mjs +9 -9
- package/fesm2022/error-collect.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/exception.mjs +7 -7
- package/fesm2022/exception.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/footer-toolbar.mjs +7 -7
- package/fesm2022/footer-toolbar.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/full-content.mjs +13 -13
- package/fesm2022/full-content.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/global-footer.mjs +10 -10
- package/fesm2022/global-footer.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/hotkey.mjs +7 -7
- package/{fesm2015 → fesm2022}/hotkey.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/let.mjs +9 -8
- package/fesm2022/let.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/loading.mjs +10 -11
- package/fesm2022/loading.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/lodop.mjs +7 -7
- package/{fesm2020 → fesm2022}/lodop.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/media.mjs +10 -10
- package/fesm2022/media.mjs.map +1 -0
- package/fesm2022/notice-icon.mjs +180 -0
- package/fesm2022/notice-icon.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/onboarding.mjs +10 -11
- package/{fesm2020 → fesm2022}/onboarding.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/page-header.mjs +7 -7
- package/{fesm2015 → fesm2022}/page-header.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/pdf.mjs +9 -9
- package/{fesm2020 → fesm2022}/pdf.mjs.map +1 -1
- package/{fesm2015 → fesm2022}/qr.mjs +7 -7
- package/{fesm2020 → fesm2022}/qr.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/quick-menu.mjs +7 -7
- package/fesm2022/quick-menu.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/result.mjs +7 -7
- package/{fesm2020 → fesm2022}/result.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/reuse-tab.mjs +31 -31
- package/{fesm2015 → fesm2022}/reuse-tab.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/se.mjs +15 -15
- package/fesm2022/se.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/sg.mjs +10 -10
- package/fesm2022/sg.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/st.mjs +72 -72
- package/fesm2022/st.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/sv.mjs +20 -20
- package/fesm2022/sv.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/tag-select.mjs +7 -7
- package/fesm2022/tag-select.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/xlsx.mjs +10 -10
- package/fesm2022/xlsx.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/zip.mjs +7 -7
- package/{fesm2015 → fesm2022}/zip.mjs.map +1 -1
- package/footer-toolbar/footer-toolbar.component.d.ts +1 -1
- package/full-content/full-content.component.d.ts +1 -1
- package/global-footer/global-footer-item.component.d.ts +1 -1
- package/global-footer/global-footer.component.d.ts +1 -1
- package/hotkey/hotkey.directive.d.ts +1 -1
- package/let/let.directive.d.ts +1 -1
- package/loading/style/index.less +1 -4
- package/media/media.component.d.ts +1 -1
- package/notice-icon/notice-icon-tab.component.d.ts +1 -1
- package/notice-icon/notice-icon.component.d.ts +1 -1
- package/onboarding/style/index.less +1 -4
- package/package.json +105 -175
- package/page-header/page-header.component.d.ts +1 -1
- package/pdf/pdf.component.d.ts +1 -1
- package/qr/qr.component.d.ts +1 -1
- package/quick-menu/quick-menu.component.d.ts +1 -1
- package/result/result.component.d.ts +1 -1
- package/reuse-tab/reuse-tab-context-menu.component.d.ts +1 -1
- package/reuse-tab/reuse-tab-context.component.d.ts +1 -1
- package/reuse-tab/reuse-tab-context.directive.d.ts +1 -1
- package/reuse-tab/reuse-tab.component.d.ts +1 -1
- package/se/se-container.component.d.ts +1 -1
- package/se/se.component.d.ts +1 -1
- package/sg/sg-container.component.d.ts +1 -1
- package/sg/sg.component.d.ts +1 -1
- package/st/st-filter.component.d.ts +1 -1
- package/st/st-row.directive.d.ts +1 -1
- package/st/st-widget-host.directive.d.ts +1 -1
- package/st/st.component.d.ts +9 -5
- package/st/style/index.less +6 -2
- package/sv/sv-container.component.d.ts +1 -1
- package/sv/sv-value.component.d.ts +1 -1
- package/sv/sv.component.d.ts +1 -1
- package/tag-select/tag-select.component.d.ts +1 -1
- package/xlsx/xlsx.directive.d.ts +1 -1
- package/esm2020/auto-focus/auto-focus.directive.mjs +0 -50
- package/esm2020/auto-focus/auto-focus.module.mjs +0 -17
- package/esm2020/avatar-list/avatar-list-item.component.mjs +0 -26
- package/esm2020/avatar-list/avatar-list.component.mjs +0 -88
- package/esm2020/avatar-list/avatar-list.module.mjs +0 -22
- package/esm2020/count-down/count-down.component.mjs +0 -45
- package/esm2020/count-down/count-down.module.mjs +0 -20
- package/esm2020/date-picker/date-picker.module.mjs +0 -22
- package/esm2020/date-picker/range-shortcut.component.mjs +0 -40
- package/esm2020/date-picker/range.directive.mjs +0 -172
- package/esm2020/down-file/down-file.directive.mjs +0 -114
- package/esm2020/down-file/down-file.module.mjs +0 -20
- package/esm2020/ellipsis/ellipsis.component.mjs +0 -232
- package/esm2020/ellipsis/ellipsis.module.mjs +0 -21
- package/esm2020/error-collect/error-collect.component.mjs +0 -121
- package/esm2020/error-collect/error-collect.module.mjs +0 -20
- package/esm2020/exception/exception.component.mjs +0 -108
- package/esm2020/exception/exception.module.mjs +0 -23
- package/esm2020/footer-toolbar/footer-toolbar.component.mjs +0 -44
- package/esm2020/footer-toolbar/footer-toolbar.module.mjs +0 -21
- package/esm2020/full-content/full-content-toggle.directive.mjs +0 -24
- package/esm2020/full-content/full-content.component.mjs +0 -139
- package/esm2020/full-content/full-content.module.mjs +0 -20
- package/esm2020/full-content/full-content.service.mjs +0 -22
- package/esm2020/global-footer/global-footer-item.component.mjs +0 -30
- package/esm2020/global-footer/global-footer.component.mjs +0 -72
- package/esm2020/global-footer/global-footer.module.mjs +0 -21
- package/esm2020/hotkey/hotkey.directive.mjs +0 -36
- package/esm2020/hotkey/hotkey.module.mjs +0 -17
- package/esm2020/let/let.directive.mjs +0 -36
- package/esm2020/let/let.module.mjs +0 -17
- package/esm2020/loading/loading.component.mjs +0 -26
- package/esm2020/loading/loading.module.mjs +0 -24
- package/esm2020/loading/loading.service.mjs +0 -90
- package/esm2020/lodop/lodop.module.mjs +0 -12
- package/esm2020/lodop/lodop.service.mjs +0 -222
- package/esm2020/media/media.component.mjs +0 -117
- package/esm2020/media/media.module.mjs +0 -19
- package/esm2020/media/media.service.mjs +0 -46
- package/esm2020/notice-icon/notice-icon-tab.component.mjs +0 -34
- package/esm2020/notice-icon/notice-icon.component.mjs +0 -89
- package/esm2020/notice-icon/notice-icon.module.mjs +0 -58
- package/esm2020/observers/observer-size.mjs +0 -116
- package/esm2020/onboarding/onboarding.component.mjs +0 -134
- package/esm2020/onboarding/onboarding.module.mjs +0 -27
- package/esm2020/onboarding/onboarding.service.mjs +0 -185
- package/esm2020/page-header/page-header.component.mjs +0 -246
- package/esm2020/page-header/page-header.module.mjs +0 -24
- package/esm2020/pdf/pdf.component.mjs +0 -473
- package/esm2020/pdf/pdf.module.mjs +0 -20
- package/esm2020/qr/qr.component.mjs +0 -136
- package/esm2020/qr/qr.module.mjs +0 -19
- package/esm2020/quick-menu/quick-menu.component.mjs +0 -89
- package/esm2020/quick-menu/quick-menu.module.mjs +0 -21
- package/esm2020/result/result.component.mjs +0 -60
- package/esm2020/result/result.module.mjs +0 -21
- package/esm2020/reuse-tab/reuse-tab-context-menu.component.mjs +0 -76
- package/esm2020/reuse-tab/reuse-tab-context.component.mjs +0 -33
- package/esm2020/reuse-tab/reuse-tab-context.directive.mjs +0 -35
- package/esm2020/reuse-tab/reuse-tab-context.service.mjs +0 -55
- package/esm2020/reuse-tab/reuse-tab.component.mjs +0 -367
- package/esm2020/reuse-tab/reuse-tab.module.mjs +0 -49
- package/esm2020/reuse-tab/reuse-tab.service.mjs +0 -558
- package/esm2020/se/se-container.component.mjs +0 -172
- package/esm2020/se/se.component.mjs +0 -234
- package/esm2020/se/se.module.mjs +0 -23
- package/esm2020/sg/sg-container.component.mjs +0 -52
- package/esm2020/sg/sg.component.mjs +0 -67
- package/esm2020/sg/sg.module.mjs +0 -20
- package/esm2020/st/st-column-source.mjs +0 -492
- package/esm2020/st/st-data-source.mjs +0 -479
- package/esm2020/st/st-export.mjs +0 -89
- package/esm2020/st/st-row.directive.mjs +0 -45
- package/esm2020/st/st-widget-host.directive.mjs +0 -31
- package/esm2020/st/st-widget.mjs +0 -26
- package/esm2020/st/st.component.mjs +0 -1002
- package/esm2020/st/st.module.mjs +0 -96
- package/esm2020/sv/sv-container.component.mjs +0 -125
- package/esm2020/sv/sv-value.component.mjs +0 -44
- package/esm2020/sv/sv.component.mjs +0 -119
- package/esm2020/sv/sv.module.mjs +0 -25
- package/esm2020/tag-select/tag-select.component.mjs +0 -63
- package/esm2020/tag-select/tag-select.module.mjs +0 -21
- package/esm2020/xlsx/xlsx.directive.mjs +0 -27
- package/esm2020/xlsx/xlsx.module.mjs +0 -19
- package/esm2020/xlsx/xlsx.service.mjs +0 -128
- package/esm2020/zip/zip.module.mjs +0 -15
- package/esm2020/zip/zip.service.mjs +0 -116
- package/fesm2015/avatar-list.mjs +0 -139
- package/fesm2015/avatar-list.mjs.map +0 -1
- package/fesm2015/chart-observer-size.mjs +0 -124
- package/fesm2015/chart-observer-size.mjs.map +0 -1
- package/fesm2015/count-down.mjs +0 -69
- package/fesm2015/count-down.mjs.map +0 -1
- package/fesm2015/date-picker.mjs +0 -236
- package/fesm2015/date-picker.mjs.map +0 -1
- package/fesm2015/down-file.mjs +0 -141
- package/fesm2015/down-file.mjs.map +0 -1
- package/fesm2015/ellipsis.mjs +0 -258
- package/fesm2015/ellipsis.mjs.map +0 -1
- package/fesm2015/error-collect.mjs +0 -147
- package/fesm2015/error-collect.mjs.map +0 -1
- package/fesm2015/exception.mjs +0 -138
- package/fesm2015/exception.mjs.map +0 -1
- package/fesm2015/footer-toolbar.mjs +0 -70
- package/fesm2015/footer-toolbar.mjs.map +0 -1
- package/fesm2015/full-content.mjs +0 -202
- package/fesm2015/full-content.mjs.map +0 -1
- package/fesm2015/global-footer.mjs +0 -126
- package/fesm2015/global-footer.mjs.map +0 -1
- package/fesm2015/hotkey.mjs +0 -57
- package/fesm2015/let.mjs +0 -59
- package/fesm2015/let.mjs.map +0 -1
- package/fesm2015/loading.mjs +0 -142
- package/fesm2015/loading.mjs.map +0 -1
- package/fesm2015/lodop.mjs +0 -232
- package/fesm2015/lodop.mjs.map +0 -1
- package/fesm2015/media.mjs +0 -180
- package/fesm2015/media.mjs.map +0 -1
- package/fesm2015/notice-icon.mjs +0 -180
- package/fesm2015/notice-icon.mjs.map +0 -1
- package/fesm2015/onboarding.mjs +0 -336
- package/fesm2015/onboarding.mjs.map +0 -1
- package/fesm2015/page-header.mjs +0 -276
- package/fesm2015/pdf.mjs +0 -516
- package/fesm2015/pdf.mjs.map +0 -1
- package/fesm2015/qr.mjs.map +0 -1
- package/fesm2015/quick-menu.mjs +0 -114
- package/fesm2015/quick-menu.mjs.map +0 -1
- package/fesm2015/result.mjs +0 -88
- package/fesm2015/result.mjs.map +0 -1
- package/fesm2015/reuse-tab.mjs +0 -1217
- package/fesm2015/se.mjs +0 -444
- package/fesm2015/se.mjs.map +0 -1
- package/fesm2015/sg.mjs +0 -139
- package/fesm2015/sg.mjs.map +0 -1
- package/fesm2015/st.mjs +0 -2526
- package/fesm2015/st.mjs.map +0 -1
- package/fesm2015/sv.mjs +0 -308
- package/fesm2015/sv.mjs.map +0 -1
- package/fesm2015/tag-select.mjs +0 -91
- package/fesm2015/tag-select.mjs.map +0 -1
- package/fesm2015/xlsx.mjs +0 -172
- package/fesm2015/xlsx.mjs.map +0 -1
- package/fesm2015/zip.mjs +0 -136
- package/fesm2020/abc.mjs +0 -7
- package/fesm2020/abc.mjs.map +0 -1
- package/fesm2020/auto-focus.mjs +0 -71
- package/fesm2020/auto-focus.mjs.map +0 -1
- package/fesm2020/avatar-list.mjs.map +0 -1
- package/fesm2020/chart-observer-size.mjs.map +0 -1
- package/fesm2020/count-down.mjs.map +0 -1
- package/fesm2020/date-picker.mjs.map +0 -1
- package/fesm2020/down-file.mjs.map +0 -1
- package/fesm2020/ellipsis.mjs.map +0 -1
- package/fesm2020/error-collect.mjs.map +0 -1
- package/fesm2020/exception.mjs.map +0 -1
- package/fesm2020/footer-toolbar.mjs.map +0 -1
- package/fesm2020/full-content.mjs.map +0 -1
- package/fesm2020/global-footer.mjs.map +0 -1
- package/fesm2020/hotkey.mjs.map +0 -1
- package/fesm2020/let.mjs.map +0 -1
- package/fesm2020/loading.mjs.map +0 -1
- package/fesm2020/media.mjs.map +0 -1
- package/fesm2020/notice-icon.mjs +0 -180
- package/fesm2020/notice-icon.mjs.map +0 -1
- package/fesm2020/page-header.mjs.map +0 -1
- package/fesm2020/qr.mjs +0 -171
- package/fesm2020/quick-menu.mjs.map +0 -1
- package/fesm2020/reuse-tab.mjs.map +0 -1
- package/fesm2020/se.mjs.map +0 -1
- package/fesm2020/sg.mjs.map +0 -1
- package/fesm2020/st.mjs.map +0 -1
- package/fesm2020/sv.mjs.map +0 -1
- package/fesm2020/tag-select.mjs.map +0 -1
- package/fesm2020/xlsx.mjs.map +0 -1
- package/fesm2020/zip.mjs.map +0 -1
- /package/{esm2020 → esm2022}/abc.mjs +0 -0
- /package/{esm2020 → esm2022}/auto-focus/auto-focus.mjs +0 -0
- /package/{esm2020 → esm2022}/auto-focus/index.mjs +0 -0
- /package/{esm2020 → esm2022}/avatar-list/avatar-list.mjs +0 -0
- /package/{esm2020 → esm2022}/avatar-list/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/count-down/count-down.mjs +0 -0
- /package/{esm2020 → esm2022}/count-down/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/date-picker/date-picker.mjs +0 -0
- /package/{esm2020 → esm2022}/date-picker/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/down-file/down-file.mjs +0 -0
- /package/{esm2020 → esm2022}/down-file/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/ellipsis/ellipsis.mjs +0 -0
- /package/{esm2020 → esm2022}/ellipsis/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/error-collect/error-collect.mjs +0 -0
- /package/{esm2020 → esm2022}/error-collect/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/exception/exception.mjs +0 -0
- /package/{esm2020 → esm2022}/exception/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/footer-toolbar/footer-toolbar.mjs +0 -0
- /package/{esm2020 → esm2022}/footer-toolbar/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/full-content/full-content.mjs +0 -0
- /package/{esm2020 → esm2022}/full-content/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/global-footer/global-footer.mjs +0 -0
- /package/{esm2020 → esm2022}/global-footer/global-footer.types.mjs +0 -0
- /package/{esm2020 → esm2022}/global-footer/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/hotkey/hotkey.mjs +0 -0
- /package/{esm2020 → esm2022}/hotkey/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/let/index.mjs +0 -0
- /package/{esm2020 → esm2022}/let/let.mjs +0 -0
- /package/{esm2020 → esm2022}/loading/loading.mjs +0 -0
- /package/{esm2020 → esm2022}/loading/loading.types.mjs +0 -0
- /package/{esm2020 → esm2022}/loading/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/lodop/lodop.mjs +0 -0
- /package/{esm2020 → esm2022}/lodop/lodop.types.mjs +0 -0
- /package/{esm2020 → esm2022}/lodop/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/media/media.mjs +0 -0
- /package/{esm2020 → esm2022}/media/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/notice-icon/notice-icon.mjs +0 -0
- /package/{esm2020 → esm2022}/notice-icon/notice-icon.types.mjs +0 -0
- /package/{esm2020 → esm2022}/notice-icon/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/observers/chart-observer-size.mjs +0 -0
- /package/{esm2020 → esm2022}/observers/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/onboarding/onboarding.mjs +0 -0
- /package/{esm2020 → esm2022}/onboarding/onboarding.types.mjs +0 -0
- /package/{esm2020 → esm2022}/onboarding/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/page-header/page-header.mjs +0 -0
- /package/{esm2020 → esm2022}/page-header/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/pdf/pdf.config.mjs +0 -0
- /package/{esm2020 → esm2022}/pdf/pdf.mjs +0 -0
- /package/{esm2020 → esm2022}/pdf/pdf.types.mjs +0 -0
- /package/{esm2020 → esm2022}/pdf/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/qr/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/qr/qr.config.mjs +0 -0
- /package/{esm2020 → esm2022}/qr/qr.mjs +0 -0
- /package/{esm2020 → esm2022}/qr/qr.types.mjs +0 -0
- /package/{esm2020 → esm2022}/quick-menu/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/quick-menu/quick-menu.mjs +0 -0
- /package/{esm2020 → esm2022}/result/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/result/result.mjs +0 -0
- /package/{esm2020 → esm2022}/reuse-tab/lifecycle_hooks.mjs +0 -0
- /package/{esm2020 → esm2022}/reuse-tab/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/reuse-tab/reuse-tab.interfaces.mjs +0 -0
- /package/{esm2020 → esm2022}/reuse-tab/reuse-tab.mjs +0 -0
- /package/{esm2020 → esm2022}/reuse-tab/reuse-tab.state.mjs +0 -0
- /package/{esm2020 → esm2022}/reuse-tab/reuse-tab.strategy.mjs +0 -0
- /package/{esm2020 → esm2022}/se/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/se/se.mjs +0 -0
- /package/{esm2020 → esm2022}/se/se.types.mjs +0 -0
- /package/{esm2020 → esm2022}/sg/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/sg/sg.mjs +0 -0
- /package/{esm2020 → esm2022}/st/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/st/st.config.mjs +0 -0
- /package/{esm2020 → esm2022}/st/st.interfaces.mjs +0 -0
- /package/{esm2020 → esm2022}/st/st.mjs +0 -0
- /package/{esm2020 → esm2022}/st/st.types.mjs +0 -0
- /package/{esm2020 → esm2022}/sv/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/sv/sv.mjs +0 -0
- /package/{esm2020 → esm2022}/tag-select/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/tag-select/tag-select.mjs +0 -0
- /package/{esm2020 → esm2022}/xlsx/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/xlsx/xlsx.mjs +0 -0
- /package/{esm2020 → esm2022}/xlsx/xlsx.types.mjs +0 -0
- /package/{esm2020 → esm2022}/zip/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/zip/zip.mjs +0 -0
- /package/{esm2020 → esm2022}/zip/zip.types.mjs +0 -0
- /package/{fesm2015 → fesm2022}/abc.mjs +0 -0
- /package/{fesm2015 → fesm2022}/abc.mjs.map +0 -0
|
@@ -1,222 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { of, Subject } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@delon/util/other";
|
|
5
|
-
import * as i2 from "@delon/util/config";
|
|
6
|
-
export class LodopService {
|
|
7
|
-
constructor(scriptSrv, configSrv) {
|
|
8
|
-
this.scriptSrv = scriptSrv;
|
|
9
|
-
this.pending = false;
|
|
10
|
-
this._lodop = null;
|
|
11
|
-
this._init = new Subject();
|
|
12
|
-
this._events = new Subject();
|
|
13
|
-
this.printBuffer = [];
|
|
14
|
-
this.defaultConfig = configSrv.merge('lodop', {
|
|
15
|
-
url: '//localhost:8443/CLodopfuncs.js',
|
|
16
|
-
name: 'CLODOP',
|
|
17
|
-
companyName: '',
|
|
18
|
-
checkMaxCount: 100
|
|
19
|
-
});
|
|
20
|
-
this.cog = this.defaultConfig;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Get or set configuration, **Note:** Resetting will invert and reload script resources
|
|
24
|
-
*
|
|
25
|
-
* 获取或重新设置配置,**注:**重新设置会倒置重新加载脚本资源
|
|
26
|
-
*/
|
|
27
|
-
get cog() {
|
|
28
|
-
return this._cog;
|
|
29
|
-
}
|
|
30
|
-
set cog(value) {
|
|
31
|
-
this._cog = {
|
|
32
|
-
...this.defaultConfig,
|
|
33
|
-
...value
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Event change notification
|
|
38
|
-
*
|
|
39
|
-
* 事件变更通知
|
|
40
|
-
*/
|
|
41
|
-
get events() {
|
|
42
|
-
return this._events.asObservable();
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Get lodop object
|
|
46
|
-
*
|
|
47
|
-
* 获取 lodop 对象
|
|
48
|
-
*/
|
|
49
|
-
get lodop() {
|
|
50
|
-
if (this._lodop)
|
|
51
|
-
return of({ ok: true, lodop: this._lodop });
|
|
52
|
-
if (this.pending)
|
|
53
|
-
return this._init.asObservable();
|
|
54
|
-
this.request();
|
|
55
|
-
return this._init.asObservable();
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Get printer list
|
|
59
|
-
*
|
|
60
|
-
* 获取打印机列表
|
|
61
|
-
*/
|
|
62
|
-
get printer() {
|
|
63
|
-
this.check();
|
|
64
|
-
const ret = [];
|
|
65
|
-
const count = this._lodop.GET_PRINTER_COUNT();
|
|
66
|
-
for (let index = 0; index < count; index++) {
|
|
67
|
-
ret.push(this._lodop.GET_PRINTER_NAME(index));
|
|
68
|
-
}
|
|
69
|
-
return ret;
|
|
70
|
-
}
|
|
71
|
-
check() {
|
|
72
|
-
if (!this._lodop)
|
|
73
|
-
throw new Error(`请务必先调用 lodop 获取对象`);
|
|
74
|
-
}
|
|
75
|
-
request() {
|
|
76
|
-
this.pending = true;
|
|
77
|
-
const url = `${this.cog.url}?name=${this.cog.name}`;
|
|
78
|
-
let checkMaxCount = this.cog.checkMaxCount;
|
|
79
|
-
const onResolve = (status, error) => {
|
|
80
|
-
this._init.next({
|
|
81
|
-
ok: status === 'ok',
|
|
82
|
-
status,
|
|
83
|
-
error,
|
|
84
|
-
lodop: this._lodop
|
|
85
|
-
});
|
|
86
|
-
};
|
|
87
|
-
const checkStatus = () => {
|
|
88
|
-
--checkMaxCount;
|
|
89
|
-
if (this._lodop.webskt && this._lodop.webskt.readyState === 1) {
|
|
90
|
-
onResolve('ok');
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
if (checkMaxCount < 0) {
|
|
94
|
-
onResolve('check-limit');
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
setTimeout(() => checkStatus(), 100);
|
|
98
|
-
}
|
|
99
|
-
};
|
|
100
|
-
this.scriptSrv.loadScript(url).then((res) => {
|
|
101
|
-
if (res.status !== 'ok') {
|
|
102
|
-
this.pending = false;
|
|
103
|
-
onResolve('script-load-error', res[0]);
|
|
104
|
-
return;
|
|
105
|
-
}
|
|
106
|
-
const win = window;
|
|
107
|
-
if (win.hasOwnProperty(this.cog.name)) {
|
|
108
|
-
this._lodop = win[this.cog.name];
|
|
109
|
-
}
|
|
110
|
-
if (this._lodop === null) {
|
|
111
|
-
onResolve('load-variable-name-error', { name: this.cog.name });
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
this._lodop.SET_LICENSES(this.cog.companyName, this.cog.license, this.cog.licenseA, this.cog.licenseB);
|
|
115
|
-
checkStatus();
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Reset lodop object
|
|
120
|
-
*
|
|
121
|
-
* 重置 lodop 对象
|
|
122
|
-
*/
|
|
123
|
-
reset() {
|
|
124
|
-
this._lodop = null;
|
|
125
|
-
this.pending = false;
|
|
126
|
-
this.request();
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* Attach code to the `lodop` object, the string class supports dynamic parameters of `{{key}}`,
|
|
130
|
-
* **Note:** The code refers to the string data generated by the print design
|
|
131
|
-
*
|
|
132
|
-
* 附加代码至 `lodop` 对象上,字符串类支持 `{{key}}` 的动态参数,**注:** 代码是指打印设计所产生字符串数据
|
|
133
|
-
*/
|
|
134
|
-
attachCode(code, contextObj, parser) {
|
|
135
|
-
this.check();
|
|
136
|
-
if (!parser)
|
|
137
|
-
parser = /LODOP\.([^(]+)\(([^\n]+)?\);/i;
|
|
138
|
-
code.split('\n').forEach(line => {
|
|
139
|
-
const res = parser.exec(line.trim());
|
|
140
|
-
if (!res)
|
|
141
|
-
return;
|
|
142
|
-
const fn = this._lodop[res[1]];
|
|
143
|
-
if (fn) {
|
|
144
|
-
let arr = null;
|
|
145
|
-
try {
|
|
146
|
-
const fakeFn = new Function(`return [${res[2]}]`);
|
|
147
|
-
arr = fakeFn();
|
|
148
|
-
}
|
|
149
|
-
catch { }
|
|
150
|
-
if (arr != null && Array.isArray(arr) && contextObj) {
|
|
151
|
-
for (let i = 0; i < arr.length; i++) {
|
|
152
|
-
if (typeof arr[i] === 'string') {
|
|
153
|
-
arr[i] = arr[i].replace(/{{(.*?)}}/g, (_match, key) => contextObj[key.trim()] || '');
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
fn.apply(this._lodop, arr);
|
|
158
|
-
}
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
/**
|
|
162
|
-
* The code is automatically returned after opening the print design and closing,
|
|
163
|
-
* **Note:** Automatically listen for the `On_Return` event, and it will be removed after running
|
|
164
|
-
*
|
|
165
|
-
* 打开打印设计关闭后自动返回代码,**注:** 自动监听 `On_Return` 事件,运行后会移除
|
|
166
|
-
*/
|
|
167
|
-
design() {
|
|
168
|
-
this.check();
|
|
169
|
-
const tid = this._lodop.PRINT_DESIGN();
|
|
170
|
-
return new Promise(resolve => {
|
|
171
|
-
this._lodop.On_Return = (taskID, value) => {
|
|
172
|
-
if (tid !== taskID)
|
|
173
|
-
return;
|
|
174
|
-
this._lodop.On_Return = null;
|
|
175
|
-
resolve(`${value}`);
|
|
176
|
-
};
|
|
177
|
-
});
|
|
178
|
-
}
|
|
179
|
-
printDo() {
|
|
180
|
-
const data = this.printBuffer.shift();
|
|
181
|
-
if (!data)
|
|
182
|
-
return;
|
|
183
|
-
this.attachCode(data.code, data.item, data.parser);
|
|
184
|
-
const tid = this._lodop.PRINT();
|
|
185
|
-
this._lodop.On_Return = (taskID, value) => {
|
|
186
|
-
if (tid !== taskID)
|
|
187
|
-
return;
|
|
188
|
-
this._lodop.On_Return = null;
|
|
189
|
-
this._events.next({
|
|
190
|
-
ok: value === true,
|
|
191
|
-
error: value === true ? null : value,
|
|
192
|
-
...data
|
|
193
|
-
});
|
|
194
|
-
this.printDo();
|
|
195
|
-
};
|
|
196
|
-
}
|
|
197
|
-
/**
|
|
198
|
-
* Print immediately, generally used for batch printing
|
|
199
|
-
*
|
|
200
|
-
* 立即打印,一般用于批量套打
|
|
201
|
-
*/
|
|
202
|
-
print(code, contextObj, parser) {
|
|
203
|
-
this.check();
|
|
204
|
-
if (contextObj) {
|
|
205
|
-
this.printBuffer.push(...(Array.isArray(contextObj) ? contextObj : [contextObj]).map(item => {
|
|
206
|
-
return { code, parser, item };
|
|
207
|
-
}));
|
|
208
|
-
}
|
|
209
|
-
this.printDo();
|
|
210
|
-
}
|
|
211
|
-
ngOnDestroy() {
|
|
212
|
-
this._init.unsubscribe();
|
|
213
|
-
this._events.unsubscribe();
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
LodopService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LodopService, deps: [{ token: i1.LazyService }, { token: i2.AlainConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
217
|
-
LodopService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LodopService, providedIn: 'root' });
|
|
218
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LodopService, decorators: [{
|
|
219
|
-
type: Injectable,
|
|
220
|
-
args: [{ providedIn: 'root' }]
|
|
221
|
-
}], ctorParameters: function () { return [{ type: i1.LazyService }, { type: i2.AlainConfigService }]; } });
|
|
222
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9kb3Auc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FiYy9sb2RvcC9sb2RvcC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7QUFTL0MsTUFBTSxPQUFPLFlBQVk7SUFTdkIsWUFBb0IsU0FBc0IsRUFBRSxTQUE2QjtRQUFyRCxjQUFTLEdBQVQsU0FBUyxDQUFhO1FBTmxDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsV0FBTSxHQUFpQixJQUFJLENBQUM7UUFDNUIsVUFBSyxHQUFHLElBQUksT0FBTyxFQUFlLENBQUM7UUFDbkMsWUFBTyxHQUFHLElBQUksT0FBTyxFQUFvQixDQUFDO1FBQzFDLGdCQUFXLEdBQWdCLEVBQUUsQ0FBQztRQUdwQyxJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQzVDLEdBQUcsRUFBRSxpQ0FBaUM7WUFDdEMsSUFBSSxFQUFFLFFBQVE7WUFDZCxXQUFXLEVBQUUsRUFBRTtZQUNmLGFBQWEsRUFBRSxHQUFHO1NBQ25CLENBQUUsQ0FBQztRQUNKLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBQ0QsSUFBSSxHQUFHLENBQUMsS0FBdUI7UUFDN0IsSUFBSSxDQUFDLElBQUksR0FBRztZQUNWLEdBQUcsSUFBSSxDQUFDLGFBQWE7WUFDckIsR0FBRyxLQUFLO1NBQ1QsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSSxLQUFLO1FBQ1AsSUFBSSxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBaUIsQ0FBQyxDQUFDO1FBQzVFLElBQUksSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFbkQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRWYsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSSxPQUFPO1FBQ1QsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2IsTUFBTSxHQUFHLEdBQWEsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFPLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUMvQyxLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQzFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ2hEO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRU8sS0FBSztRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU8sT0FBTztRQUNiLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBRXBCLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNwRCxJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQXVCLENBQUM7UUFDckQsTUFBTSxTQUFTLEdBQUcsQ0FBQyxNQUFpQixFQUFFLEtBQWlCLEVBQVEsRUFBRTtZQUMvRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztnQkFDZCxFQUFFLEVBQUUsTUFBTSxLQUFLLElBQUk7Z0JBQ25CLE1BQU07Z0JBQ04sS0FBSztnQkFDTCxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU87YUFDcEIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO1FBQ0YsTUFBTSxXQUFXLEdBQUcsR0FBUyxFQUFFO1lBQzdCLEVBQUUsYUFBYSxDQUFDO1lBQ2hCLElBQUksSUFBSSxDQUFDLE1BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU8sQ0FBQyxNQUFNLENBQUMsVUFBVSxLQUFLLENBQUMsRUFBRTtnQkFDL0QsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ2pCO2lCQUFNO2dCQUNMLElBQUksYUFBYSxHQUFHLENBQUMsRUFBRTtvQkFDckIsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDO29CQUN6QixPQUFPO2lCQUNSO2dCQUNELFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQzthQUN0QztRQUNILENBQUMsQ0FBQztRQUVGLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQWMsRUFBRSxFQUFFO1lBQ3JELElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxJQUFJLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixTQUFTLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3ZDLE9BQU87YUFDUjtZQUNELE1BQU0sR0FBRyxHQUFHLE1BQW1CLENBQUM7WUFDaEMsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSyxDQUFDLEVBQUU7Z0JBQ3RDLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSyxDQUFVLENBQUM7YUFDNUM7WUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFO2dCQUN4QixTQUFTLENBQUMsMEJBQTBCLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUMvRCxPQUFPO2FBQ1I7WUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVksRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQVEsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3pHLFdBQVcsRUFBRSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLO1FBQ0gsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFVBQVUsQ0FBQyxJQUFZLEVBQUUsVUFBc0IsRUFBRSxNQUFlO1FBQzlELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxNQUFNO1lBQUUsTUFBTSxHQUFHLCtCQUErQixDQUFDO1FBQ3RELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzlCLE1BQU0sR0FBRyxHQUFHLE1BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7WUFDdEMsSUFBSSxDQUFDLEdBQUc7Z0JBQUUsT0FBTztZQUNqQixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLElBQUksRUFBRSxFQUFFO2dCQUNOLElBQUksR0FBRyxHQUF1QixJQUFJLENBQUM7Z0JBQ25DLElBQUk7b0JBQ0YsTUFBTSxNQUFNLEdBQUcsSUFBSSxRQUFRLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNsRCxHQUFHLEdBQUcsTUFBTSxFQUFFLENBQUM7aUJBQ2hCO2dCQUFDLE1BQU0sR0FBRTtnQkFFVixJQUFJLEdBQUcsSUFBSSxJQUFJLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxVQUFVLEVBQUU7b0JBQ25ELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO3dCQUNuQyxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsRUFBRTs0QkFDOUIsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFJLEdBQUcsQ0FBQyxDQUFDLENBQVksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO3lCQUNsRztxQkFDRjtpQkFDRjtnQkFDRCxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBSSxDQUFDLENBQUM7YUFDN0I7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU07UUFDSixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3hDLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDM0IsSUFBSSxDQUFDLE1BQU8sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxNQUFjLEVBQUUsS0FBdUIsRUFBRSxFQUFFO2dCQUNuRSxJQUFJLEdBQUcsS0FBSyxNQUFNO29CQUFFLE9BQU87Z0JBQzNCLElBQUksQ0FBQyxNQUFPLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztnQkFDOUIsT0FBTyxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUN0QixDQUFDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDTyxPQUFPO1FBQ2IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFDbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25ELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLE1BQU8sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxNQUFjLEVBQUUsS0FBdUIsRUFBRSxFQUFFO1lBQ25FLElBQUksR0FBRyxLQUFLLE1BQU07Z0JBQUUsT0FBTztZQUMzQixJQUFJLENBQUMsTUFBTyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ2hCLEVBQUUsRUFBRSxLQUFLLEtBQUssSUFBSTtnQkFDbEIsS0FBSyxFQUFFLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSztnQkFDcEMsR0FBRyxJQUFJO2FBQ1IsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pCLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLElBQVksRUFBRSxVQUFxQixFQUFFLE1BQWU7UUFDeEQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2IsSUFBSSxVQUFVLEVBQUU7WUFDZCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FDbkIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDcEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDaEMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztTQUNIO1FBQ0QsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzdCLENBQUM7O3lHQTFOVSxZQUFZOzZHQUFaLFlBQVksY0FEQyxNQUFNOzJGQUNuQixZQUFZO2tCQUR4QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQWxhaW5Db25maWdTZXJ2aWNlLCBBbGFpbkxvZG9wQ29uZmlnIH0gZnJvbSAnQGRlbG9uL3V0aWwvY29uZmlnJztcbmltcG9ydCB7IExhenlTZXJ2aWNlIH0gZnJvbSAnQGRlbG9uL3V0aWwvb3RoZXInO1xuaW1wb3J0IHR5cGUgeyBOelNhZmVBbnkgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvdHlwZXMnO1xuXG5pbXBvcnQgeyBMb2RvcCwgTG9kb3BQcmludFJlc3VsdCwgTG9kb3BSZXN1bHQgfSBmcm9tICcuL2xvZG9wLnR5cGVzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBMb2RvcFNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIGRlZmF1bHRDb25maWc6IEFsYWluTG9kb3BDb25maWc7XG4gIHByaXZhdGUgX2NvZyE6IEFsYWluTG9kb3BDb25maWc7XG4gIHByaXZhdGUgcGVuZGluZyA9IGZhbHNlO1xuICBwcml2YXRlIF9sb2RvcDogTG9kb3AgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfaW5pdCA9IG5ldyBTdWJqZWN0PExvZG9wUmVzdWx0PigpO1xuICBwcml2YXRlIF9ldmVudHMgPSBuZXcgU3ViamVjdDxMb2RvcFByaW50UmVzdWx0PigpO1xuICBwcml2YXRlIHByaW50QnVmZmVyOiBOelNhZmVBbnlbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2NyaXB0U3J2OiBMYXp5U2VydmljZSwgY29uZmlnU3J2OiBBbGFpbkNvbmZpZ1NlcnZpY2UpIHtcbiAgICB0aGlzLmRlZmF1bHRDb25maWcgPSBjb25maWdTcnYubWVyZ2UoJ2xvZG9wJywge1xuICAgICAgdXJsOiAnLy9sb2NhbGhvc3Q6ODQ0My9DTG9kb3BmdW5jcy5qcycsXG4gICAgICBuYW1lOiAnQ0xPRE9QJyxcbiAgICAgIGNvbXBhbnlOYW1lOiAnJyxcbiAgICAgIGNoZWNrTWF4Q291bnQ6IDEwMFxuICAgIH0pITtcbiAgICB0aGlzLmNvZyA9IHRoaXMuZGVmYXVsdENvbmZpZztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgb3Igc2V0IGNvbmZpZ3VyYXRpb24sICoqTm90ZToqKiBSZXNldHRpbmcgd2lsbCBpbnZlcnQgYW5kIHJlbG9hZCBzY3JpcHQgcmVzb3VyY2VzXG4gICAqXG4gICAqIOiOt+WPluaIlumHjeaWsOiuvue9rumFjee9ru+8jCoq5rOo77yaKirph43mlrDorr7nva7kvJrlgJLnva7ph43mlrDliqDovb3ohJrmnKzotYTmupBcbiAgICovXG4gIGdldCBjb2coKTogQWxhaW5Mb2RvcENvbmZpZyB7XG4gICAgcmV0dXJuIHRoaXMuX2NvZztcbiAgfVxuICBzZXQgY29nKHZhbHVlOiBBbGFpbkxvZG9wQ29uZmlnKSB7XG4gICAgdGhpcy5fY29nID0ge1xuICAgICAgLi4udGhpcy5kZWZhdWx0Q29uZmlnLFxuICAgICAgLi4udmFsdWVcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEV2ZW50IGNoYW5nZSBub3RpZmljYXRpb25cbiAgICpcbiAgICog5LqL5Lu25Y+Y5pu06YCa55+lXG4gICAqL1xuICBnZXQgZXZlbnRzKCk6IE9ic2VydmFibGU8TG9kb3BQcmludFJlc3VsdD4ge1xuICAgIHJldHVybiB0aGlzLl9ldmVudHMuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxvZG9wIG9iamVjdFxuICAgKlxuICAgKiDojrflj5YgbG9kb3Ag5a+56LGhXG4gICAqL1xuICBnZXQgbG9kb3AoKTogT2JzZXJ2YWJsZTxMb2RvcFJlc3VsdD4ge1xuICAgIGlmICh0aGlzLl9sb2RvcCkgcmV0dXJuIG9mKHsgb2s6IHRydWUsIGxvZG9wOiB0aGlzLl9sb2RvcCB9IGFzIExvZG9wUmVzdWx0KTtcbiAgICBpZiAodGhpcy5wZW5kaW5nKSByZXR1cm4gdGhpcy5faW5pdC5hc09ic2VydmFibGUoKTtcblxuICAgIHRoaXMucmVxdWVzdCgpO1xuXG4gICAgcmV0dXJuIHRoaXMuX2luaXQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHByaW50ZXIgbGlzdFxuICAgKlxuICAgKiDojrflj5bmiZPljbDmnLrliJfooahcbiAgICovXG4gIGdldCBwcmludGVyKCk6IHN0cmluZ1tdIHtcbiAgICB0aGlzLmNoZWNrKCk7XG4gICAgY29uc3QgcmV0OiBzdHJpbmdbXSA9IFtdO1xuICAgIGNvbnN0IGNvdW50ID0gdGhpcy5fbG9kb3AhLkdFVF9QUklOVEVSX0NPVU5UKCk7XG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGNvdW50OyBpbmRleCsrKSB7XG4gICAgICByZXQucHVzaCh0aGlzLl9sb2RvcCEuR0VUX1BSSU5URVJfTkFNRShpbmRleCkpO1xuICAgIH1cbiAgICByZXR1cm4gcmV0O1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVjaygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2xvZG9wKSB0aHJvdyBuZXcgRXJyb3IoYOivt+WKoeW/heWFiOiwg+eUqCBsb2RvcCDojrflj5blr7nosaFgKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVxdWVzdCgpOiB2b2lkIHtcbiAgICB0aGlzLnBlbmRpbmcgPSB0cnVlO1xuXG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5jb2cudXJsfT9uYW1lPSR7dGhpcy5jb2cubmFtZX1gO1xuICAgIGxldCBjaGVja01heENvdW50ID0gdGhpcy5jb2cuY2hlY2tNYXhDb3VudCBhcyBudW1iZXI7XG4gICAgY29uc3Qgb25SZXNvbHZlID0gKHN0YXR1czogTnpTYWZlQW55LCBlcnJvcj86IE56U2FmZUFueSk6IHZvaWQgPT4ge1xuICAgICAgdGhpcy5faW5pdC5uZXh0KHtcbiAgICAgICAgb2s6IHN0YXR1cyA9PT0gJ29rJyxcbiAgICAgICAgc3RhdHVzLFxuICAgICAgICBlcnJvcixcbiAgICAgICAgbG9kb3A6IHRoaXMuX2xvZG9wIVxuICAgICAgfSk7XG4gICAgfTtcbiAgICBjb25zdCBjaGVja1N0YXR1cyA9ICgpOiB2b2lkID0+IHtcbiAgICAgIC0tY2hlY2tNYXhDb3VudDtcbiAgICAgIGlmICh0aGlzLl9sb2RvcCEud2Vic2t0ICYmIHRoaXMuX2xvZG9wIS53ZWJza3QucmVhZHlTdGF0ZSA9PT0gMSkge1xuICAgICAgICBvblJlc29sdmUoJ29rJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoY2hlY2tNYXhDb3VudCA8IDApIHtcbiAgICAgICAgICBvblJlc29sdmUoJ2NoZWNrLWxpbWl0Jyk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gY2hlY2tTdGF0dXMoKSwgMTAwKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdGhpcy5zY3JpcHRTcnYubG9hZFNjcmlwdCh1cmwpLnRoZW4oKHJlczogTnpTYWZlQW55KSA9PiB7XG4gICAgICBpZiAocmVzLnN0YXR1cyAhPT0gJ29rJykge1xuICAgICAgICB0aGlzLnBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgb25SZXNvbHZlKCdzY3JpcHQtbG9hZC1lcnJvcicsIHJlc1swXSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHdpbiA9IHdpbmRvdyBhcyBOelNhZmVBbnk7XG4gICAgICBpZiAod2luLmhhc093blByb3BlcnR5KHRoaXMuY29nLm5hbWUhKSkge1xuICAgICAgICB0aGlzLl9sb2RvcCA9IHdpblt0aGlzLmNvZy5uYW1lIV0gYXMgTG9kb3A7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5fbG9kb3AgPT09IG51bGwpIHtcbiAgICAgICAgb25SZXNvbHZlKCdsb2FkLXZhcmlhYmxlLW5hbWUtZXJyb3InLCB7IG5hbWU6IHRoaXMuY29nLm5hbWUgfSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuX2xvZG9wLlNFVF9MSUNFTlNFUyh0aGlzLmNvZy5jb21wYW55TmFtZSEsIHRoaXMuY29nLmxpY2Vuc2UhLCB0aGlzLmNvZy5saWNlbnNlQSwgdGhpcy5jb2cubGljZW5zZUIpO1xuICAgICAgY2hlY2tTdGF0dXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldCBsb2RvcCBvYmplY3RcbiAgICpcbiAgICog6YeN572uIGxvZG9wIOWvueixoVxuICAgKi9cbiAgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5fbG9kb3AgPSBudWxsO1xuICAgIHRoaXMucGVuZGluZyA9IGZhbHNlO1xuICAgIHRoaXMucmVxdWVzdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEF0dGFjaCBjb2RlIHRvIHRoZSBgbG9kb3BgIG9iamVjdCwgdGhlIHN0cmluZyBjbGFzcyBzdXBwb3J0cyBkeW5hbWljIHBhcmFtZXRlcnMgb2YgYHt7a2V5fX1gLFxuICAgKiAqKk5vdGU6KiogVGhlIGNvZGUgcmVmZXJzIHRvIHRoZSBzdHJpbmcgZGF0YSBnZW5lcmF0ZWQgYnkgdGhlIHByaW50IGRlc2lnblxuICAgKlxuICAgKiDpmYTliqDku6PnoIHoh7MgYGxvZG9wYCDlr7nosaHkuIrvvIzlrZfnrKbkuLLnsbvmlK/mjIEgYHt7a2V5fX1gIOeahOWKqOaAgeWPguaVsO+8jCoq5rOo77yaKiog5Luj56CB5piv5oyH5omT5Y2w6K6+6K6h5omA5Lqn55Sf5a2X56ym5Liy5pWw5o2uXG4gICAqL1xuICBhdHRhY2hDb2RlKGNvZGU6IHN0cmluZywgY29udGV4dE9iaj86IE56U2FmZUFueSwgcGFyc2VyPzogUmVnRXhwKTogdm9pZCB7XG4gICAgdGhpcy5jaGVjaygpO1xuICAgIGlmICghcGFyc2VyKSBwYXJzZXIgPSAvTE9ET1BcXC4oW14oXSspXFwoKFteXFxuXSspP1xcKTsvaTtcbiAgICBjb2RlLnNwbGl0KCdcXG4nKS5mb3JFYWNoKGxpbmUgPT4ge1xuICAgICAgY29uc3QgcmVzID0gcGFyc2VyIS5leGVjKGxpbmUudHJpbSgpKTtcbiAgICAgIGlmICghcmVzKSByZXR1cm47XG4gICAgICBjb25zdCBmbiA9IHRoaXMuX2xvZG9wIVtyZXNbMV1dO1xuICAgICAgaWYgKGZuKSB7XG4gICAgICAgIGxldCBhcnI6IE56U2FmZUFueVtdIHwgbnVsbCA9IG51bGw7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgZmFrZUZuID0gbmV3IEZ1bmN0aW9uKGByZXR1cm4gWyR7cmVzWzJdfV1gKTtcbiAgICAgICAgICBhcnIgPSBmYWtlRm4oKTtcbiAgICAgICAgfSBjYXRjaCB7fVxuXG4gICAgICAgIGlmIChhcnIgIT0gbnVsbCAmJiBBcnJheS5pc0FycmF5KGFycikgJiYgY29udGV4dE9iaikge1xuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGFycltpXSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgYXJyW2ldID0gKGFycltpXSBhcyBzdHJpbmcpLnJlcGxhY2UoL3t7KC4qPyl9fS9nLCAoX21hdGNoLCBrZXkpID0+IGNvbnRleHRPYmpba2V5LnRyaW0oKV0gfHwgJycpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBmbi5hcHBseSh0aGlzLl9sb2RvcCwgYXJyISk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGNvZGUgaXMgYXV0b21hdGljYWxseSByZXR1cm5lZCBhZnRlciBvcGVuaW5nIHRoZSBwcmludCBkZXNpZ24gYW5kIGNsb3NpbmcsXG4gICAqICoqTm90ZToqKiBBdXRvbWF0aWNhbGx5IGxpc3RlbiBmb3IgdGhlIGBPbl9SZXR1cm5gIGV2ZW50LCBhbmQgaXQgd2lsbCBiZSByZW1vdmVkIGFmdGVyIHJ1bm5pbmdcbiAgICpcbiAgICog5omT5byA5omT5Y2w6K6+6K6h5YWz6Zet5ZCO6Ieq5Yqo6L+U5Zue5Luj56CB77yMKirms6jvvJoqKiDoh6rliqjnm5HlkKwgYE9uX1JldHVybmAg5LqL5Lu277yM6L+Q6KGM5ZCO5Lya56e76ZmkXG4gICAqL1xuICBkZXNpZ24oKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICB0aGlzLmNoZWNrKCk7XG4gICAgY29uc3QgdGlkID0gdGhpcy5fbG9kb3AhLlBSSU5UX0RFU0lHTigpO1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcbiAgICAgIHRoaXMuX2xvZG9wIS5Pbl9SZXR1cm4gPSAodGFza0lEOiBzdHJpbmcsIHZhbHVlOiBib29sZWFuIHwgc3RyaW5nKSA9PiB7XG4gICAgICAgIGlmICh0aWQgIT09IHRhc2tJRCkgcmV0dXJuO1xuICAgICAgICB0aGlzLl9sb2RvcCEuT25fUmV0dXJuID0gbnVsbDtcbiAgICAgICAgcmVzb2x2ZShgJHt2YWx1ZX1gKTtcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cbiAgcHJpdmF0ZSBwcmludERvKCk6IHZvaWQge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLnByaW50QnVmZmVyLnNoaWZ0KCk7XG4gICAgaWYgKCFkYXRhKSByZXR1cm47XG4gICAgdGhpcy5hdHRhY2hDb2RlKGRhdGEuY29kZSwgZGF0YS5pdGVtLCBkYXRhLnBhcnNlcik7XG4gICAgY29uc3QgdGlkID0gdGhpcy5fbG9kb3AhLlBSSU5UKCk7XG4gICAgdGhpcy5fbG9kb3AhLk9uX1JldHVybiA9ICh0YXNrSUQ6IHN0cmluZywgdmFsdWU6IGJvb2xlYW4gfCBzdHJpbmcpID0+IHtcbiAgICAgIGlmICh0aWQgIT09IHRhc2tJRCkgcmV0dXJuO1xuICAgICAgdGhpcy5fbG9kb3AhLk9uX1JldHVybiA9IG51bGw7XG4gICAgICB0aGlzLl9ldmVudHMubmV4dCh7XG4gICAgICAgIG9rOiB2YWx1ZSA9PT0gdHJ1ZSxcbiAgICAgICAgZXJyb3I6IHZhbHVlID09PSB0cnVlID8gbnVsbCA6IHZhbHVlLFxuICAgICAgICAuLi5kYXRhXG4gICAgICB9KTtcbiAgICAgIHRoaXMucHJpbnREbygpO1xuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogUHJpbnQgaW1tZWRpYXRlbHksIGdlbmVyYWxseSB1c2VkIGZvciBiYXRjaCBwcmludGluZ1xuICAgKlxuICAgKiDnq4vljbPmiZPljbDvvIzkuIDoiKznlKjkuo7mibnph4/lpZfmiZNcbiAgICovXG4gIHByaW50KGNvZGU6IHN0cmluZywgY29udGV4dE9iajogTnpTYWZlQW55LCBwYXJzZXI/OiBSZWdFeHApOiB2b2lkIHtcbiAgICB0aGlzLmNoZWNrKCk7XG4gICAgaWYgKGNvbnRleHRPYmopIHtcbiAgICAgIHRoaXMucHJpbnRCdWZmZXIucHVzaChcbiAgICAgICAgLi4uKEFycmF5LmlzQXJyYXkoY29udGV4dE9iaikgPyBjb250ZXh0T2JqIDogW2NvbnRleHRPYmpdKS5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHsgY29kZSwgcGFyc2VyLCBpdGVtIH07XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLnByaW50RG8oKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2luaXQudW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9ldmVudHMudW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
3
|
-
import { Subject, timer, takeUntil, take } from 'rxjs';
|
|
4
|
-
import { InputNumber, ZoneOutside } from '@delon/util/decorator';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "./media.service";
|
|
7
|
-
import * as i2 from "@angular/cdk/platform";
|
|
8
|
-
export class MediaComponent {
|
|
9
|
-
get player() {
|
|
10
|
-
return this._p;
|
|
11
|
-
}
|
|
12
|
-
constructor(el, renderer, srv, ngZone, platform) {
|
|
13
|
-
this.el = el;
|
|
14
|
-
this.renderer = renderer;
|
|
15
|
-
this.srv = srv;
|
|
16
|
-
this.ngZone = ngZone;
|
|
17
|
-
this.platform = platform;
|
|
18
|
-
this.destroy$ = new Subject();
|
|
19
|
-
this.type = 'video';
|
|
20
|
-
this.delay = 0;
|
|
21
|
-
this.ready = new EventEmitter();
|
|
22
|
-
}
|
|
23
|
-
initDelay() {
|
|
24
|
-
timer(this.delay)
|
|
25
|
-
.pipe(takeUntil(this.destroy$))
|
|
26
|
-
.subscribe(() => this.ngZone.runOutsideAngular(() => this.init()));
|
|
27
|
-
}
|
|
28
|
-
init() {
|
|
29
|
-
const winPlyr = window.Plyr;
|
|
30
|
-
if (!winPlyr) {
|
|
31
|
-
throw new Error(`No window.Plyr found, please make sure that cdn or local path exists, the current referenced path is: ${JSON.stringify(this.srv.cog.urls)}`);
|
|
32
|
-
}
|
|
33
|
-
this.ensureElement();
|
|
34
|
-
const player = (this._p = new winPlyr(this.videoEl, {
|
|
35
|
-
...this.srv.cog.options
|
|
36
|
-
}));
|
|
37
|
-
player.on('ready', () => this.ngZone.run(() => this.ready.next(player)));
|
|
38
|
-
this.uploadSource();
|
|
39
|
-
}
|
|
40
|
-
ensureElement() {
|
|
41
|
-
const { type } = this;
|
|
42
|
-
let el = this.el.nativeElement.querySelector(type);
|
|
43
|
-
if (!el) {
|
|
44
|
-
el = this.renderer.createElement(type);
|
|
45
|
-
el.controls = true;
|
|
46
|
-
this.el.nativeElement.appendChild(el);
|
|
47
|
-
}
|
|
48
|
-
this.videoEl = el;
|
|
49
|
-
}
|
|
50
|
-
destroy() {
|
|
51
|
-
if (this._p) {
|
|
52
|
-
this._p.destroy();
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
uploadSource() {
|
|
56
|
-
if (this._p == null)
|
|
57
|
-
return;
|
|
58
|
-
const { source, type } = this;
|
|
59
|
-
this._p.source = (typeof source === 'string' ? { type, sources: [{ src: source }] } : source);
|
|
60
|
-
}
|
|
61
|
-
ngAfterViewInit() {
|
|
62
|
-
if (!this.platform.isBrowser) {
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
this.srv
|
|
66
|
-
.notify()
|
|
67
|
-
.pipe(takeUntil(this.destroy$), take(1))
|
|
68
|
-
.subscribe(() => this.initDelay());
|
|
69
|
-
this.srv.load();
|
|
70
|
-
}
|
|
71
|
-
ngOnChanges(changes) {
|
|
72
|
-
this.srv.cog = { options: this.options };
|
|
73
|
-
if (changes.source) {
|
|
74
|
-
this.uploadSource();
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
ngOnDestroy() {
|
|
78
|
-
this.destroy();
|
|
79
|
-
this._p = null;
|
|
80
|
-
const { destroy$ } = this;
|
|
81
|
-
destroy$.next();
|
|
82
|
-
destroy$.complete();
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
MediaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MediaComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.MediaService }, { token: i0.NgZone }, { token: i2.Platform }], target: i0.ɵɵFactoryTarget.Component });
|
|
86
|
-
MediaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: MediaComponent, selector: "media", inputs: { type: "type", source: "source", options: "options", delay: "delay" }, outputs: { ready: "ready" }, host: { properties: { "style.display": "'block'" } }, exportAs: ["mediaComponent"], usesOnChanges: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
87
|
-
__decorate([
|
|
88
|
-
InputNumber()
|
|
89
|
-
], MediaComponent.prototype, "delay", void 0);
|
|
90
|
-
__decorate([
|
|
91
|
-
ZoneOutside()
|
|
92
|
-
], MediaComponent.prototype, "initDelay", null);
|
|
93
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MediaComponent, decorators: [{
|
|
94
|
-
type: Component,
|
|
95
|
-
args: [{
|
|
96
|
-
selector: 'media',
|
|
97
|
-
exportAs: 'mediaComponent',
|
|
98
|
-
template: `<ng-content></ng-content>`,
|
|
99
|
-
host: {
|
|
100
|
-
'[style.display]': `'block'`
|
|
101
|
-
},
|
|
102
|
-
preserveWhitespaces: false,
|
|
103
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
104
|
-
encapsulation: ViewEncapsulation.None
|
|
105
|
-
}]
|
|
106
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.MediaService }, { type: i0.NgZone }, { type: i2.Platform }]; }, propDecorators: { type: [{
|
|
107
|
-
type: Input
|
|
108
|
-
}], source: [{
|
|
109
|
-
type: Input
|
|
110
|
-
}], options: [{
|
|
111
|
-
type: Input
|
|
112
|
-
}], delay: [{
|
|
113
|
-
type: Input
|
|
114
|
-
}], ready: [{
|
|
115
|
-
type: Output
|
|
116
|
-
}], initDelay: [] } });
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYWJjL21lZGlhL21lZGlhLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBR04saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJdkQsT0FBTyxFQUFFLFdBQVcsRUFBZSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7OztBQWtCOUUsTUFBTSxPQUFPLGNBQWM7SUFhekIsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxZQUNVLEVBQTJCLEVBQzNCLFFBQW1CLEVBQ25CLEdBQWlCLEVBQ2pCLE1BQWMsRUFDZCxRQUFrQjtRQUpsQixPQUFFLEdBQUYsRUFBRSxDQUF5QjtRQUMzQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLFFBQUcsR0FBSCxHQUFHLENBQWM7UUFDakIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQVU7UUFqQnBCLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRTlCLFNBQUksR0FBYyxPQUFPLENBQUM7UUFHWCxVQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFZakQsQ0FBQztJQUdJLFNBQVM7UUFDZixLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQzthQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzlCLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FB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ekMsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNyQjtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFFZixNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQzFCLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNoQixRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdEIsQ0FBQzs7MkdBdkdVLGNBQWM7K0ZBQWQsY0FBYyxtUUFSZiwyQkFBMkI7QUFrQmI7SUFBZCxXQUFXLEVBQUU7NkNBQVc7QUFnQmxDO0lBREMsV0FBVyxFQUFFOytDQUtiOzJGQTlCVSxjQUFjO2tCQVgxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxPQUFPO29CQUNqQixRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxJQUFJLEVBQUU7d0JBQ0osaUJBQWlCLEVBQUUsU0FBUztxQkFDN0I7b0JBQ0QsbUJBQW1CLEVBQUUsS0FBSztvQkFDMUIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0QztnTUFRVSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDa0IsS0FBSztzQkFBNUIsS0FBSztnQkFDYSxLQUFLO3NCQUF2QixNQUFNO2dCQWVDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFJlbmRlcmVyMixcbiAgU2ltcGxlQ2hhbmdlLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QsIHRpbWVyLCB0YWtlVW50aWwsIHRha2UgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHR5cGUgUGx5ciBmcm9tICdwbHlyJztcblxuaW1wb3J0IHsgSW5wdXROdW1iZXIsIE51bWJlcklucHV0LCBab25lT3V0c2lkZSB9IGZyb20gJ0BkZWxvbi91dGlsL2RlY29yYXRvcic7XG5pbXBvcnQgdHlwZSB7IE56U2FmZUFueSB9IGZyb20gJ25nLXpvcnJvLWFudGQvY29yZS90eXBlcyc7XG5cbmltcG9ydCB7IE1lZGlhU2VydmljZSB9IGZyb20gJy4vbWVkaWEuc2VydmljZSc7XG5cbmV4cG9ydCB0eXBlIE1lZGlhVHlwZSA9ICdodG1sNScgfCAneW91dHViZScgfCAndmlkZW8nIHwgJ2F1ZGlvJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWVkaWEnLFxuICBleHBvcnRBczogJ21lZGlhQ29tcG9uZW50JyxcbiAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YCxcbiAgaG9zdDoge1xuICAgICdbc3R5bGUuZGlzcGxheV0nOiBgJ2Jsb2NrJ2BcbiAgfSxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIE1lZGlhQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfZGVsYXk6IE51bWJlcklucHV0O1xuXG4gIHByaXZhdGUgX3A/OiBQbHlyIHwgbnVsbDtcbiAgcHJpdmF0ZSB2aWRlb0VsPzogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIEBJbnB1dCgpIHR5cGU6IE1lZGlhVHlwZSA9ICd2aWRlbyc7XG4gIEBJbnB1dCgpIHNvdXJjZT86IHN0cmluZyB8IFBseXIuU291cmNlSW5mbztcbiAgQElucHV0KCkgb3B0aW9ucz86IFBseXIuT3B0aW9ucztcbiAgQElucHV0KCkgQElucHV0TnVtYmVyKCkgZGVsYXkgPSAwO1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgcmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyPFBseXI+KCk7XG5cbiAgZ2V0IHBsYXllcigpOiBQbHlyIHwgdW5kZWZpbmVkIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX3A7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBzcnY6IE1lZGlhU2VydmljZSxcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgIHByaXZhdGUgcGxhdGZvcm06IFBsYXRmb3JtXG4gICkge31cblxuICBAWm9uZU91dHNpZGUoKVxuICBwcml2YXRlIGluaXREZWxheSgpOiB2b2lkIHtcbiAgICB0aW1lcih0aGlzLmRlbGF5KVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB0aGlzLmluaXQoKSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IHdpblBseXIgPSAod2luZG93IGFzIE56U2FmZUFueSkuUGx5cjtcbiAgICBpZiAoIXdpblBseXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYE5vIHdpbmRvdy5QbHlyIGZvdW5kLCBwbGVhc2UgbWFrZSBzdXJlIHRoYXQgY2RuIG9yIGxvY2FsIHBhdGggZXhpc3RzLCB0aGUgY3VycmVudCByZWZlcmVuY2VkIHBhdGggaXM6ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgdGhpcy5zcnYuY29nLnVybHNcbiAgICAgICAgKX1gXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuZW5zdXJlRWxlbWVudCgpO1xuXG4gICAgY29uc3QgcGxheWVyOiBQbHlyID0gKHRoaXMuX3AgPSBuZXcgd2luUGx5cih0aGlzLnZpZGVvRWwsIHtcbiAgICAgIC4uLnRoaXMuc3J2LmNvZy5vcHRpb25zXG4gICAgfSkpO1xuXG4gICAgcGxheWVyLm9uKCdyZWFkeScsICgpID0+IHRoaXMubmdab25lLnJ1bigoKSA9PiB0aGlzLnJlYWR5Lm5leHQocGxheWVyKSkpO1xuXG4gICAgdGhpcy51cGxvYWRTb3VyY2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgZW5zdXJlRWxlbWVudCgpOiB2b2lkIHtcbiAgICBjb25zdCB7IHR5cGUgfSA9IHRoaXM7XG4gICAgbGV0IGVsID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IodHlwZSkgYXMgSFRNTEVsZW1lbnQ7XG4gICAgaWYgKCFlbCkge1xuICAgICAgZWwgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQodHlwZSk7XG4gICAgICAoZWwgYXMgSFRNTFZpZGVvRWxlbWVudCkuY29udHJvbHMgPSB0cnVlO1xuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKGVsKTtcbiAgICB9XG4gICAgdGhpcy52aWRlb0VsID0gZWw7XG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3ApIHtcbiAgICAgIHRoaXMuX3AuZGVzdHJveSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBsb2FkU291cmNlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9wID09IG51bGwpIHJldHVybjtcblxuICAgIGNvbnN0IHsgc291cmNlLCB0eXBlIH0gPSB0aGlzO1xuICAgIHRoaXMuX3Auc291cmNlID0gKHR5cGVvZiBzb3VyY2UgPT09ICdzdHJpbmcnID8geyB0eXBlLCBzb3VyY2VzOiBbeyBzcmM6IHNvdXJjZSB9XSB9IDogc291cmNlKSBhcyBQbHlyLlNvdXJjZUluZm87XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnBsYXRmb3JtLmlzQnJvd3Nlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNydlxuICAgICAgLm5vdGlmeSgpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCksIHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuaW5pdERlbGF5KCkpO1xuXG4gICAgdGhpcy5zcnYubG9hZCgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogeyBbcCBpbiBrZXlvZiBNZWRpYUNvbXBvbmVudF0/OiBTaW1wbGVDaGFuZ2UgfSk6IHZvaWQge1xuICAgIHRoaXMuc3J2LmNvZyA9IHsgb3B0aW9uczogdGhpcy5vcHRpb25zIH07XG4gICAgaWYgKGNoYW5nZXMuc291cmNlKSB7XG4gICAgICB0aGlzLnVwbG9hZFNvdXJjZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSgpO1xuICAgIHRoaXMuX3AgPSBudWxsO1xuXG4gICAgY29uc3QgeyBkZXN0cm95JCB9ID0gdGhpcztcbiAgICBkZXN0cm95JC5uZXh0KCk7XG4gICAgZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { MediaComponent } from './media.component';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
const COMPONENTS = [MediaComponent];
|
|
6
|
-
export class MediaModule {
|
|
7
|
-
}
|
|
8
|
-
MediaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MediaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
-
MediaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: MediaModule, declarations: [MediaComponent], imports: [CommonModule], exports: [MediaComponent] });
|
|
10
|
-
MediaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MediaModule, imports: [CommonModule] });
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MediaModule, decorators: [{
|
|
12
|
-
type: NgModule,
|
|
13
|
-
args: [{
|
|
14
|
-
imports: [CommonModule],
|
|
15
|
-
declarations: COMPONENTS,
|
|
16
|
-
exports: COMPONENTS
|
|
17
|
-
}]
|
|
18
|
-
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYWJjL21lZGlhL21lZGlhLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBRW5ELE1BQU0sVUFBVSxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7QUFPcEMsTUFBTSxPQUFPLFdBQVc7O3dHQUFYLFdBQVc7eUdBQVgsV0FBVyxpQkFQSixjQUFjLGFBR3RCLFlBQVksYUFISixjQUFjO3lHQU9yQixXQUFXLFlBSlosWUFBWTsyRkFJWCxXQUFXO2tCQUx2QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsWUFBWSxFQUFFLFVBQVU7b0JBQ3hCLE9BQU8sRUFBRSxVQUFVO2lCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBNZWRpYUNvbXBvbmVudCB9IGZyb20gJy4vbWVkaWEuY29tcG9uZW50JztcblxuY29uc3QgQ09NUE9ORU5UUyA9IFtNZWRpYUNvbXBvbmVudF07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IENPTVBPTkVOVFMsXG4gIGV4cG9ydHM6IENPTVBPTkVOVFNcbn0pXG5leHBvcnQgY2xhc3MgTWVkaWFNb2R1bGUge31cbiJdfQ==
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { Subject, share } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@delon/util/config";
|
|
5
|
-
import * as i2 from "@delon/util/other";
|
|
6
|
-
export class MediaService {
|
|
7
|
-
get cog() {
|
|
8
|
-
return this._cog;
|
|
9
|
-
}
|
|
10
|
-
set cog(val) {
|
|
11
|
-
this._cog = this.cogSrv.merge('media', {
|
|
12
|
-
urls: ['https://cdn.jsdelivr.net/npm/plyr/dist/plyr.min.js', 'https://cdn.jsdelivr.net/npm/plyr/dist/plyr.css']
|
|
13
|
-
}, val);
|
|
14
|
-
}
|
|
15
|
-
constructor(cogSrv, lazySrv) {
|
|
16
|
-
this.cogSrv = cogSrv;
|
|
17
|
-
this.lazySrv = lazySrv;
|
|
18
|
-
this.loading = false;
|
|
19
|
-
this.loaded = false;
|
|
20
|
-
this.notify$ = new Subject();
|
|
21
|
-
}
|
|
22
|
-
load() {
|
|
23
|
-
if (this.loading) {
|
|
24
|
-
if (this.loaded) {
|
|
25
|
-
this.notify$.next();
|
|
26
|
-
}
|
|
27
|
-
return this;
|
|
28
|
-
}
|
|
29
|
-
this.loading = true;
|
|
30
|
-
this.lazySrv.load(this.cog.urls).then(() => {
|
|
31
|
-
this.loaded = true;
|
|
32
|
-
this.notify$.next();
|
|
33
|
-
});
|
|
34
|
-
return this;
|
|
35
|
-
}
|
|
36
|
-
notify() {
|
|
37
|
-
return this.notify$.asObservable().pipe(share());
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
MediaService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MediaService, deps: [{ token: i1.AlainConfigService }, { token: i2.LazyService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
41
|
-
MediaService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MediaService, providedIn: 'root' });
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MediaService, decorators: [{
|
|
43
|
-
type: Injectable,
|
|
44
|
-
args: [{ providedIn: 'root' }]
|
|
45
|
-
}], ctorParameters: function () { return [{ type: i1.AlainConfigService }, { type: i2.LazyService }]; } });
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FiYy9tZWRpYS9tZWRpYS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7QUFNbEQsTUFBTSxPQUFPLFlBQVk7SUFNdkIsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFDRCxJQUFJLEdBQUcsQ0FBQyxHQUFxQjtRQUMzQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUMzQixPQUFPLEVBQ1A7WUFDRSxJQUFJLEVBQUUsQ0FBQyxvREFBb0QsRUFBRSxpREFBaUQsQ0FBQztTQUNoSCxFQUNELEdBQUcsQ0FDSCxDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQW9CLE1BQTBCLEVBQVUsT0FBb0I7UUFBeEQsV0FBTSxHQUFOLE1BQU0sQ0FBb0I7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFhO1FBakJwRSxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDZixZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQWV5QyxDQUFDO0lBRWhGLElBQUk7UUFDRixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNmLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDckI7WUFDRCxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQzFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7O3lHQXRDVSxZQUFZOzZHQUFaLFlBQVksY0FEQyxNQUFNOzJGQUNuQixZQUFZO2tCQUR4QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIHNoYXJlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFsYWluQ29uZmlnU2VydmljZSwgQWxhaW5NZWRpYUNvbmZpZyB9IGZyb20gJ0BkZWxvbi91dGlsL2NvbmZpZyc7XG5pbXBvcnQgeyBMYXp5U2VydmljZSB9IGZyb20gJ0BkZWxvbi91dGlsL290aGVyJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBNZWRpYVNlcnZpY2Uge1xuICBwcml2YXRlIF9jb2chOiBBbGFpbk1lZGlhQ29uZmlnO1xuICBwcml2YXRlIGxvYWRpbmcgPSBmYWxzZTtcbiAgcHJpdmF0ZSBsb2FkZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBub3RpZnkkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBnZXQgY29nKCk6IEFsYWluTWVkaWFDb25maWcge1xuICAgIHJldHVybiB0aGlzLl9jb2c7XG4gIH1cbiAgc2V0IGNvZyh2YWw6IEFsYWluTWVkaWFDb25maWcpIHtcbiAgICB0aGlzLl9jb2cgPSB0aGlzLmNvZ1Nydi5tZXJnZShcbiAgICAgICdtZWRpYScsXG4gICAgICB7XG4gICAgICAgIHVybHM6IFsnaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9wbHlyL2Rpc3QvcGx5ci5taW4uanMnLCAnaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9wbHlyL2Rpc3QvcGx5ci5jc3MnXVxuICAgICAgfSxcbiAgICAgIHZhbFxuICAgICkhO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb2dTcnY6IEFsYWluQ29uZmlnU2VydmljZSwgcHJpdmF0ZSBsYXp5U3J2OiBMYXp5U2VydmljZSkge31cblxuICBsb2FkKCk6IHRoaXMge1xuICAgIGlmICh0aGlzLmxvYWRpbmcpIHtcbiAgICAgIGlmICh0aGlzLmxvYWRlZCkge1xuICAgICAgICB0aGlzLm5vdGlmeSQubmV4dCgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5sYXp5U3J2LmxvYWQodGhpcy5jb2cudXJscyEpLnRoZW4oKCkgPT4ge1xuICAgICAgdGhpcy5sb2FkZWQgPSB0cnVlO1xuICAgICAgdGhpcy5ub3RpZnkkLm5leHQoKTtcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIG5vdGlmeSgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5ub3RpZnkkLmFzT2JzZXJ2YWJsZSgpLnBpcGUoc2hhcmUoKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
import * as i2 from "ng-zorro-antd/list";
|
|
5
|
-
import * as i3 from "ng-zorro-antd/tag";
|
|
6
|
-
import * as i4 from "ng-zorro-antd/core/outlet";
|
|
7
|
-
export class NoticeIconTabComponent {
|
|
8
|
-
constructor() {
|
|
9
|
-
this.locale = {};
|
|
10
|
-
this.select = new EventEmitter();
|
|
11
|
-
this.clear = new EventEmitter();
|
|
12
|
-
}
|
|
13
|
-
onClick(item) {
|
|
14
|
-
this.select.emit({ title: this.data.title, item });
|
|
15
|
-
}
|
|
16
|
-
onClear() {
|
|
17
|
-
this.clear.emit(this.data.title);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
NoticeIconTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NoticeIconTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
-
NoticeIconTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NoticeIconTabComponent, selector: "notice-icon-tab", inputs: { locale: "locale", data: "data" }, outputs: { select: "select", clear: "clear" }, exportAs: ["noticeIconTab"], ngImport: i0, template: "<div *ngIf=\"data.list?.length === 0; else listTpl\" class=\"notice-icon__notfound\">\n <img class=\"notice-icon__notfound-img\" *ngIf=\"data.emptyImage\" [attr.src]=\"data.emptyImage\" alt=\"not found\" />\n <p>\n <ng-container *nzStringTemplateOutlet=\"data.emptyText\">\n {{ data.emptyText || locale.emptyText }}\n </ng-container>\n </p>\n</div>\n<ng-template #listTpl>\n <nz-list [nzDataSource]=\"data.list\" [nzRenderItem]=\"item\">\n <ng-template #item let-item>\n <nz-list-item (click)=\"onClick(item)\" [ngClass]=\"{ 'notice-icon__item-read': item.read }\">\n <nz-list-item-meta [nzTitle]=\"nzTitle\" [nzDescription]=\"nzDescription\" [nzAvatar]=\"item.avatar\">\n <ng-template #nzTitle>\n <ng-container *nzStringTemplateOutlet=\"item.title; context: { $implicit: item }\">{{\n item.title\n }}</ng-container>\n <div class=\"notice-icon__item-extra\" *ngIf=\"item.extra\">\n <nz-tag [nzColor]=\"item.color\">{{ item.extra }}</nz-tag>\n </div>\n </ng-template>\n <ng-template #nzDescription>\n <div *ngIf=\"item.description\" class=\"notice-icon__item-desc\">\n <ng-container *nzStringTemplateOutlet=\"item.description; context: { $implicit: item }\">{{\n item.description\n }}</ng-container>\n </div>\n <div *ngIf=\"item.datetime\" class=\"notice-icon__item-time\">{{ item.datetime }}</div>\n </ng-template>\n </nz-list-item-meta>\n </nz-list-item>\n </ng-template>\n </nz-list>\n <div class=\"notice-icon__clear\" (click)=\"onClear()\">{{ data.clearText || locale.clearText }}</div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.NzListComponent, selector: "nz-list, [nz-list]", inputs: ["nzDataSource", "nzBordered", "nzGrid", "nzHeader", "nzFooter", "nzItemLayout", "nzRenderItem", "nzLoading", "nzLoadMore", "nzPagination", "nzSize", "nzSplit", "nzNoResult"], exportAs: ["nzList"] }, { kind: "component", type: i2.NzListItemComponent, selector: "nz-list-item, [nz-list-item]", inputs: ["nzActions", "nzContent", "nzExtra", "nzNoFlex"], exportAs: ["nzListItem"] }, { kind: "component", type: i2.NzListItemMetaComponent, selector: "nz-list-item-meta, [nz-list-item-meta]", inputs: ["nzAvatar", "nzTitle", "nzDescription"], exportAs: ["nzListItemMeta"] }, { kind: "component", type: i3.NzTagComponent, selector: "nz-tag", inputs: ["nzMode", "nzColor", "nzChecked"], outputs: ["nzOnClose", "nzCheckedChange"], exportAs: ["nzTag"] }, { kind: "directive", type: i4.NzStringTemplateOutletDirective, selector: "[nzStringTemplateOutlet]", inputs: ["nzStringTemplateOutletContext", "nzStringTemplateOutlet"], exportAs: ["nzStringTemplateOutlet"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NoticeIconTabComponent, decorators: [{
|
|
23
|
-
type: Component,
|
|
24
|
-
args: [{ selector: 'notice-icon-tab', exportAs: 'noticeIconTab', preserveWhitespaces: false, encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"data.list?.length === 0; else listTpl\" class=\"notice-icon__notfound\">\n <img class=\"notice-icon__notfound-img\" *ngIf=\"data.emptyImage\" [attr.src]=\"data.emptyImage\" alt=\"not found\" />\n <p>\n <ng-container *nzStringTemplateOutlet=\"data.emptyText\">\n {{ data.emptyText || locale.emptyText }}\n </ng-container>\n </p>\n</div>\n<ng-template #listTpl>\n <nz-list [nzDataSource]=\"data.list\" [nzRenderItem]=\"item\">\n <ng-template #item let-item>\n <nz-list-item (click)=\"onClick(item)\" [ngClass]=\"{ 'notice-icon__item-read': item.read }\">\n <nz-list-item-meta [nzTitle]=\"nzTitle\" [nzDescription]=\"nzDescription\" [nzAvatar]=\"item.avatar\">\n <ng-template #nzTitle>\n <ng-container *nzStringTemplateOutlet=\"item.title; context: { $implicit: item }\">{{\n item.title\n }}</ng-container>\n <div class=\"notice-icon__item-extra\" *ngIf=\"item.extra\">\n <nz-tag [nzColor]=\"item.color\">{{ item.extra }}</nz-tag>\n </div>\n </ng-template>\n <ng-template #nzDescription>\n <div *ngIf=\"item.description\" class=\"notice-icon__item-desc\">\n <ng-container *nzStringTemplateOutlet=\"item.description; context: { $implicit: item }\">{{\n item.description\n }}</ng-container>\n </div>\n <div *ngIf=\"item.datetime\" class=\"notice-icon__item-time\">{{ item.datetime }}</div>\n </ng-template>\n </nz-list-item-meta>\n </nz-list-item>\n </ng-template>\n </nz-list>\n <div class=\"notice-icon__clear\" (click)=\"onClear()\">{{ data.clearText || locale.clearText }}</div>\n</ng-template>\n" }]
|
|
25
|
-
}], propDecorators: { locale: [{
|
|
26
|
-
type: Input
|
|
27
|
-
}], data: [{
|
|
28
|
-
type: Input
|
|
29
|
-
}], select: [{
|
|
30
|
-
type: Output
|
|
31
|
-
}], clear: [{
|
|
32
|
-
type: Output
|
|
33
|
-
}] } });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWNlLWljb24tdGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FiYy9ub3RpY2UtaWNvbi9ub3RpY2UtaWNvbi10YWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYWJjL25vdGljZS1pY29uL25vdGljZS1pY29uLXRhYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFhMUYsTUFBTSxPQUFPLHNCQUFzQjtJQVBuQztRQVFXLFdBQU0sR0FBZSxFQUFFLENBQUM7UUFFZCxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQW9CLENBQUM7UUFDOUMsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7S0FTdkQ7SUFQQyxPQUFPLENBQUMsSUFBZ0I7UUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQzs7bUhBWlUsc0JBQXNCO3VHQUF0QixzQkFBc0IsK0tDYm5DLHlzREFtQ0E7MkZEdEJhLHNCQUFzQjtrQkFQbEMsU0FBUzsrQkFDRSxpQkFBaUIsWUFDakIsZUFBZSx1QkFFSixLQUFLLGlCQUNYLGlCQUFpQixDQUFDLElBQUk7OEJBRzVCLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ2EsTUFBTTtzQkFBeEIsTUFBTTtnQkFDWSxLQUFLO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IExvY2FsZURhdGEgfSBmcm9tICdAZGVsb24vdGhlbWUnO1xuXG5pbXBvcnQgeyBOb3RpY2VJY29uU2VsZWN0LCBOb3RpY2VJdGVtIH0gZnJvbSAnLi9ub3RpY2UtaWNvbi50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25vdGljZS1pY29uLXRhYicsXG4gIGV4cG9ydEFzOiAnbm90aWNlSWNvblRhYicsXG4gIHRlbXBsYXRlVXJsOiAnLi9ub3RpY2UtaWNvbi10YWIuY29tcG9uZW50Lmh0bWwnLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBOb3RpY2VJY29uVGFiQ29tcG9uZW50IHtcbiAgQElucHV0KCkgbG9jYWxlOiBMb2NhbGVEYXRhID0ge307XG4gIEBJbnB1dCgpIGRhdGEhOiBOb3RpY2VJdGVtO1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgc2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxOb3RpY2VJY29uU2VsZWN0PigpO1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgY2xlYXIgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBvbkNsaWNrKGl0ZW06IE5vdGljZUl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdC5lbWl0KHsgdGl0bGU6IHRoaXMuZGF0YS50aXRsZSwgaXRlbSB9KTtcbiAgfVxuXG4gIG9uQ2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy5jbGVhci5lbWl0KHRoaXMuZGF0YS50aXRsZSk7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJkYXRhLmxpc3Q/Lmxlbmd0aCA9PT0gMDsgZWxzZSBsaXN0VHBsXCIgY2xhc3M9XCJub3RpY2UtaWNvbl9fbm90Zm91bmRcIj5cbiAgPGltZyBjbGFzcz1cIm5vdGljZS1pY29uX19ub3Rmb3VuZC1pbWdcIiAqbmdJZj1cImRhdGEuZW1wdHlJbWFnZVwiIFthdHRyLnNyY109XCJkYXRhLmVtcHR5SW1hZ2VcIiBhbHQ9XCJub3QgZm91bmRcIiAvPlxuICA8cD5cbiAgICA8bmctY29udGFpbmVyICpuelN0cmluZ1RlbXBsYXRlT3V0bGV0PVwiZGF0YS5lbXB0eVRleHRcIj5cbiAgICAgIHt7IGRhdGEuZW1wdHlUZXh0IHx8IGxvY2FsZS5lbXB0eVRleHQgfX1cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9wPlxuPC9kaXY+XG48bmctdGVtcGxhdGUgI2xpc3RUcGw+XG4gIDxuei1saXN0IFtuekRhdGFTb3VyY2VdPVwiZGF0YS5saXN0XCIgW256UmVuZGVySXRlbV09XCJpdGVtXCI+XG4gICAgPG5nLXRlbXBsYXRlICNpdGVtIGxldC1pdGVtPlxuICAgICAgPG56LWxpc3QtaXRlbSAoY2xpY2spPVwib25DbGljayhpdGVtKVwiIFtuZ0NsYXNzXT1cInsgJ25vdGljZS1pY29uX19pdGVtLXJlYWQnOiBpdGVtLnJlYWQgfVwiPlxuICAgICAgICA8bnotbGlzdC1pdGVtLW1ldGEgW256VGl0bGVdPVwibnpUaXRsZVwiIFtuekRlc2NyaXB0aW9uXT1cIm56RGVzY3JpcHRpb25cIiBbbnpBdmF0YXJdPVwiaXRlbS5hdmF0YXJcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI256VGl0bGU+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuelN0cmluZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbS50aXRsZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVwiPnt7XG4gICAgICAgICAgICAgIGl0ZW0udGl0bGVcbiAgICAgICAgICAgIH19PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm90aWNlLWljb25fX2l0ZW0tZXh0cmFcIiAqbmdJZj1cIml0ZW0uZXh0cmFcIj5cbiAgICAgICAgICAgICAgPG56LXRhZyBbbnpDb2xvcl09XCJpdGVtLmNvbG9yXCI+e3sgaXRlbS5leHRyYSB9fTwvbnotdGFnPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI256RGVzY3JpcHRpb24+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS5kZXNjcmlwdGlvblwiIGNsYXNzPVwibm90aWNlLWljb25fX2l0ZW0tZGVzY1wiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuelN0cmluZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbS5kZXNjcmlwdGlvbjsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVwiPnt7XG4gICAgICAgICAgICAgICAgaXRlbS5kZXNjcmlwdGlvblxuICAgICAgICAgICAgICB9fTwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS5kYXRldGltZVwiIGNsYXNzPVwibm90aWNlLWljb25fX2l0ZW0tdGltZVwiPnt7IGl0ZW0uZGF0ZXRpbWUgfX08L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L256LWxpc3QtaXRlbS1tZXRhPlxuICAgICAgPC9uei1saXN0LWl0ZW0+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uei1saXN0PlxuICA8ZGl2IGNsYXNzPVwibm90aWNlLWljb25fX2NsZWFyXCIgKGNsaWNrKT1cIm9uQ2xlYXIoKVwiPnt7IGRhdGEuY2xlYXJUZXh0IHx8IGxvY2FsZS5jbGVhclRleHQgfX08L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
3
|
-
import { InputBoolean, InputNumber } from '@delon/util/decorator';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@delon/theme";
|
|
6
|
-
import * as i2 from "@angular/common";
|
|
7
|
-
import * as i3 from "ng-zorro-antd/badge";
|
|
8
|
-
import * as i4 from "ng-zorro-antd/dropdown";
|
|
9
|
-
import * as i5 from "ng-zorro-antd/icon";
|
|
10
|
-
import * as i6 from "ng-zorro-antd/spin";
|
|
11
|
-
import * as i7 from "ng-zorro-antd/tabs";
|
|
12
|
-
import * as i8 from "./notice-icon-tab.component";
|
|
13
|
-
export class NoticeIconComponent {
|
|
14
|
-
get overlayCls() {
|
|
15
|
-
return `header-dropdown notice-icon${!this.centered ? ' notice-icon__tab-left' : ''}`;
|
|
16
|
-
}
|
|
17
|
-
constructor(i18n, cdr) {
|
|
18
|
-
this.i18n = i18n;
|
|
19
|
-
this.cdr = cdr;
|
|
20
|
-
this.locale = {};
|
|
21
|
-
this.data = [];
|
|
22
|
-
this.loading = false;
|
|
23
|
-
this.popoverVisible = false;
|
|
24
|
-
this.centered = false;
|
|
25
|
-
this.select = new EventEmitter();
|
|
26
|
-
this.clear = new EventEmitter();
|
|
27
|
-
this.popoverVisibleChange = new EventEmitter();
|
|
28
|
-
}
|
|
29
|
-
onVisibleChange(result) {
|
|
30
|
-
this.popoverVisibleChange.emit(result);
|
|
31
|
-
}
|
|
32
|
-
onSelect(i) {
|
|
33
|
-
this.select.emit(i);
|
|
34
|
-
}
|
|
35
|
-
onClear(title) {
|
|
36
|
-
this.clear.emit(title);
|
|
37
|
-
}
|
|
38
|
-
ngOnInit() {
|
|
39
|
-
this.i18n$ = this.i18n.change.subscribe(() => {
|
|
40
|
-
this.locale = this.i18n.getData('noticeIcon');
|
|
41
|
-
this.cdr.markForCheck();
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
ngOnChanges() {
|
|
45
|
-
this.cdr.markForCheck();
|
|
46
|
-
}
|
|
47
|
-
ngOnDestroy() {
|
|
48
|
-
this.i18n$.unsubscribe();
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
NoticeIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NoticeIconComponent, deps: [{ token: i1.DelonLocaleService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
52
|
-
NoticeIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NoticeIconComponent, selector: "notice-icon", inputs: { data: "data", count: "count", loading: "loading", popoverVisible: "popoverVisible", btnClass: "btnClass", btnIconClass: "btnIconClass", centered: "centered" }, outputs: { select: "select", clear: "clear", popoverVisibleChange: "popoverVisibleChange" }, host: { properties: { "class.notice-icon__btn": "true" } }, exportAs: ["noticeIcon"], usesOnChanges: true, ngImport: i0, template: "<ng-template #badgeTpl>\n <nz-badge [nzCount]=\"count\" [ngClass]=\"btnClass!\" [nzStyle]=\"{ 'box-shadow': 'none' }\">\n <i nz-icon nzType=\"bell\" [ngClass]=\"btnIconClass!\"></i>\n </nz-badge>\n</ng-template>\n<div *ngIf=\"data!.length === 0\">\n <ng-template [ngTemplateOutlet]=\"badgeTpl\"></ng-template>\n</div>\n<div\n *ngIf=\"data!.length > 0\"\n nz-dropdown\n [nzVisible]=\"popoverVisible\"\n (nzVisibleChange)=\"onVisibleChange($event)\"\n nzTrigger=\"click\"\n nzPlacement=\"bottomRight\"\n [nzOverlayClassName]=\"overlayCls\"\n [nzDropdownMenu]=\"noticeMenu\"\n>\n <ng-template [ngTemplateOutlet]=\"badgeTpl\"></ng-template>\n</div>\n<nz-dropdown-menu #noticeMenu=\"nzDropdownMenu\">\n <nz-spin [nzSpinning]=\"loading\" [nzDelay]=\"0\">\n <nz-tabset nzSelectedIndex=\"0\" [nzCentered]=\"centered\">\n <nz-tab *ngFor=\"let i of data\" [nzTitle]=\"i.title\">\n <notice-icon-tab\n [locale]=\"locale\"\n [data]=\"i\"\n (select)=\"onSelect($event)\"\n (clear)=\"onClear($event)\"\n ></notice-icon-tab>\n </nz-tab>\n </nz-tabset>\n </nz-spin>\n</nz-dropdown-menu>\n", 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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.NzBadgeComponent, selector: "nz-badge", inputs: ["nzShowZero", "nzShowDot", "nzStandalone", "nzDot", "nzOverflowCount", "nzColor", "nzStyle", "nzText", "nzTitle", "nzStatus", "nzCount", "nzOffset", "nzSize"], exportAs: ["nzBadge"] }, { kind: "directive", type: i4.NzDropDownDirective, selector: "[nz-dropdown]", inputs: ["nzDropdownMenu", "nzTrigger", "nzMatchWidthElement", "nzBackdrop", "nzClickHide", "nzDisabled", "nzVisible", "nzOverlayClassName", "nzOverlayStyle", "nzPlacement"], outputs: ["nzVisibleChange"], exportAs: ["nzDropdown"] }, { kind: "component", type: i4.NzDropdownMenuComponent, selector: "nz-dropdown-menu", exportAs: ["nzDropdownMenu"] }, { kind: "directive", type: i5.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "component", type: i6.NzSpinComponent, selector: "nz-spin", inputs: ["nzIndicator", "nzSize", "nzTip", "nzDelay", "nzSimple", "nzSpinning"], exportAs: ["nzSpin"] }, { kind: "component", type: i7.NzTabSetComponent, selector: "nz-tabset", inputs: ["nzSelectedIndex", "nzTabPosition", "nzTabBarExtraContent", "nzCanDeactivate", "nzAddIcon", "nzTabBarStyle", "nzType", "nzSize", "nzAnimated", "nzTabBarGutter", "nzHideAdd", "nzCentered", "nzHideAll", "nzLinkRouter", "nzLinkExact"], outputs: ["nzSelectChange", "nzSelectedIndexChange", "nzTabListScroll", "nzClose", "nzAdd"], exportAs: ["nzTabset"] }, { kind: "component", type: i7.NzTabComponent, selector: "nz-tab", inputs: ["nzTitle", "nzClosable", "nzCloseIcon", "nzDisabled", "nzForceRender"], outputs: ["nzSelect", "nzDeselect", "nzClick", "nzContextmenu"], exportAs: ["nzTab"] }, { kind: "component", type: i8.NoticeIconTabComponent, selector: "notice-icon-tab", inputs: ["locale", "data"], outputs: ["select", "clear"], exportAs: ["noticeIconTab"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
53
|
-
__decorate([
|
|
54
|
-
InputNumber()
|
|
55
|
-
], NoticeIconComponent.prototype, "count", void 0);
|
|
56
|
-
__decorate([
|
|
57
|
-
InputBoolean()
|
|
58
|
-
], NoticeIconComponent.prototype, "loading", void 0);
|
|
59
|
-
__decorate([
|
|
60
|
-
InputBoolean()
|
|
61
|
-
], NoticeIconComponent.prototype, "popoverVisible", void 0);
|
|
62
|
-
__decorate([
|
|
63
|
-
InputBoolean()
|
|
64
|
-
], NoticeIconComponent.prototype, "centered", void 0);
|
|
65
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NoticeIconComponent, decorators: [{
|
|
66
|
-
type: Component,
|
|
67
|
-
args: [{ selector: 'notice-icon', exportAs: 'noticeIcon', host: { '[class.notice-icon__btn]': 'true' }, preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-template #badgeTpl>\n <nz-badge [nzCount]=\"count\" [ngClass]=\"btnClass!\" [nzStyle]=\"{ 'box-shadow': 'none' }\">\n <i nz-icon nzType=\"bell\" [ngClass]=\"btnIconClass!\"></i>\n </nz-badge>\n</ng-template>\n<div *ngIf=\"data!.length === 0\">\n <ng-template [ngTemplateOutlet]=\"badgeTpl\"></ng-template>\n</div>\n<div\n *ngIf=\"data!.length > 0\"\n nz-dropdown\n [nzVisible]=\"popoverVisible\"\n (nzVisibleChange)=\"onVisibleChange($event)\"\n nzTrigger=\"click\"\n nzPlacement=\"bottomRight\"\n [nzOverlayClassName]=\"overlayCls\"\n [nzDropdownMenu]=\"noticeMenu\"\n>\n <ng-template [ngTemplateOutlet]=\"badgeTpl\"></ng-template>\n</div>\n<nz-dropdown-menu #noticeMenu=\"nzDropdownMenu\">\n <nz-spin [nzSpinning]=\"loading\" [nzDelay]=\"0\">\n <nz-tabset nzSelectedIndex=\"0\" [nzCentered]=\"centered\">\n <nz-tab *ngFor=\"let i of data\" [nzTitle]=\"i.title\">\n <notice-icon-tab\n [locale]=\"locale\"\n [data]=\"i\"\n (select)=\"onSelect($event)\"\n (clear)=\"onClear($event)\"\n ></notice-icon-tab>\n </nz-tab>\n </nz-tabset>\n </nz-spin>\n</nz-dropdown-menu>\n" }]
|
|
68
|
-
}], ctorParameters: function () { return [{ type: i1.DelonLocaleService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
|
|
69
|
-
type: Input
|
|
70
|
-
}], count: [{
|
|
71
|
-
type: Input
|
|
72
|
-
}], loading: [{
|
|
73
|
-
type: Input
|
|
74
|
-
}], popoverVisible: [{
|
|
75
|
-
type: Input
|
|
76
|
-
}], btnClass: [{
|
|
77
|
-
type: Input
|
|
78
|
-
}], btnIconClass: [{
|
|
79
|
-
type: Input
|
|
80
|
-
}], centered: [{
|
|
81
|
-
type: Input
|
|
82
|
-
}], select: [{
|
|
83
|
-
type: Output
|
|
84
|
-
}], clear: [{
|
|
85
|
-
type: Output
|
|
86
|
-
}], popoverVisibleChange: [{
|
|
87
|
-
type: Output
|
|
88
|
-
}] } });
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWNlLWljb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYWJjL25vdGljZS1pY29uL25vdGljZS1pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FiYy9ub3RpY2UtaWNvbi9ub3RpY2UtaWNvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBZ0IsWUFBWSxFQUFFLFdBQVcsRUFBZSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7O0FBYzdGLE1BQU0sT0FBTyxtQkFBbUI7SUFvQjlCLElBQUksVUFBVTtRQUNaLE9BQU8sOEJBQThCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQ3hGLENBQUM7SUFFRCxZQUFvQixJQUF3QixFQUFVLEdBQXNCO1FBQXhELFNBQUksR0FBSixJQUFJLENBQW9CO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFqQjVFLFdBQU0sR0FBZSxFQUFFLENBQUM7UUFFZixTQUFJLEdBQWlCLEVBQUUsQ0FBQztRQUVSLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFHdkIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUN2QixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQW9CLENBQUM7UUFDOUMsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDbkMseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQU1TLENBQUM7SUFFaEYsZUFBZSxDQUFDLE1BQWU7UUFDN0IsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsUUFBUSxDQUFDLENBQW1CO1FBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBYTtRQUNuQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMzQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzNCLENBQUM7O2dIQW5EVSxtQkFBbUI7b0dBQW5CLG1CQUFtQixxYUM3QmhDLG9vQ0FrQ0E7QURLMEI7SUFBZCxXQUFXLEVBQUU7a0RBQWdCO0FBQ2Q7SUFBZixZQUFZLEVBQUU7b0RBQWlCO0FBQ2hCO0lBQWYsWUFBWSxFQUFFOzJEQUF3QjtBQUd2QjtJQUFmLFlBQVksRUFBRTtxREFBa0I7MkZBZi9CLG1CQUFtQjtrQkFUL0IsU0FBUzsrQkFDRSxhQUFhLFlBQ2IsWUFBWSxRQUVoQixFQUFFLDBCQUEwQixFQUFFLE1BQU0sRUFBRSx1QkFDdkIsS0FBSyxtQkFDVCx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJO3lJQVc1QixJQUFJO3NCQUFaLEtBQUs7Z0JBQ2tCLEtBQUs7c0JBQTVCLEtBQUs7Z0JBQ21CLE9BQU87c0JBQS9CLEtBQUs7Z0JBQ21CLGNBQWM7c0JBQXRDLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNtQixRQUFRO3NCQUFoQyxLQUFLO2dCQUNhLE1BQU07c0JBQXhCLE1BQU07Z0JBQ1ksS0FBSztzQkFBdkIsTUFBTTtnQkFDWSxvQkFBb0I7c0JBQXRDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBEZWxvbkxvY2FsZVNlcnZpY2UsIExvY2FsZURhdGEgfSBmcm9tICdAZGVsb24vdGhlbWUnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBJbnB1dEJvb2xlYW4sIElucHV0TnVtYmVyLCBOdW1iZXJJbnB1dCB9IGZyb20gJ0BkZWxvbi91dGlsL2RlY29yYXRvcic7XG5pbXBvcnQgdHlwZSB7IE5nQ2xhc3NUeXBlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9jb3JlL3R5cGVzJztcblxuaW1wb3J0IHsgTm90aWNlSWNvblNlbGVjdCwgTm90aWNlSXRlbSB9IGZyb20gJy4vbm90aWNlLWljb24udHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdub3RpY2UtaWNvbicsXG4gIGV4cG9ydEFzOiAnbm90aWNlSWNvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9ub3RpY2UtaWNvbi5jb21wb25lbnQuaHRtbCcsXG4gIGhvc3Q6IHsgJ1tjbGFzcy5ub3RpY2UtaWNvbl9fYnRuXSc6ICd0cnVlJyB9LFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgTm90aWNlSWNvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfY291bnQ6IE51bWJlcklucHV0O1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfbG9hZGluZzogQm9vbGVhbklucHV0O1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfcG9wb3ZlclZpc2libGU6IEJvb2xlYW5JbnB1dDtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2NlbnRlcmVkOiBCb29sZWFuSW5wdXQ7XG5cbiAgcHJpdmF0ZSBpMThuJCE6IFN1YnNjcmlwdGlvbjtcbiAgbG9jYWxlOiBMb2NhbGVEYXRhID0ge307XG5cbiAgQElucHV0KCkgZGF0YTogTm90aWNlSXRlbVtdID0gW107XG4gIEBJbnB1dCgpIEBJbnB1dE51bWJlcigpIGNvdW50PzogbnVtYmVyO1xuICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgbG9hZGluZyA9IGZhbHNlO1xuICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgcG9wb3ZlclZpc2libGUgPSBmYWxzZTtcbiAgQElucHV0KCkgYnRuQ2xhc3M/OiBOZ0NsYXNzVHlwZTtcbiAgQElucHV0KCkgYnRuSWNvbkNsYXNzPzogTmdDbGFzc1R5cGU7XG4gIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSBjZW50ZXJlZCA9IGZhbHNlO1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgc2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxOb3RpY2VJY29uU2VsZWN0PigpO1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgY2xlYXIgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIHJlYWRvbmx5IHBvcG92ZXJWaXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIGdldCBvdmVybGF5Q2xzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBoZWFkZXItZHJvcGRvd24gbm90aWNlLWljb24keyF0aGlzLmNlbnRlcmVkID8gJyBub3RpY2UtaWNvbl9fdGFiLWxlZnQnIDogJyd9YDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaTE4bjogRGVsb25Mb2NhbGVTZXJ2aWNlLCBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgb25WaXNpYmxlQ2hhbmdlKHJlc3VsdDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMucG9wb3ZlclZpc2libGVDaGFuZ2UuZW1pdChyZXN1bHQpO1xuICB9XG5cbiAgb25TZWxlY3QoaTogTm90aWNlSWNvblNlbGVjdCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0LmVtaXQoaSk7XG4gIH1cblxuICBvbkNsZWFyKHRpdGxlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFyLmVtaXQodGl0bGUpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pMThuJCA9IHRoaXMuaTE4bi5jaGFuZ2Uuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMubG9jYWxlID0gdGhpcy5pMThuLmdldERhdGEoJ25vdGljZUljb24nKTtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmkxOG4kLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjYmFkZ2VUcGw+XG4gIDxuei1iYWRnZSBbbnpDb3VudF09XCJjb3VudFwiIFtuZ0NsYXNzXT1cImJ0bkNsYXNzIVwiIFtuelN0eWxlXT1cInsgJ2JveC1zaGFkb3cnOiAnbm9uZScgfVwiPlxuICAgIDxpIG56LWljb24gbnpUeXBlPVwiYmVsbFwiIFtuZ0NsYXNzXT1cImJ0bkljb25DbGFzcyFcIj48L2k+XG4gIDwvbnotYmFkZ2U+XG48L25nLXRlbXBsYXRlPlxuPGRpdiAqbmdJZj1cImRhdGEhLmxlbmd0aCA9PT0gMFwiPlxuICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiYmFkZ2VUcGxcIj48L25nLXRlbXBsYXRlPlxuPC9kaXY+XG48ZGl2XG4gICpuZ0lmPVwiZGF0YSEubGVuZ3RoID4gMFwiXG4gIG56LWRyb3Bkb3duXG4gIFtuelZpc2libGVdPVwicG9wb3ZlclZpc2libGVcIlxuICAobnpWaXNpYmxlQ2hhbmdlKT1cIm9uVmlzaWJsZUNoYW5nZSgkZXZlbnQpXCJcbiAgbnpUcmlnZ2VyPVwiY2xpY2tcIlxuICBuelBsYWNlbWVudD1cImJvdHRvbVJpZ2h0XCJcbiAgW256T3ZlcmxheUNsYXNzTmFtZV09XCJvdmVybGF5Q2xzXCJcbiAgW256RHJvcGRvd25NZW51XT1cIm5vdGljZU1lbnVcIlxuPlxuICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiYmFkZ2VUcGxcIj48L25nLXRlbXBsYXRlPlxuPC9kaXY+XG48bnotZHJvcGRvd24tbWVudSAjbm90aWNlTWVudT1cIm56RHJvcGRvd25NZW51XCI+XG4gIDxuei1zcGluIFtuelNwaW5uaW5nXT1cImxvYWRpbmdcIiBbbnpEZWxheV09XCIwXCI+XG4gICAgPG56LXRhYnNldCBuelNlbGVjdGVkSW5kZXg9XCIwXCIgW256Q2VudGVyZWRdPVwiY2VudGVyZWRcIj5cbiAgICAgIDxuei10YWIgKm5nRm9yPVwibGV0IGkgb2YgZGF0YVwiIFtuelRpdGxlXT1cImkudGl0bGVcIj5cbiAgICAgICAgPG5vdGljZS1pY29uLXRhYlxuICAgICAgICAgIFtsb2NhbGVdPVwibG9jYWxlXCJcbiAgICAgICAgICBbZGF0YV09XCJpXCJcbiAgICAgICAgICAoc2VsZWN0KT1cIm9uU2VsZWN0KCRldmVudClcIlxuICAgICAgICAgIChjbGVhcik9XCJvbkNsZWFyKCRldmVudClcIlxuICAgICAgICA+PC9ub3RpY2UtaWNvbi10YWI+XG4gICAgICA8L256LXRhYj5cbiAgICA8L256LXRhYnNldD5cbiAgPC9uei1zcGluPlxuPC9uei1kcm9wZG93bi1tZW51PlxuIl19
|