ng-zorro-antd-extension 18.0.0 → 18.1.1

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.
Files changed (105) hide show
  1. package/README.md +8 -9
  2. package/configurable-query/configurable-query.component.d.ts +16 -3
  3. package/configurable-query/controls/date-picker.control.d.ts +1 -1
  4. package/configurable-query/controls/input.control.d.ts +1 -1
  5. package/configurable-query/controls/range-picker.control.d.ts +1 -1
  6. package/configurable-query/controls/select.control.d.ts +1 -1
  7. package/configurable-query/controls/template.control.d.ts +1 -1
  8. package/esm2022/acl/nzx-acl.directive.mjs +4 -4
  9. package/esm2022/acl/nzx-acl.module.mjs +5 -5
  10. package/esm2022/acl/nzx-acl.service.mjs +4 -4
  11. package/esm2022/blank-field/blank-field.component.mjs +4 -4
  12. package/esm2022/blank-field/blank-field.module.mjs +5 -5
  13. package/esm2022/checkbox/checkbox-group.component.mjs +4 -4
  14. package/esm2022/checkbox/checkbox.module.mjs +5 -5
  15. package/esm2022/configurable-query/configurable-query-item/configurable-query-item.component.mjs +4 -4
  16. package/esm2022/configurable-query/configurable-query.component.mjs +48 -33
  17. package/esm2022/configurable-query/configurable-query.module.mjs +5 -5
  18. package/esm2022/configurable-query/control.directive.mjs +4 -4
  19. package/esm2022/configurable-query/controls/abstract.control.mjs +4 -4
  20. package/esm2022/configurable-query/controls/date-picker.control.mjs +5 -4
  21. package/esm2022/configurable-query/controls/input.control.mjs +5 -4
  22. package/esm2022/configurable-query/controls/range-picker.control.mjs +5 -4
  23. package/esm2022/configurable-query/controls/select.control.mjs +5 -4
  24. package/esm2022/configurable-query/controls/template.control.mjs +7 -6
  25. package/esm2022/configurable-query/query-config.service.mjs +4 -4
  26. package/esm2022/core/config/config.service.mjs +4 -4
  27. package/esm2022/editable/editable.component.mjs +4 -4
  28. package/esm2022/editable/editable.module.mjs +5 -5
  29. package/esm2022/jigsaw/jigsaw.component.mjs +4 -4
  30. package/esm2022/jigsaw/jigsaw.module.mjs +5 -5
  31. package/esm2022/pipes/map.pipe.mjs +4 -4
  32. package/esm2022/pipes/pipes.module.mjs +5 -5
  33. package/esm2022/pipes/safe-html.pipe.mjs +4 -4
  34. package/esm2022/pipes/safe-null.pipe.mjs +4 -4
  35. package/esm2022/pipes/safe-resource-url.pipe.mjs +4 -4
  36. package/esm2022/pipes/safe-script.pipe.mjs +4 -4
  37. package/esm2022/pipes/safe-style.pipe.mjs +4 -4
  38. package/esm2022/pipes/safe-url.pipe.mjs +4 -4
  39. package/esm2022/print/nzx-print-content.directive.mjs +4 -4
  40. package/esm2022/print/nzx-print-v.component.mjs +4 -4
  41. package/esm2022/print/nzx-print.component.mjs +4 -4
  42. package/esm2022/print/nzx-print.directive.mjs +4 -4
  43. package/esm2022/print/nzx-print.module.mjs +5 -5
  44. package/esm2022/simple-table/directive/expand.directive.mjs +4 -4
  45. package/esm2022/simple-table/directive/td.directive.mjs +4 -4
  46. package/esm2022/simple-table/directive/th.directive.mjs +4 -4
  47. package/esm2022/simple-table/simple-table.component.mjs +4 -4
  48. package/esm2022/simple-table/simple-table.module.mjs +5 -5
  49. package/esm2022/table-adaptor/page-table-basic.mjs +4 -4
  50. package/esm2022/table-adaptor/table-adaptor.directive.mjs +4 -4
  51. package/esm2022/table-adaptor/table-adaptor.module.mjs +5 -5
  52. package/esm2022/table-form/directive/table-expand.directive.mjs +4 -4
  53. package/esm2022/table-form/directive/table-td.directive.mjs +4 -4
  54. package/esm2022/table-form/directive/table-th.directive.mjs +4 -4
  55. package/esm2022/table-form/table-form.component.mjs +4 -4
  56. package/esm2022/table-form/table-form.module.mjs +5 -5
  57. package/esm2022/table-select/abstract-table-select.mjs +4 -4
  58. package/esm2022/table-select/key.directive.mjs +4 -4
  59. package/esm2022/table-select/nzx-table-select.module.mjs +5 -5
  60. package/esm2022/table-select/page-table-select/page-table-select.component.mjs +4 -4
  61. package/esm2022/table-select/table-select/table-select.component.mjs +4 -4
  62. package/esm2022/timer-button/timer-button.directive.mjs +4 -4
  63. package/esm2022/timer-button/timer-button.module.mjs +5 -5
  64. package/esm2022/trim/trim.directive.mjs +4 -4
  65. package/esm2022/trim/trim.module.mjs +5 -5
  66. package/esm2022/util/lib/fileUtil.mjs +2 -2
  67. package/esm2022/wang-editor/wang-editor.component.mjs +4 -4
  68. package/esm2022/wang-editor/wang-editor.module.mjs +5 -5
  69. package/esm2022/wang-editor/wang-toolbar.component.mjs +4 -4
  70. package/fesm2022/ng-zorro-antd-extension-acl.mjs +10 -10
  71. package/fesm2022/ng-zorro-antd-extension-acl.mjs.map +1 -1
  72. package/fesm2022/ng-zorro-antd-extension-blank-field.mjs +7 -7
  73. package/fesm2022/ng-zorro-antd-extension-blank-field.mjs.map +1 -1
  74. package/fesm2022/ng-zorro-antd-extension-checkbox.mjs +7 -7
  75. package/fesm2022/ng-zorro-antd-extension-checkbox.mjs.map +1 -1
  76. package/fesm2022/ng-zorro-antd-extension-configurable-query.mjs +85 -65
  77. package/fesm2022/ng-zorro-antd-extension-configurable-query.mjs.map +1 -1
  78. package/fesm2022/ng-zorro-antd-extension-core-config.mjs +3 -3
  79. package/fesm2022/ng-zorro-antd-extension-core-config.mjs.map +1 -1
  80. package/fesm2022/ng-zorro-antd-extension-editable.mjs +7 -7
  81. package/fesm2022/ng-zorro-antd-extension-editable.mjs.map +1 -1
  82. package/fesm2022/ng-zorro-antd-extension-jigsaw.mjs +7 -7
  83. package/fesm2022/ng-zorro-antd-extension-jigsaw.mjs.map +1 -1
  84. package/fesm2022/ng-zorro-antd-extension-pipes.mjs +25 -25
  85. package/fesm2022/ng-zorro-antd-extension-pipes.mjs.map +1 -1
  86. package/fesm2022/ng-zorro-antd-extension-print.mjs +16 -16
  87. package/fesm2022/ng-zorro-antd-extension-print.mjs.map +1 -1
  88. package/fesm2022/ng-zorro-antd-extension-simple-table.mjs +16 -16
  89. package/fesm2022/ng-zorro-antd-extension-simple-table.mjs.map +1 -1
  90. package/fesm2022/ng-zorro-antd-extension-table-adaptor.mjs +10 -10
  91. package/fesm2022/ng-zorro-antd-extension-table-adaptor.mjs.map +1 -1
  92. package/fesm2022/ng-zorro-antd-extension-table-form.mjs +16 -16
  93. package/fesm2022/ng-zorro-antd-extension-table-form.mjs.map +1 -1
  94. package/fesm2022/ng-zorro-antd-extension-table-select.mjs +16 -16
  95. package/fesm2022/ng-zorro-antd-extension-table-select.mjs.map +1 -1
  96. package/fesm2022/ng-zorro-antd-extension-timer-button.mjs +7 -7
  97. package/fesm2022/ng-zorro-antd-extension-timer-button.mjs.map +1 -1
  98. package/fesm2022/ng-zorro-antd-extension-trim.mjs +7 -7
  99. package/fesm2022/ng-zorro-antd-extension-trim.mjs.map +1 -1
  100. package/fesm2022/ng-zorro-antd-extension-util.mjs +1 -1
  101. package/fesm2022/ng-zorro-antd-extension-util.mjs.map +1 -1
  102. package/fesm2022/ng-zorro-antd-extension-wang-editor.mjs +10 -10
  103. package/fesm2022/ng-zorro-antd-extension-wang-editor.mjs.map +1 -1
  104. package/package.json +7 -7
  105. package/table-select/abstract-table-select.d.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ng-zorro-antd-extension-configurable-query.mjs","sources":["../../../components/configurable-query/control.directive.ts","../../../components/configurable-query/controls/abstract.control.ts","../../../components/configurable-query/controls/date-picker.control.ts","../../../components/configurable-query/controls/input.control.ts","../../../components/configurable-query/controls/range-picker.control.ts","../../../components/configurable-query/controls/select.control.ts","../../../components/configurable-query/controls/template.control.ts","../../../components/configurable-query/query-config.service.ts","../../../components/configurable-query/configurable-query-item/configurable-query-item.component.ts","../../../components/configurable-query/configurable-query.component.ts","../../../components/configurable-query/configurable-query.component.html","../../../components/configurable-query/configurable-query.module.ts","../../../components/configurable-query/ng-zorro-antd-extension-configurable-query.ts"],"sourcesContent":["import { Directive, Input, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[nzxControl]',\r\n})\r\nexport class NzxControlDirective {\r\n @Input() nzxControl!: string;\r\n constructor(public templateRef: TemplateRef<unknown>) {}\r\n}\r\n","import { Directive, Input } from '@angular/core';\nimport { NzxQueryControlOptions } from '../type';\nimport { FormGroup } from '@angular/forms';\n\n/**\n * 用来动态添加control type类型控件,类型控件需要继承此控件\n */\n@Directive()\nexport abstract class NzxAbstractControl {\n @Input() form!: FormGroup<any>;\n @Input() control!: NzxQueryControlOptions;\n}\n","import { Component } from '@angular/core';\nimport { NzxAbstractControl } from './abstract.control';\n\n@Component({\n template: `\n <ng-container [formGroup]=\"form\">\n <nz-date-picker\n [ngStyle]=\"{ width: '100%' }\"\n [formControlName]=\"control.controlName!\"\n [nzPlaceHolder]=\"control.placeholder!\"\n >\n </nz-date-picker>\n </ng-container>\n `,\n})\nexport class NzxDatePickerControlComponent extends NzxAbstractControl {}\n","import { Component } from '@angular/core';\nimport { NzxAbstractControl } from './abstract.control';\n\n@Component({\n template: `\n <ng-container [formGroup]=\"form\">\n <input\n nz-input\n type=\"text\"\n [placeholder]=\"control.placeholder\"\n [formControlName]=\"control.controlName!\"\n />\n </ng-container>\n `,\n})\nexport class NzxInputControlComponent extends NzxAbstractControl {}\n","import { Component } from '@angular/core';\nimport { NzxAbstractControl } from './abstract.control';\n\n@Component({\n template: `\n <ng-container [formGroup]=\"form\">\n <nz-range-picker\n [ngStyle]=\"{ width: '100%' }\"\n [formControlName]=\"control.controlName!\"\n >\n </nz-range-picker>\n </ng-container>\n `,\n})\nexport class NzxRangePickerControlComponent extends NzxAbstractControl {}\n","import { Component } from '@angular/core';\nimport { NzxAbstractControl } from './abstract.control';\n\n@Component({\n template: `\n <ng-container [formGroup]=\"form\">\n <nz-select\n [formControlName]=\"control.controlName!\"\n [nzShowSearch]=\"control.nzxShowSearch ?? true\"\n [nzAllowClear]=\"control.nzxAllowClear ?? true\"\n [nzPlaceHolder]=\"control.placeholder!\"\n >\n <nz-option\n *ngFor=\"let item of control.menuList\"\n [nzValue]=\"item.value\"\n [nzLabel]=\"item.label\"\n >\n </nz-option>\n </nz-select>\n </ng-container>\n `,\n})\nexport class NzxSelectControlComponent extends NzxAbstractControl {}\n","import { Component } from '@angular/core';\nimport { NzxAbstractControl } from './abstract.control';\n\n@Component({\n template: `\n <ng-container\n *ngTemplateOutlet=\"\n control.templateRef!;\n context: { $implicit: form.get(control.controlName!) }\n \"\n >\n </ng-container>\n `,\n})\nexport class NzxTemplateControlComponent extends NzxAbstractControl {}\n","import { Inject, InjectionToken, Optional } from '@angular/core';\nimport { NzxQueryConfig, NzxQueryControlType } from './type';\n\nexport const QUERY_CONFIG = new InjectionToken<NzxQueryControlType[]>(\n 'QUERY_CONFIG'\n);\n\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { NzxDatePickerControlComponent } from './controls/date-picker.control';\nimport { NzxInputControlComponent } from './controls/input.control';\nimport { NzxRangePickerControlComponent } from './controls/range-picker.control';\nimport { NzxSelectControlComponent } from './controls/select.control';\nimport { NzxTemplateControlComponent } from './controls/template.control';\n\n/**\n * 用来动态添加control type类型控件\n */\n@Injectable({ providedIn: 'root' })\nexport class NzxQueryConfigService {\n private controlTypePoll: NzxQueryControlType[] = [\n { key: 'input', component: NzxInputControlComponent },\n { key: 'select', component: NzxSelectControlComponent },\n { key: 'Template', component: NzxTemplateControlComponent },\n { key: 'datePicker', component: NzxDatePickerControlComponent },\n { key: 'rangePicker', component: NzxRangePickerControlComponent },\n ];\n\n controlTypes$ = new BehaviorSubject<NzxQueryControlType[]>(\n this.controlTypePoll\n );\n\n constructor(\n @Optional()\n @Inject(QUERY_CONFIG)\n nzxQueryConfig: NzxQueryConfig\n ) {\n if (nzxQueryConfig) {\n if (\n nzxQueryConfig.controlTypes &&\n nzxQueryConfig.controlTypes.length > 0\n ) {\n nzxQueryConfig.controlTypes.forEach((i) => {\n this.addControlType(i);\n });\n this.refreshControlType();\n }\n }\n }\n\n addControlType(controlType: NzxQueryControlType) {\n const find = this.controlTypePoll.some((i) => i.key === controlType.key);\n if (find) {\n throw `ControlType:: ${controlType.key} already exists !`;\n }\n this.controlTypePoll.push(controlType);\n }\n\n removeControlType(key: string) {\n const find = this.controlTypePoll.some((i) => i.key === key);\n if (find) {\n this.controlTypePoll = this.controlTypePoll.filter((i) => i.key !== key);\n } else {\n throw `ControlType:: ${key} not exists !`;\n }\n }\n\n refreshControlType() {\n this.controlTypes$.next(this.controlTypePoll);\n }\n}\n","import {\n Component,\n Input,\n OnDestroy,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\n\nimport { Subject, takeUntil } from 'rxjs';\nimport { NzxQueryConfigService } from '../query-config.service';\nimport { NzxQueryControlOptions, NzxQueryControlType } from '../type';\n\n@Component({\n selector: 'nzx-configurable-query-item',\n template: `\n <nz-form-item>\n <nz-form-label *ngIf=\"control.label\" [nzSpan]=\"control.nzxLSpan || 6\">\n {{ control.label }}\n </nz-form-label>\n <nz-form-control\n [nzSpan]=\"control.nzxRSpan || 18\"\n [nzValidateStatus]=\"\n control?.controlInstance ?? $any(form.get(control.controlName!))\n \"\n [nzErrorTip]=\"control.errorTip\"\n >\n <ng-template #controlTemp></ng-template>\n </nz-form-control>\n </nz-form-item>\n `,\n})\nexport class NzxConfigurableQueryItemComponent implements OnInit, OnDestroy {\n @Input() form!: FormGroup;\n @Input() control!: NzxQueryControlOptions;\n\n @ViewChild('controlTemp', { static: true, read: ViewContainerRef })\n private controlTemplateView!: ViewContainerRef;\n\n private destroy$ = new Subject<void>();\n\n constructor(private nzxQueryConfigService: NzxQueryConfigService) {}\n\n ngOnInit(): void {\n this.nzxQueryConfigService.controlTypes$\n .pipe(takeUntil(this.destroy$))\n .subscribe((list) => {\n this.renderControl(list);\n });\n }\n\n ngOnDestroy(): void {\n if (this.destroy$) {\n this.destroy$.next();\n this.destroy$.complete();\n }\n }\n\n private renderControl(list: NzxQueryControlType[]) {\n this.controlTemplateView.clear();\n const config = list.find((i) => i.key === this.control.controlType);\n if (config) {\n const componentRef = this.controlTemplateView.createComponent(\n config.component as any\n );\n componentRef.setInput('control', this.control);\n componentRef.setInput('form', this.form);\n } else {\n throw `ControlType:: '${this.control.controlType}' is invalidate`;\n }\n }\n}\n","import {\r\n AfterContentInit,\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChildren,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n QueryList,\r\n SimpleChanges,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { AbstractControl, FormBuilder, FormGroup } from '@angular/forms';\r\n\r\nimport { NzxQueryI18nInterface } from 'ng-zorro-antd-extension/i18n';\r\nimport { updateControlStatus } from 'ng-zorro-antd-extension/util';\r\nimport { NzJustify } from 'ng-zorro-antd/grid';\r\nimport { NzI18nService } from 'ng-zorro-antd/i18n';\r\nimport { Subject, fromEvent, takeUntil } from 'rxjs';\r\nimport { NzxControlDirective } from './control.directive';\r\nimport { NzxQueryControlOptions, NzxQueryParams } from './type';\r\n\r\n/**\r\n * 查询组件\r\n * 支持模板自定义,在使用模板自定义时,要注意controlType应该设置为Template并且确保controlName与指令上的nzxControl应该相同\r\n */\r\n\r\n@Component({\r\n selector: 'nzx-configurable-query',\r\n templateUrl: './configurable-query.component.html',\r\n styleUrls: ['./configurable-query.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n exportAs: 'NzxConfigurableQuery',\r\n})\r\nexport class NzxConfigurableQueryComponent\r\n implements OnChanges, OnInit, AfterViewInit, AfterContentInit, OnDestroy\r\n{\r\n /** 配置项 */\r\n @Input() controls: Array<NzxQueryControlOptions> = [];\r\n /** 查询表单排列方式 */\r\n @Input() nzxJustify: NzJustify = 'start';\r\n /** 查询项间隔 */\r\n @Input() nzxGutter: number = 8;\r\n /** 一行展示多少查询项 */\r\n @Input() lineNumber: number = 3;\r\n /** 操作按钮所占栅格数,24则换行 */\r\n @Input() nzxBtnSpan: number | null = null;\r\n /** 初始化时,主动查询 */\r\n @Input() initQuery = false;\r\n /** 缺省 固定参数 */\r\n @Input() fixedParams = {};\r\n\r\n /** 查询时会触发抛出查询参数 */\r\n @Output() queryChange = new EventEmitter<NzxQueryParams>();\r\n /** 重置时会触发抛出查询参数 */\r\n @Output() resetChange = new EventEmitter<NzxQueryParams>();\r\n\r\n /** 查询组件出参*/\r\n get queryParams() {\r\n return this._queryParams;\r\n }\r\n set queryParams(value: any) {\r\n this._queryParams = value;\r\n }\r\n\r\n get nzxCollapse() {\r\n return this.controls.some((i) => i.hasOwnProperty('collapse'));\r\n }\r\n\r\n /** form 表单*/\r\n queryForm!: FormGroup;\r\n locale!: NzxQueryI18nInterface;\r\n collapseIcon: string = 'down';\r\n collapseText: string = '';\r\n\r\n private _queryParams: NzxQueryParams = {};\r\n private defaultValue: NzxQueryParams = {};\r\n private cacheParams: NzxQueryParams = {};\r\n private destroy$ = new Subject<void>();\r\n\r\n @ViewChild('queyForm') private queyFormEl!: ElementRef<HTMLFormElement>;\r\n @ContentChildren(NzxControlDirective, { descendants: true })\r\n controlTemplateList!: QueryList<NzxControlDirective>;\r\n\r\n constructor(\r\n private i18n: NzI18nService,\r\n private fb: FormBuilder,\r\n private cd: ChangeDetectorRef\r\n ) {\r\n this.queryForm = this.fb.group({});\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['controls'] && !changes['controls'].isFirstChange()) {\r\n const controls = changes['controls'].currentValue;\r\n if (Array.isArray(controls)) {\r\n this.generateForm(controls);\r\n }\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.i18n.localeChange.pipe(takeUntil(this.destroy$)).subscribe(() => {\r\n this.locale = this.i18n.getLocaleData('Query');\r\n\r\n this.cd.markForCheck();\r\n });\r\n\r\n this.queryForm.valueChanges\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((val) => {\r\n this._queryParams = {\r\n ...val,\r\n ...this.fixedParams,\r\n };\r\n });\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.queyFormEl) {\r\n fromEvent<KeyboardEvent>(this.queyFormEl.nativeElement, 'keydown')\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((event) => {\r\n if (event.key === 'Enter') {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n this.search();\r\n }\r\n // 检查是否同时按下了Ctrl键(在Windows/Linux上)和S键\r\n if ((event.ctrlKey || event.metaKey) && event.key === 'r') {\r\n // 注意:event.metaKey用于兼容Mac的Command键\r\n event.preventDefault(); // 阻止浏览器默认的保存行为\r\n event.stopPropagation();\r\n this.reset();\r\n }\r\n });\r\n }\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.generateForm(this.controls);\r\n\r\n if (this.initQuery) {\r\n this.search();\r\n }\r\n }\r\n\r\n /** 设置查询值进行回显 */\r\n setQueryParams(cacheParams: NzxQueryParams): void {\r\n this.cacheParams = cacheParams;\r\n this.queryForm.patchValue(cacheParams);\r\n }\r\n\r\n /**\r\n * 根据controlName设置config值\r\n */\r\n setControl(\r\n controlName: string,\r\n config: Partial<NzxQueryControlOptions>\r\n ): void {\r\n setTimeout(() => {\r\n const control = this.getControl(controlName);\r\n if (control) {\r\n Object.keys(config).forEach((key) => {\r\n (control as any)[key] = (config as any)[key];\r\n });\r\n this.cd.markForCheck();\r\n }\r\n }, 0);\r\n }\r\n\r\n /**\r\n * 动态添加控件\r\n * @param config 配置项\r\n * @param position 添加位置 不传为末尾\r\n */\r\n addControl(\r\n config: NzxQueryControlOptions,\r\n position?: number | undefined\r\n ): void {\r\n const control = this.getControl(config.controlName);\r\n if (!control) {\r\n if (config.controlName) {\r\n this.queryForm.addControl(\r\n config.controlName,\r\n config.controlInstance ?? this.fb.control(config.default ?? null)\r\n );\r\n }\r\n if (position === void 0 || position === null) {\r\n this.controls.push(config);\r\n } else {\r\n this.controls.splice(position - 1, 0, config);\r\n }\r\n this.calculateText();\r\n } else {\r\n throw `The control name: '${config.controlName}' already exists!`;\r\n }\r\n }\r\n\r\n /**\r\n * 根据控件名删除控件\r\n */\r\n removeControl(controlName: string): void {\r\n const control = this.getControl(controlName);\r\n if (control) {\r\n this.queryForm.removeControl(controlName);\r\n this.controls = this.controls.filter(\r\n (c) => c.controlName !== controlName\r\n );\r\n\r\n this.calculateText();\r\n } else {\r\n throw `The control name: '${controlName}' not find!`;\r\n }\r\n }\r\n\r\n /**\r\n * 根据controlName获取config项\r\n */\r\n getControl(\r\n controlName: string | undefined\r\n ): NzxQueryControlOptions | undefined {\r\n return this.controls.find((config) => config.controlName === controlName);\r\n }\r\n\r\n /**\r\n * 检索给定控件名称或路径的子控件。\r\n * 这个 getFormControl 签名支持字符串和 const 数组(.getFormControl(['foo', 'bar'] as const))\r\n */\r\n getFormControl(\r\n path: string | readonly (string | number)[]\r\n ): AbstractControl<any, any> | null {\r\n return this.queryForm.get(path);\r\n }\r\n\r\n /** 查询 */\r\n search(): void {\r\n if (this.queryForm.invalid) {\r\n updateControlStatus(this.queryForm);\r\n return;\r\n }\r\n this.queryChange.emit(this._queryParams);\r\n }\r\n\r\n /** 重置 */\r\n reset(): void {\r\n if (this.queryForm.invalid) {\r\n updateControlStatus(this.queryForm);\r\n return;\r\n }\r\n this.queryForm.reset(this.defaultValue);\r\n this.resetChange.emit(this._queryParams);\r\n }\r\n\r\n /**展开、收起*/\r\n toggleCollapse(): void {\r\n for (let index = 0; index < this.controls.length; index++) {\r\n const config = this.controls[index];\r\n if (config.hasOwnProperty('collapse') && config.collapse === true) {\r\n (config.collapse as boolean) = false;\r\n } else if (\r\n config.hasOwnProperty('collapse') &&\r\n (config.collapse as boolean) === false\r\n ) {\r\n config.collapse = true;\r\n }\r\n }\r\n this.calculateText();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n\r\n private calculateText() {\r\n if (this.controls.some((i) => i.collapse === true)) {\r\n this.collapseIcon = 'down';\r\n this.collapseText = this.locale.expand;\r\n } else {\r\n this.collapseIcon = 'up';\r\n this.collapseText = this.locale.collapse;\r\n }\r\n this.cd.markForCheck();\r\n }\r\n\r\n /** 清空表单控件 */\r\n private clearFormControl(): void {\r\n Object.keys(this.queryForm.controls).forEach((key) => {\r\n this.queryForm.removeControl(key);\r\n });\r\n }\r\n\r\n /** 生成表单 */\r\n private generateForm(controlConfigs: Array<NzxQueryControlOptions>): void {\r\n this.clearFormControl();\r\n\r\n for (const config of controlConfigs) {\r\n if (config.controlType === 'Template') {\r\n const item = this.controlTemplateList.find(\r\n (directive) => directive.nzxControl === config.controlName\r\n );\r\n if (item) {\r\n config.templateRef = item.templateRef;\r\n }\r\n }\r\n if (config.controlName) {\r\n this.queryForm.addControl(\r\n config.controlName,\r\n config.controlInstance ?? this.fb.control(config.default ?? null)\r\n );\r\n }\r\n }\r\n this.defaultValue = this.queryForm.getRawValue();\r\n if (this.cacheParams) {\r\n // 缓存回显查询条件\r\n this.queryForm.patchValue(this.cacheParams);\r\n }\r\n\r\n this.calculateText();\r\n }\r\n}\r\n","<form #queyForm class=\"nzx-query-container\" nz-form [formGroup]=\"queryForm\">\n <div nz-row [nzGutter]=\"nzxGutter\" [nzJustify]=\"nzxJustify\">\n <ng-container *ngFor=\"let config of controls; let i = index\">\n <div\n *ngIf=\"!config.hidden\"\n nz-col\n [nzSpan]=\"config.nzxSpan || 24 / lineNumber\"\n [hidden]=\"config.collapse\"\n [nzOrder]=\"i\"\n >\n <nzx-configurable-query-item\n *ngIf=\"config.controlName\"\n [form]=\"queryForm\"\n [control]=\"config\"\n ></nzx-configurable-query-item>\n </div>\n </ng-container>\n\n <div\n class=\"nzx-query-btn\"\n nz-col\n [nzOrder]=\"controls.length\"\n [nzSpan]=\"nzxBtnSpan || 24 / lineNumber\"\n >\n <div nz-row nzJustify=\"end\" nzAlign=\"middle\">\n <button\n nz-button\n nzType=\"primary\"\n type=\"button\"\n title=\"Enter\"\n (click)=\"search()\"\n >\n {{ locale['query'] }}\n </button>\n <button nz-button type=\"button\" title=\"ctrl+r\" (click)=\"reset()\">\n {{ locale['reset'] }}\n </button>\n <ng-content></ng-content>\n <a\n *ngIf=\"nzxCollapse\"\n nz-button\n nzType=\"link\"\n (click)=\"toggleCollapse()\"\n >\n {{ collapseText }}\n <i nz-icon [nzType]=\"collapseIcon\"></i>\n </a>\n </div>\n </div>\n </div>\n</form>\n","import { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\nimport { NzFormModule } from 'ng-zorro-antd/form';\nimport { NzGridModule } from 'ng-zorro-antd/grid';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\n\nimport { NzI18nModule } from 'ng-zorro-antd/i18n';\nimport { NzxConfigurableQueryItemComponent } from './configurable-query-item/configurable-query-item.component';\nimport { NzxConfigurableQueryComponent } from './configurable-query.component';\nimport { NzxControlDirective } from './control.directive';\nimport { NzxDatePickerControlComponent } from './controls/date-picker.control';\nimport { NzxInputControlComponent } from './controls/input.control';\nimport { NzxRangePickerControlComponent } from './controls/range-picker.control';\nimport { NzxSelectControlComponent } from './controls/select.control';\nimport { NzxTemplateControlComponent } from './controls/template.control';\nimport { NzxQueryConfigService, QUERY_CONFIG } from './query-config.service';\nimport { NzxQueryConfig } from './type';\n\n@NgModule({\n declarations: [\n NzxConfigurableQueryComponent,\n NzxControlDirective,\n NzxConfigurableQueryItemComponent,\n NzxInputControlComponent,\n NzxTemplateControlComponent,\n NzxSelectControlComponent,\n NzxDatePickerControlComponent,\n NzxRangePickerControlComponent,\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n\n NzInputModule,\n NzFormModule,\n NzGridModule,\n NzButtonModule,\n NzSelectModule,\n NzDatePickerModule,\n NzIconModule,\n NzI18nModule,\n ],\n\n exports: [NzxControlDirective, NzxConfigurableQueryComponent],\n})\nexport class NzxConfigurableQueryModule {\n static forRoot(\n nzxQueryConfig: NzxQueryConfig\n ): ModuleWithProviders<NzxConfigurableQueryModule> {\n return {\n ngModule: NzxConfigurableQueryModule,\n providers: [\n {\n provide: QUERY_CONFIG,\n useValue: nzxQueryConfig,\n },\n ],\n };\n }\n\n static forChild(\n nzxQueryConfig: NzxQueryConfig\n ): ModuleWithProviders<NzxConfigurableQueryModule> {\n return {\n ngModule: NzxConfigurableQueryModule,\n providers: [\n {\n provide: QUERY_CONFIG,\n useValue: nzxQueryConfig,\n },\n NzxQueryConfigService,\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3","i1.NzxQueryConfigService","i4","i5","i10.NzxConfigurableQueryItemComponent"],"mappings":"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"}
1
+ {"version":3,"file":"ng-zorro-antd-extension-configurable-query.mjs","sources":["../../../components/configurable-query/control.directive.ts","../../../components/configurable-query/controls/abstract.control.ts","../../../components/configurable-query/controls/date-picker.control.ts","../../../components/configurable-query/controls/input.control.ts","../../../components/configurable-query/controls/range-picker.control.ts","../../../components/configurable-query/controls/select.control.ts","../../../components/configurable-query/controls/template.control.ts","../../../components/configurable-query/query-config.service.ts","../../../components/configurable-query/configurable-query-item/configurable-query-item.component.ts","../../../components/configurable-query/configurable-query.component.ts","../../../components/configurable-query/configurable-query.component.html","../../../components/configurable-query/configurable-query.module.ts","../../../components/configurable-query/ng-zorro-antd-extension-configurable-query.ts"],"sourcesContent":["import { Directive, Input, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[nzxControl]',\r\n})\r\nexport class NzxControlDirective {\r\n @Input() nzxControl!: string;\r\n constructor(public templateRef: TemplateRef<unknown>) {}\r\n}\r\n","import { Directive, Input } from '@angular/core';\nimport { NzxQueryControlOptions } from '../type';\nimport { FormGroup } from '@angular/forms';\n\n/**\n * 用来动态添加control type类型控件,类型控件需要继承此控件\n */\n@Directive()\nexport abstract class NzxAbstractControl {\n @Input() form!: FormGroup<any>;\n @Input() control!: NzxQueryControlOptions;\n}\n","import { Component } from '@angular/core';\nimport { NzxAbstractControl } from './abstract.control';\n\n@Component({\n selector: 'nzx-date-picker-control',\n template: `\n <ng-container [formGroup]=\"form\">\n <nz-date-picker\n [ngStyle]=\"{ width: '100%' }\"\n [formControlName]=\"control.controlName!\"\n [nzPlaceHolder]=\"control.placeholder!\"\n >\n </nz-date-picker>\n </ng-container>\n `,\n})\nexport class NzxDatePickerControlComponent extends NzxAbstractControl {}\n","import { Component } from '@angular/core';\nimport { NzxAbstractControl } from './abstract.control';\n\n@Component({\n selector: 'nzx-input-control',\n template: `\n <ng-container [formGroup]=\"form\">\n <input\n nz-input\n type=\"text\"\n [placeholder]=\"control.placeholder\"\n [formControlName]=\"control.controlName!\"\n />\n </ng-container>\n `,\n})\nexport class NzxInputControlComponent extends NzxAbstractControl {}\n","import { Component } from '@angular/core';\nimport { NzxAbstractControl } from './abstract.control';\n\n@Component({\n selector: 'nzx-range-picker-control',\n template: `\n <ng-container [formGroup]=\"form\">\n <nz-range-picker\n [ngStyle]=\"{ width: '100%' }\"\n [formControlName]=\"control.controlName!\"\n >\n </nz-range-picker>\n </ng-container>\n `,\n})\nexport class NzxRangePickerControlComponent extends NzxAbstractControl {}\n","import { Component } from '@angular/core';\nimport { NzxAbstractControl } from './abstract.control';\n\n@Component({\n selector: 'nzx-select-control',\n template: `\n <ng-container [formGroup]=\"form\">\n <nz-select\n [formControlName]=\"control.controlName!\"\n [nzShowSearch]=\"control.nzxShowSearch ?? true\"\n [nzAllowClear]=\"control.nzxAllowClear ?? true\"\n [nzPlaceHolder]=\"control.placeholder!\"\n >\n <nz-option\n *ngFor=\"let item of control.menuList\"\n [nzValue]=\"item.value\"\n [nzLabel]=\"item.label\"\n >\n </nz-option>\n </nz-select>\n </ng-container>\n `,\n})\nexport class NzxSelectControlComponent extends NzxAbstractControl {}\n","import { Component } from '@angular/core';\nimport { NzxAbstractControl } from './abstract.control';\n\n@Component({\n selector: 'nzx-template-control',\n template: `\n <ng-container\n *ngTemplateOutlet=\"\n control.templateRef!;\n context: { $implicit: form.get(control.controlName!), formGroup: form }\n \"\n >\n </ng-container>\n `,\n})\nexport class NzxTemplateControlComponent extends NzxAbstractControl {}\n","import { Inject, InjectionToken, Optional } from '@angular/core';\nimport { NzxQueryConfig, NzxQueryControlType } from './type';\n\nexport const QUERY_CONFIG = new InjectionToken<NzxQueryControlType[]>(\n 'QUERY_CONFIG'\n);\n\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { NzxDatePickerControlComponent } from './controls/date-picker.control';\nimport { NzxInputControlComponent } from './controls/input.control';\nimport { NzxRangePickerControlComponent } from './controls/range-picker.control';\nimport { NzxSelectControlComponent } from './controls/select.control';\nimport { NzxTemplateControlComponent } from './controls/template.control';\n\n/**\n * 用来动态添加control type类型控件\n */\n@Injectable({ providedIn: 'root' })\nexport class NzxQueryConfigService {\n private controlTypePoll: NzxQueryControlType[] = [\n { key: 'input', component: NzxInputControlComponent },\n { key: 'select', component: NzxSelectControlComponent },\n { key: 'Template', component: NzxTemplateControlComponent },\n { key: 'datePicker', component: NzxDatePickerControlComponent },\n { key: 'rangePicker', component: NzxRangePickerControlComponent },\n ];\n\n controlTypes$ = new BehaviorSubject<NzxQueryControlType[]>(\n this.controlTypePoll\n );\n\n constructor(\n @Optional()\n @Inject(QUERY_CONFIG)\n nzxQueryConfig: NzxQueryConfig\n ) {\n if (nzxQueryConfig) {\n if (\n nzxQueryConfig.controlTypes &&\n nzxQueryConfig.controlTypes.length > 0\n ) {\n nzxQueryConfig.controlTypes.forEach((i) => {\n this.addControlType(i);\n });\n this.refreshControlType();\n }\n }\n }\n\n addControlType(controlType: NzxQueryControlType) {\n const find = this.controlTypePoll.some((i) => i.key === controlType.key);\n if (find) {\n throw `ControlType:: ${controlType.key} already exists !`;\n }\n this.controlTypePoll.push(controlType);\n }\n\n removeControlType(key: string) {\n const find = this.controlTypePoll.some((i) => i.key === key);\n if (find) {\n this.controlTypePoll = this.controlTypePoll.filter((i) => i.key !== key);\n } else {\n throw `ControlType:: ${key} not exists !`;\n }\n }\n\n refreshControlType() {\n this.controlTypes$.next(this.controlTypePoll);\n }\n}\n","import {\n Component,\n Input,\n OnDestroy,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\n\nimport { Subject, takeUntil } from 'rxjs';\nimport { NzxQueryConfigService } from '../query-config.service';\nimport { NzxQueryControlOptions, NzxQueryControlType } from '../type';\n\n@Component({\n selector: 'nzx-configurable-query-item',\n template: `\n <nz-form-item>\n <nz-form-label *ngIf=\"control.label\" [nzSpan]=\"control.nzxLSpan || 6\">\n {{ control.label }}\n </nz-form-label>\n <nz-form-control\n [nzSpan]=\"control.nzxRSpan || 18\"\n [nzValidateStatus]=\"\n control?.controlInstance ?? $any(form.get(control.controlName!))\n \"\n [nzErrorTip]=\"control.errorTip\"\n >\n <ng-template #controlTemp></ng-template>\n </nz-form-control>\n </nz-form-item>\n `,\n})\nexport class NzxConfigurableQueryItemComponent implements OnInit, OnDestroy {\n @Input() form!: FormGroup;\n @Input() control!: NzxQueryControlOptions;\n\n @ViewChild('controlTemp', { static: true, read: ViewContainerRef })\n private controlTemplateView!: ViewContainerRef;\n\n private destroy$ = new Subject<void>();\n\n constructor(private nzxQueryConfigService: NzxQueryConfigService) {}\n\n ngOnInit(): void {\n this.nzxQueryConfigService.controlTypes$\n .pipe(takeUntil(this.destroy$))\n .subscribe((list) => {\n this.renderControl(list);\n });\n }\n\n ngOnDestroy(): void {\n if (this.destroy$) {\n this.destroy$.next();\n this.destroy$.complete();\n }\n }\n\n private renderControl(list: NzxQueryControlType[]) {\n this.controlTemplateView.clear();\n const config = list.find((i) => i.key === this.control.controlType);\n if (config) {\n const componentRef = this.controlTemplateView.createComponent(\n config.component as any\n );\n componentRef.setInput('control', this.control);\n componentRef.setInput('form', this.form);\n } else {\n throw `ControlType:: '${this.control.controlType}' is invalidate`;\n }\n }\n}\n","import {\r\n AfterContentInit,\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChildren,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n QueryList,\r\n SimpleChanges,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { AbstractControl, FormBuilder, FormGroup } from '@angular/forms';\r\n\r\nimport { NzxQueryI18nInterface } from 'ng-zorro-antd-extension/i18n';\r\nimport { updateControlStatus } from 'ng-zorro-antd-extension/util';\r\nimport { NzJustify } from 'ng-zorro-antd/grid';\r\nimport { NzI18nService } from 'ng-zorro-antd/i18n';\r\nimport { Subject, fromEvent, takeUntil } from 'rxjs';\r\nimport { NzxControlDirective } from './control.directive';\r\nimport { NzxQueryControlOptions, NzxQueryParams } from './type';\r\n\r\n/**\r\n * 查询组件\r\n * 支持模板自定义,在使用模板自定义时,要注意controlType应该设置为Template并且确保controlName与指令上的nzxControl应该相同\r\n */\r\n\r\n@Component({\r\n selector: 'nzx-configurable-query',\r\n templateUrl: './configurable-query.component.html',\r\n styleUrls: ['./configurable-query.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n exportAs: 'NzxConfigurableQuery',\r\n})\r\nexport class NzxConfigurableQueryComponent\r\n implements OnChanges, OnInit, AfterViewInit, AfterContentInit, OnDestroy\r\n{\r\n /** 配置项 */\r\n @Input() controls: Array<NzxQueryControlOptions> = [];\r\n /** 查询表单排列方式 */\r\n @Input() nzxJustify: NzJustify = 'start';\r\n /** 查询项间隔 */\r\n @Input() nzxGutter: number = 8;\r\n /** 一行展示多少查询项 */\r\n @Input() lineNumber: number = 3;\r\n /** 操作按钮所占栅格数,24则换行 */\r\n @Input() nzxBtnSpan: number | null = null;\r\n /** 初始化时,主动查询 */\r\n @Input() initQuery = false;\r\n /** 缺省 固定参数 */\r\n @Input() fixedParams = {};\r\n\r\n /** 查询时会触发抛出查询参数 */\r\n @Output() queryChange = new EventEmitter<NzxQueryParams>();\r\n /** 重置时会触发抛出查询参数 */\r\n @Output() resetChange = new EventEmitter<NzxQueryParams>();\r\n\r\n /** 查询组件出参*/\r\n get queryParams() {\r\n return this._queryParams;\r\n }\r\n set queryParams(value: any) {\r\n this._queryParams = value;\r\n }\r\n\r\n get nzxCollapse() {\r\n return this.controls.some((i) => i.hasOwnProperty('collapse'));\r\n }\r\n\r\n /** form 表单*/\r\n queryForm!: FormGroup;\r\n locale!: NzxQueryI18nInterface;\r\n collapseIcon: string = 'down';\r\n collapseText: string = '';\r\n\r\n private _queryParams: NzxQueryParams = {};\r\n /** 重置时用来给查询框默认值 */\r\n private defaultValue: NzxQueryParams = {};\r\n private cacheParams: NzxQueryParams = {};\r\n private destroy$ = new Subject<void>();\r\n\r\n @ViewChild('queyForm') private queyFormEl!: ElementRef<HTMLFormElement>;\r\n @ContentChildren(NzxControlDirective, { descendants: true })\r\n controlTemplateList!: QueryList<NzxControlDirective>;\r\n\r\n constructor(\r\n private i18n: NzI18nService,\r\n private fb: FormBuilder,\r\n private cd: ChangeDetectorRef\r\n ) {\r\n this.queryForm = this.fb.group({});\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['controls'] && !changes['controls'].isFirstChange()) {\r\n const controls = changes['controls'].currentValue;\r\n if (Array.isArray(controls)) {\r\n this.generateForm(controls);\r\n }\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.i18n.localeChange.pipe(takeUntil(this.destroy$)).subscribe(() => {\r\n this.locale = this.i18n.getLocaleData('Query');\r\n this.cd.markForCheck();\r\n });\r\n\r\n this.queryForm.valueChanges\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((val) => {\r\n this._queryParams = {\r\n ...val,\r\n ...this.fixedParams,\r\n };\r\n });\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.queyFormEl) {\r\n fromEvent<KeyboardEvent>(this.queyFormEl.nativeElement, 'keydown')\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((event) => {\r\n if (event.key === 'Enter') {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n this.search();\r\n }\r\n // 检查是否同时按下了Ctrl键(在Windows/Linux上)和S键\r\n if ((event.ctrlKey || event.metaKey) && event.key === 'r') {\r\n // 注意:event.metaKey用于兼容Mac的Command键\r\n event.preventDefault(); // 阻止浏览器默认的保存行为\r\n event.stopPropagation();\r\n this.reset();\r\n }\r\n });\r\n }\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.generateForm(this.controls);\r\n\r\n if (this.initQuery) {\r\n this.search();\r\n }\r\n }\r\n\r\n /** 设置查询值进行回显 */\r\n setQueryParams(cacheParams: NzxQueryParams): void {\r\n this.cacheParams = cacheParams;\r\n this.queryForm.patchValue(cacheParams);\r\n }\r\n\r\n /**\r\n * 根据controlName设置config值\r\n * @param defaultValueResettable 添加的表单控件默认值是否可以重置,默认不可以\r\n */\r\n setControl(\r\n controlName: string,\r\n config: Partial<NzxQueryControlOptions>,\r\n defaultValueResettable = false\r\n ): void {\r\n const control = this.getControl(controlName);\r\n if (control) {\r\n Object.keys(config).forEach((key) => {\r\n (control as any)[key] = (config as any)[key];\r\n });\r\n this.generateControl(control, defaultValueResettable);\r\n this.cd.markForCheck();\r\n }\r\n }\r\n\r\n /**\r\n * 动态添加控件\r\n * @param config 配置项\r\n * @param position 添加位置 不传为末尾\r\n * @param defaultValueResettable 添加的表单控件默认值是否可以重置,默认不可以\r\n */\r\n addControl(\r\n config: NzxQueryControlOptions,\r\n position?: number | undefined,\r\n defaultValueResettable = false\r\n ): void {\r\n const control = this.getControl(config.controlName);\r\n if (!control) {\r\n this.generateControl(config, defaultValueResettable);\r\n\r\n if (position === void 0 || position === null) {\r\n this.controls.push(config);\r\n } else {\r\n this.controls.splice(position - 1, 0, config);\r\n }\r\n this.calculateText();\r\n } else {\r\n throw `The control name: '${config.controlName}' already exists!`;\r\n }\r\n }\r\n\r\n /**\r\n * 根据控件名删除控件\r\n */\r\n removeControl(controlName: string): void {\r\n const control = this.getControl(controlName);\r\n if (control) {\r\n this.queryForm.removeControl(controlName);\r\n this.controls = this.controls.filter(\r\n (c) => c.controlName !== controlName\r\n );\r\n this.calculateText();\r\n } else {\r\n throw `The control name: '${controlName}' not find!`;\r\n }\r\n }\r\n\r\n /**\r\n * 根据controlName获取config项\r\n */\r\n getControl(\r\n controlName: string | undefined\r\n ): NzxQueryControlOptions | undefined {\r\n return this.controls.find((config) => config.controlName === controlName);\r\n }\r\n\r\n /**\r\n * 检索给定控件名称或路径的子控件。\r\n * 这个 getFormControl 签名支持字符串和 const 数组(.getFormControl(['foo', 'bar'] as const))\r\n */\r\n getFormControl(\r\n path: string | readonly (string | number)[]\r\n ): AbstractControl<any, any> | null {\r\n return this.queryForm.get(path);\r\n }\r\n\r\n /** 查询 */\r\n search(): void {\r\n if (this.queryForm.invalid) {\r\n updateControlStatus(this.queryForm);\r\n return;\r\n }\r\n this.queryChange.emit(this._queryParams);\r\n }\r\n\r\n /** 重置 */\r\n reset(): void {\r\n this.queryForm.reset(this.defaultValue);\r\n this.resetChange.emit(this._queryParams);\r\n }\r\n\r\n /**展开、收起*/\r\n toggleCollapse(): void {\r\n for (let index = 0; index < this.controls.length; index++) {\r\n const config = this.controls[index];\r\n if (config.hasOwnProperty('collapse') && config.collapse === true) {\r\n (config.collapse as boolean) = false;\r\n } else if (\r\n config.hasOwnProperty('collapse') &&\r\n (config.collapse as boolean) === false\r\n ) {\r\n config.collapse = true;\r\n }\r\n }\r\n this.calculateText();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n\r\n private calculateText() {\r\n if (this.controls.some((i) => i.collapse === true)) {\r\n this.collapseIcon = 'down';\r\n this.collapseText = this.locale.expand;\r\n } else {\r\n this.collapseIcon = 'up';\r\n this.collapseText = this.locale.collapse;\r\n }\r\n this.cd.markForCheck();\r\n }\r\n\r\n /** 清空表单控件 */\r\n private clearFormControl(): void {\r\n Object.keys(this.queryForm.controls).forEach((key) => {\r\n this.queryForm.removeControl(key);\r\n });\r\n }\r\n\r\n /** 生成 queryForm 表单 */\r\n private generateForm(controlConfigs: Array<NzxQueryControlOptions>): void {\r\n this.clearFormControl();\r\n\r\n for (const config of controlConfigs) {\r\n this.generateControl(config);\r\n }\r\n this.defaultValue = this.queryForm.getRawValue();\r\n\r\n if (this.cacheParams) {\r\n // 缓存回显查询条件\r\n this.queryForm.patchValue(this.cacheParams);\r\n }\r\n\r\n this.calculateText();\r\n }\r\n\r\n /**\r\n *\r\n * @param controlConfig control配置\r\n * @param defaultValueResettable 添加的表单控件默认值是否可以重置,默认不可以\r\n *\r\n * 1. 生成单个表单控件并将其添加到queryForm中\r\n * 2. 如果没有templateRef根据controlName获取投影的templateList中的templateRef给 templateRef 赋值\r\n *\r\n **/\r\n private generateControl(\r\n config: NzxQueryControlOptions,\r\n defaultValueResettable = false\r\n ) {\r\n if (config.controlName) {\r\n if (!config?.templateRef) {\r\n const d = this.controlTemplateList.find(\r\n (d) => d.nzxControl === config.controlName\r\n );\r\n if (d) {\r\n config.templateRef = d.templateRef;\r\n }\r\n }\r\n\r\n this.queryForm.setControl(\r\n config.controlName,\r\n config.controlInstance ?? this.fb.control(config.default ?? null)\r\n );\r\n\r\n if (!defaultValueResettable) {\r\n const control = this.queryForm.get(config.controlName);\r\n this.defaultValue = {\r\n ...this.defaultValue,\r\n [config.controlName]: control.value,\r\n };\r\n }\r\n }\r\n }\r\n}\r\n","<form #queyForm class=\"nzx-query-container\" nz-form [formGroup]=\"queryForm\">\n <div nz-row [nzGutter]=\"nzxGutter\" [nzJustify]=\"nzxJustify\">\n <ng-container *ngFor=\"let config of controls; let i = index\">\n <div\n *ngIf=\"!config.hidden\"\n nz-col\n [nzSpan]=\"config.nzxSpan || 24 / lineNumber\"\n [hidden]=\"config.collapse\"\n [nzOrder]=\"i\"\n >\n <nzx-configurable-query-item\n *ngIf=\"config.controlName\"\n [form]=\"queryForm\"\n [control]=\"config\"\n ></nzx-configurable-query-item>\n </div>\n </ng-container>\n\n <div\n [nzOrder]=\"controls.length\"\n class=\"nzx-query-btn\"\n nz-col\n [nzSpan]=\"nzxBtnSpan || 24 / lineNumber\"\n >\n <div nz-row nzJustify=\"end\" nzAlign=\"middle\">\n <button\n nz-button\n nzType=\"primary\"\n type=\"button\"\n title=\"Enter\"\n (click)=\"search()\"\n >\n {{ locale['query'] }}\n </button>\n <button nz-button type=\"button\" title=\"ctrl+r\" (click)=\"reset()\">\n {{ locale['reset'] }}\n </button>\n <ng-content></ng-content>\n <a\n *ngIf=\"nzxCollapse\"\n nz-button\n nzType=\"link\"\n (click)=\"toggleCollapse()\"\n >\n {{ collapseText }}\n <i nz-icon [nzType]=\"collapseIcon\"></i>\n </a>\n </div>\n </div>\n </div>\n</form>\n","import { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\nimport { NzFormModule } from 'ng-zorro-antd/form';\nimport { NzGridModule } from 'ng-zorro-antd/grid';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\n\nimport { NzI18nModule } from 'ng-zorro-antd/i18n';\nimport { NzxConfigurableQueryItemComponent } from './configurable-query-item/configurable-query-item.component';\nimport { NzxConfigurableQueryComponent } from './configurable-query.component';\nimport { NzxControlDirective } from './control.directive';\nimport { NzxDatePickerControlComponent } from './controls/date-picker.control';\nimport { NzxInputControlComponent } from './controls/input.control';\nimport { NzxRangePickerControlComponent } from './controls/range-picker.control';\nimport { NzxSelectControlComponent } from './controls/select.control';\nimport { NzxTemplateControlComponent } from './controls/template.control';\nimport { NzxQueryConfigService, QUERY_CONFIG } from './query-config.service';\nimport { NzxQueryConfig } from './type';\n\n@NgModule({\n declarations: [\n NzxConfigurableQueryComponent,\n NzxControlDirective,\n NzxConfigurableQueryItemComponent,\n NzxInputControlComponent,\n NzxTemplateControlComponent,\n NzxSelectControlComponent,\n NzxDatePickerControlComponent,\n NzxRangePickerControlComponent,\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n\n NzInputModule,\n NzFormModule,\n NzGridModule,\n NzButtonModule,\n NzSelectModule,\n NzDatePickerModule,\n NzIconModule,\n NzI18nModule,\n ],\n\n exports: [NzxControlDirective, NzxConfigurableQueryComponent],\n})\nexport class NzxConfigurableQueryModule {\n static forRoot(\n nzxQueryConfig: NzxQueryConfig\n ): ModuleWithProviders<NzxConfigurableQueryModule> {\n return {\n ngModule: NzxConfigurableQueryModule,\n providers: [\n {\n provide: QUERY_CONFIG,\n useValue: nzxQueryConfig,\n },\n ],\n };\n }\n\n static forChild(\n nzxQueryConfig: NzxQueryConfig\n ): ModuleWithProviders<NzxConfigurableQueryModule> {\n return {\n ngModule: NzxConfigurableQueryModule,\n providers: [\n {\n provide: QUERY_CONFIG,\n useValue: nzxQueryConfig,\n },\n NzxQueryConfigService,\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3","i1.NzxQueryConfigService","i4","i5","i10.NzxConfigurableQueryItemComponent"],"mappings":"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"}
@@ -29,10 +29,10 @@ class NzxConfigService {
29
29
  this.config[componentName] = { ...this.config[componentName], ...value };
30
30
  this.configUpdated$.next(componentName);
31
31
  }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NzxConfigService, deps: [{ token: NZX_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
33
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NzxConfigService, providedIn: 'root' }); }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NzxConfigService, deps: [{ token: NZX_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
33
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NzxConfigService, providedIn: 'root' }); }
34
34
  }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NzxConfigService, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NzxConfigService, decorators: [{
36
36
  type: Injectable,
37
37
  args: [{
38
38
  providedIn: 'root',
@@ -1 +1 @@
1
- {"version":3,"file":"ng-zorro-antd-extension-core-config.mjs","sources":["../../../components/core/config/config.ts","../../../components/core/config/config.service.ts","../../../components/core/config/ng-zorro-antd-extension-core-config.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport interface NzxConfig {\n nzxSafeNull?: SafeNull;\n nzxSafeUrl?: SafeUrl;\n nzxTrim?: Trim;\n nzxTableAdaptor?: TableAdaptor;\n nzxTimerButton?: TimerButton;\n}\n\nexport interface SafeNull {\n placeholder?: any;\n}\nexport interface SafeUrl {\n protocol: 'http' | 'https';\n}\nexport interface Trim {\n trimType: 'trim' | 'trimStart' | 'trimEnd';\n}\nexport interface TableAdaptor {\n enableCache: boolean;\n dateFormat: string;\n customFormateOutFn: (queryParams: any) => any;\n}\nexport interface TimerButton {\n duration: number;\n}\n\nexport type NzxConfigKey = keyof NzxConfig;\n\n/**\n * User should provide an object implements this interface to set global configurations.\n */\nexport const NZX_CONFIG = new InjectionToken<NzxConfig>('nzx-config');\n","import { Inject, Injectable, Optional } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { filter, mapTo } from 'rxjs/operators';\n\nimport { NzxConfig, NzxConfigKey, NZX_CONFIG } from './config';\n\nconst isDefined = function (value?: any): boolean {\n return value !== void 0;\n};\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NzxConfigService {\n private configUpdated$ = new Subject<keyof NzxConfig>();\n\n /** Global config holding property. */\n private readonly config: NzxConfig;\n\n constructor(@Optional() @Inject(NZX_CONFIG) defaultConfig?: NzxConfig) {\n this.config = defaultConfig || {};\n }\n\n getConfig(): NzxConfig {\n return this.config;\n }\n\n getConfigForComponent<T extends NzxConfigKey>(\n componentName: T\n ): NzxConfig[T] {\n return this.config[componentName];\n }\n\n getConfigChangeEventForComponent(\n componentName: NzxConfigKey\n ): Observable<void> {\n return this.configUpdated$.pipe(\n filter((n) => n === componentName),\n mapTo(undefined)\n );\n }\n\n set<T extends NzxConfigKey>(componentName: T, value: NzxConfig[T]): void {\n this.config[componentName] = { ...this.config[componentName], ...value };\n this.configUpdated$.next(componentName);\n }\n}\n\n/**\n * This decorator is used to decorate properties. If a property is decorated, it would try to load default value from\n * config.\n */\n\nexport function ExtensionWithConfig<T>() {\n return function ConfigDecorator(\n target: any,\n propName: any,\n originalDescriptor?: TypedPropertyDescriptor<T>\n ): any {\n const privatePropName = `$$__zorroExtensionConfigDecorator__${propName}`;\n\n Object.defineProperty(target, privatePropName, {\n configurable: true,\n writable: true,\n enumerable: false,\n });\n\n return {\n get(): T | undefined {\n const originalValue = originalDescriptor?.get\n ? originalDescriptor.get.bind(this)()\n : this[privatePropName];\n const assignedByUser =\n (this.propertyAssignCounter?.[propName] || 0) > 1;\n const configValue = this.nzxConfigService.getConfigForComponent(\n this._nzModuleName\n )?.[propName];\n if (assignedByUser && isDefined(originalValue)) {\n return originalValue;\n } else {\n return isDefined(configValue) ? configValue : originalValue;\n }\n },\n set(value?: T): void {\n // If the value is assigned, we consider the newly assigned value as 'assigned by user'.\n this.propertyAssignCounter = this.propertyAssignCounter || {};\n this.propertyAssignCounter[propName] =\n (this.propertyAssignCounter[propName] || 0) + 1;\n\n if (originalDescriptor?.set) {\n originalDescriptor.set.bind(this)(value!);\n } else {\n this[privatePropName] = value;\n }\n },\n configurable: true,\n enumerable: true,\n };\n };\n}\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":"ng-zorro-antd-extension-core-config.mjs","sources":["../../../components/core/config/config.ts","../../../components/core/config/config.service.ts","../../../components/core/config/ng-zorro-antd-extension-core-config.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport interface NzxConfig {\n nzxSafeNull?: SafeNull;\n nzxSafeUrl?: SafeUrl;\n nzxTrim?: Trim;\n nzxTableAdaptor?: TableAdaptor;\n nzxTimerButton?: TimerButton;\n}\n\nexport interface SafeNull {\n placeholder?: any;\n}\nexport interface SafeUrl {\n protocol: 'http' | 'https';\n}\nexport interface Trim {\n trimType: 'trim' | 'trimStart' | 'trimEnd';\n}\nexport interface TableAdaptor {\n enableCache: boolean;\n dateFormat: string;\n customFormateOutFn: (queryParams: any) => any;\n}\nexport interface TimerButton {\n duration: number;\n}\n\nexport type NzxConfigKey = keyof NzxConfig;\n\n/**\n * User should provide an object implements this interface to set global configurations.\n */\nexport const NZX_CONFIG = new InjectionToken<NzxConfig>('nzx-config');\n","import { Inject, Injectable, Optional } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { filter, mapTo } from 'rxjs/operators';\n\nimport { NzxConfig, NzxConfigKey, NZX_CONFIG } from './config';\n\nconst isDefined = function (value?: any): boolean {\n return value !== void 0;\n};\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NzxConfigService {\n private configUpdated$ = new Subject<keyof NzxConfig>();\n\n /** Global config holding property. */\n private readonly config: NzxConfig;\n\n constructor(@Optional() @Inject(NZX_CONFIG) defaultConfig?: NzxConfig) {\n this.config = defaultConfig || {};\n }\n\n getConfig(): NzxConfig {\n return this.config;\n }\n\n getConfigForComponent<T extends NzxConfigKey>(\n componentName: T\n ): NzxConfig[T] {\n return this.config[componentName];\n }\n\n getConfigChangeEventForComponent(\n componentName: NzxConfigKey\n ): Observable<void> {\n return this.configUpdated$.pipe(\n filter((n) => n === componentName),\n mapTo(undefined)\n );\n }\n\n set<T extends NzxConfigKey>(componentName: T, value: NzxConfig[T]): void {\n this.config[componentName] = { ...this.config[componentName], ...value };\n this.configUpdated$.next(componentName);\n }\n}\n\n/**\n * This decorator is used to decorate properties. If a property is decorated, it would try to load default value from\n * config.\n */\n\nexport function ExtensionWithConfig<T>() {\n return function ConfigDecorator(\n target: any,\n propName: any,\n originalDescriptor?: TypedPropertyDescriptor<T>\n ): any {\n const privatePropName = `$$__zorroExtensionConfigDecorator__${propName}`;\n\n Object.defineProperty(target, privatePropName, {\n configurable: true,\n writable: true,\n enumerable: false,\n });\n\n return {\n get(): T | undefined {\n const originalValue = originalDescriptor?.get\n ? originalDescriptor.get.bind(this)()\n : this[privatePropName];\n const assignedByUser =\n (this.propertyAssignCounter?.[propName] || 0) > 1;\n const configValue = this.nzxConfigService.getConfigForComponent(\n this._nzModuleName\n )?.[propName];\n if (assignedByUser && isDefined(originalValue)) {\n return originalValue;\n } else {\n return isDefined(configValue) ? configValue : originalValue;\n }\n },\n set(value?: T): void {\n // If the value is assigned, we consider the newly assigned value as 'assigned by user'.\n this.propertyAssignCounter = this.propertyAssignCounter || {};\n this.propertyAssignCounter[propName] =\n (this.propertyAssignCounter[propName] || 0) + 1;\n\n if (originalDescriptor?.set) {\n originalDescriptor.set.bind(this)(value!);\n } else {\n this[privatePropName] = value;\n }\n },\n configurable: true,\n enumerable: true,\n };\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -63,8 +63,8 @@ class NzxEditableComponent {
63
63
  }
64
64
  this.nzxContentChange.emit(result);
65
65
  }
66
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NzxEditableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
67
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: NzxEditableComponent, selector: "[nzx-editable]", inputs: { nzxContent: "nzxContent", nzxShowBtn: "nzxShowBtn", nzxContentType: "nzxContentType" }, outputs: { nzxContentChange: "nzxContentChange" }, host: { listeners: { "dblclick": "dblclick()" }, properties: { "class": "this.class" } }, viewQueries: [{ propertyName: "detailTemplateRef", first: true, predicate: ["detailTemplate"], descendants: true, static: true }, { propertyName: "editTemplateRef", first: true, predicate: ["editTemplate"], descendants: true, static: true }, { propertyName: "detailContainerRef", first: true, predicate: ["detailContainer"], descendants: true, read: ViewContainerRef, static: true }], exportAs: ["NzxEditable"], ngImport: i0, template: `
66
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NzxEditableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
67
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NzxEditableComponent, selector: "[nzx-editable]", inputs: { nzxContent: "nzxContent", nzxShowBtn: "nzxShowBtn", nzxContentType: "nzxContentType" }, outputs: { nzxContentChange: "nzxContentChange" }, host: { listeners: { "dblclick": "dblclick()" }, properties: { "class": "this.class" } }, viewQueries: [{ propertyName: "detailTemplateRef", first: true, predicate: ["detailTemplate"], descendants: true, static: true }, { propertyName: "editTemplateRef", first: true, predicate: ["editTemplate"], descendants: true, static: true }, { propertyName: "detailContainerRef", first: true, predicate: ["detailContainer"], descendants: true, read: ViewContainerRef, static: true }], exportAs: ["NzxEditable"], ngImport: i0, template: `
68
68
  <ng-container #detailContainer> </ng-container>
69
69
 
70
70
  <ng-template #detailTemplate>
@@ -91,7 +91,7 @@ class NzxEditableComponent {
91
91
  </ng-template>
92
92
  `, isInline: true, styles: [".nzx-editable-cell{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "directive", type: i4.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStepperless", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "directive", type: i4.NzAutosizeDirective, selector: "textarea[nzAutosize]", inputs: ["nzAutosize"], exportAs: ["nzAutosize"] }, { kind: "directive", type: i5.NzTransButtonDirective, selector: "button[nz-trans-button]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
93
93
  }
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NzxEditableComponent, decorators: [{
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NzxEditableComponent, decorators: [{
95
95
  type: Component,
96
96
  args: [{ selector: '[nzx-editable]', template: `
97
97
  <ng-container #detailContainer> </ng-container>
@@ -145,19 +145,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
145
145
  }] } });
146
146
 
147
147
  class NzxEditableModule {
148
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NzxEditableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
149
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.3", ngImport: i0, type: NzxEditableModule, declarations: [NzxEditableComponent], imports: [CommonModule,
148
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NzxEditableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
149
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: NzxEditableModule, declarations: [NzxEditableComponent], imports: [CommonModule,
150
150
  FormsModule,
151
151
  NzIconModule,
152
152
  NzInputModule,
153
153
  NzTransButtonModule], exports: [NzxEditableComponent] }); }
