@delon/abc 17.0.4 → 17.1.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 +7 -12
- package/avatar-list/avatar-list-item.component.d.ts +1 -1
- package/avatar-list/avatar-list.component.d.ts +10 -12
- package/avatar-list/avatar-list.module.d.ts +6 -6
- package/cell/cell-host.directive.d.ts +3 -5
- package/cell/cell.component.d.ts +10 -15
- package/cell/cell.service.d.ts +4 -7
- package/count-down/count-down.component.d.ts +1 -1
- package/count-down/count-down.module.d.ts +4 -4
- package/date-picker/date-picker.module.d.ts +6 -6
- package/date-picker/range-shortcut.component.d.ts +2 -2
- package/date-picker/range.directive.d.ts +7 -9
- package/down-file/down-file.directive.d.ts +6 -7
- package/down-file/down-file.module.d.ts +4 -4
- package/ellipsis/ellipsis.component.d.ts +12 -15
- package/ellipsis/ellipsis.module.d.ts +5 -5
- package/error-collect/error-collect.component.d.ts +14 -14
- package/error-collect/error-collect.module.d.ts +4 -4
- package/esm2022/auto-focus/auto-focus.directive.mjs +21 -32
- package/esm2022/auto-focus/auto-focus.module.mjs +4 -4
- package/esm2022/avatar-list/avatar-list-item.component.mjs +6 -5
- package/esm2022/avatar-list/avatar-list.component.mjs +28 -34
- package/esm2022/avatar-list/avatar-list.module.mjs +6 -7
- package/esm2022/cell/cell-host.directive.mjs +10 -10
- package/esm2022/cell/cell.component.mjs +43 -59
- package/esm2022/cell/cell.module.mjs +4 -4
- package/esm2022/cell/cell.service.mjs +13 -14
- package/esm2022/count-down/count-down.component.mjs +9 -7
- package/esm2022/count-down/count-down.module.mjs +6 -7
- package/esm2022/date-picker/date-picker.module.mjs +6 -7
- package/esm2022/date-picker/range-shortcut.component.mjs +9 -9
- package/esm2022/date-picker/range.directive.mjs +16 -19
- package/esm2022/down-file/down-file.directive.mjs +17 -18
- package/esm2022/down-file/down-file.module.mjs +7 -8
- package/esm2022/ellipsis/ellipsis.component.mjs +36 -49
- package/esm2022/ellipsis/ellipsis.module.mjs +6 -7
- package/esm2022/error-collect/error-collect.component.mjs +27 -36
- package/esm2022/error-collect/error-collect.module.mjs +6 -7
- package/esm2022/exception/exception.component.mjs +21 -25
- package/esm2022/exception/exception.module.mjs +6 -7
- package/esm2022/footer-toolbar/footer-toolbar.component.mjs +18 -28
- package/esm2022/footer-toolbar/footer-toolbar.module.mjs +6 -7
- package/esm2022/full-content/full-content-toggle.directive.mjs +11 -10
- package/esm2022/full-content/full-content.component.mjs +26 -38
- package/esm2022/full-content/full-content.module.mjs +6 -7
- package/esm2022/full-content/full-content.service.mjs +3 -3
- package/esm2022/global-footer/global-footer-item.component.mjs +9 -12
- package/esm2022/global-footer/global-footer.component.mjs +23 -28
- package/esm2022/global-footer/global-footer.module.mjs +6 -7
- package/esm2022/hotkey/hotkey.directive.mjs +14 -14
- package/esm2022/hotkey/hotkey.module.mjs +4 -4
- package/esm2022/let/let.directive.mjs +3 -3
- package/esm2022/let/let.module.mjs +4 -4
- package/esm2022/loading/loading.component.mjs +8 -8
- package/esm2022/loading/loading.module.mjs +6 -7
- package/esm2022/loading/loading.service.mjs +15 -17
- package/esm2022/lodop/lodop.module.mjs +4 -4
- package/esm2022/lodop/lodop.service.mjs +10 -10
- package/esm2022/media/media.component.mjs +24 -25
- package/esm2022/media/media.module.mjs +6 -7
- package/esm2022/media/media.service.mjs +15 -15
- package/esm2022/notice-icon/notice-icon-tab.component.mjs +16 -9
- package/esm2022/notice-icon/notice-icon.component.mjs +40 -39
- package/esm2022/notice-icon/notice-icon.module.mjs +10 -9
- package/esm2022/observers/observer-size.mjs +18 -18
- package/esm2022/onboarding/onboarding.component.mjs +24 -30
- package/esm2022/onboarding/onboarding.module.mjs +25 -9
- package/esm2022/onboarding/onboarding.service.mjs +26 -33
- package/esm2022/page-header/page-header.component.mjs +61 -84
- package/esm2022/page-header/page-header.module.mjs +9 -9
- package/esm2022/pdf/pdf.component.mjs +46 -71
- package/esm2022/pdf/pdf.module.mjs +6 -7
- package/esm2022/qr/qr.component.mjs +11 -19
- package/esm2022/qr/qr.module.mjs +4 -4
- package/esm2022/quick-menu/quick-menu.component.mjs +21 -29
- package/esm2022/quick-menu/quick-menu.module.mjs +6 -7
- package/esm2022/result/result.component.mjs +20 -22
- package/esm2022/result/result.module.mjs +6 -7
- package/esm2022/reuse-tab/provide.mjs +2 -1
- package/esm2022/reuse-tab/reuse-tab-context-menu.component.mjs +13 -14
- package/esm2022/reuse-tab/reuse-tab-context.component.mjs +12 -16
- package/esm2022/reuse-tab/reuse-tab-context.directive.mjs +9 -9
- package/esm2022/reuse-tab/reuse-tab-context.service.mjs +9 -10
- package/esm2022/reuse-tab/reuse-tab.component.mjs +58 -93
- package/esm2022/reuse-tab/reuse-tab.module.mjs +4 -4
- package/esm2022/reuse-tab/reuse-tab.service.mjs +71 -60
- package/esm2022/reuse-tab/reuse-tab.strategy.mjs +5 -3
- package/esm2022/se/se-container.component.mjs +62 -79
- package/esm2022/se/se.component.mjs +42 -59
- package/esm2022/se/se.module.mjs +6 -7
- package/esm2022/sg/sg-container.component.mjs +12 -20
- package/esm2022/sg/sg.component.mjs +21 -27
- package/esm2022/sg/sg.module.mjs +6 -7
- package/esm2022/st/st-column-source.mjs +4 -4
- package/esm2022/st/st-data-source.mjs +4 -4
- package/esm2022/st/st-export.mjs +30 -21
- package/esm2022/st/st-filter.component.mjs +11 -11
- package/esm2022/st/st-row.directive.mjs +12 -14
- package/esm2022/st/st-widget-host.directive.mjs +10 -10
- package/esm2022/st/st-widget.mjs +3 -3
- package/esm2022/st/st.component.mjs +82 -124
- package/esm2022/st/st.module.mjs +4 -4
- package/esm2022/sv/sv-container.component.mjs +60 -78
- package/esm2022/sv/sv-value.component.mjs +9 -7
- package/esm2022/sv/sv.component.mjs +35 -48
- package/esm2022/sv/sv.module.mjs +6 -7
- package/esm2022/tag-select/tag-select.component.mjs +19 -24
- package/esm2022/tag-select/tag-select.module.mjs +6 -7
- package/esm2022/xlsx/xlsx.directive.mjs +9 -9
- package/esm2022/xlsx/xlsx.module.mjs +4 -4
- package/esm2022/xlsx/xlsx.service.mjs +13 -13
- package/esm2022/zip/zip.service.mjs +13 -13
- package/exception/exception.component.d.ts +13 -13
- package/exception/exception.module.d.ts +7 -7
- package/fesm2022/auto-focus.mjs +24 -35
- package/fesm2022/auto-focus.mjs.map +1 -1
- package/fesm2022/avatar-list.mjs +37 -46
- package/fesm2022/avatar-list.mjs.map +1 -1
- package/fesm2022/cell.mjs +67 -84
- package/fesm2022/cell.mjs.map +1 -1
- package/fesm2022/chart-observer-size.mjs +17 -17
- package/fesm2022/chart-observer-size.mjs.map +1 -1
- package/fesm2022/count-down.mjs +13 -13
- package/fesm2022/count-down.mjs.map +1 -1
- package/fesm2022/date-picker.mjs +28 -33
- package/fesm2022/date-picker.mjs.map +1 -1
- package/fesm2022/down-file.mjs +22 -25
- package/fesm2022/down-file.mjs.map +1 -1
- package/fesm2022/ellipsis.mjs +40 -56
- package/fesm2022/ellipsis.mjs.map +1 -1
- package/fesm2022/error-collect.mjs +31 -42
- package/fesm2022/error-collect.mjs.map +1 -1
- package/fesm2022/exception.mjs +25 -34
- package/fesm2022/exception.mjs.map +1 -1
- package/fesm2022/footer-toolbar.mjs +22 -35
- package/fesm2022/footer-toolbar.mjs.map +1 -1
- package/fesm2022/full-content.mjs +40 -52
- package/fesm2022/full-content.mjs.map +1 -1
- package/fesm2022/global-footer.mjs +34 -45
- package/fesm2022/global-footer.mjs.map +1 -1
- package/fesm2022/hotkey.mjs +17 -17
- package/fesm2022/hotkey.mjs.map +1 -1
- package/fesm2022/let.mjs +7 -7
- package/fesm2022/loading.mjs +26 -33
- package/fesm2022/loading.mjs.map +1 -1
- package/fesm2022/lodop.mjs +13 -13
- package/fesm2022/lodop.mjs.map +1 -1
- package/fesm2022/media.mjs +40 -42
- package/fesm2022/media.mjs.map +1 -1
- package/fesm2022/notice-icon.mjs +61 -62
- package/fesm2022/notice-icon.mjs.map +1 -1
- package/fesm2022/onboarding.mjs +71 -72
- package/fesm2022/onboarding.mjs.map +1 -1
- package/fesm2022/page-header.mjs +68 -97
- package/fesm2022/page-header.mjs.map +1 -1
- package/fesm2022/pdf.mjs +50 -77
- package/fesm2022/pdf.mjs.map +1 -1
- package/fesm2022/qr.mjs +14 -22
- package/fesm2022/qr.mjs.map +1 -1
- package/fesm2022/quick-menu.mjs +25 -37
- package/fesm2022/quick-menu.mjs.map +1 -1
- package/fesm2022/result.mjs +24 -29
- package/fesm2022/result.mjs.map +1 -1
- package/fesm2022/reuse-tab.mjs +175 -206
- package/fesm2022/reuse-tab.mjs.map +1 -1
- package/fesm2022/se.mjs +104 -141
- package/fesm2022/se.mjs.map +1 -1
- package/fesm2022/sg.mjs +34 -47
- package/fesm2022/sg.mjs.map +1 -1
- package/fesm2022/st.mjs +148 -180
- package/fesm2022/st.mjs.map +1 -1
- package/fesm2022/sv.mjs +102 -135
- package/fesm2022/sv.mjs.map +1 -1
- package/fesm2022/tag-select.mjs +23 -31
- package/fesm2022/tag-select.mjs.map +1 -1
- package/fesm2022/xlsx.mjs +22 -22
- package/fesm2022/xlsx.mjs.map +1 -1
- package/fesm2022/zip.mjs +12 -12
- package/fesm2022/zip.mjs.map +1 -1
- package/footer-toolbar/footer-toolbar.component.d.ts +6 -10
- package/footer-toolbar/footer-toolbar.module.d.ts +5 -5
- package/full-content/full-content-toggle.directive.d.ts +2 -4
- package/full-content/full-content.component.d.ts +11 -16
- package/full-content/full-content.module.d.ts +4 -4
- package/global-footer/global-footer-item.component.d.ts +2 -3
- package/global-footer/global-footer.component.d.ts +12 -16
- package/global-footer/global-footer.module.d.ts +5 -5
- package/hotkey/hotkey.directive.d.ts +4 -6
- package/loading/loading.component.d.ts +2 -2
- package/loading/loading.module.d.ts +7 -7
- package/loading/loading.service.d.ts +5 -8
- package/lodop/lodop.service.d.ts +2 -3
- package/media/media.component.d.ts +9 -13
- package/media/media.module.d.ts +3 -3
- package/media/media.service.d.ts +3 -5
- package/notice-icon/notice-icon-tab.component.d.ts +1 -1
- package/notice-icon/notice-icon.component.d.ts +9 -11
- package/notice-icon/notice-icon.module.d.ts +13 -13
- package/observers/observer-size.d.ts +4 -5
- package/onboarding/onboarding.component.d.ts +7 -10
- package/onboarding/onboarding.module.d.ts +8 -8
- package/onboarding/onboarding.service.d.ts +9 -16
- package/package.json +5 -5
- package/page-header/page-header.component.d.ts +24 -27
- package/page-header/page-header.module.d.ts +9 -9
- package/pdf/pdf.component.d.ts +22 -22
- package/pdf/pdf.module.d.ts +4 -4
- package/pdf/pdf.types.d.ts +1 -1
- package/qr/qr.component.d.ts +3 -4
- package/quick-menu/quick-menu.component.d.ts +8 -10
- package/quick-menu/quick-menu.module.d.ts +5 -5
- package/result/result.component.d.ts +8 -9
- package/result/result.module.d.ts +5 -5
- package/reuse-tab/reuse-tab-context-menu.component.d.ts +1 -3
- package/reuse-tab/reuse-tab-context.component.d.ts +4 -7
- package/reuse-tab/reuse-tab-context.directive.d.ts +1 -3
- package/reuse-tab/reuse-tab-context.service.d.ts +1 -3
- package/reuse-tab/reuse-tab.component.d.ts +21 -28
- package/reuse-tab/reuse-tab.service.d.ts +10 -12
- package/reuse-tab/reuse-tab.strategy.d.ts +1 -3
- package/se/se-container.component.d.ts +20 -21
- package/se/se.component.d.ts +17 -21
- package/se/se.module.d.ts +7 -7
- package/sg/sg-container.component.d.ts +4 -5
- package/sg/sg.component.d.ts +9 -12
- package/sg/sg.module.d.ts +4 -4
- package/st/st-export.d.ts +3 -4
- package/st/st-filter.component.d.ts +2 -3
- package/st/st-row.directive.d.ts +3 -4
- package/st/st-widget-host.directive.d.ts +3 -5
- package/st/st.component.d.ts +36 -40
- package/sv/sv-container.component.d.ts +19 -20
- package/sv/sv-value.component.d.ts +1 -1
- package/sv/sv.component.d.ts +13 -16
- package/sv/sv.module.d.ts +9 -9
- package/tag-select/tag-select.component.d.ts +11 -13
- package/tag-select/tag-select.module.d.ts +5 -5
- package/xlsx/xlsx.directive.d.ts +1 -3
- package/xlsx/xlsx.service.d.ts +4 -7
- package/zip/zip.service.d.ts +4 -7
package/fesm2022/lodop.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lodop.mjs","sources":["../../../../packages/abc/lodop/lodop.service.ts","../../../../packages/abc/lodop/lodop.module.ts","../../../../packages/abc/lodop/lodop.ts"],"sourcesContent":["import { Injectable, OnDestroy } from '@angular/core';\nimport { Observable, of, Subject } from 'rxjs';\n\nimport { AlainConfigService, AlainLodopConfig } from '@delon/util/config';\nimport { LazyService } from '@delon/util/other';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { Lodop, LodopPrintResult, LodopResult } from './lodop.types';\n\n@Injectable({ providedIn: 'root' })\nexport class LodopService implements OnDestroy {\n private defaultConfig: AlainLodopConfig;\n private _cog!: AlainLodopConfig;\n private pending = false;\n private _lodop: Lodop | null = null;\n private _init = new Subject<LodopResult>();\n private _events = new Subject<LodopPrintResult>();\n private printBuffer: NzSafeAny[] = [];\n\n constructor(\n private scriptSrv: LazyService,\n configSrv: AlainConfigService\n ) {\n this.defaultConfig = configSrv.merge('lodop', {\n url: '//localhost:8443/CLodopfuncs.js',\n name: 'CLODOP',\n companyName: '',\n checkMaxCount: 100\n })!;\n this.cog = this.defaultConfig;\n }\n\n /**\n * Get or set configuration, **Note:** Resetting will invert and reload script resources\n *\n * 获取或重新设置配置,**注:**重新设置会倒置重新加载脚本资源\n */\n get cog(): AlainLodopConfig {\n return this._cog;\n }\n set cog(value: AlainLodopConfig) {\n this._cog = {\n ...this.defaultConfig,\n ...value\n };\n }\n\n /**\n * Event change notification\n *\n * 事件变更通知\n */\n get events(): Observable<LodopPrintResult> {\n return this._events.asObservable();\n }\n\n /**\n * Get lodop object\n *\n * 获取 lodop 对象\n */\n get lodop(): Observable<LodopResult> {\n if (this._lodop) return of({ ok: true, lodop: this._lodop } as LodopResult);\n if (this.pending) return this._init.asObservable();\n\n this.request();\n\n return this._init.asObservable();\n }\n\n /**\n * Get printer list\n *\n * 获取打印机列表\n */\n get printer(): string[] {\n this.check();\n const ret: string[] = [];\n const count = this._lodop!.GET_PRINTER_COUNT();\n for (let index = 0; index < count; index++) {\n ret.push(this._lodop!.GET_PRINTER_NAME(index));\n }\n return ret;\n }\n\n private check(): void {\n if (!this._lodop) throw new Error(`请务必先调用 lodop 获取对象`);\n }\n\n private request(): void {\n this.pending = true;\n\n const url = `${this.cog.url}?name=${this.cog.name}`;\n let checkMaxCount = this.cog.checkMaxCount as number;\n const onResolve = (status: NzSafeAny, error?: NzSafeAny): void => {\n this._init.next({\n ok: status === 'ok',\n status,\n error,\n lodop: this._lodop!\n });\n };\n const checkStatus = (): void => {\n --checkMaxCount;\n if (this._lodop!.webskt && this._lodop!.webskt.readyState === 1) {\n onResolve('ok');\n } else {\n if (checkMaxCount < 0) {\n onResolve('check-limit');\n return;\n }\n setTimeout(() => checkStatus(), 100);\n }\n };\n\n this.scriptSrv.loadScript(url).then((res: NzSafeAny) => {\n if (res.status !== 'ok') {\n this.pending = false;\n onResolve('script-load-error', res[0]);\n return;\n }\n const win = window as NzSafeAny;\n if (win.hasOwnProperty(this.cog.name!)) {\n this._lodop = win[this.cog.name!] as Lodop;\n }\n if (this._lodop === null) {\n onResolve('load-variable-name-error', { name: this.cog.name });\n return;\n }\n this._lodop.SET_LICENSES(this.cog.companyName!, this.cog.license!, this.cog.licenseA, this.cog.licenseB);\n checkStatus();\n });\n }\n\n /**\n * Reset lodop object\n *\n * 重置 lodop 对象\n */\n reset(): void {\n this._lodop = null;\n this.pending = false;\n this.request();\n }\n\n /**\n * Attach code to the `lodop` object, the string class supports dynamic parameters of `{{key}}`,\n * **Note:** The code refers to the string data generated by the print design\n *\n * 附加代码至 `lodop` 对象上,字符串类支持 `{{key}}` 的动态参数,**注:** 代码是指打印设计所产生字符串数据\n */\n attachCode(code: string, contextObj?: NzSafeAny, parser?: RegExp): void {\n this.check();\n if (!parser) parser = /LODOP\\.([^(]+)\\(([^\\n]+)?\\);/i;\n code.split('\\n').forEach(line => {\n const res = parser!.exec(line.trim());\n if (!res) return;\n const fn = this._lodop![res[1]];\n if (fn) {\n let arr: NzSafeAny[] | null = null;\n try {\n const fakeFn = new Function(`return [${res[2]}]`);\n arr = fakeFn();\n } catch {}\n\n if (arr != null && Array.isArray(arr) && contextObj) {\n for (let i = 0; i < arr.length; i++) {\n if (typeof arr[i] === 'string') {\n arr[i] = (arr[i] as string).replace(/{{(.*?)}}/g, (_match, key) => contextObj[key.trim()] || '');\n }\n }\n }\n fn.apply(this._lodop, arr!);\n }\n });\n }\n\n /**\n * The code is automatically returned after opening the print design and closing,\n * **Note:** Automatically listen for the `On_Return` event, and it will be removed after running\n *\n * 打开打印设计关闭后自动返回代码,**注:** 自动监听 `On_Return` 事件,运行后会移除\n */\n design(): Promise<string> {\n this.check();\n const tid = this._lodop!.PRINT_DESIGN();\n return new Promise(resolve => {\n this._lodop!.On_Return = (taskID: string, value: boolean | string) => {\n if (tid !== taskID) return;\n this._lodop!.On_Return = null;\n resolve(`${value}`);\n };\n });\n }\n private printDo(): void {\n const data = this.printBuffer.shift();\n if (!data) return;\n this.attachCode(data.code, data.item, data.parser);\n const tid = this._lodop!.PRINT();\n this._lodop!.On_Return = (taskID: string, value: boolean | string) => {\n if (tid !== taskID) return;\n this._lodop!.On_Return = null;\n this._events.next({\n ok: value === true,\n error: value === true ? null : value,\n ...data\n });\n this.printDo();\n };\n }\n\n /**\n * Print immediately, generally used for batch printing\n *\n * 立即打印,一般用于批量套打\n */\n print(code: string, contextObj: NzSafeAny, parser?: RegExp): void {\n this.check();\n if (contextObj) {\n this.printBuffer.push(\n ...(Array.isArray(contextObj) ? contextObj : [contextObj]).map(item => {\n return { code, parser, item };\n })\n );\n }\n this.printDo();\n }\n\n ngOnDestroy(): void {\n this._init.unsubscribe();\n this._events.unsubscribe();\n }\n}\n","import { NgModule } from '@angular/core';\n\n@NgModule({})\nexport class LodopModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lodop.mjs","sources":["../../../../packages/abc/lodop/lodop.service.ts","../../../../packages/abc/lodop/lodop.module.ts","../../../../packages/abc/lodop/lodop.ts"],"sourcesContent":["import { Injectable, OnDestroy, inject } from '@angular/core';\nimport { Observable, of, Subject } from 'rxjs';\n\nimport { AlainConfigService, AlainLodopConfig } from '@delon/util/config';\nimport { LazyService } from '@delon/util/other';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { Lodop, LodopPrintResult, LodopResult } from './lodop.types';\n\n@Injectable({ providedIn: 'root' })\nexport class LodopService implements OnDestroy {\n private readonly scriptSrv = inject(LazyService);\n\n private defaultConfig: AlainLodopConfig;\n private _cog!: AlainLodopConfig;\n private pending = false;\n private _lodop: Lodop | null = null;\n private _init = new Subject<LodopResult>();\n private _events = new Subject<LodopPrintResult>();\n private printBuffer: NzSafeAny[] = [];\n\n constructor(configSrv: AlainConfigService) {\n this.defaultConfig = configSrv.merge('lodop', {\n url: '//localhost:8443/CLodopfuncs.js',\n name: 'CLODOP',\n companyName: '',\n checkMaxCount: 100\n })!;\n this.cog = this.defaultConfig;\n }\n\n /**\n * Get or set configuration, **Note:** Resetting will invert and reload script resources\n *\n * 获取或重新设置配置,**注:**重新设置会倒置重新加载脚本资源\n */\n get cog(): AlainLodopConfig {\n return this._cog;\n }\n set cog(value: AlainLodopConfig) {\n this._cog = {\n ...this.defaultConfig,\n ...value\n };\n }\n\n /**\n * Event change notification\n *\n * 事件变更通知\n */\n get events(): Observable<LodopPrintResult> {\n return this._events.asObservable();\n }\n\n /**\n * Get lodop object\n *\n * 获取 lodop 对象\n */\n get lodop(): Observable<LodopResult> {\n if (this._lodop) return of({ ok: true, lodop: this._lodop } as LodopResult);\n if (this.pending) return this._init.asObservable();\n\n this.request();\n\n return this._init.asObservable();\n }\n\n /**\n * Get printer list\n *\n * 获取打印机列表\n */\n get printer(): string[] {\n this.check();\n const ret: string[] = [];\n const count = this._lodop!.GET_PRINTER_COUNT();\n for (let index = 0; index < count; index++) {\n ret.push(this._lodop!.GET_PRINTER_NAME(index));\n }\n return ret;\n }\n\n private check(): void {\n if (!this._lodop) throw new Error(`请务必先调用 lodop 获取对象`);\n }\n\n private request(): void {\n this.pending = true;\n\n const url = `${this.cog.url}?name=${this.cog.name}`;\n let checkMaxCount = this.cog.checkMaxCount as number;\n const onResolve = (status: NzSafeAny, error?: NzSafeAny): void => {\n this._init.next({\n ok: status === 'ok',\n status,\n error,\n lodop: this._lodop!\n });\n };\n const checkStatus = (): void => {\n --checkMaxCount;\n if (this._lodop!.webskt && this._lodop!.webskt.readyState === 1) {\n onResolve('ok');\n } else {\n if (checkMaxCount < 0) {\n onResolve('check-limit');\n return;\n }\n setTimeout(() => checkStatus(), 100);\n }\n };\n\n this.scriptSrv.loadScript(url).then((res: NzSafeAny) => {\n if (res.status !== 'ok') {\n this.pending = false;\n onResolve('script-load-error', res[0]);\n return;\n }\n const win = window as NzSafeAny;\n if (win.hasOwnProperty(this.cog.name!)) {\n this._lodop = win[this.cog.name!] as Lodop;\n }\n if (this._lodop === null) {\n onResolve('load-variable-name-error', { name: this.cog.name });\n return;\n }\n this._lodop.SET_LICENSES(this.cog.companyName!, this.cog.license!, this.cog.licenseA, this.cog.licenseB);\n checkStatus();\n });\n }\n\n /**\n * Reset lodop object\n *\n * 重置 lodop 对象\n */\n reset(): void {\n this._lodop = null;\n this.pending = false;\n this.request();\n }\n\n /**\n * Attach code to the `lodop` object, the string class supports dynamic parameters of `{{key}}`,\n * **Note:** The code refers to the string data generated by the print design\n *\n * 附加代码至 `lodop` 对象上,字符串类支持 `{{key}}` 的动态参数,**注:** 代码是指打印设计所产生字符串数据\n */\n attachCode(code: string, contextObj?: NzSafeAny, parser?: RegExp): void {\n this.check();\n if (!parser) parser = /LODOP\\.([^(]+)\\(([^\\n]+)?\\);/i;\n code.split('\\n').forEach(line => {\n const res = parser!.exec(line.trim());\n if (!res) return;\n const fn = this._lodop![res[1]];\n if (fn) {\n let arr: NzSafeAny[] | null = null;\n try {\n const fakeFn = new Function(`return [${res[2]}]`);\n arr = fakeFn();\n } catch {}\n\n if (arr != null && Array.isArray(arr) && contextObj) {\n for (let i = 0; i < arr.length; i++) {\n if (typeof arr[i] === 'string') {\n arr[i] = (arr[i] as string).replace(/{{(.*?)}}/g, (_match, key) => contextObj[key.trim()] || '');\n }\n }\n }\n fn.apply(this._lodop, arr!);\n }\n });\n }\n\n /**\n * The code is automatically returned after opening the print design and closing,\n * **Note:** Automatically listen for the `On_Return` event, and it will be removed after running\n *\n * 打开打印设计关闭后自动返回代码,**注:** 自动监听 `On_Return` 事件,运行后会移除\n */\n design(): Promise<string> {\n this.check();\n const tid = this._lodop!.PRINT_DESIGN();\n return new Promise(resolve => {\n this._lodop!.On_Return = (taskID: string, value: boolean | string) => {\n if (tid !== taskID) return;\n this._lodop!.On_Return = null;\n resolve(`${value}`);\n };\n });\n }\n private printDo(): void {\n const data = this.printBuffer.shift();\n if (!data) return;\n this.attachCode(data.code, data.item, data.parser);\n const tid = this._lodop!.PRINT();\n this._lodop!.On_Return = (taskID: string, value: boolean | string) => {\n if (tid !== taskID) return;\n this._lodop!.On_Return = null;\n this._events.next({\n ok: value === true,\n error: value === true ? null : value,\n ...data\n });\n this.printDo();\n };\n }\n\n /**\n * Print immediately, generally used for batch printing\n *\n * 立即打印,一般用于批量套打\n */\n print(code: string, contextObj: NzSafeAny, parser?: RegExp): void {\n this.check();\n if (contextObj) {\n this.printBuffer.push(\n ...(Array.isArray(contextObj) ? contextObj : [contextObj]).map(item => {\n return { code, parser, item };\n })\n );\n }\n this.printDo();\n }\n\n ngOnDestroy(): void {\n this._init.unsubscribe();\n this._events.unsubscribe();\n }\n}\n","import { NgModule } from '@angular/core';\n\n@NgModule({})\nexport class LodopModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
package/fesm2022/media.mjs
CHANGED
|
@@ -1,15 +1,22 @@
|
|
|
1
1
|
import { __decorate } from 'tslib';
|
|
2
|
+
import { Platform } from '@angular/cdk/platform';
|
|
2
3
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { Injectable, DestroyRef,
|
|
4
|
+
import { inject, Injectable, DestroyRef, ElementRef, Renderer2, NgZone, EventEmitter, numberAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, NgModule } from '@angular/core';
|
|
4
5
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
5
6
|
import { Subject, share, timer, take } from 'rxjs';
|
|
6
|
-
import {
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import * as i2$1 from '@angular/cdk/platform';
|
|
7
|
+
import { ZoneOutside } from '@delon/util/decorator';
|
|
8
|
+
import { AlainConfigService } from '@delon/util/config';
|
|
9
|
+
import { LazyService } from '@delon/util/other';
|
|
10
10
|
import { CommonModule } from '@angular/common';
|
|
11
11
|
|
|
12
12
|
class MediaService {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.cogSrv = inject(AlainConfigService);
|
|
15
|
+
this.lazySrv = inject(LazyService);
|
|
16
|
+
this.loading = false;
|
|
17
|
+
this.loaded = false;
|
|
18
|
+
this.notify$ = new Subject();
|
|
19
|
+
}
|
|
13
20
|
get cog() {
|
|
14
21
|
return this._cog;
|
|
15
22
|
}
|
|
@@ -18,13 +25,6 @@ class MediaService {
|
|
|
18
25
|
urls: ['https://cdn.jsdelivr.net/npm/plyr/dist/plyr.min.js', 'https://cdn.jsdelivr.net/npm/plyr/dist/plyr.css']
|
|
19
26
|
}, val);
|
|
20
27
|
}
|
|
21
|
-
constructor(cogSrv, lazySrv) {
|
|
22
|
-
this.cogSrv = cogSrv;
|
|
23
|
-
this.lazySrv = lazySrv;
|
|
24
|
-
this.loading = false;
|
|
25
|
-
this.loaded = false;
|
|
26
|
-
this.notify$ = new Subject();
|
|
27
|
-
}
|
|
28
28
|
load() {
|
|
29
29
|
if (this.loading) {
|
|
30
30
|
if (this.loaded) {
|
|
@@ -42,29 +42,29 @@ class MediaService {
|
|
|
42
42
|
notify() {
|
|
43
43
|
return this.notify$.asObservable().pipe(share());
|
|
44
44
|
}
|
|
45
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0
|
|
46
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0
|
|
45
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: MediaService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
46
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: MediaService, providedIn: 'root' }); }
|
|
47
47
|
}
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: MediaService, decorators: [{
|
|
49
49
|
type: Injectable,
|
|
50
50
|
args: [{ providedIn: 'root' }]
|
|
51
|
-
}]
|
|
51
|
+
}] });
|
|
52
52
|
|
|
53
53
|
class MediaComponent {
|
|
54
|
-
|
|
55
|
-
return this._p;
|
|
56
|
-
}
|
|
57
|
-
constructor(el, renderer, srv, ngZone, platform) {
|
|
58
|
-
this.el = el;
|
|
59
|
-
this.renderer = renderer;
|
|
60
|
-
this.srv = srv;
|
|
61
|
-
this.ngZone = ngZone;
|
|
62
|
-
this.platform = platform;
|
|
54
|
+
constructor() {
|
|
63
55
|
this.destroy$ = inject(DestroyRef);
|
|
56
|
+
this.el = inject(ElementRef).nativeElement;
|
|
57
|
+
this.renderer = inject(Renderer2);
|
|
58
|
+
this.ngZone = inject(NgZone);
|
|
59
|
+
this.srv = inject(MediaService);
|
|
60
|
+
this.platform = inject(Platform);
|
|
64
61
|
this.type = 'video';
|
|
65
62
|
this.delay = 0;
|
|
66
63
|
this.ready = new EventEmitter();
|
|
67
64
|
}
|
|
65
|
+
get player() {
|
|
66
|
+
return this._p;
|
|
67
|
+
}
|
|
68
68
|
initDelay() {
|
|
69
69
|
timer(this.delay)
|
|
70
70
|
.pipe(takeUntilDestroyed(this.destroy$))
|
|
@@ -84,11 +84,11 @@ class MediaComponent {
|
|
|
84
84
|
}
|
|
85
85
|
ensureElement() {
|
|
86
86
|
const { type } = this;
|
|
87
|
-
let el = this.el.
|
|
87
|
+
let el = this.el.querySelector(type);
|
|
88
88
|
if (!el) {
|
|
89
89
|
el = this.renderer.createElement(type);
|
|
90
90
|
el.controls = true;
|
|
91
|
-
this.el.
|
|
91
|
+
this.el.appendChild(el);
|
|
92
92
|
}
|
|
93
93
|
this.videoEl = el;
|
|
94
94
|
}
|
|
@@ -123,16 +123,13 @@ class MediaComponent {
|
|
|
123
123
|
this.destroy();
|
|
124
124
|
this._p = null;
|
|
125
125
|
}
|
|
126
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0
|
|
127
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
126
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: MediaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
127
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.1.0", type: MediaComponent, isStandalone: true, selector: "media, [media]", inputs: { type: "type", source: "source", options: "options", delay: ["delay", "delay", numberAttribute] }, outputs: { ready: "ready" }, host: { properties: { "style.display": "'block'" } }, exportAs: ["mediaComponent"], usesOnChanges: true, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
128
128
|
}
|
|
129
|
-
__decorate([
|
|
130
|
-
InputNumber()
|
|
131
|
-
], MediaComponent.prototype, "delay", void 0);
|
|
132
129
|
__decorate([
|
|
133
130
|
ZoneOutside()
|
|
134
131
|
], MediaComponent.prototype, "initDelay", null);
|
|
135
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0
|
|
132
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: MediaComponent, decorators: [{
|
|
136
133
|
type: Component,
|
|
137
134
|
args: [{
|
|
138
135
|
selector: 'media, [media]',
|
|
@@ -143,31 +140,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
|
|
|
143
140
|
},
|
|
144
141
|
preserveWhitespaces: false,
|
|
145
142
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
146
|
-
encapsulation: ViewEncapsulation.None
|
|
143
|
+
encapsulation: ViewEncapsulation.None,
|
|
144
|
+
standalone: true
|
|
147
145
|
}]
|
|
148
|
-
}],
|
|
146
|
+
}], propDecorators: { type: [{
|
|
149
147
|
type: Input
|
|
150
148
|
}], source: [{
|
|
151
149
|
type: Input
|
|
152
150
|
}], options: [{
|
|
153
151
|
type: Input
|
|
154
152
|
}], delay: [{
|
|
155
|
-
type: Input
|
|
153
|
+
type: Input,
|
|
154
|
+
args: [{ transform: numberAttribute }]
|
|
156
155
|
}], ready: [{
|
|
157
156
|
type: Output
|
|
158
157
|
}], initDelay: [] } });
|
|
159
158
|
|
|
160
159
|
const COMPONENTS = [MediaComponent];
|
|
161
160
|
class MediaModule {
|
|
162
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0
|
|
163
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0
|
|
164
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0
|
|
161
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: MediaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
162
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: MediaModule, imports: [CommonModule, MediaComponent], exports: [MediaComponent] }); }
|
|
163
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: MediaModule, imports: [CommonModule] }); }
|
|
165
164
|
}
|
|
166
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0
|
|
165
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: MediaModule, decorators: [{
|
|
167
166
|
type: NgModule,
|
|
168
167
|
args: [{
|
|
169
|
-
imports: [CommonModule],
|
|
170
|
-
declarations: COMPONENTS,
|
|
168
|
+
imports: [CommonModule, ...COMPONENTS],
|
|
171
169
|
exports: COMPONENTS
|
|
172
170
|
}]
|
|
173
171
|
}] });
|
package/fesm2022/media.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.mjs","sources":["../../../../packages/abc/media/media.service.ts","../../../../packages/abc/media/media.component.ts","../../../../packages/abc/media/media.module.ts","../../../../packages/abc/media/media.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Observable, Subject, share } from 'rxjs';\n\nimport { AlainConfigService, AlainMediaConfig } from '@delon/util/config';\nimport { LazyService } from '@delon/util/other';\n\n@Injectable({ providedIn: 'root' })\nexport class MediaService {\n private _cog!: AlainMediaConfig;\n private loading = false;\n private loaded = false;\n private notify$ = new Subject<void>();\n\n get cog(): AlainMediaConfig {\n return this._cog;\n }\n set cog(val: AlainMediaConfig) {\n this._cog = this.cogSrv.merge(\n 'media',\n {\n urls: ['https://cdn.jsdelivr.net/npm/plyr/dist/plyr.min.js', 'https://cdn.jsdelivr.net/npm/plyr/dist/plyr.css']\n },\n val\n )!;\n }\n\n constructor(\n private cogSrv: AlainConfigService,\n private lazySrv: LazyService\n ) {}\n\n load(): this {\n if (this.loading) {\n if (this.loaded) {\n this.notify$.next();\n }\n return this;\n }\n this.loading = true;\n this.lazySrv.load(this.cog.urls!).then(() => {\n this.loaded = true;\n this.notify$.next();\n });\n return this;\n }\n\n notify(): Observable<void> {\n return this.notify$.asObservable().pipe(share());\n }\n}\n","import { Platform } from '@angular/cdk/platform';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n Output,\n Renderer2,\n SimpleChange,\n ViewEncapsulation,\n inject\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { timer, take } from 'rxjs';\n\nimport type Plyr from 'plyr';\n\nimport { InputNumber, NumberInput, ZoneOutside } from '@delon/util/decorator';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { MediaService } from './media.service';\n\nexport type MediaType = 'html5' | 'youtube' | 'video' | 'audio';\n\n@Component({\n selector: 'media, [media]',\n exportAs: 'mediaComponent',\n template: `<ng-content />`,\n host: {\n '[style.display]': `'block'`\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class MediaComponent implements OnChanges, AfterViewInit, OnDestroy {\n static ngAcceptInputType_delay: NumberInput;\n\n private _p?: Plyr | null;\n private videoEl?: HTMLElement;\n private destroy$ = inject(DestroyRef);\n\n @Input() type: MediaType = 'video';\n @Input() source?: string | Plyr.SourceInfo;\n @Input() options?: Plyr.Options;\n @Input() @InputNumber() delay = 0;\n @Output() readonly ready = new EventEmitter<Plyr>();\n\n get player(): Plyr | undefined | null {\n return this._p;\n }\n\n constructor(\n private el: ElementRef<HTMLElement>,\n private renderer: Renderer2,\n private srv: MediaService,\n private ngZone: NgZone,\n private platform: Platform\n ) {}\n\n @ZoneOutside()\n private initDelay(): void {\n timer(this.delay)\n .pipe(takeUntilDestroyed(this.destroy$))\n .subscribe(() => this.ngZone.runOutsideAngular(() => this.init()));\n }\n\n private init(): void {\n const winPlyr = (window as NzSafeAny).Plyr;\n if (!winPlyr) {\n throw new Error(\n `No window.Plyr found, please make sure that cdn or local path exists, the current referenced path is: ${JSON.stringify(\n this.srv.cog.urls\n )}`\n );\n }\n\n this.ensureElement();\n\n const player: Plyr = (this._p = new winPlyr(this.videoEl, {\n ...this.srv.cog.options\n }));\n\n player.on('ready', () => this.ngZone.run(() => this.ready.next(player)));\n\n this.uploadSource();\n }\n\n private ensureElement(): void {\n const { type } = this;\n let el = this.el.nativeElement.querySelector(type) as HTMLElement;\n if (!el) {\n el = this.renderer.createElement(type);\n (el as HTMLVideoElement).controls = true;\n this.el.nativeElement.appendChild(el);\n }\n this.videoEl = el;\n }\n\n private destroy(): void {\n if (this._p) {\n this._p.destroy();\n }\n }\n\n private uploadSource(): void {\n if (this._p == null) return;\n\n const { source, type } = this;\n this._p.source = (typeof source === 'string' ? { type, sources: [{ src: source }] } : source) as Plyr.SourceInfo;\n }\n\n ngAfterViewInit(): void {\n if (!this.platform.isBrowser) {\n return;\n }\n this.srv\n .notify()\n .pipe(takeUntilDestroyed(this.destroy$), take(1))\n .subscribe(() => this.initDelay());\n\n this.srv.load();\n }\n\n ngOnChanges(changes: { [p in keyof MediaComponent]?: SimpleChange }): void {\n this.srv.cog = { options: this.options };\n if (changes.source) {\n this.uploadSource();\n }\n }\n\n ngOnDestroy(): void {\n this.destroy();\n this._p = null;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { MediaComponent } from './media.component';\n\nconst COMPONENTS = [MediaComponent];\n\n@NgModule({\n imports: [CommonModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class MediaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.MediaService","i2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"media.mjs","sources":["../../../../packages/abc/media/media.service.ts","../../../../packages/abc/media/media.component.ts","../../../../packages/abc/media/media.module.ts","../../../../packages/abc/media/media.ts"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\nimport { Observable, Subject, share } from 'rxjs';\n\nimport { AlainConfigService, AlainMediaConfig } from '@delon/util/config';\nimport { LazyService } from '@delon/util/other';\n\n@Injectable({ providedIn: 'root' })\nexport class MediaService {\n private readonly cogSrv = inject(AlainConfigService);\n private readonly lazySrv = inject(LazyService);\n\n private _cog!: AlainMediaConfig;\n private loading = false;\n private loaded = false;\n private notify$ = new Subject<void>();\n\n get cog(): AlainMediaConfig {\n return this._cog;\n }\n set cog(val: AlainMediaConfig) {\n this._cog = this.cogSrv.merge(\n 'media',\n {\n urls: ['https://cdn.jsdelivr.net/npm/plyr/dist/plyr.min.js', 'https://cdn.jsdelivr.net/npm/plyr/dist/plyr.css']\n },\n val\n )!;\n }\n\n load(): this {\n if (this.loading) {\n if (this.loaded) {\n this.notify$.next();\n }\n return this;\n }\n this.loading = true;\n this.lazySrv.load(this.cog.urls!).then(() => {\n this.loaded = true;\n this.notify$.next();\n });\n return this;\n }\n\n notify(): Observable<void> {\n return this.notify$.asObservable().pipe(share());\n }\n}\n","import { Platform } from '@angular/cdk/platform';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n Output,\n Renderer2,\n SimpleChange,\n ViewEncapsulation,\n inject,\n numberAttribute\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { timer, take } from 'rxjs';\n\nimport type Plyr from 'plyr';\n\nimport { ZoneOutside } from '@delon/util/decorator';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { MediaService } from './media.service';\n\nexport type MediaType = 'html5' | 'youtube' | 'video' | 'audio';\n\n@Component({\n selector: 'media, [media]',\n exportAs: 'mediaComponent',\n template: `<ng-content />`,\n host: {\n '[style.display]': `'block'`\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true\n})\nexport class MediaComponent implements OnChanges, AfterViewInit, OnDestroy {\n private readonly destroy$ = inject(DestroyRef);\n private readonly el: HTMLElement = inject(ElementRef).nativeElement;\n private readonly renderer = inject(Renderer2);\n private readonly ngZone = inject(NgZone);\n private readonly srv = inject(MediaService);\n private readonly platform = inject(Platform);\n\n private _p?: Plyr | null;\n private videoEl?: HTMLElement;\n\n @Input() type: MediaType = 'video';\n @Input() source?: string | Plyr.SourceInfo;\n @Input() options?: Plyr.Options;\n @Input({ transform: numberAttribute }) delay = 0;\n @Output() readonly ready = new EventEmitter<Plyr>();\n\n get player(): Plyr | undefined | null {\n return this._p;\n }\n\n @ZoneOutside()\n private initDelay(): void {\n timer(this.delay)\n .pipe(takeUntilDestroyed(this.destroy$))\n .subscribe(() => this.ngZone.runOutsideAngular(() => this.init()));\n }\n\n private init(): void {\n const winPlyr = (window as NzSafeAny).Plyr;\n if (!winPlyr) {\n throw new Error(\n `No window.Plyr found, please make sure that cdn or local path exists, the current referenced path is: ${JSON.stringify(\n this.srv.cog.urls\n )}`\n );\n }\n\n this.ensureElement();\n\n const player: Plyr = (this._p = new winPlyr(this.videoEl, {\n ...this.srv.cog.options\n }));\n\n player.on('ready', () => this.ngZone.run(() => this.ready.next(player)));\n\n this.uploadSource();\n }\n\n private ensureElement(): void {\n const { type } = this;\n let el = this.el.querySelector(type) as HTMLElement;\n if (!el) {\n el = this.renderer.createElement(type);\n (el as HTMLVideoElement).controls = true;\n this.el.appendChild(el);\n }\n this.videoEl = el;\n }\n\n private destroy(): void {\n if (this._p) {\n this._p.destroy();\n }\n }\n\n private uploadSource(): void {\n if (this._p == null) return;\n\n const { source, type } = this;\n this._p.source = (typeof source === 'string' ? { type, sources: [{ src: source }] } : source) as Plyr.SourceInfo;\n }\n\n ngAfterViewInit(): void {\n if (!this.platform.isBrowser) {\n return;\n }\n this.srv\n .notify()\n .pipe(takeUntilDestroyed(this.destroy$), take(1))\n .subscribe(() => this.initDelay());\n\n this.srv.load();\n }\n\n ngOnChanges(changes: { [p in keyof MediaComponent]?: SimpleChange }): void {\n this.srv.cog = { options: this.options };\n if (changes.source) {\n this.uploadSource();\n }\n }\n\n ngOnDestroy(): void {\n this.destroy();\n this._p = null;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { MediaComponent } from './media.component';\n\nconst COMPONENTS = [MediaComponent];\n\n@NgModule({\n imports: [CommonModule, ...COMPONENTS],\n exports: COMPONENTS\n})\nexport class MediaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;;MAOa,YAAY,CAAA;AADzB,IAAA,WAAA,GAAA;AAEmB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AACpC,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QAGvC,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;QAChB,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;AACf,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,OAAO,EAAQ,CAAC;AAiCvC,KAAA;AA/BC,IAAA,IAAI,GAAG,GAAA;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;KAClB;IACD,IAAI,GAAG,CAAC,GAAqB,EAAA;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAC3B,OAAO,EACP;AACE,YAAA,IAAI,EAAE,CAAC,oDAAoD,EAAE,iDAAiD,CAAC;SAChH,EACD,GAAG,CACH,CAAC;KACJ;IAED,IAAI,GAAA;AACF,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,gBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;aACrB;AACD,YAAA,OAAO,IAAI,CAAC;SACb;AACD,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACpB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAK,CAAC,CAAC,IAAI,CAAC,MAAK;AAC1C,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;AACnB,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;AACtB,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,IAAI,CAAC;KACb;IAED,MAAM,GAAA;AACJ,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;KAClD;8GAvCU,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cADC,MAAM,EAAA,CAAA,CAAA,EAAA;;2FACnB,YAAY,EAAA,UAAA,EAAA,CAAA;kBADxB,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;MCqCrB,cAAc,CAAA;AAZ3B,IAAA,WAAA,GAAA;AAamB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAC9B,QAAA,IAAA,CAAA,EAAE,GAAgB,MAAM,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC;AACnD,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AAC7B,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AACxB,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AAC3B,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAKpC,IAAI,CAAA,IAAA,GAAc,OAAO,CAAC;QAGI,IAAK,CAAA,KAAA,GAAG,CAAC,CAAC;AAC9B,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAQ,CAAC;AAiFrD,KAAA;AA/EC,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,EAAE,CAAC;KAChB;IAGO,SAAS,GAAA;AACf,QAAA,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;AACd,aAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACvC,aAAA,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;KACtE;IAEO,IAAI,GAAA;AACV,QAAA,MAAM,OAAO,GAAI,MAAoB,CAAC,IAAI,CAAC;QAC3C,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,MAAM,IAAI,KAAK,CACb,yGAAyG,IAAI,CAAC,SAAS,CACrH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAClB,CAAA,CAAE,CACJ,CAAC;SACH;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;AAErB,QAAA,MAAM,MAAM,IAAU,IAAI,CAAC,EAAE,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE;AACxD,YAAA,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO;AACxB,SAAA,CAAC,CAAC,CAAC;QAEJ,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAEzE,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB;IAEO,aAAa,GAAA;AACnB,QAAA,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QACtB,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAgB,CAAC;QACpD,IAAI,CAAC,EAAE,EAAE;YACP,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACtC,YAAA,EAAuB,CAAC,QAAQ,GAAG,IAAI,CAAC;AACzC,YAAA,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;SACzB;AACD,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;KACnB;IAEO,OAAO,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,EAAE,EAAE;AACX,YAAA,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;SACnB;KACF;IAEO,YAAY,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI;YAAE,OAAO;AAE5B,QAAA,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;AAC9B,QAAA,IAAI,CAAC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,MAAM,CAAoB,CAAC;KAClH;IAED,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;YAC5B,OAAO;SACR;AACD,QAAA,IAAI,CAAC,GAAG;AACL,aAAA,MAAM,EAAE;AACR,aAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;aAChD,SAAS,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;AAErC,QAAA,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;KACjB;AAED,IAAA,WAAW,CAAC,OAAuD,EAAA;AACjE,QAAA,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;AACzC,QAAA,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;KACF;IAED,WAAW,GAAA;QACT,IAAI,CAAC,OAAO,EAAE,CAAC;AACf,QAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;KAChB;8GA/FU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAcL,eAAe,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,SAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAvBzB,CAAgB,cAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;AA+BlB,UAAA,CAAA;AADP,IAAA,WAAW,EAAE;AAKb,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,WAAA,EAAA,IAAA,CAAA,CAAA;2FA1BU,cAAc,EAAA,UAAA,EAAA,CAAA;kBAZ1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,QAAQ,EAAE,CAAgB,cAAA,CAAA;AAC1B,oBAAA,IAAI,EAAE;AACJ,wBAAA,iBAAiB,EAAE,CAAS,OAAA,CAAA;AAC7B,qBAAA;AACD,oBAAA,mBAAmB,EAAE,KAAK;oBAC1B,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;8BAYU,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACiC,KAAK,EAAA,CAAA;sBAA3C,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAA;gBAClB,KAAK,EAAA,CAAA;sBAAvB,MAAM;gBAOC,SAAS,EAAA,EAAA,EAAA,EAAA,CAAA;;AC5DnB,MAAM,UAAU,GAAG,CAAC,cAAc,CAAC,CAAC;MAMvB,WAAW,CAAA;8GAAX,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,EAHZ,OAAA,EAAA,CAAA,YAAY,EAHJ,cAAc,aAAd,cAAc,CAAA,EAAA,CAAA,CAAA,EAAA;AAMrB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,YAHZ,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGX,WAAW,EAAA,UAAA,EAAA,CAAA;kBAJvB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,GAAG,UAAU,CAAC;AACtC,oBAAA,OAAO,EAAE,UAAU;AACpB,iBAAA,CAAA;;;ACVD;;AAEG;;;;"}
|
package/fesm2022/notice-icon.mjs
CHANGED
|
@@ -1,27 +1,15 @@
|
|
|
1
|
+
import { NgTemplateOutlet, NgClass, CommonModule } from '@angular/common';
|
|
1
2
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, Component, ViewEncapsulation, Input, Output, ChangeDetectionStrategy, NgModule } from '@angular/core';
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
import
|
|
8
|
-
import {
|
|
9
|
-
import
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import { InputNumber, InputBoolean } from '@delon/util/decorator';
|
|
13
|
-
import * as i1$1 from '@delon/theme';
|
|
14
|
-
import { DelonLocaleModule } from '@delon/theme';
|
|
15
|
-
import * as i3$1 from 'ng-zorro-antd/badge';
|
|
16
|
-
import { NzBadgeModule } from 'ng-zorro-antd/badge';
|
|
17
|
-
import * as i4$1 from 'ng-zorro-antd/dropdown';
|
|
18
|
-
import { NzDropDownModule } from 'ng-zorro-antd/dropdown';
|
|
19
|
-
import * as i5 from 'ng-zorro-antd/icon';
|
|
20
|
-
import { NzIconModule } from 'ng-zorro-antd/icon';
|
|
21
|
-
import * as i6 from 'ng-zorro-antd/spin';
|
|
22
|
-
import { NzSpinModule } from 'ng-zorro-antd/spin';
|
|
23
|
-
import * as i7 from 'ng-zorro-antd/tabs';
|
|
24
|
-
import { NzTabsModule } from 'ng-zorro-antd/tabs';
|
|
3
|
+
import { EventEmitter, Component, ViewEncapsulation, Input, Output, inject, ChangeDetectorRef, numberAttribute, booleanAttribute, ChangeDetectionStrategy, NgModule } from '@angular/core';
|
|
4
|
+
import { NzStringTemplateOutletDirective, NzOutletModule } from 'ng-zorro-antd/core/outlet';
|
|
5
|
+
import { NzListComponent, NzListItemComponent, NzListItemMetaComponent, NzListModule } from 'ng-zorro-antd/list';
|
|
6
|
+
import { NzTagComponent, NzTagModule } from 'ng-zorro-antd/tag';
|
|
7
|
+
import { DelonLocaleService, DelonLocaleModule } from '@delon/theme';
|
|
8
|
+
import { NzBadgeComponent, NzBadgeModule } from 'ng-zorro-antd/badge';
|
|
9
|
+
import { NzDropDownDirective, NzDropdownMenuComponent, NzDropDownModule } from 'ng-zorro-antd/dropdown';
|
|
10
|
+
import { NzIconDirective, NzIconModule } from 'ng-zorro-antd/icon';
|
|
11
|
+
import { NzSpinComponent, NzSpinModule } from 'ng-zorro-antd/spin';
|
|
12
|
+
import { NzTabSetComponent, NzTabComponent, NzTabsModule } from 'ng-zorro-antd/tabs';
|
|
25
13
|
|
|
26
14
|
class NoticeIconTabComponent {
|
|
27
15
|
constructor() {
|
|
@@ -35,12 +23,19 @@ class NoticeIconTabComponent {
|
|
|
35
23
|
onClear() {
|
|
36
24
|
this.clear.emit(this.data.title);
|
|
37
25
|
}
|
|
38
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0
|
|
39
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0
|
|
26
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NoticeIconTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", type: NoticeIconTabComponent, isStandalone: true, selector: "notice-icon-tab", inputs: { locale: "locale", data: "data" }, outputs: { select: "select", clear: "clear" }, exportAs: ["noticeIconTab"], ngImport: i0, template: "@if (data.list && data.list.length > 0) {\n <ng-template [ngTemplateOutlet]=\"listTpl\" />\n} @else {\n <div class=\"notice-icon__notfound\">\n @if (data.emptyImage) {\n <img class=\"notice-icon__notfound-img\" [attr.src]=\"data.emptyImage\" alt=\"not found\" />\n }\n <p>\n <ng-container *nzStringTemplateOutlet=\"data.emptyText\">\n {{ data.emptyText || locale.emptyText }}\n </ng-container>\n </p>\n </div>\n}\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)\" [class.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 @if (item.extra) {\n <div class=\"notice-icon__item-extra\">\n <nz-tag [nzColor]=\"item.color\">{{ item.extra }}</nz-tag>\n </div>\n }\n </ng-template>\n <ng-template #nzDescription>\n @if (item.description) {\n <div class=\"notice-icon__item-desc\">\n <ng-container *nzStringTemplateOutlet=\"item.description; context: { $implicit: item }\">\n {{ item.description }}\n </ng-container>\n </div>\n }\n @if (item.datetime) {\n <div class=\"notice-icon__item-time\">{{ item.datetime }}</div>\n }\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: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NzStringTemplateOutletDirective, selector: "[nzStringTemplateOutlet]", inputs: ["nzStringTemplateOutletContext", "nzStringTemplateOutlet"], exportAs: ["nzStringTemplateOutlet"] }, { kind: "component", type: 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: NzListItemComponent, selector: "nz-list-item, [nz-list-item]", inputs: ["nzActions", "nzContent", "nzExtra", "nzNoFlex"], exportAs: ["nzListItem"] }, { kind: "component", type: NzListItemMetaComponent, selector: "nz-list-item-meta, [nz-list-item-meta]", inputs: ["nzAvatar", "nzTitle", "nzDescription"], exportAs: ["nzListItemMeta"] }, { kind: "component", type: NzTagComponent, selector: "nz-tag", inputs: ["nzMode", "nzColor", "nzChecked"], outputs: ["nzOnClose", "nzCheckedChange"], exportAs: ["nzTag"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
40
28
|
}
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NoticeIconTabComponent, decorators: [{
|
|
42
30
|
type: Component,
|
|
43
|
-
args: [{ selector: 'notice-icon-tab', exportAs: 'noticeIconTab', preserveWhitespaces: false, encapsulation: ViewEncapsulation.None,
|
|
31
|
+
args: [{ selector: 'notice-icon-tab', exportAs: 'noticeIconTab', preserveWhitespaces: false, encapsulation: ViewEncapsulation.None, standalone: true, imports: [
|
|
32
|
+
NgTemplateOutlet,
|
|
33
|
+
NzStringTemplateOutletDirective,
|
|
34
|
+
NzListComponent,
|
|
35
|
+
NzListItemComponent,
|
|
36
|
+
NzListItemMetaComponent,
|
|
37
|
+
NzTagComponent
|
|
38
|
+
], template: "@if (data.list && data.list.length > 0) {\n <ng-template [ngTemplateOutlet]=\"listTpl\" />\n} @else {\n <div class=\"notice-icon__notfound\">\n @if (data.emptyImage) {\n <img class=\"notice-icon__notfound-img\" [attr.src]=\"data.emptyImage\" alt=\"not found\" />\n }\n <p>\n <ng-container *nzStringTemplateOutlet=\"data.emptyText\">\n {{ data.emptyText || locale.emptyText }}\n </ng-container>\n </p>\n </div>\n}\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)\" [class.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 @if (item.extra) {\n <div class=\"notice-icon__item-extra\">\n <nz-tag [nzColor]=\"item.color\">{{ item.extra }}</nz-tag>\n </div>\n }\n </ng-template>\n <ng-template #nzDescription>\n @if (item.description) {\n <div class=\"notice-icon__item-desc\">\n <ng-container *nzStringTemplateOutlet=\"item.description; context: { $implicit: item }\">\n {{ item.description }}\n </ng-container>\n </div>\n }\n @if (item.datetime) {\n <div class=\"notice-icon__item-time\">{{ item.datetime }}</div>\n }\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" }]
|
|
44
39
|
}], propDecorators: { locale: [{
|
|
45
40
|
type: Input
|
|
46
41
|
}], data: [{
|
|
@@ -52,12 +47,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
|
|
|
52
47
|
}] } });
|
|
53
48
|
|
|
54
49
|
class NoticeIconComponent {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
constructor(i18n, cdr) {
|
|
59
|
-
this.i18n = i18n;
|
|
60
|
-
this.cdr = cdr;
|
|
50
|
+
constructor() {
|
|
51
|
+
this.i18n = inject(DelonLocaleService);
|
|
52
|
+
this.cdr = inject(ChangeDetectorRef);
|
|
61
53
|
this.locale = {};
|
|
62
54
|
this.data = [];
|
|
63
55
|
this.loading = false;
|
|
@@ -67,6 +59,9 @@ class NoticeIconComponent {
|
|
|
67
59
|
this.clear = new EventEmitter();
|
|
68
60
|
this.popoverVisibleChange = new EventEmitter();
|
|
69
61
|
}
|
|
62
|
+
get overlayCls() {
|
|
63
|
+
return `header-dropdown notice-icon${!this.centered ? ' notice-icon__tab-left' : ''}`;
|
|
64
|
+
}
|
|
70
65
|
onVisibleChange(result) {
|
|
71
66
|
this.popoverVisibleChange.emit(result);
|
|
72
67
|
}
|
|
@@ -88,38 +83,41 @@ class NoticeIconComponent {
|
|
|
88
83
|
ngOnDestroy() {
|
|
89
84
|
this.i18n$.unsubscribe();
|
|
90
85
|
}
|
|
91
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0
|
|
92
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0
|
|
86
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NoticeIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
87
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", type: NoticeIconComponent, isStandalone: true, selector: "notice-icon", inputs: { data: "data", count: ["count", "count", numberAttribute], loading: ["loading", "loading", booleanAttribute], popoverVisible: ["popoverVisible", "popoverVisible", booleanAttribute], btnClass: "btnClass", btnIconClass: "btnIconClass", centered: ["centered", "centered", booleanAttribute] }, 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@if (data!.length <= 0) {\n <ng-template [ngTemplateOutlet]=\"badgeTpl\" />\n} @else {\n <div\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\" />\n </div>\n <nz-dropdown-menu #noticeMenu=\"nzDropdownMenu\">\n <nz-spin [nzSpinning]=\"loading\" [nzDelay]=\"0\">\n <nz-tabset nzSelectedIndex=\"0\" [nzCentered]=\"centered\">\n @for (i of data; track $index) {\n <nz-tab [nzTitle]=\"i.title\">\n <notice-icon-tab [locale]=\"locale\" [data]=\"i\" (select)=\"onSelect($event)\" (clear)=\"onClear($event)\" />\n </nz-tab>\n }\n </nz-tabset>\n </nz-spin>\n </nz-dropdown-menu>\n}\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: NzBadgeComponent, selector: "nz-badge", inputs: ["nzShowZero", "nzShowDot", "nzStandalone", "nzDot", "nzOverflowCount", "nzColor", "nzStyle", "nzText", "nzTitle", "nzStatus", "nzCount", "nzOffset", "nzSize"], exportAs: ["nzBadge"] }, { kind: "directive", type: NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "directive", type: NzDropDownDirective, selector: "[nz-dropdown]", inputs: ["nzDropdownMenu", "nzTrigger", "nzMatchWidthElement", "nzBackdrop", "nzClickHide", "nzDisabled", "nzVisible", "nzOverlayClassName", "nzOverlayStyle", "nzPlacement"], outputs: ["nzVisibleChange"], exportAs: ["nzDropdown"] }, { kind: "component", type: NzDropdownMenuComponent, selector: "nz-dropdown-menu", exportAs: ["nzDropdownMenu"] }, { kind: "component", type: NzSpinComponent, selector: "nz-spin", inputs: ["nzIndicator", "nzSize", "nzTip", "nzDelay", "nzSimple", "nzSpinning"], exportAs: ["nzSpin"] }, { kind: "component", type: 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: NzTabComponent, selector: "nz-tab", inputs: ["nzTitle", "nzClosable", "nzCloseIcon", "nzDisabled", "nzForceRender"], outputs: ["nzSelect", "nzDeselect", "nzClick", "nzContextmenu"], exportAs: ["nzTab"] }, { kind: "component", type: NoticeIconTabComponent, selector: "notice-icon-tab", inputs: ["locale", "data"], outputs: ["select", "clear"], exportAs: ["noticeIconTab"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
93
88
|
}
|
|
94
|
-
|
|
95
|
-
InputNumber()
|
|
96
|
-
], NoticeIconComponent.prototype, "count", void 0);
|
|
97
|
-
__decorate([
|
|
98
|
-
InputBoolean()
|
|
99
|
-
], NoticeIconComponent.prototype, "loading", void 0);
|
|
100
|
-
__decorate([
|
|
101
|
-
InputBoolean()
|
|
102
|
-
], NoticeIconComponent.prototype, "popoverVisible", void 0);
|
|
103
|
-
__decorate([
|
|
104
|
-
InputBoolean()
|
|
105
|
-
], NoticeIconComponent.prototype, "centered", void 0);
|
|
106
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: NoticeIconComponent, decorators: [{
|
|
89
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NoticeIconComponent, decorators: [{
|
|
107
90
|
type: Component,
|
|
108
|
-
args: [{ selector: 'notice-icon', exportAs: 'noticeIcon', host: { '[class.notice-icon__btn]': 'true' }, preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None,
|
|
109
|
-
|
|
91
|
+
args: [{ selector: 'notice-icon', exportAs: 'noticeIcon', host: { '[class.notice-icon__btn]': 'true' }, preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [
|
|
92
|
+
NgClass,
|
|
93
|
+
NgTemplateOutlet,
|
|
94
|
+
NzBadgeComponent,
|
|
95
|
+
NzIconDirective,
|
|
96
|
+
NzDropDownDirective,
|
|
97
|
+
NzDropdownMenuComponent,
|
|
98
|
+
NzSpinComponent,
|
|
99
|
+
NzTabSetComponent,
|
|
100
|
+
NzTabComponent,
|
|
101
|
+
NoticeIconTabComponent
|
|
102
|
+
], 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@if (data!.length <= 0) {\n <ng-template [ngTemplateOutlet]=\"badgeTpl\" />\n} @else {\n <div\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\" />\n </div>\n <nz-dropdown-menu #noticeMenu=\"nzDropdownMenu\">\n <nz-spin [nzSpinning]=\"loading\" [nzDelay]=\"0\">\n <nz-tabset nzSelectedIndex=\"0\" [nzCentered]=\"centered\">\n @for (i of data; track $index) {\n <nz-tab [nzTitle]=\"i.title\">\n <notice-icon-tab [locale]=\"locale\" [data]=\"i\" (select)=\"onSelect($event)\" (clear)=\"onClear($event)\" />\n </nz-tab>\n }\n </nz-tabset>\n </nz-spin>\n </nz-dropdown-menu>\n}\n" }]
|
|
103
|
+
}], propDecorators: { data: [{
|
|
110
104
|
type: Input
|
|
111
105
|
}], count: [{
|
|
112
|
-
type: Input
|
|
106
|
+
type: Input,
|
|
107
|
+
args: [{ transform: numberAttribute }]
|
|
113
108
|
}], loading: [{
|
|
114
|
-
type: Input
|
|
109
|
+
type: Input,
|
|
110
|
+
args: [{ transform: booleanAttribute }]
|
|
115
111
|
}], popoverVisible: [{
|
|
116
|
-
type: Input
|
|
112
|
+
type: Input,
|
|
113
|
+
args: [{ transform: booleanAttribute }]
|
|
117
114
|
}], btnClass: [{
|
|
118
115
|
type: Input
|
|
119
116
|
}], btnIconClass: [{
|
|
120
117
|
type: Input
|
|
121
118
|
}], centered: [{
|
|
122
|
-
type: Input
|
|
119
|
+
type: Input,
|
|
120
|
+
args: [{ transform: booleanAttribute }]
|
|
123
121
|
}], select: [{
|
|
124
122
|
type: Output
|
|
125
123
|
}], clear: [{
|
|
@@ -130,8 +128,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
|
|
|
130
128
|
|
|
131
129
|
const COMPONENTS = [NoticeIconComponent];
|
|
132
130
|
class NoticeIconModule {
|
|
133
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0
|
|
134
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0
|
|
131
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NoticeIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
132
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: NoticeIconModule, imports: [CommonModule,
|
|
135
133
|
DelonLocaleModule,
|
|
136
134
|
NzBadgeModule,
|
|
137
135
|
NzDropDownModule,
|
|
@@ -140,8 +138,8 @@ class NoticeIconModule {
|
|
|
140
138
|
NzSpinModule,
|
|
141
139
|
NzTabsModule,
|
|
142
140
|
NzTagModule,
|
|
143
|
-
NzOutletModule], exports: [NoticeIconComponent] }); }
|
|
144
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0
|
|
141
|
+
NzOutletModule, NoticeIconComponent, NoticeIconTabComponent], exports: [NoticeIconComponent] }); }
|
|
142
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NoticeIconModule, imports: [CommonModule,
|
|
145
143
|
DelonLocaleModule,
|
|
146
144
|
NzBadgeModule,
|
|
147
145
|
NzDropDownModule,
|
|
@@ -150,9 +148,9 @@ class NoticeIconModule {
|
|
|
150
148
|
NzSpinModule,
|
|
151
149
|
NzTabsModule,
|
|
152
150
|
NzTagModule,
|
|
153
|
-
NzOutletModule] }); }
|
|
151
|
+
NzOutletModule, COMPONENTS, NoticeIconTabComponent] }); }
|
|
154
152
|
}
|
|
155
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0
|
|
153
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NoticeIconModule, decorators: [{
|
|
156
154
|
type: NgModule,
|
|
157
155
|
args: [{
|
|
158
156
|
imports: [
|
|
@@ -165,9 +163,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
|
|
|
165
163
|
NzSpinModule,
|
|
166
164
|
NzTabsModule,
|
|
167
165
|
NzTagModule,
|
|
168
|
-
NzOutletModule
|
|
166
|
+
NzOutletModule,
|
|
167
|
+
...COMPONENTS,
|
|
168
|
+
NoticeIconTabComponent
|
|
169
169
|
],
|
|
170
|
-
declarations: [...COMPONENTS, NoticeIconTabComponent],
|
|
171
170
|
exports: COMPONENTS
|
|
172
171
|
}]
|
|
173
172
|
}] });
|