ng-zorro-antd-extension 18.1.3 → 19.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/acl/nzx-acl.directive.d.ts +1 -1
- package/acl/nzx-acl.module.d.ts +1 -2
- package/blank-field/blank-field.component.d.ts +1 -1
- package/blank-field/blank-field.module.d.ts +1 -2
- package/checkbox/checkbox-group.component.d.ts +5 -16
- package/checkbox/checkbox.module.d.ts +1 -4
- package/configurable-query/configurable-query-item/configurable-query-item.component.d.ts +1 -1
- package/configurable-query/configurable-query.component.d.ts +1 -1
- package/configurable-query/configurable-query.module.d.ts +3 -21
- package/configurable-query/control.directive.d.ts +1 -1
- package/configurable-query/controls/abstract.control.d.ts +3 -2
- package/configurable-query/controls/date-picker.control.d.ts +1 -1
- package/configurable-query/controls/input.control.d.ts +1 -1
- package/configurable-query/controls/range-picker.control.d.ts +1 -1
- package/configurable-query/controls/select.control.d.ts +1 -1
- package/configurable-query/controls/template.control.d.ts +1 -1
- package/dynamic-form/config/dynamic-form-config.d.ts +18 -0
- package/dynamic-form/controls/abstract.control.d.ts +11 -0
- package/dynamic-form/controls/date-picker.control.d.ts +6 -0
- package/dynamic-form/controls/input.control.d.ts +6 -0
- package/dynamic-form/controls/range-picker.control.d.ts +6 -0
- package/dynamic-form/controls/select.control.d.ts +6 -0
- package/dynamic-form/controls/template.control.d.ts +6 -0
- package/dynamic-form/dynamic-form-item/dynamic-form-item.component.d.ts +12 -0
- package/dynamic-form/dynamic-form.component.d.ts +5 -0
- package/dynamic-form/dynamic-form.module.d.ts +17 -0
- package/dynamic-form/public-api.d.ts +3 -1
- package/dynamic-form/wrapper/control/abstract-control-wrapper.d.ts +12 -0
- package/dynamic-form/wrapper/control/built-in-control-wrapper.d.ts +7 -0
- package/dynamic-form/wrapper/item/abstract-item-wrapper.d.ts +14 -0
- package/dynamic-form/wrapper/item/built-in-item-wrapper.d.ts +6 -0
- package/dynamic-form/wrapper/label/abstract-label-wrapper.d.ts +5 -0
- package/dynamic-form/wrapper/label/built-in-label-wrapper.d.ts +6 -0
- package/editable/editable.component.d.ts +1 -1
- package/editable/editable.module.d.ts +1 -6
- package/fesm2022/ng-zorro-antd-extension-acl.mjs +11 -13
- package/fesm2022/ng-zorro-antd-extension-acl.mjs.map +1 -1
- package/fesm2022/ng-zorro-antd-extension-blank-field.mjs +19 -17
- package/fesm2022/ng-zorro-antd-extension-blank-field.mjs.map +1 -1
- package/fesm2022/ng-zorro-antd-extension-checkbox.mjs +28 -37
- package/fesm2022/ng-zorro-antd-extension-checkbox.mjs.map +1 -1
- package/fesm2022/ng-zorro-antd-extension-configurable-query.mjs +98 -127
- package/fesm2022/ng-zorro-antd-extension-configurable-query.mjs.map +1 -1
- package/fesm2022/ng-zorro-antd-extension-core-config.mjs +3 -3
- package/fesm2022/ng-zorro-antd-extension-core-config.mjs.map +1 -1
- package/fesm2022/ng-zorro-antd-extension-dynamic-form.mjs +423 -10
- package/fesm2022/ng-zorro-antd-extension-dynamic-form.mjs.map +1 -1
- package/fesm2022/ng-zorro-antd-extension-editable.mjs +23 -33
- package/fesm2022/ng-zorro-antd-extension-editable.mjs.map +1 -1
- package/fesm2022/ng-zorro-antd-extension-jigsaw.mjs +9 -10
- package/fesm2022/ng-zorro-antd-extension-jigsaw.mjs.map +1 -1
- package/fesm2022/ng-zorro-antd-extension-pipes.mjs +26 -26
- package/fesm2022/ng-zorro-antd-extension-pipes.mjs.map +1 -1
- package/fesm2022/ng-zorro-antd-extension-print.mjs +23 -21
- package/fesm2022/ng-zorro-antd-extension-print.mjs.map +1 -1
- package/fesm2022/ng-zorro-antd-extension-simple-table.mjs +22 -22
- package/fesm2022/ng-zorro-antd-extension-simple-table.mjs.map +1 -1
- package/fesm2022/ng-zorro-antd-extension-table-adaptor.mjs +11 -12
- package/fesm2022/ng-zorro-antd-extension-table-adaptor.mjs.map +1 -1
- package/fesm2022/ng-zorro-antd-extension-table-form.mjs +36 -53
- package/fesm2022/ng-zorro-antd-extension-table-form.mjs.map +1 -1
- package/fesm2022/ng-zorro-antd-extension-table-select.mjs +38 -40
- package/fesm2022/ng-zorro-antd-extension-table-select.mjs.map +1 -1
- package/fesm2022/ng-zorro-antd-extension-timer-button.mjs +8 -10
- package/fesm2022/ng-zorro-antd-extension-timer-button.mjs.map +1 -1
- package/fesm2022/ng-zorro-antd-extension-trim.mjs +8 -9
- package/fesm2022/ng-zorro-antd-extension-trim.mjs.map +1 -1
- package/fesm2022/ng-zorro-antd-extension-util.mjs.map +1 -1
- package/fesm2022/ng-zorro-antd-extension-wang-editor.mjs +11 -13
- package/fesm2022/ng-zorro-antd-extension-wang-editor.mjs.map +1 -1
- package/jigsaw/jigsaw.component.d.ts +1 -1
- package/jigsaw/jigsaw.module.d.ts +1 -3
- package/package.json +9 -51
- package/pipes/map.pipe.d.ts +1 -1
- package/pipes/pipes.module.d.ts +1 -1
- package/pipes/safe-html.pipe.d.ts +1 -1
- package/pipes/safe-null.pipe.d.ts +1 -1
- package/pipes/safe-resource-url.pipe.d.ts +1 -1
- package/pipes/safe-script.pipe.d.ts +1 -1
- package/pipes/safe-style.pipe.d.ts +1 -1
- package/pipes/safe-url.pipe.d.ts +1 -1
- package/print/nzx-print-content.directive.d.ts +1 -1
- package/print/nzx-print-v.component.d.ts +1 -1
- package/print/nzx-print.component.d.ts +1 -1
- package/print/nzx-print.directive.d.ts +1 -1
- package/print/nzx-print.module.d.ts +1 -4
- package/schematics/ng-add/index.js +1 -2
- package/schematics/ng-add/index.js.map +1 -1
- package/simple-table/directive/expand.directive.d.ts +1 -1
- package/simple-table/directive/td.directive.d.ts +1 -1
- package/simple-table/directive/th.directive.d.ts +1 -1
- package/simple-table/simple-table.component.d.ts +1 -1
- package/simple-table/simple-table.module.d.ts +1 -3
- package/table-adaptor/page-table-basic.d.ts +1 -1
- package/table-adaptor/table-adaptor.directive.d.ts +1 -1
- package/table-adaptor/table-adaptor.module.d.ts +1 -1
- package/table-form/directive/table-expand.directive.d.ts +1 -1
- package/table-form/directive/table-td.directive.d.ts +1 -1
- package/table-form/directive/table-th.directive.d.ts +1 -1
- package/table-form/table-form.component.d.ts +1 -1
- package/table-form/table-form.module.d.ts +1 -10
- package/table-select/abstract-table-select.d.ts +2 -2
- package/table-select/key.directive.d.ts +1 -1
- package/table-select/nzx-table-select.module.d.ts +1 -6
- package/table-select/page-table-select/page-table-select.component.d.ts +1 -1
- package/table-select/table-select/table-select.component.d.ts +1 -1
- package/timer-button/timer-button.directive.d.ts +1 -1
- package/timer-button/timer-button.module.d.ts +1 -2
- package/trim/trim.directive.d.ts +1 -1
- package/trim/trim.module.d.ts +1 -1
- package/wang-editor/wang-editor.component.d.ts +1 -1
- package/wang-editor/wang-editor.module.d.ts +1 -2
- package/wang-editor/wang-toolbar.component.d.ts +1 -1
- package/dynamic-form/nzx-dynamic-form.module.d.ts +0 -9
- package/esm2022/acl/ng-zorro-antd-extension-acl.mjs +0 -5
- package/esm2022/acl/nzx-acl.directive.mjs +0 -80
- package/esm2022/acl/nzx-acl.module.mjs +0 -25
- package/esm2022/acl/nzx-acl.service.mjs +0 -45
- package/esm2022/acl/public-api.mjs +0 -8
- package/esm2022/blank-field/blank-field.component.mjs +0 -52
- package/esm2022/blank-field/blank-field.module.mjs +0 -18
- package/esm2022/blank-field/ng-zorro-antd-extension-blank-field.mjs +0 -5
- package/esm2022/blank-field/public-api.mjs +0 -7
- package/esm2022/checkbox/checkbox-group.component.mjs +0 -108
- package/esm2022/checkbox/checkbox.module.mjs +0 -20
- package/esm2022/checkbox/ng-zorro-antd-extension-checkbox.mjs +0 -5
- package/esm2022/checkbox/public-api.mjs +0 -7
- package/esm2022/configurable-query/configurable-query-item/configurable-query-item.component.mjs +0 -85
- package/esm2022/configurable-query/configurable-query.component.mjs +0 -309
- package/esm2022/configurable-query/configurable-query.module.mjs +0 -111
- package/esm2022/configurable-query/control.directive.mjs +0 -18
- package/esm2022/configurable-query/controls/abstract.control.mjs +0 -17
- package/esm2022/configurable-query/controls/date-picker.control.mjs +0 -36
- package/esm2022/configurable-query/controls/input.control.mjs +0 -35
- package/esm2022/configurable-query/controls/range-picker.control.mjs +0 -34
- package/esm2022/configurable-query/controls/select.control.mjs +0 -50
- package/esm2022/configurable-query/controls/template.control.mjs +0 -32
- package/esm2022/configurable-query/ng-zorro-antd-extension-configurable-query.mjs +0 -5
- package/esm2022/configurable-query/public-api.mjs +0 -7
- package/esm2022/configurable-query/query-config.service.mjs +0 -68
- package/esm2022/configurable-query/type.mjs +0 -2
- package/esm2022/core/config/config.mjs +0 -6
- package/esm2022/core/config/config.service.mjs +0 -84
- package/esm2022/core/config/ng-zorro-antd-extension-core-config.mjs +0 -5
- package/esm2022/core/config/public-api.mjs +0 -3
- package/esm2022/dynamic-form/ng-zorro-antd-extension-dynamic-form.mjs +0 -5
- package/esm2022/dynamic-form/nzx-dynamic-form.module.mjs +0 -23
- package/esm2022/dynamic-form/public-api.mjs +0 -6
- package/esm2022/editable/editable.component.mjs +0 -140
- package/esm2022/editable/editable.module.mjs +0 -36
- package/esm2022/editable/ng-zorro-antd-extension-editable.mjs +0 -5
- package/esm2022/editable/public-api.mjs +0 -3
- package/esm2022/i18n/languages/en_US.mjs +0 -10
- package/esm2022/i18n/languages/zh_CN.mjs +0 -10
- package/esm2022/i18n/ng-zorro-antd-extension-i18n.mjs +0 -5
- package/esm2022/i18n/nz-i18n.interface.mjs +0 -2
- package/esm2022/i18n/public-api.mjs +0 -4
- package/esm2022/jigsaw/jigsaw.component.mjs +0 -257
- package/esm2022/jigsaw/jigsaw.module.mjs +0 -19
- package/esm2022/jigsaw/ng-zorro-antd-extension-jigsaw.mjs +0 -5
- package/esm2022/jigsaw/public-api.mjs +0 -7
- package/esm2022/ng-zorro-antd-extension.mjs +0 -5
- package/esm2022/pipes/map.pipe.mjs +0 -24
- package/esm2022/pipes/ng-zorro-antd-extension-pipes.mjs +0 -5
- package/esm2022/pipes/pipes.module.mjs +0 -50
- package/esm2022/pipes/public-api.mjs +0 -13
- package/esm2022/pipes/safe-html.pipe.mjs +0 -20
- package/esm2022/pipes/safe-null.pipe.mjs +0 -30
- package/esm2022/pipes/safe-resource-url.pipe.mjs +0 -20
- package/esm2022/pipes/safe-script.pipe.mjs +0 -20
- package/esm2022/pipes/safe-style.pipe.mjs +0 -20
- package/esm2022/pipes/safe-url.pipe.mjs +0 -34
- package/esm2022/print/ng-zorro-antd-extension-print.mjs +0 -5
- package/esm2022/print/nzx-print-content.directive.mjs +0 -22
- package/esm2022/print/nzx-print-v.component.mjs +0 -301
- package/esm2022/print/nzx-print.component.mjs +0 -190
- package/esm2022/print/nzx-print.directive.mjs +0 -92
- package/esm2022/print/nzx-print.module.mjs +0 -39
- package/esm2022/print/public-api.mjs +0 -10
- package/esm2022/public-api.mjs +0 -5
- package/esm2022/simple-table/directive/expand.directive.mjs +0 -16
- package/esm2022/simple-table/directive/td.directive.mjs +0 -18
- package/esm2022/simple-table/directive/th.directive.mjs +0 -19
- package/esm2022/simple-table/ng-zorro-antd-extension-simple-table.mjs +0 -5
- package/esm2022/simple-table/public-api.mjs +0 -10
- package/esm2022/simple-table/simple-table.component.mjs +0 -229
- package/esm2022/simple-table/simple-table.module.mjs +0 -38
- package/esm2022/table-adaptor/ng-zorro-antd-extension-table-adaptor.mjs +0 -5
- package/esm2022/table-adaptor/page-table-basic.mjs +0 -22
- package/esm2022/table-adaptor/public-api.mjs +0 -8
- package/esm2022/table-adaptor/table-adaptor.directive.mjs +0 -173
- package/esm2022/table-adaptor/table-adaptor.module.mjs +0 -17
- package/esm2022/table-form/directive/table-expand.directive.mjs +0 -18
- package/esm2022/table-form/directive/table-td.directive.mjs +0 -18
- package/esm2022/table-form/directive/table-th.directive.mjs +0 -20
- package/esm2022/table-form/ng-zorro-antd-extension-table-form.mjs +0 -5
- package/esm2022/table-form/public-api.mjs +0 -11
- package/esm2022/table-form/table-form.component.mjs +0 -370
- package/esm2022/table-form/table-form.module.mjs +0 -71
- package/esm2022/table-form/type.mjs +0 -2
- package/esm2022/table-select/abstract-table-select.mjs +0 -140
- package/esm2022/table-select/key.directive.mjs +0 -21
- package/esm2022/table-select/ng-zorro-antd-extension-table-select.mjs +0 -5
- package/esm2022/table-select/nzx-table-select.module.mjs +0 -50
- package/esm2022/table-select/page-table-select/page-table-select.component.mjs +0 -58
- package/esm2022/table-select/public-api.mjs +0 -11
- package/esm2022/table-select/table-select/table-select.component.mjs +0 -39
- package/esm2022/table-select/type.mjs +0 -2
- package/esm2022/timer-button/ng-zorro-antd-extension-timer-button.mjs +0 -5
- package/esm2022/timer-button/public-api.mjs +0 -7
- package/esm2022/timer-button/timer-button.directive.mjs +0 -69
- package/esm2022/timer-button/timer-button.module.mjs +0 -18
- package/esm2022/trim/ng-zorro-antd-extension-trim.mjs +0 -5
- package/esm2022/trim/public-api.mjs +0 -7
- package/esm2022/trim/trim.directive.mjs +0 -123
- package/esm2022/trim/trim.module.mjs +0 -17
- package/esm2022/types/common.mjs +0 -2
- package/esm2022/types/ng-zorro-antd-extension-types.mjs +0 -5
- package/esm2022/types/public-api.mjs +0 -6
- package/esm2022/util/lib/cloneDeep.mjs +0 -49
- package/esm2022/util/lib/fileUtil.mjs +0 -51
- package/esm2022/util/lib/getElementByTag.mjs +0 -38
- package/esm2022/util/lib/isArray.mjs +0 -17
- package/esm2022/util/lib/isDate.mjs +0 -4
- package/esm2022/util/lib/isEmpty.mjs +0 -19
- package/esm2022/util/lib/isNumber.mjs +0 -12
- package/esm2022/util/lib/isObject.mjs +0 -10
- package/esm2022/util/lib/isString.mjs +0 -11
- package/esm2022/util/lib/toNumber.mjs +0 -18
- package/esm2022/util/lib/toString.mjs +0 -16
- package/esm2022/util/lib/trimObject.mjs +0 -15
- package/esm2022/util/lib/updateControlStatus.mjs +0 -47
- package/esm2022/util/ng-zorro-antd-extension-util.mjs +0 -5
- package/esm2022/util/public-api.mjs +0 -18
- package/esm2022/wang-editor/ng-zorro-antd-extension-wang-editor.mjs +0 -5
- package/esm2022/wang-editor/public-api.mjs +0 -9
- package/esm2022/wang-editor/type.mjs +0 -2
- package/esm2022/wang-editor/wang-editor.component.mjs +0 -235
- package/esm2022/wang-editor/wang-editor.module.mjs +0 -19
- package/esm2022/wang-editor/wang-toolbar.component.mjs +0 -57
|
@@ -1,16 +1,15 @@
|
|
|
1
|
+
import { NgIf } from '@angular/common';
|
|
1
2
|
import * as i0 from '@angular/core';
|
|
2
3
|
import { EventEmitter, ViewContainerRef, Component, ChangeDetectionStrategy, Input, Output, HostBinding, ViewChild, HostListener, NgModule } from '@angular/core';
|
|
3
|
-
import
|
|
4
|
-
import * as i1 from '@angular/common';
|
|
5
|
-
import { CommonModule } from '@angular/common';
|
|
6
|
-
import * as i2 from '@angular/forms';
|
|
4
|
+
import * as i1 from '@angular/forms';
|
|
7
5
|
import { FormsModule } from '@angular/forms';
|
|
8
|
-
import
|
|
6
|
+
import { isString, isNumber, toNumber, toString } from 'ng-zorro-antd-extension/util';
|
|
7
|
+
import * as i4 from 'ng-zorro-antd/core/trans-button';
|
|
8
|
+
import { NzTransButtonModule } from 'ng-zorro-antd/core/trans-button';
|
|
9
|
+
import * as i2 from 'ng-zorro-antd/icon';
|
|
9
10
|
import { NzIconModule } from 'ng-zorro-antd/icon';
|
|
10
|
-
import * as
|
|
11
|
+
import * as i3 from 'ng-zorro-antd/input';
|
|
11
12
|
import { NzInputModule } from 'ng-zorro-antd/input';
|
|
12
|
-
import * as i5 from 'ng-zorro-antd/core/trans-button';
|
|
13
|
-
import { NzTransButtonModule } from 'ng-zorro-antd/core/trans-button';
|
|
14
13
|
|
|
15
14
|
/* eslint-disable @angular-eslint/directive-class-suffix */
|
|
16
15
|
/* eslint-disable @angular-eslint/directive-selector */
|
|
@@ -63,8 +62,8 @@ class NzxEditableComponent {
|
|
|
63
62
|
}
|
|
64
63
|
this.nzxContentChange.emit(result);
|
|
65
64
|
}
|
|
66
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
67
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
65
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: NzxEditableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
66
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.2", type: NzxEditableComponent, isStandalone: true, 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
67
|
<ng-container #detailContainer> </ng-container>
|
|
69
68
|
|
|
70
69
|
<ng-template #detailTemplate>
|
|
@@ -89,9 +88,9 @@ class NzxEditableComponent {
|
|
|
89
88
|
(blur)="blur()"
|
|
90
89
|
></textarea>
|
|
91
90
|
</ng-template>
|
|
92
|
-
`, isInline: true, styles: [".nzx-editable-cell{cursor:pointer}\n"], dependencies: [{ kind: "directive", type:
|
|
91
|
+
`, isInline: true, styles: [".nzx-editable-cell{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NzIconModule }, { kind: "directive", type: i2.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "ngmodule", type: NzInputModule }, { kind: "directive", type: i3.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStepperless", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "directive", type: i3.NzAutosizeDirective, selector: "textarea[nzAutosize]", inputs: ["nzAutosize"], exportAs: ["nzAutosize"] }, { kind: "ngmodule", type: NzTransButtonModule }, { kind: "directive", type: i4.NzTransButtonDirective, selector: "button[nz-trans-button]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
93
92
|
}
|
|
94
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
93
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: NzxEditableComponent, decorators: [{
|
|
95
94
|
type: Component,
|
|
96
95
|
args: [{ selector: '[nzx-editable]', template: `
|
|
97
96
|
<ng-container #detailContainer> </ng-container>
|
|
@@ -118,7 +117,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
118
117
|
(blur)="blur()"
|
|
119
118
|
></textarea>
|
|
120
119
|
</ng-template>
|
|
121
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'NzxEditable',
|
|
120
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'NzxEditable', imports: [
|
|
121
|
+
NgIf,
|
|
122
|
+
FormsModule,
|
|
123
|
+
NzIconModule,
|
|
124
|
+
NzInputModule,
|
|
125
|
+
NzTransButtonModule,
|
|
126
|
+
], styles: [".nzx-editable-cell{cursor:pointer}\n"] }]
|
|
122
127
|
}], propDecorators: { nzxContent: [{
|
|
123
128
|
type: Input
|
|
124
129
|
}], nzxShowBtn: [{
|
|
@@ -145,29 +150,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
145
150
|
}] } });
|
|
146
151
|
|
|
147
152
|
class NzxEditableModule {
|
|
148
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
149
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
150
|
-
|
|
151
|
-
NzIconModule,
|
|
152
|
-
NzInputModule,
|
|
153
|
-
NzTransButtonModule], exports: [NzxEditableComponent] }); }
|
|
154
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NzxEditableModule, imports: [CommonModule,
|
|
155
|
-
FormsModule,
|
|
156
|
-
NzIconModule,
|
|
157
|
-
NzInputModule,
|
|
158
|
-
NzTransButtonModule] }); }
|
|
153
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: NzxEditableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
154
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.2", ngImport: i0, type: NzxEditableModule, imports: [NzxEditableComponent], exports: [NzxEditableComponent] }); }
|
|
155
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: NzxEditableModule, imports: [NzxEditableComponent] }); }
|
|
159
156
|
}
|
|
160
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
157
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: NzxEditableModule, decorators: [{
|
|
161
158
|
type: NgModule,
|
|
162
159
|
args: [{
|
|
163
|
-
|
|
164
|
-
imports: [
|
|
165
|
-
CommonModule,
|
|
166
|
-
FormsModule,
|
|
167
|
-
NzIconModule,
|
|
168
|
-
NzInputModule,
|
|
169
|
-
NzTransButtonModule,
|
|
170
|
-
],
|
|
160
|
+
imports: [NzxEditableComponent],
|
|
171
161
|
exports: [NzxEditableComponent],
|
|
172
162
|
}]
|
|
173
163
|
}] });
|
|
@@ -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 {
|
|
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 { NgIf } from '@angular/common';\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 { FormsModule } from '@angular/forms';\nimport {\n isNumber,\n isString,\n toNumber,\n toString,\n} from 'ng-zorro-antd-extension/util';\nimport { NzTransButtonModule } from 'ng-zorro-antd/core/trans-button';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzInputModule } from 'ng-zorro-antd/input';\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 imports: [\n NgIf,\n FormsModule,\n NzIconModule,\n NzInputModule,\n NzTransButtonModule,\n ],\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 { NgModule } from '@angular/core';\nimport { NzxEditableComponent } from './editable.component';\n@NgModule({\n imports: [NzxEditableComponent],\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,12 +219,12 @@ 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: "
|
|
223
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
222
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: NzxJigsawComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
223
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.2", type: NzxJigsawComponent, isStandalone: true, 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: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: NzIconModule }, { kind: "directive", type: i2.NzIconDirective, selector: "nz-icon,[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: "
|
|
225
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: NzxJigsawComponent, decorators: [{
|
|
226
226
|
type: Component,
|
|
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"] }]
|
|
227
|
+
args: [{ selector: 'nzx-jigsaw', changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, NzIconModule], 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: [{
|
|
229
229
|
type: Input
|
|
230
230
|
}], height: [{
|
|
@@ -259,15 +259,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
259
259
|
}] } });
|
|
260
260
|
|
|
261
261
|
class NzxJigsawModule {
|
|
262
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
263
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
264
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
262
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: NzxJigsawModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
263
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.2", ngImport: i0, type: NzxJigsawModule, imports: [NzxJigsawComponent], exports: [NzxJigsawComponent] }); }
|
|
264
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: NzxJigsawModule, imports: [NzxJigsawComponent] }); }
|
|
265
265
|
}
|
|
266
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
266
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: NzxJigsawModule, decorators: [{
|
|
267
267
|
type: NgModule,
|
|
268
268
|
args: [{
|
|
269
|
-
imports: [
|
|
270
|
-
declarations: [NzxJigsawComponent],
|
|
269
|
+
imports: [NzxJigsawComponent],
|
|
271
270
|
exports: [NzxJigsawComponent],
|
|
272
271
|
}]
|
|
273
272
|
}] });
|
|
@@ -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 { CommonModule } from '@angular/common';\r\nimport {\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\nimport { NzIconModule } from 'ng-zorro-antd/icon';\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 imports: [CommonModule, NzIconModule],\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\n\r\n@NgModule({\r\n imports: [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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"}
|
|
@@ -16,10 +16,10 @@ class NzxMapPipe {
|
|
|
16
16
|
}
|
|
17
17
|
return value;
|
|
18
18
|
}
|
|
19
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
20
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: NzxMapPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
20
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.1.2", ngImport: i0, type: NzxMapPipe, isStandalone: true, name: "nzxMap" }); }
|
|
21
21
|
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: NzxMapPipe, decorators: [{
|
|
23
23
|
type: Pipe,
|
|
24
24
|
args: [{
|
|
25
25
|
name: 'nzxMap',
|
|
@@ -39,13 +39,13 @@ class NzxSafeNullPipe {
|
|
|
39
39
|
}
|
|
40
40
|
return value;
|
|
41
41
|
}
|
|
42
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
43
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: NzxSafeNullPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
43
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.1.2", ngImport: i0, type: NzxSafeNullPipe, isStandalone: true, name: "nzxSafeNull" }); }
|
|
44
44
|
}
|
|
45
45
|
__decorate([
|
|
46
46
|
ExtensionWithConfig()
|
|
47
47
|
], NzxSafeNullPipe.prototype, "placeholder", void 0);
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: NzxSafeNullPipe, decorators: [{
|
|
49
49
|
type: Pipe,
|
|
50
50
|
args: [{
|
|
51
51
|
name: 'nzxSafeNull',
|
|
@@ -68,13 +68,13 @@ class NzxSafeUrlPipe {
|
|
|
68
68
|
}
|
|
69
69
|
return value;
|
|
70
70
|
}
|
|
71
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
72
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
71
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: NzxSafeUrlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
72
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.1.2", ngImport: i0, type: NzxSafeUrlPipe, isStandalone: true, name: "nzxSafeUrl" }); }
|
|
73
73
|
}
|
|
74
74
|
__decorate([
|
|
75
75
|
ExtensionWithConfig()
|
|
76
76
|
], NzxSafeUrlPipe.prototype, "protocol", void 0);
|
|
77
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: NzxSafeUrlPipe, decorators: [{
|
|
78
78
|
type: Pipe,
|
|
79
79
|
args: [{
|
|
80
80
|
name: 'nzxSafeUrl',
|
|
@@ -88,10 +88,10 @@ class NzxSafeHtmlPipe {
|
|
|
88
88
|
transform(value) {
|
|
89
89
|
return this.domSanitizer.bypassSecurityTrustHtml(value);
|
|
90
90
|
}
|
|
91
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
92
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
91
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: NzxSafeHtmlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
92
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.1.2", ngImport: i0, type: NzxSafeHtmlPipe, isStandalone: true, name: "nzxSafeHtml" }); }
|
|
93
93
|
}
|
|
94
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
94
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: NzxSafeHtmlPipe, decorators: [{
|
|
95
95
|
type: Pipe,
|
|
96
96
|
args: [{
|
|
97
97
|
name: 'nzxSafeHtml',
|
|
@@ -105,10 +105,10 @@ class NzxSafeResourceUrlPipe {
|
|
|
105
105
|
transform(value) {
|
|
106
106
|
return this.domSanitizer.bypassSecurityTrustResourceUrl(value);
|
|
107
107
|
}
|
|
108
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
109
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
108
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: NzxSafeResourceUrlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
109
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.1.2", ngImport: i0, type: NzxSafeResourceUrlPipe, isStandalone: true, name: "nzxSafeResourceUrl" }); }
|
|
110
110
|
}
|
|
111
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
111
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: NzxSafeResourceUrlPipe, decorators: [{
|
|
112
112
|
type: Pipe,
|
|
113
113
|
args: [{
|
|
114
114
|
name: 'nzxSafeResourceUrl',
|
|
@@ -122,10 +122,10 @@ class NzxSafeScriptPipe {
|
|
|
122
122
|
transform(value) {
|
|
123
123
|
return this.domSanitizer.bypassSecurityTrustScript(value);
|
|
124
124
|
}
|
|
125
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
126
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
125
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: NzxSafeScriptPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
126
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.1.2", ngImport: i0, type: NzxSafeScriptPipe, isStandalone: true, name: "nzxSafeScript" }); }
|
|
127
127
|
}
|
|
128
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
128
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: NzxSafeScriptPipe, decorators: [{
|
|
129
129
|
type: Pipe,
|
|
130
130
|
args: [{
|
|
131
131
|
name: 'nzxSafeScript',
|
|
@@ -139,10 +139,10 @@ class NzxSafeStylePipe {
|
|
|
139
139
|
transform(value) {
|
|
140
140
|
return this.domSanitizer.bypassSecurityTrustStyle(value);
|
|
141
141
|
}
|
|
142
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
143
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
142
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: NzxSafeStylePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
143
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.1.2", ngImport: i0, type: NzxSafeStylePipe, isStandalone: true, name: "nzxSafeStyle" }); }
|
|
144
144
|
}
|
|
145
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
145
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: NzxSafeStylePipe, decorators: [{
|
|
146
146
|
type: Pipe,
|
|
147
147
|
args: [{
|
|
148
148
|
name: 'nzxSafeStyle',
|
|
@@ -150,8 +150,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
150
150
|
}] });
|
|
151
151
|
|
|
152
152
|
class NzxPipesModule {
|
|
153
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
154
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
153
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: NzxPipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
154
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.2", ngImport: i0, type: NzxPipesModule, imports: [NzxMapPipe,
|
|
155
155
|
NzxSafeNullPipe,
|
|
156
156
|
NzxSafeUrlPipe,
|
|
157
157
|
NzxSafeStylePipe,
|
|
@@ -164,12 +164,12 @@ class NzxPipesModule {
|
|
|
164
164
|
NzxSafeHtmlPipe,
|
|
165
165
|
NzxSafeResourceUrlPipe,
|
|
166
166
|
NzxSafeScriptPipe] }); }
|
|
167
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
167
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: NzxPipesModule }); }
|
|
168
168
|
}
|
|
169
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
169
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: NzxPipesModule, decorators: [{
|
|
170
170
|
type: NgModule,
|
|
171
171
|
args: [{
|
|
172
|
-
|
|
172
|
+
imports: [
|
|
173
173
|
NzxMapPipe,
|
|
174
174
|
NzxSafeNullPipe,
|
|
175
175
|
NzxSafeUrlPipe,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-zorro-antd-extension-pipes.mjs","sources":["../../../components/pipes/map.pipe.ts","../../../components/pipes/safe-null.pipe.ts","../../../components/pipes/safe-url.pipe.ts","../../../components/pipes/safe-html.pipe.ts","../../../components/pipes/safe-resource-url.pipe.ts","../../../components/pipes/safe-script.pipe.ts","../../../components/pipes/safe-style.pipe.ts","../../../components/pipes/pipes.module.ts","../../../components/pipes/public-api.ts","../../../components/pipes/ng-zorro-antd-extension-pipes.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'nzxMap',\n})\nexport class NzxMapPipe implements PipeTransform {\n transform(\n value: string | number | any[],\n data?: { [key: string | number]: any } | null,\n separator = ','\n ): any {\n if (value !== null && value !== void 0) {\n if (Array.isArray(value)) {\n return value.join(separator);\n }\n if (data) {\n return data[value];\n }\n }\n return value;\n }\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport {\n ExtensionWithConfig,\n NzxConfigKey,\n NzxConfigService,\n} from 'ng-zorro-antd-extension/core/config';\n\nconst NZ_CONFIG_MODULE_NAME: NzxConfigKey = 'nzxSafeNull';\n\n@Pipe({\n name: 'nzxSafeNull',\n})\nexport class NzxSafeNullPipe implements PipeTransform {\n readonly _nzModuleName: NzxConfigKey = NZ_CONFIG_MODULE_NAME;\n @ExtensionWithConfig() placeholder: string = '--';\n\n private nzxConfigService: NzxConfigService = inject(NzxConfigService);\n\n transform(value: any, placeholder = this.placeholder): string {\n if (value === null || value === void 0 || value === '') {\n return placeholder;\n }\n return value;\n }\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\nimport {\n ExtensionWithConfig,\n NzxConfigKey,\n NzxConfigService,\n} from 'ng-zorro-antd-extension/core/config';\n\nconst NZ_CONFIG_MODULE_NAME: NzxConfigKey = 'nzxSafeUrl';\n\n@Pipe({\n name: 'nzxSafeUrl',\n})\nexport class NzxSafeUrlPipe implements PipeTransform {\n readonly _nzModuleName: NzxConfigKey = NZ_CONFIG_MODULE_NAME;\n @ExtensionWithConfig() protocol: 'http' | 'https' | undefined;\n\n private nzxConfigService: NzxConfigService = inject(NzxConfigService);\n private domSanitizer: DomSanitizer = inject(DomSanitizer);\n\n transform(value: string, protocol = this.protocol): SafeUrl {\n if (/^(http|https|ftp):\\/\\/[^\\s/$.?#].[^\\s]*$/.test(value)) {\n if (protocol) {\n value = value.replace(/^(http|https)/, protocol);\n }\n return this.domSanitizer.bypassSecurityTrustUrl(value);\n }\n\n return value;\n }\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({\n name: 'nzxSafeHtml',\n})\nexport class NzxSafeHtmlPipe implements PipeTransform {\n private domSanitizer: DomSanitizer = inject(DomSanitizer);\n\n transform(value: string): SafeHtml {\n return this.domSanitizer.bypassSecurityTrustHtml(value);\n }\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({\n name: 'nzxSafeResourceUrl',\n})\nexport class NzxSafeResourceUrlPipe implements PipeTransform {\n private domSanitizer: DomSanitizer = inject(DomSanitizer);\n\n transform(value: string) {\n return this.domSanitizer.bypassSecurityTrustResourceUrl(value);\n }\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({\n name: 'nzxSafeScript',\n})\nexport class NzxSafeScriptPipe implements PipeTransform {\n private domSanitizer: DomSanitizer = inject(DomSanitizer);\n\n transform(value: string) {\n return this.domSanitizer.bypassSecurityTrustScript(value);\n }\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({\n name: 'nzxSafeStyle',\n})\nexport class NzxSafeStylePipe implements PipeTransform {\n private domSanitizer: DomSanitizer = inject(DomSanitizer);\n\n transform(value: string) {\n return this.domSanitizer.bypassSecurityTrustStyle(value);\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { NzxMapPipe } from './map.pipe';\nimport { NzxSafeNullPipe } from './safe-null.pipe';\nimport { NzxSafeUrlPipe } from './safe-url.pipe';\nimport { NzxSafeStylePipe } from './safe-style.pipe';\nimport { NzxSafeHtmlPipe } from './safe-html.pipe';\nimport { NzxSafeResourceUrlPipe } from './safe-resource-url.pipe';\nimport { NzxSafeScriptPipe } from './safe-script.pipe';\n\n@NgModule({\n declarations: [\n NzxMapPipe,\n NzxSafeNullPipe,\n NzxSafeUrlPipe,\n NzxSafeStylePipe,\n NzxSafeHtmlPipe,\n NzxSafeResourceUrlPipe,\n NzxSafeScriptPipe,\n ],\n exports: [\n NzxMapPipe,\n NzxSafeNullPipe,\n NzxSafeUrlPipe,\n NzxSafeStylePipe,\n NzxSafeHtmlPipe,\n NzxSafeResourceUrlPipe,\n NzxSafeScriptPipe,\n ],\n})\nexport class NzxPipesModule {}\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 './map.pipe';\nexport * from './safe-null.pipe';\nexport * from './safe-url.pipe';\nexport * from './safe-html.pipe';\nexport * from './safe-resource-url.pipe';\nexport * from './safe-script.pipe';\nexport * from './safe-style.pipe';\nexport * from './pipes.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["NZ_CONFIG_MODULE_NAME"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-zorro-antd-extension-pipes.mjs","sources":["../../../components/pipes/map.pipe.ts","../../../components/pipes/safe-null.pipe.ts","../../../components/pipes/safe-url.pipe.ts","../../../components/pipes/safe-html.pipe.ts","../../../components/pipes/safe-resource-url.pipe.ts","../../../components/pipes/safe-script.pipe.ts","../../../components/pipes/safe-style.pipe.ts","../../../components/pipes/pipes.module.ts","../../../components/pipes/public-api.ts","../../../components/pipes/ng-zorro-antd-extension-pipes.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'nzxMap',\n})\nexport class NzxMapPipe implements PipeTransform {\n transform(\n value: string | number | any[],\n data?: { [key: string | number]: any } | null,\n separator = ','\n ): any {\n if (value !== null && value !== void 0) {\n if (Array.isArray(value)) {\n return value.join(separator);\n }\n if (data) {\n return data[value];\n }\n }\n return value;\n }\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport {\n ExtensionWithConfig,\n NzxConfigKey,\n NzxConfigService,\n} from 'ng-zorro-antd-extension/core/config';\n\nconst NZ_CONFIG_MODULE_NAME: NzxConfigKey = 'nzxSafeNull';\n\n@Pipe({\n name: 'nzxSafeNull',\n})\nexport class NzxSafeNullPipe implements PipeTransform {\n readonly _nzModuleName: NzxConfigKey = NZ_CONFIG_MODULE_NAME;\n @ExtensionWithConfig() placeholder: string = '--';\n\n private nzxConfigService: NzxConfigService = inject(NzxConfigService);\n\n transform(value: any, placeholder = this.placeholder): string {\n if (value === null || value === void 0 || value === '') {\n return placeholder;\n }\n return value;\n }\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\nimport {\n ExtensionWithConfig,\n NzxConfigKey,\n NzxConfigService,\n} from 'ng-zorro-antd-extension/core/config';\n\nconst NZ_CONFIG_MODULE_NAME: NzxConfigKey = 'nzxSafeUrl';\n\n@Pipe({\n name: 'nzxSafeUrl',\n})\nexport class NzxSafeUrlPipe implements PipeTransform {\n readonly _nzModuleName: NzxConfigKey = NZ_CONFIG_MODULE_NAME;\n @ExtensionWithConfig() protocol: 'http' | 'https' | undefined;\n\n private nzxConfigService: NzxConfigService = inject(NzxConfigService);\n private domSanitizer: DomSanitizer = inject(DomSanitizer);\n\n transform(value: string, protocol = this.protocol): SafeUrl {\n if (/^(http|https|ftp):\\/\\/[^\\s/$.?#].[^\\s]*$/.test(value)) {\n if (protocol) {\n value = value.replace(/^(http|https)/, protocol);\n }\n return this.domSanitizer.bypassSecurityTrustUrl(value);\n }\n\n return value;\n }\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({\n name: 'nzxSafeHtml',\n})\nexport class NzxSafeHtmlPipe implements PipeTransform {\n private domSanitizer: DomSanitizer = inject(DomSanitizer);\n\n transform(value: string): SafeHtml {\n return this.domSanitizer.bypassSecurityTrustHtml(value);\n }\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({\n name: 'nzxSafeResourceUrl',\n})\nexport class NzxSafeResourceUrlPipe implements PipeTransform {\n private domSanitizer: DomSanitizer = inject(DomSanitizer);\n\n transform(value: string) {\n return this.domSanitizer.bypassSecurityTrustResourceUrl(value);\n }\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({\n name: 'nzxSafeScript',\n})\nexport class NzxSafeScriptPipe implements PipeTransform {\n private domSanitizer: DomSanitizer = inject(DomSanitizer);\n\n transform(value: string) {\n return this.domSanitizer.bypassSecurityTrustScript(value);\n }\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({\n name: 'nzxSafeStyle',\n})\nexport class NzxSafeStylePipe implements PipeTransform {\n private domSanitizer: DomSanitizer = inject(DomSanitizer);\n\n transform(value: string) {\n return this.domSanitizer.bypassSecurityTrustStyle(value);\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { NzxMapPipe } from './map.pipe';\nimport { NzxSafeNullPipe } from './safe-null.pipe';\nimport { NzxSafeUrlPipe } from './safe-url.pipe';\nimport { NzxSafeStylePipe } from './safe-style.pipe';\nimport { NzxSafeHtmlPipe } from './safe-html.pipe';\nimport { NzxSafeResourceUrlPipe } from './safe-resource-url.pipe';\nimport { NzxSafeScriptPipe } from './safe-script.pipe';\n\n@NgModule({\n imports: [\n NzxMapPipe,\n NzxSafeNullPipe,\n NzxSafeUrlPipe,\n NzxSafeStylePipe,\n NzxSafeHtmlPipe,\n NzxSafeResourceUrlPipe,\n NzxSafeScriptPipe,\n ],\n exports: [\n NzxMapPipe,\n NzxSafeNullPipe,\n NzxSafeUrlPipe,\n NzxSafeStylePipe,\n NzxSafeHtmlPipe,\n NzxSafeResourceUrlPipe,\n NzxSafeScriptPipe,\n ],\n})\nexport class NzxPipesModule {}\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 './map.pipe';\nexport * from './safe-null.pipe';\nexport * from './safe-url.pipe';\nexport * from './safe-html.pipe';\nexport * from './safe-resource-url.pipe';\nexport * from './safe-script.pipe';\nexport * from './safe-style.pipe';\nexport * from './pipes.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["NZ_CONFIG_MODULE_NAME"],"mappings":"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"}
|