154
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NzxEditableModule, imports: [CommonModule,
154
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NzxEditableModule, imports: [CommonModule,
155
155
  FormsModule,
156
156
  NzIconModule,
157
157
  NzInputModule,
158
158
  NzTransButtonModule] }); }
159
159
  }
160
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NzxEditableModule, decorators: [{
160
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NzxEditableModule, decorators: [{
161
161
  type: NgModule,
162
162
  args: [{
163
163
  declarations: [NzxEditableComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"ng-zorro-antd-extension-editable.mjs","sources":["../../../components/editable/editable.component.ts","../../../components/editable/editable.module.ts","../../../components/editable/ng-zorro-antd-extension-editable.ts"],"sourcesContent":["/* eslint-disable @angular-eslint/directive-class-suffix */\n/* eslint-disable @angular-eslint/directive-selector */\n/* eslint-disable @angular-eslint/component-selector */\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnInit,\n Output,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n isNumber,\n isString,\n toNumber,\n toString,\n} from 'ng-zorro-antd-extension/util';\n\n@Component({\n selector: '[nzx-editable]',\n template: `\n <ng-container #detailContainer> </ng-container>\n\n <ng-template #detailTemplate>\n {{ nzxContent }}\n <button\n *ngIf=\"nzxShowBtn\"\n class=\"ant-typography-edit\"\n type=\"button\"\n nz-trans-button\n (click)=\"edit()\"\n >\n <span nz-icon nzType=\"edit\" nzTheme=\"outline\"></span>\n </button>\n </ng-template>\n\n <ng-template #editTemplate>\n <textarea\n nz-input\n [nzAutosize]=\"{ minRows: 1, maxRows: 4 }\"\n [ngModel]=\"nzxContent\"\n (ngModelChange)=\"valueChange($event)\"\n (blur)=\"blur()\"\n ></textarea>\n </ng-template>\n `,\n styles: [\n `\n .nzx-editable-cell {\n cursor: pointer;\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'NzxEditable',\n})\nexport class NzxEditableComponent implements OnInit {\n @Input() nzxContent: string | number | null = '';\n @Input() nzxShowBtn = true;\n @Input() nzxContentType: 'string' | 'number' | undefined;\n\n @Output() nzxContentChange = new EventEmitter();\n\n @HostBinding('class') class = 'nzx-editable-cell';\n\n @ViewChild('detailTemplate', { static: true })\n private detailTemplateRef!: TemplateRef<any>;\n\n @ViewChild('editTemplate', { static: true })\n private editTemplateRef!: TemplateRef<any>;\n\n @ViewChild('detailContainer', { static: true, read: ViewContainerRef })\n private detailContainerRef!: ViewContainerRef;\n private _valueType: 'string' | 'number' = 'string';\n\n @HostListener('dblclick')\n dblclick() {\n this.edit();\n }\n\n ngOnInit(): void {\n if (this.nzxContentType) {\n this._valueType = this.nzxContentType;\n } else {\n if (isString(this.nzxContent)) {\n this._valueType = 'string';\n }\n if (isNumber(this.nzxContent)) {\n this._valueType = 'number';\n }\n }\n\n this.detailContainerRef.clear();\n const view = this.detailContainerRef.createEmbeddedView(\n this.detailTemplateRef\n );\n view.markForCheck();\n }\n\n edit() {\n this.detailContainerRef.clear();\n const view = this.detailContainerRef.createEmbeddedView(\n this.editTemplateRef\n );\n view.markForCheck();\n (view.rootNodes[0] as HTMLTextAreaElement).focus();\n }\n\n blur() {\n this.detailContainerRef.clear();\n const view = this.detailContainerRef.createEmbeddedView(\n this.detailTemplateRef\n );\n view.markForCheck();\n }\n\n valueChange(value: any) {\n let result = value;\n if (this._valueType === 'number') {\n result = toNumber(value);\n } else {\n result = toString(value);\n }\n this.nzxContentChange.emit(result);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NzTransButtonModule } from 'ng-zorro-antd/core/trans-button';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzxEditableComponent } from './editable.component';\n@NgModule({\n declarations: [NzxEditableComponent],\n imports: [\n CommonModule,\n FormsModule,\n NzIconModule,\n NzInputModule,\n NzTransButtonModule,\n ],\n exports: [NzxEditableComponent],\n})\nexport class NzxEditableModule {}\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":"ng-zorro-antd-extension-editable.mjs","sources":["../../../components/editable/editable.component.ts","../../../components/editable/editable.module.ts","../../../components/editable/ng-zorro-antd-extension-editable.ts"],"sourcesContent":["/* eslint-disable @angular-eslint/directive-class-suffix */\n/* eslint-disable @angular-eslint/directive-selector */\n/* eslint-disable @angular-eslint/component-selector */\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnInit,\n Output,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n isNumber,\n isString,\n toNumber,\n toString,\n} from 'ng-zorro-antd-extension/util';\n\n@Component({\n selector: '[nzx-editable]',\n template: `\n <ng-container #detailContainer> </ng-container>\n\n <ng-template #detailTemplate>\n {{ nzxContent }}\n <button\n *ngIf=\"nzxShowBtn\"\n class=\"ant-typography-edit\"\n type=\"button\"\n nz-trans-button\n (click)=\"edit()\"\n >\n <span nz-icon nzType=\"edit\" nzTheme=\"outline\"></span>\n </button>\n </ng-template>\n\n <ng-template #editTemplate>\n <textarea\n nz-input\n [nzAutosize]=\"{ minRows: 1, maxRows: 4 }\"\n [ngModel]=\"nzxContent\"\n (ngModelChange)=\"valueChange($event)\"\n (blur)=\"blur()\"\n ></textarea>\n </ng-template>\n `,\n styles: [\n `\n .nzx-editable-cell {\n cursor: pointer;\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'NzxEditable',\n})\nexport class NzxEditableComponent implements OnInit {\n @Input() nzxContent: string | number | null = '';\n @Input() nzxShowBtn = true;\n @Input() nzxContentType: 'string' | 'number' | undefined;\n\n @Output() nzxContentChange = new EventEmitter();\n\n @HostBinding('class') class = 'nzx-editable-cell';\n\n @ViewChild('detailTemplate', { static: true })\n private detailTemplateRef!: TemplateRef<any>;\n\n @ViewChild('editTemplate', { static: true })\n private editTemplateRef!: TemplateRef<any>;\n\n @ViewChild('detailContainer', { static: true, read: ViewContainerRef })\n private detailContainerRef!: ViewContainerRef;\n private _valueType: 'string' | 'number' = 'string';\n\n @HostListener('dblclick')\n dblclick() {\n this.edit();\n }\n\n ngOnInit(): void {\n if (this.nzxContentType) {\n this._valueType = this.nzxContentType;\n } else {\n if (isString(this.nzxContent)) {\n this._valueType = 'string';\n }\n if (isNumber(this.nzxContent)) {\n this._valueType = 'number';\n }\n }\n\n this.detailContainerRef.clear();\n const view = this.detailContainerRef.createEmbeddedView(\n this.detailTemplateRef\n );\n view.markForCheck();\n }\n\n edit() {\n this.detailContainerRef.clear();\n const view = this.detailContainerRef.createEmbeddedView(\n this.editTemplateRef\n );\n view.markForCheck();\n (view.rootNodes[0] as HTMLTextAreaElement).focus();\n }\n\n blur() {\n this.detailContainerRef.clear();\n const view = this.detailContainerRef.createEmbeddedView(\n this.detailTemplateRef\n );\n view.markForCheck();\n }\n\n valueChange(value: any) {\n let result = value;\n if (this._valueType === 'number') {\n result = toNumber(value);\n } else {\n result = toString(value);\n }\n this.nzxContentChange.emit(result);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NzTransButtonModule } from 'ng-zorro-antd/core/trans-button';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzxEditableComponent } from './editable.component';\n@NgModule({\n declarations: [NzxEditableComponent],\n imports: [\n CommonModule,\n FormsModule,\n NzIconModule,\n NzInputModule,\n NzTransButtonModule,\n ],\n exports: [NzxEditableComponent],\n})\nexport class NzxEditableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -219,10 +219,10 @@ class NzxJigsawComponent {
219
219
  ctx.globalCompositeOperation = 'destination-over';
220
220
  operation === 'fill' ? ctx.fill() : ctx.clip();
221
221
  }
222
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NzxJigsawComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
223
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: NzxJigsawComponent, selector: "nzx-jigsaw", inputs: { width: "width", height: "height", nzxLoadingText: "nzxLoadingText", nzxTipText: "nzxTipText", nzxBgImgUrl: "nzxBgImgUrl" }, outputs: { nzxOnRefresh: "nzxOnRefresh", nzxOnSuccess: "nzxOnSuccess", nzxOnFail: "nzxOnFail" }, viewQueries: [{ propertyName: "canvasRef", first: true, predicate: ["canvasCtx"], descendants: true }, { propertyName: "blockRef", first: true, predicate: ["blockCtx"], descendants: true }, { propertyName: "sliderContainerRef", first: true, predicate: ["sliderContainer"], descendants: true }, { propertyName: "sliderRef", first: true, predicate: ["slider"], descendants: true }, { propertyName: "sliderMaskRef", first: true, predicate: ["sliderMask"], descendants: true }], ngImport: i0, template: "<div\r\n class=\"nzx-jigsaw-container\"\r\n [ngStyle]=\"{\r\n width: width + 'px'\r\n }\"\r\n (selectstart)=\"selectstart()\"\r\n>\r\n <div\r\n class=\"nzx-jigsaw-loading-container\"\r\n [ngStyle]=\"{\r\n display: isLoading ? '' : 'none',\r\n width: width + 'px',\r\n height: height + 'px'\r\n }\"\r\n >\r\n <span class=\"nzx-jigsaw-loading-icon\" nz-icon [nzType]=\"'loading'\"></span>\r\n <span>{{ nzxLoadingText }}</span>\r\n </div>\r\n\r\n <canvas #canvasCtx [width]=\"width\" [height]=\"height\"></canvas>\r\n\r\n <span\r\n class=\"nzx-jigsaw-refresh-icon\"\r\n nz-icon\r\n nzType=\"redo\"\r\n nzTheme=\"outline\"\r\n [nzRotate]=\"-80\"\r\n (click)=\"refresh()\"\r\n ></span>\r\n\r\n <canvas\r\n #blockCtx\r\n class=\"nzx-jigsaw-block\"\r\n [width]=\"width\"\r\n [height]=\"height\"\r\n (touchstart)=\"handleDragStart($event)\"\r\n (mousedown)=\"handleDragStart($event)\"\r\n ></canvas>\r\n\r\n <div\r\n #sliderContainer\r\n class=\"nzx-jigsaw-slider-container\"\r\n [ngStyle]=\"{\r\n width: width + 'px',\r\n 'pointer-events': isLoading ? 'none' : ''\r\n }\"\r\n >\r\n <div #sliderMask class=\"nzx-jigsaw-slider-mask\">\r\n <div\r\n #slider\r\n class=\"nzx-jigsaw-slider\"\r\n (touchstart)=\"handleDragStart($event)\"\r\n (mousedown)=\"handleDragStart($event)\"\r\n >\r\n <span nz-icon nzType=\"arrow-right\" nzTheme=\"outline\"></span>\r\n </div>\r\n </div>\r\n <span class=\"nzx-jigsaw-slider-text\">{{ nzxTipText }}</span>\r\n </div>\r\n</div>\r\n", styles: [".nzx-jigsaw-container{position:relative}.nzx-jigsaw-block{position:absolute;left:0;top:0;cursor:pointer;cursor:grab}.nzx-jigsaw-block:active{cursor:grabbing}.nzx-jigsaw-slider-container{position:relative;text-align:center;line-height:40px;height:40px;background:#f7f9fa;color:#45494c;border:1px solid #e4e7eb}.nzx-jigsaw-slider-container-active .nzx-jigsaw-slider{top:-1px;border:1px solid #1991fa}.nzx-jigsaw-slider-container-active .nzx-jigsaw-slider-mask{border-width:1px}.nzx-jigsaw-slider-container-success .nzx-jigsaw-slider{top:-1px;border:1px solid #52ccba;background-color:#52ccba!important}.nzx-jigsaw-slider-container-success .nzx-jigsaw-slider-mask{border:1px solid #52ccba;background-color:#d2f4ef}.nzx-jigsaw-slider-container-fail .nzx-jigsaw-slider{top:-1px;border:1px solid #f57a7a;background-color:#f57a7a!important}.nzx-jigsaw-slider-container-fail .nzx-jigsaw-slider-mask{border:1px solid #f57a7a;background-color:#fce1e1}.nzx-jigsaw-slider-container-active .nzx-jigsaw-slider-text,.nzx-jigsaw-slider-container-success .nzx-jigsaw-slider-text,.nzx-jigsaw-slider-container-fail .nzx-jigsaw-slider-text{display:none}.nzx-jigsaw-slider-mask{position:absolute;left:0;top:0;height:40px;border:0 solid #1991fa;background:#d1e9fe}.nzx-jigsaw-slider{position:absolute;top:0;left:0;width:40px;height:40px;background:#fff;box-shadow:0 0 3px #0000004d;transition:background .2s linear;cursor:pointer;cursor:grab}.nzx-jigsaw-slider:active{cursor:grabbing}.nzx-jigsaw-slider:hover{background:#1991fa}.nzx-jigsaw-refresh-icon{position:absolute;right:5px;top:5px;font-size:24px;cursor:pointer;color:#fff}.nzx-jigsaw-loading-container{position:absolute;left:0;top:0;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:14px;color:#45494c;z-index:2;background:#edf0f2}.nzx-jigsaw-loading-icon{font-size:32px;margin-bottom:10px}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
222
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NzxJigsawComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
223
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NzxJigsawComponent, selector: "nzx-jigsaw", inputs: { width: "width", height: "height", nzxLoadingText: "nzxLoadingText", nzxTipText: "nzxTipText", nzxBgImgUrl: "nzxBgImgUrl" }, outputs: { nzxOnRefresh: "nzxOnRefresh", nzxOnSuccess: "nzxOnSuccess", nzxOnFail: "nzxOnFail" }, viewQueries: [{ propertyName: "canvasRef", first: true, predicate: ["canvasCtx"], descendants: true }, { propertyName: "blockRef", first: true, predicate: ["blockCtx"], descendants: true }, { propertyName: "sliderContainerRef", first: true, predicate: ["sliderContainer"], descendants: true }, { propertyName: "sliderRef", first: true, predicate: ["slider"], descendants: true }, { propertyName: "sliderMaskRef", first: true, predicate: ["sliderMask"], descendants: true }], ngImport: i0, template: "<div\r\n class=\"nzx-jigsaw-container\"\r\n [ngStyle]=\"{\r\n width: width + 'px'\r\n }\"\r\n (selectstart)=\"selectstart()\"\r\n>\r\n <div\r\n class=\"nzx-jigsaw-loading-container\"\r\n [ngStyle]=\"{\r\n display: isLoading ? '' : 'none',\r\n width: width + 'px',\r\n height: height + 'px'\r\n }\"\r\n >\r\n <span class=\"nzx-jigsaw-loading-icon\" nz-icon [nzType]=\"'loading'\"></span>\r\n <span>{{ nzxLoadingText }}</span>\r\n </div>\r\n\r\n <canvas #canvasCtx [width]=\"width\" [height]=\"height\"></canvas>\r\n\r\n <span\r\n class=\"nzx-jigsaw-refresh-icon\"\r\n nz-icon\r\n nzType=\"redo\"\r\n nzTheme=\"outline\"\r\n [nzRotate]=\"-80\"\r\n (click)=\"refresh()\"\r\n ></span>\r\n\r\n <canvas\r\n #blockCtx\r\n class=\"nzx-jigsaw-block\"\r\n [width]=\"width\"\r\n [height]=\"height\"\r\n (touchstart)=\"handleDragStart($event)\"\r\n (mousedown)=\"handleDragStart($event)\"\r\n ></canvas>\r\n\r\n <div\r\n #sliderContainer\r\n class=\"nzx-jigsaw-slider-container\"\r\n [ngStyle]=\"{\r\n width: width + 'px',\r\n 'pointer-events': isLoading ? 'none' : ''\r\n }\"\r\n >\r\n <div #sliderMask class=\"nzx-jigsaw-slider-mask\">\r\n <div\r\n #slider\r\n class=\"nzx-jigsaw-slider\"\r\n (touchstart)=\"handleDragStart($event)\"\r\n (mousedown)=\"handleDragStart($event)\"\r\n >\r\n <span nz-icon nzType=\"arrow-right\" nzTheme=\"outline\"></span>\r\n </div>\r\n </div>\r\n <span class=\"nzx-jigsaw-slider-text\">{{ nzxTipText }}</span>\r\n </div>\r\n</div>\r\n", styles: [".nzx-jigsaw-container{position:relative}.nzx-jigsaw-block{position:absolute;left:0;top:0;cursor:pointer;cursor:grab}.nzx-jigsaw-block:active{cursor:grabbing}.nzx-jigsaw-slider-container{position:relative;text-align:center;line-height:40px;height:40px;background:#f7f9fa;color:#45494c;border:1px solid #e4e7eb}.nzx-jigsaw-slider-container-active .nzx-jigsaw-slider{top:-1px;border:1px solid #1991fa}.nzx-jigsaw-slider-container-active .nzx-jigsaw-slider-mask{border-width:1px}.nzx-jigsaw-slider-container-success .nzx-jigsaw-slider{top:-1px;border:1px solid #52ccba;background-color:#52ccba!important}.nzx-jigsaw-slider-container-success .nzx-jigsaw-slider-mask{border:1px solid #52ccba;background-color:#d2f4ef}.nzx-jigsaw-slider-container-fail .nzx-jigsaw-slider{top:-1px;border:1px solid #f57a7a;background-color:#f57a7a!important}.nzx-jigsaw-slider-container-fail .nzx-jigsaw-slider-mask{border:1px solid #f57a7a;background-color:#fce1e1}.nzx-jigsaw-slider-container-active .nzx-jigsaw-slider-text,.nzx-jigsaw-slider-container-success .nzx-jigsaw-slider-text,.nzx-jigsaw-slider-container-fail .nzx-jigsaw-slider-text{display:none}.nzx-jigsaw-slider-mask{position:absolute;left:0;top:0;height:40px;border:0 solid #1991fa;background:#d1e9fe}.nzx-jigsaw-slider{position:absolute;top:0;left:0;width:40px;height:40px;background:#fff;box-shadow:0 0 3px #0000004d;transition:background .2s linear;cursor:pointer;cursor:grab}.nzx-jigsaw-slider:active{cursor:grabbing}.nzx-jigsaw-slider:hover{background:#1991fa}.nzx-jigsaw-refresh-icon{position:absolute;right:5px;top:5px;font-size:24px;cursor:pointer;color:#fff}.nzx-jigsaw-loading-container{position:absolute;left:0;top:0;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:14px;color:#45494c;z-index:2;background:#edf0f2}.nzx-jigsaw-loading-icon{font-size:32px;margin-bottom:10px}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
224
224
  }
225
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NzxJigsawComponent, decorators: [{
225
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NzxJigsawComponent, decorators: [{
226
226
  type: Component,
227
227
  args: [{ selector: 'nzx-jigsaw', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"nzx-jigsaw-container\"\r\n [ngStyle]=\"{\r\n width: width + 'px'\r\n }\"\r\n (selectstart)=\"selectstart()\"\r\n>\r\n <div\r\n class=\"nzx-jigsaw-loading-container\"\r\n [ngStyle]=\"{\r\n display: isLoading ? '' : 'none',\r\n width: width + 'px',\r\n height: height + 'px'\r\n }\"\r\n >\r\n <span class=\"nzx-jigsaw-loading-icon\" nz-icon [nzType]=\"'loading'\"></span>\r\n <span>{{ nzxLoadingText }}</span>\r\n </div>\r\n\r\n <canvas #canvasCtx [width]=\"width\" [height]=\"height\"></canvas>\r\n\r\n <span\r\n class=\"nzx-jigsaw-refresh-icon\"\r\n nz-icon\r\n nzType=\"redo\"\r\n nzTheme=\"outline\"\r\n [nzRotate]=\"-80\"\r\n (click)=\"refresh()\"\r\n ></span>\r\n\r\n <canvas\r\n #blockCtx\r\n class=\"nzx-jigsaw-block\"\r\n [width]=\"width\"\r\n [height]=\"height\"\r\n (touchstart)=\"handleDragStart($event)\"\r\n (mousedown)=\"handleDragStart($event)\"\r\n ></canvas>\r\n\r\n <div\r\n #sliderContainer\r\n class=\"nzx-jigsaw-slider-container\"\r\n [ngStyle]=\"{\r\n width: width + 'px',\r\n 'pointer-events': isLoading ? 'none' : ''\r\n }\"\r\n >\r\n <div #sliderMask class=\"nzx-jigsaw-slider-mask\">\r\n <div\r\n #slider\r\n class=\"nzx-jigsaw-slider\"\r\n (touchstart)=\"handleDragStart($event)\"\r\n (mousedown)=\"handleDragStart($event)\"\r\n >\r\n <span nz-icon nzType=\"arrow-right\" nzTheme=\"outline\"></span>\r\n </div>\r\n </div>\r\n <span class=\"nzx-jigsaw-slider-text\">{{ nzxTipText }}</span>\r\n </div>\r\n</div>\r\n", styles: [".nzx-jigsaw-container{position:relative}.nzx-jigsaw-block{position:absolute;left:0;top:0;cursor:pointer;cursor:grab}.nzx-jigsaw-block:active{cursor:grabbing}.nzx-jigsaw-slider-container{position:relative;text-align:center;line-height:40px;height:40px;background:#f7f9fa;color:#45494c;border:1px solid #e4e7eb}.nzx-jigsaw-slider-container-active .nzx-jigsaw-slider{top:-1px;border:1px solid #1991fa}.nzx-jigsaw-slider-container-active .nzx-jigsaw-slider-mask{border-width:1px}.nzx-jigsaw-slider-container-success .nzx-jigsaw-slider{top:-1px;border:1px solid #52ccba;background-color:#52ccba!important}.nzx-jigsaw-slider-container-success .nzx-jigsaw-slider-mask{border:1px solid #52ccba;background-color:#d2f4ef}.nzx-jigsaw-slider-container-fail .nzx-jigsaw-slider{top:-1px;border:1px solid #f57a7a;background-color:#f57a7a!important}.nzx-jigsaw-slider-container-fail .nzx-jigsaw-slider-mask{border:1px solid #f57a7a;background-color:#fce1e1}.nzx-jigsaw-slider-container-active .nzx-jigsaw-slider-text,.nzx-jigsaw-slider-container-success .nzx-jigsaw-slider-text,.nzx-jigsaw-slider-container-fail .nzx-jigsaw-slider-text{display:none}.nzx-jigsaw-slider-mask{position:absolute;left:0;top:0;height:40px;border:0 solid #1991fa;background:#d1e9fe}.nzx-jigsaw-slider{position:absolute;top:0;left:0;width:40px;height:40px;background:#fff;box-shadow:0 0 3px #0000004d;transition:background .2s linear;cursor:pointer;cursor:grab}.nzx-jigsaw-slider:active{cursor:grabbing}.nzx-jigsaw-slider:hover{background:#1991fa}.nzx-jigsaw-refresh-icon{position:absolute;right:5px;top:5px;font-size:24px;cursor:pointer;color:#fff}.nzx-jigsaw-loading-container{position:absolute;left:0;top:0;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:14px;color:#45494c;z-index:2;background:#edf0f2}.nzx-jigsaw-loading-icon{font-size:32px;margin-bottom:10px}\n"] }]
228
228
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { width: [{
@@ -259,11 +259,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
259
259
  }] } });
260
260
 
261
261
  class NzxJigsawModule {
262
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NzxJigsawModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
263
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.3", ngImport: i0, type: NzxJigsawModule, declarations: [NzxJigsawComponent], imports: [CommonModule, NzIconModule], exports: [NzxJigsawComponent] }); }
264
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NzxJigsawModule, imports: [CommonModule, NzIconModule] }); }
262
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NzxJigsawModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
263
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: NzxJigsawModule, declarations: [NzxJigsawComponent], imports: [CommonModule, NzIconModule], exports: [NzxJigsawComponent] }); }
264
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NzxJigsawModule, imports: [CommonModule, NzIconModule] }); }
265
265
  }
266
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NzxJigsawModule, decorators: [{
266
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NzxJigsawModule, decorators: [{
267
267
  type: NgModule,
268
268
  args: [{
269
269
  imports: [CommonModule, NzIconModule],
@@ -1 +1 @@
1
- {"version":3,"file":"ng-zorro-antd-extension-jigsaw.mjs","sources":["../../../components/jigsaw/jigsaw.component.ts","../../../components/jigsaw/jigsaw.component.html","../../../components/jigsaw/jigsaw.module.ts","../../../components/jigsaw/public-api.ts","../../../components/jigsaw/ng-zorro-antd-extension-jigsaw.ts"],"sourcesContent":["import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\n\r\nconst l = 42; // 滑块边长\r\nconst r = 9; // 滑块半径\r\nconst PI = Math.PI;\r\nconst L = l + r * 2 + 3; // 滑块实际边长\r\n\r\n@Component({\r\n selector: 'nzx-jigsaw',\r\n templateUrl: './jigsaw.component.html',\r\n styleUrls: ['./jigsaw.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class NzxJigsawComponent implements AfterViewInit {\r\n @Input() width = 310;\r\n @Input() height = 155;\r\n @Input() nzxLoadingText = '加载中...';\r\n @Input() nzxTipText = '向右滑动填充拼图';\r\n @Input() nzxBgImgUrl: string | string[] = '';\r\n\r\n @Output() nzxOnRefresh = new EventEmitter<void>();\r\n @Output() nzxOnSuccess = new EventEmitter<void>();\r\n @Output() nzxOnFail = new EventEmitter<void>();\r\n\r\n isLoading = false;\r\n\r\n @ViewChild('canvasCtx')\r\n private canvasRef!: ElementRef<HTMLCanvasElement>;\r\n\r\n @ViewChild('blockCtx')\r\n private blockRef!: ElementRef<HTMLCanvasElement>;\r\n\r\n @ViewChild('sliderContainer')\r\n private sliderContainerRef!: ElementRef<HTMLDivElement>;\r\n\r\n @ViewChild('slider')\r\n private sliderRef!: ElementRef<HTMLDivElement>;\r\n\r\n @ViewChild('sliderMask')\r\n private sliderMaskRef!: ElementRef<HTMLDivElement>;\r\n\r\n private img: any;\r\n private x: number = 0;\r\n private y: number = 0;\r\n\r\n private originX: number = 0;\r\n private originY: number = 0;\r\n private trail: any[] = [];\r\n private isMouseDown = false;\r\n\r\n constructor(private cd: ChangeDetectorRef) {}\r\n\r\n ngAfterViewInit(): void {\r\n this.initImg();\r\n\r\n const handleDragMove = (e: any) => {\r\n if (!this.isMouseDown) {\r\n return false;\r\n }\r\n e.preventDefault();\r\n const eventX = e.clientX || e.touches[0].clientX;\r\n const eventY = e.clientY || e.touches[0].clientY;\r\n const moveX = eventX - this.originX;\r\n const moveY = eventY - this.originY;\r\n if (moveX < 0 || moveX + 38 >= this.width) return false;\r\n this.sliderRef.nativeElement.style.left = moveX + 'px';\r\n const blockLeft = ((this.width - 40 - 20) / (this.width - 40)) * moveX;\r\n this.blockRef.nativeElement.style.left = blockLeft + 'px';\r\n this.sliderContainerRef.nativeElement.classList.add(\r\n 'nzx-jigsaw-slider-container-active'\r\n );\r\n this.sliderMaskRef.nativeElement.style.width = moveX + 'px';\r\n this.trail.push(moveY);\r\n return false;\r\n };\r\n\r\n const handleDragEnd = (e: any) => {\r\n if (!this.isMouseDown) {\r\n return false;\r\n }\r\n this.isMouseDown = false;\r\n const eventX = e.clientX || e.changedTouches[0].clientX;\r\n if (eventX === this.originX) {\r\n return false;\r\n }\r\n this.sliderContainerRef.nativeElement.classList.remove(\r\n 'nzx-jigsaw-slider-container-active'\r\n );\r\n this.trail = this.trail;\r\n const { spliced, verified } = this.verify();\r\n\r\n if (spliced) {\r\n if (verified) {\r\n this.sliderContainerRef.nativeElement.classList.add(\r\n 'nzx-jigsaw-slider-container-success'\r\n );\r\n this.nzxOnSuccess.emit();\r\n } else {\r\n this.sliderContainerRef.nativeElement.classList.add(\r\n 'nzx-jigsaw-slider-container-fail'\r\n );\r\n this.nzxTipText = '请再试一次';\r\n this.reset();\r\n }\r\n } else {\r\n this.sliderContainerRef.nativeElement.classList.add(\r\n 'nzx-jigsaw-slider-container-fail'\r\n );\r\n this.nzxOnFail.emit();\r\n setTimeout(() => this.reset(), 1000);\r\n }\r\n return false;\r\n };\r\n\r\n document.addEventListener('mousemove', handleDragMove);\r\n document.addEventListener('touchmove', handleDragMove);\r\n document.addEventListener('mouseup', handleDragEnd);\r\n document.addEventListener('touchend', handleDragEnd);\r\n }\r\n\r\n selectstart() {\r\n return false;\r\n }\r\n\r\n refresh() {\r\n this.reset();\r\n this.nzxOnRefresh.emit();\r\n }\r\n\r\n handleDragStart(e: any) {\r\n this.originX = e.clientX || e.touches[0].clientX;\r\n this.originY = e.clientY || e.touches[0].clientY;\r\n this.isMouseDown = true;\r\n }\r\n\r\n private verify() {\r\n const arr = this.trail; // 拖动时y轴的移动距离\r\n const average = arr.reduce((x: number, y: number) => x + y) / arr.length;\r\n const deviations = arr.map((x) => x - average);\r\n const stddev = Math.sqrt(\r\n deviations\r\n .map((x: number) => x * x)\r\n .reduce((x: number, y: number) => x + y) / arr.length\r\n );\r\n const left = parseInt(this.blockRef.nativeElement.style.left);\r\n return {\r\n spliced: Math.abs(left - this.x) < 10,\r\n verified: stddev !== 0, // 简单验证拖动轨迹,为零时表示Y轴上下没有波动,可能非人为操作\r\n };\r\n }\r\n\r\n private reset() {\r\n const { width, height } = this;\r\n // 重置样式\r\n this.sliderContainerRef.nativeElement.className =\r\n 'nzx-jigsaw-slider-container';\r\n this.sliderRef.nativeElement.style.left = 0 + 'px';\r\n this.blockRef.nativeElement.width = width;\r\n this.blockRef.nativeElement.style.left = 0 + 'px';\r\n this.sliderMaskRef.nativeElement.style.width = 0 + 'px';\r\n\r\n // 清空画布\r\n this.canvasRef.nativeElement\r\n .getContext('2d')!\r\n .clearRect(0, 0, width, height);\r\n this.blockRef.nativeElement\r\n .getContext('2d')!\r\n .clearRect(0, 0, width, height);\r\n\r\n // 重新加载图片\r\n this.isLoading = true;\r\n this.cd.markForCheck();\r\n this.setImageSrc(this.getRandomImgSrc(), this.img);\r\n }\r\n\r\n private initImg() {\r\n const img: HTMLImageElement = new Image();\r\n img.style.objectFit = 'cover';\r\n img.crossOrigin = 'Anonymous';\r\n img.onload = () => {\r\n this.isLoading = false;\r\n this.draw(img);\r\n };\r\n img.onerror = () => {\r\n // 图片加载失败的时候重新加载其他图片\r\n this.setImageSrc(this.getRandomImgSrc(), img);\r\n };\r\n this.setImageSrc(this.getRandomImgSrc(), img);\r\n this.img = img;\r\n }\r\n\r\n private draw(img: HTMLImageElement) {\r\n const { width, height } = this;\r\n // 随机位置创建拼图形状\r\n this.x = this.getRandomNumberByRange(L + 10, width - (L + 10));\r\n this.y = this.getRandomNumberByRange(10 + r * 2, height - (L + 10));\r\n this.drawPath(\r\n this.canvasRef.nativeElement.getContext('2d')!,\r\n this.x,\r\n this.y,\r\n 'fill'\r\n );\r\n this.drawPath(\r\n this.blockRef.nativeElement.getContext('2d')!,\r\n this.x,\r\n this.y,\r\n 'clip'\r\n );\r\n\r\n // 画入图片\r\n this.canvasRef.nativeElement\r\n .getContext('2d')!\r\n .drawImage(img, 0, 0, width, height);\r\n this.blockRef.nativeElement\r\n .getContext('2d')!\r\n .drawImage(img, 0, 0, width, height);\r\n\r\n // 提取滑块并放到最左边\r\n const y = this.y - r * 2 - 1;\r\n const ImageData = this.blockRef.nativeElement\r\n .getContext('2d')!\r\n .getImageData(this.x - 3, y, L, L);\r\n this.blockRef.nativeElement!.width = L;\r\n this.blockRef.nativeElement.getContext('2d')!.putImageData(ImageData, 0, y);\r\n this.cd.markForCheck();\r\n }\r\n\r\n private setImageSrc(src: string, img: HTMLImageElement) {\r\n const isIE = window.navigator.userAgent.indexOf('Trident') > -1;\r\n if (isIE) {\r\n // IE浏览器无法通过img.crossOrigin跨域,使用ajax获取图片blob然后转为dataURL显示\r\n const xhr = new XMLHttpRequest();\r\n xhr.onloadend = (e: any) => {\r\n const file = new FileReader(); // FileReader仅支持IE10+\r\n file.readAsDataURL(e.target.response);\r\n file.onloadend = (e) => {\r\n img.src = e.target?.result as string;\r\n };\r\n };\r\n xhr.open('GET', src);\r\n xhr.responseType = 'blob';\r\n xhr.send();\r\n } else {\r\n img.src = src;\r\n }\r\n }\r\n\r\n private getRandomImgSrc() {\r\n if (this.nzxBgImgUrl && typeof this.nzxBgImgUrl == 'string') {\r\n return this.nzxBgImgUrl;\r\n }\r\n\r\n if (\r\n this.nzxBgImgUrl &&\r\n Array.isArray(this.nzxBgImgUrl) &&\r\n this.nzxBgImgUrl.length\r\n ) {\r\n return this.nzxBgImgUrl[\r\n this.getRandomNumberByRange(0, this.nzxBgImgUrl.length - 1)\r\n ];\r\n }\r\n return `https://picsum.photos/id/${this.getRandomNumberByRange(0, 1084)}/${\r\n this.width\r\n }/${this.height}`;\r\n }\r\n\r\n private getRandomNumberByRange(start: number, end: number) {\r\n return Math.round(Math.random() * (end - start) + start);\r\n }\r\n\r\n private drawPath(\r\n ctx: CanvasRenderingContext2D,\r\n x: number,\r\n y: number,\r\n operation: any\r\n ) {\r\n ctx.beginPath();\r\n ctx.moveTo(x, y);\r\n ctx.arc(x + l / 2, y - r + 2, r, 0.72 * PI, 2.26 * PI);\r\n ctx.lineTo(x + l, y);\r\n ctx.arc(x + l + r - 2, y + l / 2, r, 1.21 * PI, 2.78 * PI);\r\n ctx.lineTo(x + l, y + l);\r\n ctx.lineTo(x, y + l);\r\n ctx.arc(x + r - 2, y + l / 2, r + 0.4, 2.76 * PI, 1.24 * PI, true);\r\n ctx.lineTo(x, y);\r\n ctx.lineWidth = 2;\r\n ctx.fillStyle = 'rgba(255, 255, 255, 0.7)';\r\n ctx.strokeStyle = 'rgba(255, 255, 255, 0.7)';\r\n ctx.stroke();\r\n ctx.globalCompositeOperation = 'destination-over';\r\n operation === 'fill' ? ctx.fill() : ctx.clip();\r\n }\r\n}\r\n","<div\r\n class=\"nzx-jigsaw-container\"\r\n [ngStyle]=\"{\r\n width: width + 'px'\r\n }\"\r\n (selectstart)=\"selectstart()\"\r\n>\r\n <div\r\n class=\"nzx-jigsaw-loading-container\"\r\n [ngStyle]=\"{\r\n display: isLoading ? '' : 'none',\r\n width: width + 'px',\r\n height: height + 'px'\r\n }\"\r\n >\r\n <span class=\"nzx-jigsaw-loading-icon\" nz-icon [nzType]=\"'loading'\"></span>\r\n <span>{{ nzxLoadingText }}</span>\r\n </div>\r\n\r\n <canvas #canvasCtx [width]=\"width\" [height]=\"height\"></canvas>\r\n\r\n <span\r\n class=\"nzx-jigsaw-refresh-icon\"\r\n nz-icon\r\n nzType=\"redo\"\r\n nzTheme=\"outline\"\r\n [nzRotate]=\"-80\"\r\n (click)=\"refresh()\"\r\n ></span>\r\n\r\n <canvas\r\n #blockCtx\r\n class=\"nzx-jigsaw-block\"\r\n [width]=\"width\"\r\n [height]=\"height\"\r\n (touchstart)=\"handleDragStart($event)\"\r\n (mousedown)=\"handleDragStart($event)\"\r\n ></canvas>\r\n\r\n <div\r\n #sliderContainer\r\n class=\"nzx-jigsaw-slider-container\"\r\n [ngStyle]=\"{\r\n width: width + 'px',\r\n 'pointer-events': isLoading ? 'none' : ''\r\n }\"\r\n >\r\n <div #sliderMask class=\"nzx-jigsaw-slider-mask\">\r\n <div\r\n #slider\r\n class=\"nzx-jigsaw-slider\"\r\n (touchstart)=\"handleDragStart($event)\"\r\n (mousedown)=\"handleDragStart($event)\"\r\n >\r\n <span nz-icon nzType=\"arrow-right\" nzTheme=\"outline\"></span>\r\n </div>\r\n </div>\r\n <span class=\"nzx-jigsaw-slider-text\">{{ nzxTipText }}</span>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { NzxJigsawComponent } from './jigsaw.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NzIconModule } from 'ng-zorro-antd/icon';\r\n\r\n@NgModule({\r\n imports: [CommonModule, NzIconModule],\r\n declarations: [NzxJigsawComponent],\r\n exports: [NzxJigsawComponent],\r\n})\r\nexport class NzxJigsawModule {}\r\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport * from './jigsaw.module';\nexport * from './jigsaw.component';\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":"ng-zorro-antd-extension-jigsaw.mjs","sources":["../../../components/jigsaw/jigsaw.component.ts","../../../components/jigsaw/jigsaw.component.html","../../../components/jigsaw/jigsaw.module.ts","../../../components/jigsaw/public-api.ts","../../../components/jigsaw/ng-zorro-antd-extension-jigsaw.ts"],"sourcesContent":["import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\n\r\nconst l = 42; // 滑块边长\r\nconst r = 9; // 滑块半径\r\nconst PI = Math.PI;\r\nconst L = l + r * 2 + 3; // 滑块实际边长\r\n\r\n@Component({\r\n selector: 'nzx-jigsaw',\r\n templateUrl: './jigsaw.component.html',\r\n styleUrls: ['./jigsaw.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class NzxJigsawComponent implements AfterViewInit {\r\n @Input() width = 310;\r\n @Input() height = 155;\r\n @Input() nzxLoadingText = '加载中...';\r\n @Input() nzxTipText = '向右滑动填充拼图';\r\n @Input() nzxBgImgUrl: string | string[] = '';\r\n\r\n @Output() nzxOnRefresh = new EventEmitter<void>();\r\n @Output() nzxOnSuccess = new EventEmitter<void>();\r\n @Output() nzxOnFail = new EventEmitter<void>();\r\n\r\n isLoading = false;\r\n\r\n @ViewChild('canvasCtx')\r\n private canvasRef!: ElementRef<HTMLCanvasElement>;\r\n\r\n @ViewChild('blockCtx')\r\n private blockRef!: ElementRef<HTMLCanvasElement>;\r\n\r\n @ViewChild('sliderContainer')\r\n private sliderContainerRef!: ElementRef<HTMLDivElement>;\r\n\r\n @ViewChild('slider')\r\n private sliderRef!: ElementRef<HTMLDivElement>;\r\n\r\n @ViewChild('sliderMask')\r\n private sliderMaskRef!: ElementRef<HTMLDivElement>;\r\n\r\n private img: any;\r\n private x: number = 0;\r\n private y: number = 0;\r\n\r\n private originX: number = 0;\r\n private originY: number = 0;\r\n private trail: any[] = [];\r\n private isMouseDown = false;\r\n\r\n constructor(private cd: ChangeDetectorRef) {}\r\n\r\n ngAfterViewInit(): void {\r\n this.initImg();\r\n\r\n const handleDragMove = (e: any) => {\r\n if (!this.isMouseDown) {\r\n return false;\r\n }\r\n e.preventDefault();\r\n const eventX = e.clientX || e.touches[0].clientX;\r\n const eventY = e.clientY || e.touches[0].clientY;\r\n const moveX = eventX - this.originX;\r\n const moveY = eventY - this.originY;\r\n if (moveX < 0 || moveX + 38 >= this.width) return false;\r\n this.sliderRef.nativeElement.style.left = moveX + 'px';\r\n const blockLeft = ((this.width - 40 - 20) / (this.width - 40)) * moveX;\r\n this.blockRef.nativeElement.style.left = blockLeft + 'px';\r\n this.sliderContainerRef.nativeElement.classList.add(\r\n 'nzx-jigsaw-slider-container-active'\r\n );\r\n this.sliderMaskRef.nativeElement.style.width = moveX + 'px';\r\n this.trail.push(moveY);\r\n return false;\r\n };\r\n\r\n const handleDragEnd = (e: any) => {\r\n if (!this.isMouseDown) {\r\n return false;\r\n }\r\n this.isMouseDown = false;\r\n const eventX = e.clientX || e.changedTouches[0].clientX;\r\n if (eventX === this.originX) {\r\n return false;\r\n }\r\n this.sliderContainerRef.nativeElement.classList.remove(\r\n 'nzx-jigsaw-slider-container-active'\r\n );\r\n this.trail = this.trail;\r\n const { spliced, verified } = this.verify();\r\n\r\n if (spliced) {\r\n if (verified) {\r\n this.sliderContainerRef.nativeElement.classList.add(\r\n 'nzx-jigsaw-slider-container-success'\r\n );\r\n this.nzxOnSuccess.emit();\r\n } else {\r\n this.sliderContainerRef.nativeElement.classList.add(\r\n 'nzx-jigsaw-slider-container-fail'\r\n );\r\n this.nzxTipText = '请再试一次';\r\n this.reset();\r\n }\r\n } else {\r\n this.sliderContainerRef.nativeElement.classList.add(\r\n 'nzx-jigsaw-slider-container-fail'\r\n );\r\n this.nzxOnFail.emit();\r\n setTimeout(() => this.reset(), 1000);\r\n }\r\n return false;\r\n };\r\n\r\n document.addEventListener('mousemove', handleDragMove);\r\n document.addEventListener('touchmove', handleDragMove);\r\n document.addEventListener('mouseup', handleDragEnd);\r\n document.addEventListener('touchend', handleDragEnd);\r\n }\r\n\r\n selectstart() {\r\n return false;\r\n }\r\n\r\n refresh() {\r\n this.reset();\r\n this.nzxOnRefresh.emit();\r\n }\r\n\r\n handleDragStart(e: any) {\r\n this.originX = e.clientX || e.touches[0].clientX;\r\n this.originY = e.clientY || e.touches[0].clientY;\r\n this.isMouseDown = true;\r\n }\r\n\r\n private verify() {\r\n const arr = this.trail; // 拖动时y轴的移动距离\r\n const average = arr.reduce((x: number, y: number) => x + y) / arr.length;\r\n const deviations = arr.map((x) => x - average);\r\n const stddev = Math.sqrt(\r\n deviations\r\n .map((x: number) => x * x)\r\n .reduce((x: number, y: number) => x + y) / arr.length\r\n );\r\n const left = parseInt(this.blockRef.nativeElement.style.left);\r\n return {\r\n spliced: Math.abs(left - this.x) < 10,\r\n verified: stddev !== 0, // 简单验证拖动轨迹,为零时表示Y轴上下没有波动,可能非人为操作\r\n };\r\n }\r\n\r\n private reset() {\r\n const { width, height } = this;\r\n // 重置样式\r\n this.sliderContainerRef.nativeElement.className =\r\n 'nzx-jigsaw-slider-container';\r\n this.sliderRef.nativeElement.style.left = 0 + 'px';\r\n this.blockRef.nativeElement.width = width;\r\n this.blockRef.nativeElement.style.left = 0 + 'px';\r\n this.sliderMaskRef.nativeElement.style.width = 0 + 'px';\r\n\r\n // 清空画布\r\n this.canvasRef.nativeElement\r\n .getContext('2d')!\r\n .clearRect(0, 0, width, height);\r\n this.blockRef.nativeElement\r\n .getContext('2d')!\r\n .clearRect(0, 0, width, height);\r\n\r\n // 重新加载图片\r\n this.isLoading = true;\r\n this.cd.markForCheck();\r\n this.setImageSrc(this.getRandomImgSrc(), this.img);\r\n }\r\n\r\n private initImg() {\r\n const img: HTMLImageElement = new Image();\r\n img.style.objectFit = 'cover';\r\n img.crossOrigin = 'Anonymous';\r\n img.onload = () => {\r\n this.isLoading = false;\r\n this.draw(img);\r\n };\r\n img.onerror = () => {\r\n // 图片加载失败的时候重新加载其他图片\r\n this.setImageSrc(this.getRandomImgSrc(), img);\r\n };\r\n this.setImageSrc(this.getRandomImgSrc(), img);\r\n this.img = img;\r\n }\r\n\r\n private draw(img: HTMLImageElement) {\r\n const { width, height } = this;\r\n // 随机位置创建拼图形状\r\n this.x = this.getRandomNumberByRange(L + 10, width - (L + 10));\r\n this.y = this.getRandomNumberByRange(10 + r * 2, height - (L + 10));\r\n this.drawPath(\r\n this.canvasRef.nativeElement.getContext('2d')!,\r\n this.x,\r\n this.y,\r\n 'fill'\r\n );\r\n this.drawPath(\r\n this.blockRef.nativeElement.getContext('2d')!,\r\n this.x,\r\n this.y,\r\n 'clip'\r\n );\r\n\r\n // 画入图片\r\n this.canvasRef.nativeElement\r\n .getContext('2d')!\r\n .drawImage(img, 0, 0, width, height);\r\n this.blockRef.nativeElement\r\n .getContext('2d')!\r\n .drawImage(img, 0, 0, width, height);\r\n\r\n // 提取滑块并放到最左边\r\n const y = this.y - r * 2 - 1;\r\n const ImageData = this.blockRef.nativeElement\r\n .getContext('2d')!\r\n .getImageData(this.x - 3, y, L, L);\r\n this.blockRef.nativeElement!.width = L;\r\n this.blockRef.nativeElement.getContext('2d')!.putImageData(ImageData, 0, y);\r\n this.cd.markForCheck();\r\n }\r\n\r\n private setImageSrc(src: string, img: HTMLImageElement) {\r\n const isIE = window.navigator.userAgent.indexOf('Trident') > -1;\r\n if (isIE) {\r\n // IE浏览器无法通过img.crossOrigin跨域,使用ajax获取图片blob然后转为dataURL显示\r\n const xhr = new XMLHttpRequest();\r\n xhr.onloadend = (e: any) => {\r\n const file = new FileReader(); // FileReader仅支持IE10+\r\n file.readAsDataURL(e.target.response);\r\n file.onloadend = (e) => {\r\n img.src = e.target?.result as string;\r\n };\r\n };\r\n xhr.open('GET', src);\r\n xhr.responseType = 'blob';\r\n xhr.send();\r\n } else {\r\n img.src = src;\r\n }\r\n }\r\n\r\n private getRandomImgSrc() {\r\n if (this.nzxBgImgUrl && typeof this.nzxBgImgUrl == 'string') {\r\n return this.nzxBgImgUrl;\r\n }\r\n\r\n if (\r\n this.nzxBgImgUrl &&\r\n Array.isArray(this.nzxBgImgUrl) &&\r\n this.nzxBgImgUrl.length\r\n ) {\r\n return this.nzxBgImgUrl[\r\n this.getRandomNumberByRange(0, this.nzxBgImgUrl.length - 1)\r\n ];\r\n }\r\n return `https://picsum.photos/id/${this.getRandomNumberByRange(0, 1084)}/${\r\n this.width\r\n }/${this.height}`;\r\n }\r\n\r\n private getRandomNumberByRange(start: number, end: number) {\r\n return Math.round(Math.random() * (end - start) + start);\r\n }\r\n\r\n private drawPath(\r\n ctx: CanvasRenderingContext2D,\r\n x: number,\r\n y: number,\r\n operation: any\r\n ) {\r\n ctx.beginPath();\r\n ctx.moveTo(x, y);\r\n ctx.arc(x + l / 2, y - r + 2, r, 0.72 * PI, 2.26 * PI);\r\n ctx.lineTo(x + l, y);\r\n ctx.arc(x + l + r - 2, y + l / 2, r, 1.21 * PI, 2.78 * PI);\r\n ctx.lineTo(x + l, y + l);\r\n ctx.lineTo(x, y + l);\r\n ctx.arc(x + r - 2, y + l / 2, r + 0.4, 2.76 * PI, 1.24 * PI, true);\r\n ctx.lineTo(x, y);\r\n ctx.lineWidth = 2;\r\n ctx.fillStyle = 'rgba(255, 255, 255, 0.7)';\r\n ctx.strokeStyle = 'rgba(255, 255, 255, 0.7)';\r\n ctx.stroke();\r\n ctx.globalCompositeOperation = 'destination-over';\r\n operation === 'fill' ? ctx.fill() : ctx.clip();\r\n }\r\n}\r\n","<div\r\n class=\"nzx-jigsaw-container\"\r\n [ngStyle]=\"{\r\n width: width + 'px'\r\n }\"\r\n (selectstart)=\"selectstart()\"\r\n>\r\n <div\r\n class=\"nzx-jigsaw-loading-container\"\r\n [ngStyle]=\"{\r\n display: isLoading ? '' : 'none',\r\n width: width + 'px',\r\n height: height + 'px'\r\n }\"\r\n >\r\n <span class=\"nzx-jigsaw-loading-icon\" nz-icon [nzType]=\"'loading'\"></span>\r\n <span>{{ nzxLoadingText }}</span>\r\n </div>\r\n\r\n <canvas #canvasCtx [width]=\"width\" [height]=\"height\"></canvas>\r\n\r\n <span\r\n class=\"nzx-jigsaw-refresh-icon\"\r\n nz-icon\r\n nzType=\"redo\"\r\n nzTheme=\"outline\"\r\n [nzRotate]=\"-80\"\r\n (click)=\"refresh()\"\r\n ></span>\r\n\r\n <canvas\r\n #blockCtx\r\n class=\"nzx-jigsaw-block\"\r\n [width]=\"width\"\r\n [height]=\"height\"\r\n (touchstart)=\"handleDragStart($event)\"\r\n (mousedown)=\"handleDragStart($event)\"\r\n ></canvas>\r\n\r\n <div\r\n #sliderContainer\r\n class=\"nzx-jigsaw-slider-container\"\r\n [ngStyle]=\"{\r\n width: width + 'px',\r\n 'pointer-events': isLoading ? 'none' : ''\r\n }\"\r\n >\r\n <div #sliderMask class=\"nzx-jigsaw-slider-mask\">\r\n <div\r\n #slider\r\n class=\"nzx-jigsaw-slider\"\r\n (touchstart)=\"handleDragStart($event)\"\r\n (mousedown)=\"handleDragStart($event)\"\r\n >\r\n <span nz-icon nzType=\"arrow-right\" nzTheme=\"outline\"></span>\r\n </div>\r\n </div>\r\n <span class=\"nzx-jigsaw-slider-text\">{{ nzxTipText }}</span>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { NzxJigsawComponent } from './jigsaw.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NzIconModule } from 'ng-zorro-antd/icon';\r\n\r\n@NgModule({\r\n imports: [CommonModule, NzIconModule],\r\n declarations: [NzxJigsawComponent],\r\n exports: [NzxJigsawComponent],\r\n})\r\nexport class NzxJigsawModule {}\r\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport * from './jigsaw.module';\nexport * from './jigsaw.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}