ng-zorro-antd-extension 17.2.0 → 17.3.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.
@@ -103,7 +103,7 @@ export class NzxPrintComponent {
103
103
  Paged.registerHandlers(RepeatingTableHeaders);
104
104
  </script>
105
105
  `;
106
- const html = `
106
+ let html = `
107
107
  <!DOCTYPE html>
108
108
  <html>
109
109
  <head>
@@ -147,22 +147,23 @@ export class NzxPrintComponent {
147
147
  </body>
148
148
  </html>
149
149
  `;
150
+ html = html.replace(/<!---->/g, ' ');
150
151
  return html;
151
152
  }
152
153
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NzxPrintComponent, deps: [{ token: i1.Platform }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
153
154
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.3", type: NzxPrintComponent, selector: "nzx-print", inputs: { printTitle: "printTitle", width: "width", height: "height", enablePreview: "enablePreview", identifierStr: "identifierStr", pagedCDN: "pagedCDN" }, queries: [{ propertyName: "_printEl", first: true, predicate: NzxPrintContentDirective, descendants: true, read: ElementRef, static: true }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["iframeContainer"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: `
154
- <ng-content select="[nzxPrintHeader]"></ng-content>
155
- <div #iframeContainer></div>
156
- `, isInline: true }); }
155
+ <ng-content select="[nzxPrintHeader]"></ng-content>
156
+ <div #iframeContainer></div>
157
+ `, isInline: true }); }
157
158
  }
158
159
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NzxPrintComponent, decorators: [{
159
160
  type: Component,
160
161
  args: [{
161
162
  selector: 'nzx-print',
162
163
  template: `
163
- <ng-content select="[nzxPrintHeader]"></ng-content>
164
- <div #iframeContainer></div>
165
- `,
164
+ <ng-content select="[nzxPrintHeader]"></ng-content>
165
+ <div #iframeContainer></div>
166
+ `,
166
167
  }]
167
168
  }], ctorParameters: () => [{ type: i1.Platform }, { type: Document, decorators: [{
168
169
  type: Inject,
@@ -186,4 +187,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
186
187
  type: ContentChild,
187
188
  args: [NzxPrintContentDirective, { read: ElementRef, static: true }]
188
189
  }] } });
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnp4LXByaW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbXBvbmVudHMvcHJpbnQvbnp4LXByaW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUVOLFNBQVMsRUFDVCxZQUFZLEVBRVosVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBRUwsU0FBUyxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBRXpFOztHQUVHO0FBUUgsTUFBTSxPQUFPLGlCQUFpQjtJQTBCN0IsWUFDUyxRQUFrQixFQUNBLFFBQWtCO1FBRHBDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDQSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBM0JwQyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQzVCOztXQUVHO1FBQ00sVUFBSyxHQUFHLEdBQUcsQ0FBQztRQUNaLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFDZCxrQkFBYSxHQUFHLElBQUksQ0FBQztRQUNyQixrQkFBYSxHQUFzQixFQUFFLENBQUM7UUFDdEMsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQVFmLFdBQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztRQUU3QixlQUFVLEdBQUcsR0FBRyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDbEUsQ0FBQyxDQUFDO1FBQ00sZ0JBQVcsR0FBRyxHQUFHLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFjLENBQUMsTUFBTSxDQUFD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Ozs7Ozs7Ozs7Ozs7Ozs7T0F3QjdCLENBQUM7UUFFTixNQUFNLElBQUksR0FBRzs7Ozs7bUJBS0ksSUFBSSxDQUFDLFVBQVU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Y0ErQnBCLE1BQU07Y0FDTixPQUFPOzs7Y0FHUCxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxTQUFTOzs7T0FHNUMsQ0FBQztRQUVOLE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQzs4R0F0S1csaUJBQWlCLDBDQTRCcEIsUUFBUTtrR0E1QkwsaUJBQWlCLHFQQWNmLHdCQUF3QiwyQkFBVSxVQUFVLHVJQUhwQixVQUFVLDJDQWhCdEM7OztFQUdUOzsyRkFFVyxpQkFBaUI7a0JBUDdCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFFBQVEsRUFBRTs7O0VBR1Q7aUJBQ0Q7OzBCQTZCRSxNQUFNOzJCQUFDLFFBQVE7eUNBM0JSLFVBQVU7c0JBQWxCLEtBQUs7Z0JBSUcsS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFHRSxZQUFZO3NCQURuQixTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUl4RCxRQUFRO3NCQURmLFlBQVk7dUJBQUMsd0JBQXdCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuXHRBZnRlclZpZXdJbml0LFxuXHRDb21wb25lbnQsXG5cdENvbnRlbnRDaGlsZCxcblx0RGlyZWN0aXZlLFxuXHRFbGVtZW50UmVmLFxuXHRJbmplY3QsXG5cdElucHV0LFxuXHRPbkluaXQsXG5cdFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZXRFbGVtZW50QnlUYWcgfSBmcm9tICduZy16b3Jyby1hbnRkLWV4dGVuc2lvbi91dGlsJztcbmltcG9ydCB7IE56eFByaW50Q29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4vbnp4LXByaW50LWNvbnRlbnQuZGlyZWN0aXZlJztcblxuLyoqXG4gKiDkvb/nlKhQYWdlZC5qc+aJk+WNsFxuICovXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduengtcHJpbnQnLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZy1jb250ZW50IHNlbGVjdD1cIltuenhQcmludEhlYWRlcl1cIj48L25nLWNvbnRlbnQ+XG5cdFx0PGRpdiAjaWZyYW1lQ29udGFpbmVyPjwvZGl2PlxuXHRgLFxufSlcbmV4cG9ydCBjbGFzcyBOenhQcmludENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cdEBJbnB1dCgpIHByaW50VGl0bGUgPSAncGRmJztcblx0LyoqXG5cdCAqIGE0IDc5NHB4MTEyM3B4XG5cdCAqL1xuXHRASW5wdXQoKSB3aWR0aCA9IDgxNDtcblx0QElucHV0KCkgaGVpZ2h0ID0gMTE0Mztcblx0QElucHV0KCkgZW5hYmxlUHJldmlldyA9IHRydWU7XG5cdEBJbnB1dCgpIGlkZW50aWZpZXJTdHI6IHN0cmluZyB8IHN0cmluZ1tdID0gJyc7XG5cdEBJbnB1dCgpIHBhZ2VkQ0ROID0gJyc7XG5cblx0QFZpZXdDaGlsZCgnaWZyYW1lQ29udGFpbmVyJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSlcblx0cHJpdmF0ZSBjb250YWluZXJSZWYhOiBFbGVtZW50UmVmO1xuXG5cdEBDb250ZW50Q2hpbGQoTnp4UHJpbnRDb250ZW50RGlyZWN0aXZlLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuXHRwcml2YXRlIF9wcmludEVsITogRWxlbWVudFJlZjtcblx0cHJpdmF0ZSBpZnJhbWVFbCE6IEhUTUxJRnJhbWVFbGVtZW50O1xuXHRwcml2YXRlIF90aXRsZSA9IHRoaXMuZG9jdW1lbnQudGl0bGU7XG5cblx0cHJpdmF0ZSBhZnRlclByaW50ID0gKCkgPT4ge1xuXHRcdHRoaXMuaWZyYW1lRWwuY29udGVudFdpbmRvdyEucGFyZW50LmRvY3VtZW50LnRpdGxlID0gdGhpcy5fdGl0bGU7XG5cdH07XG5cdHByaXZhdGUgYmVmb3JlUHJpbnQgPSAoKSA9PiB7XG5cdFx0dGhpcy5pZnJhbWVFbC5jb250ZW50V2luZG93IS5wYXJlbnQuZG9jdW1lbnQudGl0bGUgPSB0aGlzLnByaW50VGl0bGU7XG5cdH07XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0cHJpdmF0ZSBwbGF0Zm9ybTogUGxhdGZvcm0sXG5cdFx0QEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnRcblx0KSB7fVxuXG5cdG5nT25Jbml0KCk6IHZvaWQge1xuXHRcdGlmICghdGhpcy5wYWdlZENETikge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKCdwYWdlZENETiBpcyByZXF1aXJlZCcpO1xuXHRcdH1cblx0fVxuXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcblx0XHR0aGlzLnJlbmRlcigpO1xuXHR9XG5cblx0cHJpbnQoKSB7XG5cdFx0aWYgKHRoaXMuaWZyYW1lRWwuY29udGVudFdpbmRvdykge1xuXHRcdFx0dGhpcy5pZnJhbWVFbC5jb250ZW50V2luZG93LmZvY3VzKCk7XG5cdFx0XHR0aGlzLmlmcmFtZUVsLmNvbnRlbnRXaW5kb3cucHJpbnQoKTtcblx0XHR9XG5cdH1cblxuXHRyZWZyZXNoKCkge1xuXHRcdHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0dGhpcy5yZW5kZXIoKTtcblx0XHR9LCAxMDApO1xuXHR9XG5cblx0cHJpdmF0ZSByZW5kZXIoKSB7XG5cdFx0dGhpcy5pZnJhbWVFbCA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7XG5cdFx0dGhpcy5pZnJhbWVFbC5oZWlnaHQgPSB0aGlzLmhlaWdodCArICcnO1xuXHRcdHRoaXMuaWZyYW1lRWwud2lkdGggPSB0aGlzLndpZHRoICsgJyc7XG5cdFx0dGhpcy5pZnJhbWVFbC5zdHlsZS5ib3JkZXIgPSAnMXB4IHNvbGlkICNjY2MnO1xuXHRcdHRoaXMuaWZyYW1lRWwuc3R5bGUuYmFja2dyb3VuZCA9ICcjZmZmJztcblxuXHRcdGlmICghdGhpcy5lbmFibGVQcmV2aWV3KSB7XG5cdFx0XHR0aGlzLmlmcmFtZUVsLnN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJztcblx0XHRcdGlmICh0aGlzLnBsYXRmb3JtLkZJUkVGT1gpIHtcblx0XHRcdFx0dGhpcy5pZnJhbWVFbC5zZXRBdHRyaWJ1dGUoXG5cdFx0XHRcdFx0J3N0eWxlJyxcblx0XHRcdFx0XHQnd2lkdGg6IDFweDsgaGVpZ2h0OiAxMDBweDsgcG9zaXRpb246IGZpeGVkOyBsZWZ0OiAwOyB0b3A6IDA7IG9wYWNpdHk6IDA7IGJvcmRlci13aWR0aDogMDsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwJ1xuXHRcdFx0XHQpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dGhpcy5pZnJhbWVFbC5zZXRBdHRyaWJ1dGUoXG5cdFx0XHRcdFx0J3N0eWxlJyxcblx0XHRcdFx0XHQndmlzaWJpbGl0eTogaGlkZGVuOyBoZWlnaHQ6IDA7IHdpZHRoOiAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IGJvcmRlcjogMCdcblx0XHRcdFx0KTtcblx0XHRcdH1cblx0XHR9XG5cdFx0aWYgKHRoaXMuY29udGFpbmVyUmVmKSB7XG5cdFx0XHR0aGlzLmNvbnRhaW5lclJlZi5uYXRpdmVFbGVtZW50LmlubmVySFRNTCA9ICcnO1xuXHRcdFx0dGhpcy5jb250YWluZXJSZWYubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLmlmcmFtZUVsKTtcblx0XHR9XG5cblx0XHRpZiAodGhpcy5pZnJhbWVFbC5jb250ZW50V2luZG93KSB7XG5cdFx0XHR0aGlzLmlmcmFtZUVsLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQub3BlbigpO1xuXHRcdFx0dGhpcy5pZnJhbWVFbC5jb250ZW50V2luZG93LmRvY3VtZW50LndyaXRlKHRoaXMuZ2V0VGVtcGxhdGVTdHIoKSk7XG5cdFx0XHR0aGlzLmlmcmFtZUVsLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQuY2xvc2UoKTtcblx0XHRcdC8vIGNob3JtZSBidWdcblx0XHRcdHRoaXMuaWZyYW1lRWwuY29udGVudFdpbmRvdy5vbmJlZm9yZXByaW50ID0gdGhpcy5iZWZvcmVQcmludDtcblx0XHRcdHRoaXMuaWZyYW1lRWwuY29udGVudFdpbmRvdy5vbmFmdGVycHJpbnQgPSB0aGlzLmFmdGVyUHJpbnQ7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBnZXRUZW1wbGF0ZVN0cigpIHtcblx0XHRjb25zdCBzdHlsZXMgPSBnZXRFbGVtZW50QnlUYWcoJ3N0eWxlJywgdGhpcy5pZGVudGlmaWVyU3RyKTtcblxuXHRcdGNvbnN0IHNjcmlwdHMgPSBgXG4gICAgICAgIDxzY3JpcHQgc3JjPVwiJHt0aGlzLnBhZ2VkQ0ROfVwiPjwvc2NyaXB0PlxuICAgICAgICA8c2NyaXB0PlxuICAgICAgICAgIGNsYXNzIFJlcGVhdGluZ1RhYmxlSGVhZGVycyBleHRlbmRzIFBhZ2VkLkhhbmRsZXIge1xuICAgICAgICAgICAgY29uc3RydWN0b3IoY2h1bmtlciwgcG9saXNoZXIsIGNhbGxlcikge1xuICAgICAgICAgICAgICBzdXBlcihjaHVua2VyLCBwb2xpc2hlciwgY2FsbGVyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYWZ0ZXJQYWdlTGF5b3V0KHBhZ2VFbGVtZW50LCBwYWdlLCBicmVha1Rva2VuLCBjaHVua2VyKSB7XG4gICAgICAgICAgICAgIGxldCB0YWJsZXMgPSBwYWdlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCd0YWJsZVtkYXRhLXNwbGl0LWZyb21dJyk7XG4gICAgICAgICAgICAgIHRhYmxlcy5mb3JFYWNoKCh0YWJsZSkgPT4ge1xuICAgICAgICAgICAgICAgIGxldCByZWYgPSB0YWJsZS5kYXRhc2V0LnJlZjtcbiAgICAgICAgICAgICAgICBsZXQgc291cmNlVGFibGUgPSBjaHVua2VyLnNvdXJjZS5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAgICAgICAgICAgXCJbZGF0YS1yZWY9J1wiICsgcmVmICsgXCInXVwiXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBsZXQgaGVhZGVyID0gc291cmNlVGFibGUucXVlcnlTZWxlY3RvcigndGhlYWQnKTtcbiAgICAgICAgICAgICAgICBpZiAoaGVhZGVyKSB7XG4gICAgICAgICAgICAgICAgICBsZXQgY2xvbmVkSGVhZGVyID0gaGVhZGVyLmNsb25lTm9kZSh0cnVlKTtcbiAgICAgICAgICAgICAgICAgIHRhYmxlLmluc2VydEJlZm9yZShjbG9uZWRIZWFkZXIsIHRhYmxlLmZpcnN0Q2hpbGQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIFBhZ2VkLnJlZ2lzdGVySGFuZGxlcnMoUmVwZWF0aW5nVGFibGVIZWFkZXJzKTtcbiAgICAgICAgPC9zY3JpcHQ+XG4gICAgICBgO1xuXG5cdFx0Y29uc3QgaHRtbCA9IGBcbiAgICAgICAgPCFET0NUWVBFIGh0bWw+XG4gICAgICAgIDxodG1sPlxuICAgICAgICAgIDxoZWFkPlxuICAgICAgICAgIDxtZXRhIGNoYXJzZXQ9XCJ1dGYtOFwiIC8+XG4gICAgICAgICAgPHRpdGxlPiR7dGhpcy5wcmludFRpdGxlfTwvdGl0bGU+XG4gICAgICAgICAgPGJhc2UgaHJlZj1cIi9cIiAvPlxuICAgICAgICAgIDxtZXRhIG5hbWU9XCJ2aWV3cG9ydFwiIGNvbnRlbnQ9XCJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MVwiIC8+XG4gICAgICAgICAgPGxpbmtcbiAgICAgICAgICAgIHJlbD1cInByZWNvbm5lY3RcIlxuICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vd2lua29uZy1mcm9udGVuZC5vc3MtY24tcWluZ2Rhby5hbGl5dW5jcy5jb21cIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHN0eWxlPlxuICAgICAgICAgICAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5OTk7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6dmVydGljYWw6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjY7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjp2ZXJ0aWNhbDphY3RpdmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjY7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgOjotd2Via2l0LXNjcm9sbGJhci1idXR0b24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIDwvc3R5bGU+XG5cbiAgICAgICAgICAgICR7c3R5bGVzfVxuICAgICAgICAgICAgJHtzY3JpcHRzfVxuICAgICAgICAgIDwvaGVhZD5cbiAgICAgICAgICA8Ym9keT5cbiAgICAgICAgICAgICR7dGhpcy5fcHJpbnRFbC5uYXRpdmVFbGVtZW50Lm91dGVySFRNTH1cbiAgICAgICAgICA8L2JvZHk+XG4gICAgICAgIDwvaHRtbD5cbiAgICAgIGA7XG5cblx0XHRyZXR1cm4gaHRtbDtcblx0fVxufVxuIl19
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnp4LXByaW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbXBvbmVudHMvcHJpbnQvbnp4LXByaW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBRUwsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBRXpFOztHQUVHO0FBUUgsTUFBTSxPQUFPLGlCQUFpQjtJQTBCNUIsWUFDVSxRQUFrQixFQUNBLFFBQWtCO1FBRHBDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDQSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBM0JyQyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQzVCOztXQUVHO1FBQ00sVUFBSyxHQUFHLEdBQUcsQ0FBQztRQUNaLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFDZCxrQkFBYSxHQUFHLElBQUksQ0FBQztRQUNyQixrQkFBYSxHQUFzQixFQUFFLENBQUM7UUFDdEMsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQVFmLFdBQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztRQUU3QixlQUFVLEdBQUcsR0FBRyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDbkUsQ0FBQyxDQUFDO1FBQ00sZ0JBQVcsR0FBRyxHQUFHLEVBQUU7WUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFjLENBQUMsTUFBTSxDQUFD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Ozs7Ozs7Ozs7Ozs7Ozs7OztPQXdCN0IsQ0FBQztRQUVKLElBQUksSUFBSSxHQUFHOzs7OzttQkFLSSxJQUFJLENBQUMsVUFBVTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztjQStCcEIsTUFBTTtjQUNOLE9BQU87OztjQUdQLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFNBQVM7OztPQUc1QyxDQUFDO1FBQ0osSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3JDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs4R0F0S1UsaUJBQWlCLDBDQTRCbEIsUUFBUTtrR0E1QlAsaUJBQWlCLHFQQWNkLHdCQUF3QiwyQkFBVSxVQUFVLHVJQUhwQixVQUFVLDJDQWhCdEM7OztHQUdUOzsyRkFFVSxpQkFBaUI7a0JBUDdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFFBQVEsRUFBRTs7O0dBR1Q7aUJBQ0Y7OzBCQTZCSSxNQUFNOzJCQUFDLFFBQVE7eUNBM0JULFVBQVU7c0JBQWxCLEtBQUs7Z0JBSUcsS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFHRSxZQUFZO3NCQURuQixTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUl4RCxRQUFRO3NCQURmLFlBQVk7dUJBQUMsd0JBQXdCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0RWxlbWVudEJ5VGFnIH0gZnJvbSAnbmctem9ycm8tYW50ZC1leHRlbnNpb24vdXRpbCc7XG5pbXBvcnQgeyBOenhQcmludENvbnRlbnREaXJlY3RpdmUgfSBmcm9tICcuL256eC1wcmludC1jb250ZW50LmRpcmVjdGl2ZSc7XG5cbi8qKlxuICog5L2/55SoUGFnZWQuanPmiZPljbBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnp4LXByaW50JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbbnp4UHJpbnRIZWFkZXJdXCI+PC9uZy1jb250ZW50PlxuICAgIDxkaXYgI2lmcmFtZUNvbnRhaW5lcj48L2Rpdj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgTnp4UHJpbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSBwcmludFRpdGxlID0gJ3BkZic7XG4gIC8qKlxuICAgKiBhNCA3OTRweDExMjNweFxuICAgKi9cbiAgQElucHV0KCkgd2lkdGggPSA4MTQ7XG4gIEBJbnB1dCgpIGhlaWdodCA9IDExNDM7XG4gIEBJbnB1dCgpIGVuYWJsZVByZXZpZXcgPSB0cnVlO1xuICBASW5wdXQoKSBpZGVudGlmaWVyU3RyOiBzdHJpbmcgfCBzdHJpbmdbXSA9ICcnO1xuICBASW5wdXQoKSBwYWdlZENETiA9ICcnO1xuXG4gIEBWaWV3Q2hpbGQoJ2lmcmFtZUNvbnRhaW5lcicsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIHByaXZhdGUgY29udGFpbmVyUmVmITogRWxlbWVudFJlZjtcblxuICBAQ29udGVudENoaWxkKE56eFByaW50Q29udGVudERpcmVjdGl2ZSwgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgcHJpdmF0ZSBfcHJpbnRFbCE6IEVsZW1lbnRSZWY7XG4gIHByaXZhdGUgaWZyYW1lRWwhOiBIVE1MSUZyYW1lRWxlbWVudDtcbiAgcHJpdmF0ZSBfdGl0bGUgPSB0aGlzLmRvY3VtZW50LnRpdGxlO1xuXG4gIHByaXZhdGUgYWZ0ZXJQcmludCA9ICgpID0+IHtcbiAgICB0aGlzLmlmcmFtZUVsLmNvbnRlbnRXaW5kb3chLnBhcmVudC5kb2N1bWVudC50aXRsZSA9IHRoaXMuX3RpdGxlO1xuICB9O1xuICBwcml2YXRlIGJlZm9yZVByaW50ID0gKCkgPT4ge1xuICAgIHRoaXMuaWZyYW1lRWwuY29udGVudFdpbmRvdyEucGFyZW50LmRvY3VtZW50LnRpdGxlID0gdGhpcy5wcmludFRpdGxlO1xuICB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGxhdGZvcm06IFBsYXRmb3JtLFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50XG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucGFnZWRDRE4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigncGFnZWRDRE4gaXMgcmVxdWlyZWQnKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXIoKTtcbiAgfVxuXG4gIHByaW50KCkge1xuICAgIGlmICh0aGlzLmlmcmFtZUVsLmNvbnRlbnRXaW5kb3cpIHtcbiAgICAgIHRoaXMuaWZyYW1lRWwuY29udGVudFdpbmRvdy5mb2N1cygpO1xuICAgICAgdGhpcy5pZnJhbWVFbC5jb250ZW50V2luZG93LnByaW50KCk7XG4gICAgfVxuICB9XG5cbiAgcmVmcmVzaCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMucmVuZGVyKCk7XG4gICAgfSwgMTAwKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVuZGVyKCkge1xuICAgIHRoaXMuaWZyYW1lRWwgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpO1xuICAgIHRoaXMuaWZyYW1lRWwuaGVpZ2h0ID0gdGhpcy5oZWlnaHQgKyAnJztcbiAgICB0aGlzLmlmcmFtZUVsLndpZHRoID0gdGhpcy53aWR0aCArICcnO1xuICAgIHRoaXMuaWZyYW1lRWwuc3R5bGUuYm9yZGVyID0gJzFweCBzb2xpZCAjY2NjJztcbiAgICB0aGlzLmlmcmFtZUVsLnN0eWxlLmJhY2tncm91bmQgPSAnI2ZmZic7XG5cbiAgICBpZiAoIXRoaXMuZW5hYmxlUHJldmlldykge1xuICAgICAgdGhpcy5pZnJhbWVFbC5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbic7XG4gICAgICBpZiAodGhpcy5wbGF0Zm9ybS5GSVJFRk9YKSB7XG4gICAgICAgIHRoaXMuaWZyYW1lRWwuc2V0QXR0cmlidXRlKFxuICAgICAgICAgICdzdHlsZScsXG4gICAgICAgICAgJ3dpZHRoOiAxcHg7IGhlaWdodDogMTAwcHg7IHBvc2l0aW9uOiBmaXhlZDsgbGVmdDogMDsgdG9wOiAwOyBvcGFjaXR5OiAwOyBib3JkZXItd2lkdGg6IDA7IG1hcmdpbjogMDsgcGFkZGluZzogMCdcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaWZyYW1lRWwuc2V0QXR0cmlidXRlKFxuICAgICAgICAgICdzdHlsZScsXG4gICAgICAgICAgJ3Zpc2liaWxpdHk6IGhpZGRlbjsgaGVpZ2h0OiAwOyB3aWR0aDogMDsgcG9zaXRpb246IGFic29sdXRlOyBib3JkZXI6IDAnXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0aGlzLmNvbnRhaW5lclJlZikge1xuICAgICAgdGhpcy5jb250YWluZXJSZWYubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPSAnJztcbiAgICAgIHRoaXMuY29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5pZnJhbWVFbCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaWZyYW1lRWwuY29udGVudFdpbmRvdykge1xuICAgICAgdGhpcy5pZnJhbWVFbC5jb250ZW50V2luZG93LmRvY3VtZW50Lm9wZW4oKTtcbiAgICAgIHRoaXMuaWZyYW1lRWwuY29udGVudFdpbmRvdy5kb2N1bWVudC53cml0ZSh0aGlzLmdldFRlbXBsYXRlU3RyKCkpO1xuICAgICAgdGhpcy5pZnJhbWVFbC5jb250ZW50V2luZG93LmRvY3VtZW50LmNsb3NlKCk7XG4gICAgICAvLyBjaG9ybWUgYnVnXG4gICAgICB0aGlzLmlmcmFtZUVsLmNvbnRlbnRXaW5kb3cub25iZWZvcmVwcmludCA9IHRoaXMuYmVmb3JlUHJpbnQ7XG4gICAgICB0aGlzLmlmcmFtZUVsLmNvbnRlbnRXaW5kb3cub25hZnRlcnByaW50ID0gdGhpcy5hZnRlclByaW50O1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGVtcGxhdGVTdHIoKSB7XG4gICAgY29uc3Qgc3R5bGVzID0gZ2V0RWxlbWVudEJ5VGFnKCdzdHlsZScsIHRoaXMuaWRlbnRpZmllclN0cik7XG5cbiAgICBjb25zdCBzY3JpcHRzID0gYFxuICAgICAgICA8c2NyaXB0IHNyYz1cIiR7dGhpcy5wYWdlZENETn1cIj48L3NjcmlwdD5cbiAgICAgICAgPHNjcmlwdD5cbiAgICAgICAgICBjbGFzcyBSZXBlYXRpbmdUYWJsZUhlYWRlcnMgZXh0ZW5kcyBQYWdlZC5IYW5kbGVyIHtcbiAgICAgICAgICAgIGNvbnN0cnVjdG9yKGNodW5rZXIsIHBvbGlzaGVyLCBjYWxsZXIpIHtcbiAgICAgICAgICAgICAgc3VwZXIoY2h1bmtlciwgcG9saXNoZXIsIGNhbGxlcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGFmdGVyUGFnZUxheW91dChwYWdlRWxlbWVudCwgcGFnZSwgYnJlYWtUb2tlbiwgY2h1bmtlcikge1xuICAgICAgICAgICAgICBsZXQgdGFibGVzID0gcGFnZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgndGFibGVbZGF0YS1zcGxpdC1mcm9tXScpO1xuICAgICAgICAgICAgICB0YWJsZXMuZm9yRWFjaCgodGFibGUpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgcmVmID0gdGFibGUuZGF0YXNldC5yZWY7XG4gICAgICAgICAgICAgICAgbGV0IHNvdXJjZVRhYmxlID0gY2h1bmtlci5zb3VyY2UucXVlcnlTZWxlY3RvcihcbiAgICAgICAgICAgICAgICAgIFwiW2RhdGEtcmVmPSdcIiArIHJlZiArIFwiJ11cIlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgbGV0IGhlYWRlciA9IHNvdXJjZVRhYmxlLnF1ZXJ5U2VsZWN0b3IoJ3RoZWFkJyk7XG4gICAgICAgICAgICAgICAgaWYgKGhlYWRlcikge1xuICAgICAgICAgICAgICAgICAgbGV0IGNsb25lZEhlYWRlciA9IGhlYWRlci5jbG9uZU5vZGUodHJ1ZSk7XG4gICAgICAgICAgICAgICAgICB0YWJsZS5pbnNlcnRCZWZvcmUoY2xvbmVkSGVhZGVyLCB0YWJsZS5maXJzdENoaWxkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBQYWdlZC5yZWdpc3RlckhhbmRsZXJzKFJlcGVhdGluZ1RhYmxlSGVhZGVycyk7XG4gICAgICAgIDwvc2NyaXB0PlxuICAgICAgYDtcblxuICAgIGxldCBodG1sID0gYFxuICAgICAgICA8IURPQ1RZUEUgaHRtbD5cbiAgICAgICAgPGh0bWw+XG4gICAgICAgICAgPGhlYWQ+XG4gICAgICAgICAgPG1ldGEgY2hhcnNldD1cInV0Zi04XCIgLz5cbiAgICAgICAgICA8dGl0bGU+JHt0aGlzLnByaW50VGl0bGV9PC90aXRsZT5cbiAgICAgICAgICA8YmFzZSBocmVmPVwiL1wiIC8+XG4gICAgICAgICAgPG1ldGEgbmFtZT1cInZpZXdwb3J0XCIgY29udGVudD1cIndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xXCIgLz5cbiAgICAgICAgICA8bGlua1xuICAgICAgICAgICAgcmVsPVwicHJlY29ubmVjdFwiXG4gICAgICAgICAgICBocmVmPVwiaHR0cHM6Ly93aW5rb25nLWZyb250ZW5kLm9zcy1jbi1xaW5nZGFvLmFsaXl1bmNzLmNvbVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8c3R5bGU+XG4gICAgICAgICAgICAgIDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjp2ZXJ0aWNhbDpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY2NjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOnZlcnRpY2FsOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY2NjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgPC9zdHlsZT5cblxuICAgICAgICAgICAgJHtzdHlsZXN9XG4gICAgICAgICAgICAke3NjcmlwdHN9XG4gICAgICAgICAgPC9oZWFkPlxuICAgICAgICAgIDxib2R5PlxuICAgICAgICAgICAgJHt0aGlzLl9wcmludEVsLm5hdGl2ZUVsZW1lbnQub3V0ZXJIVE1MfVxuICAgICAgICAgIDwvYm9keT5cbiAgICAgICAgPC9odG1sPlxuICAgICAgYDtcbiAgICBodG1sID0gaHRtbC5yZXBsYWNlKC88IS0tLS0+L2csICcgJyk7XG4gICAgcmV0dXJuIGh0bWw7XG4gIH1cbn1cbiJdfQ==
@@ -33,7 +33,7 @@ export class NzxPrintDirective {
33
33
  };
34
34
  </script>
35
35
  `;
36
- const html = `
36
+ let html = `
37
37
  <!DOCTYPE html>
38
38
  <html>
39
39
  <head>
@@ -48,6 +48,7 @@ export class NzxPrintDirective {
48
48
  </body>
49
49
  </html>
50
50
  `;
51
+ html = html.replace(/<!---->/g, ' ');
51
52
  newWin.document.open();
52
53
  newWin.document.write(html);
53
54
  newWin.document.close();
@@ -88,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
88
89
  type: HostListener,
89
90
  args: ['click']
90
91
  }] } });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnp4LXByaW50LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbXBvbmVudHMvcHJpbnQvbnp4LXByaW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQUUvRDs7R0FFRztBQUlILE1BQU0sT0FBTyxpQkFBaUI7SUFIOUI7UUFLVyxlQUFVLEdBQXVCLEtBQUssQ0FBQztRQUN2QyxrQkFBYSxHQUFzQixFQUFFLENBQUM7S0FzRWhEO0lBbkVDLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNqQixNQUFNLElBQUksS0FBSyxDQUNiLDZEQUE2RCxDQUM5RCxDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBR08sS0FBSztRQUNYLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRXpDLElBQUksTUFBTSxFQUFFO1lBQ1YsTUFBTSxNQUFNLEdBQUcsZUFBZSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDNUQsTUFBTSxLQUFLLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3RDLE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUV4QyxNQUFNLE9BQU8sR0FBRzs7Ozs7Ozs7O09BU2YsQ0FBQztZQUVGLE1BQU0sSUFBSSxHQUFHOzs7O3FCQUlFLElBQUksQ0FBQyxVQUFVO2NBQ3RCLE9BQU87Y0FDUCxLQUFLO2NBQ0wsTUFBTTtjQUNOLE9BQU87OztjQUdQLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUzs7O09BRzlCLENBQUM7WUFDRixNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVCLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRU8sVUFBVTtRQUNoQixJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxRQUFRLEVBQUU7WUFDcEMsTUFBTSxFQUFFLEdBQXVCLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3BFLElBQUksRUFBRSxFQUFFO2dCQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO2FBQ3BCO2lCQUFNO2dCQUNMLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQzthQUN4QztTQUNGO2FBQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxZQUFZLFdBQVcsRUFBRTtZQUM5QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDOUI7YUFBTTtZQUNMLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztTQUN2QztJQUNILENBQUM7OEdBeEVVLGlCQUFpQjtrR0FBakIsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQUg3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7aUJBQzdCOzhCQUVVLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBZ0JFLEtBQUs7c0JBRFosWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRGlyZWN0aXZlLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0RWxlbWVudEJ5VGFnIH0gZnJvbSAnbmctem9ycm8tYW50ZC1leHRlbnNpb24vdXRpbCc7XG5cbi8qKlxuICog5bi46KeE5omT5Y2wXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2J1dHRvbltuenhQcmludF0nLFxufSlcbmV4cG9ydCBjbGFzcyBOenhQcmludERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIHByaW50RWw6IEhUTUxFbGVtZW50IHwgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBwcmludFRpdGxlOiBzdHJpbmcgfCB1bmRlZmluZWQgPSAncGRmJztcbiAgQElucHV0KCkgaWRlbnRpZmllclN0cjogc3RyaW5nIHwgc3RyaW5nW10gPSAnJztcbiAgcHJpdmF0ZSBfcHJpbnRFbCE6IEhUTUxFbGVtZW50O1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5wcmludEVsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdUaGUgXCJwcmludEVsXCIgaW5wdXQgaXMgcmVxdWlyZWQgZm9yIHRoZSBuenhQcmludCBkaXJlY3RpdmUuJ1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5nZXRFbGVtZW50KCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIHByaXZhdGUgcHJpbnQoKTogdm9pZCB7XG4gICAgY29uc3QgbmV3V2luID0gd2luZG93Lm9wZW4oJycsICdfYmxhbmsnKTtcblxuICAgIGlmIChuZXdXaW4pIHtcbiAgICAgIGNvbnN0IHN0eWxlcyA9IGdldEVsZW1lbnRCeVRhZygnc3R5bGUnLCB0aGlzLmlkZW50aWZpZXJTdHIpO1xuICAgICAgY29uc3QgbGlua3MgPSBnZXRFbGVtZW50QnlUYWcoJ2xpbmsnKTtcbiAgICAgIGNvbnN0IGJhc2VUYWcgPSBnZXRFbGVtZW50QnlUYWcoJ2Jhc2UnKTtcblxuICAgICAgY29uc3Qgc2NyaXB0cyA9IGBcbiAgICAgIDxzY3JpcHQ+XG4gICAgICAgIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgd2luZG93LnByaW50KCk7XG4gICAgICAgIH07XG4gICAgICAgIHdpbmRvdy5vbmFmdGVycHJpbnQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgd2luZG93LmNsb3NlKCk7XG4gICAgICAgIH07XG4gICAgICA8L3NjcmlwdD5cbiAgICAgIGA7XG5cbiAgICAgIGNvbnN0IGh0bWwgPSBgXG4gICAgICA8IURPQ1RZUEUgaHRtbD5cbiAgICAgICAgPGh0bWw+XG4gICAgICAgICAgPGhlYWQ+XG4gICAgICAgICAgICA8dGl0bGU+JHt0aGlzLnByaW50VGl0bGV9PC90aXRsZT5cbiAgICAgICAgICAgICR7YmFzZVRhZ31cbiAgICAgICAgICAgICR7bGlua3N9XG4gICAgICAgICAgICAke3N0eWxlc31cbiAgICAgICAgICAgICR7c2NyaXB0c31cbiAgICAgICAgICA8L2hlYWQ+XG4gICAgICAgICAgPGJvZHk+XG4gICAgICAgICAgICAke3RoaXMuX3ByaW50RWwub3V0ZXJIVE1MfVxuICAgICAgICAgIDwvYm9keT5cbiAgICAgICAgPC9odG1sPlxuICAgICAgYDtcbiAgICAgIG5ld1dpbi5kb2N1bWVudC5vcGVuKCk7XG4gICAgICBuZXdXaW4uZG9jdW1lbnQud3JpdGUoaHRtbCk7XG4gICAgICBuZXdXaW4uZG9jdW1lbnQuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEVsZW1lbnQoKTogdm9pZCB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLnByaW50RWwgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBlbDogSFRNTEVsZW1lbnQgfCBudWxsID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0aGlzLnByaW50RWwpO1xuICAgICAgaWYgKGVsKSB7XG4gICAgICAgIHRoaXMuX3ByaW50RWwgPSBlbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcigncHJpbnRFbCBpcyBub3QgZmluZCcpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5wcmludEVsIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX3ByaW50RWwgPSB0aGlzLnByaW50RWw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigncHJpbnRFbCBpcyBpbnZhbGlkJyk7XG4gICAgfVxuICB9XG59XG4iXX0=
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnp4LXByaW50LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbXBvbmVudHMvcHJpbnQvbnp4LXByaW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQUUvRDs7R0FFRztBQUlILE1BQU0sT0FBTyxpQkFBaUI7SUFIOUI7UUFLVyxlQUFVLEdBQXVCLEtBQUssQ0FBQztRQUN2QyxrQkFBYSxHQUFzQixFQUFFLENBQUM7S0F1RWhEO0lBcEVDLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNqQixNQUFNLElBQUksS0FBSyxDQUNiLDZEQUE2RCxDQUM5RCxDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBR08sS0FBSztRQUNYLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRXpDLElBQUksTUFBTSxFQUFFO1lBQ1YsTUFBTSxNQUFNLEdBQUcsZUFBZSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDNUQsTUFBTSxLQUFLLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3RDLE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUV4QyxNQUFNLE9BQU8sR0FBRzs7Ozs7Ozs7O09BU2YsQ0FBQztZQUVGLElBQUksSUFBSSxHQUFHOzs7O3FCQUlJLElBQUksQ0FBQyxVQUFVO2NBQ3RCLE9BQU87Y0FDUCxLQUFLO2NBQ0wsTUFBTTtjQUNOLE9BQU87OztjQUdQLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUzs7O09BRzlCLENBQUM7WUFDRixJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDckMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN2QixNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1QixNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVPLFVBQVU7UUFDaEIsSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLEtBQUssUUFBUSxFQUFFO1lBQ3BDLE1BQU0sRUFBRSxHQUF1QixRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNwRSxJQUFJLEVBQUUsRUFBRTtnQkFDTixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQzthQUNwQjtpQkFBTTtnQkFDTCxNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7YUFDeEM7U0FDRjthQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sWUFBWSxXQUFXLEVBQUU7WUFDOUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQzlCO2FBQU07WUFDTCxNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7U0FDdkM7SUFDSCxDQUFDOzhHQXpFVSxpQkFBaUI7a0dBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFIN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO2lCQUM3Qjs4QkFFVSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQWdCRSxLQUFLO3NCQURaLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIERpcmVjdGl2ZSxcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldEVsZW1lbnRCeVRhZyB9IGZyb20gJ25nLXpvcnJvLWFudGQtZXh0ZW5zaW9uL3V0aWwnO1xuXG4vKipcbiAqIOW4uOinhOaJk+WNsFxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdidXR0b25bbnp4UHJpbnRdJyxcbn0pXG5leHBvcnQgY2xhc3MgTnp4UHJpbnREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSBwcmludEVsOiBIVE1MRWxlbWVudCB8IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgcHJpbnRUaXRsZTogc3RyaW5nIHwgdW5kZWZpbmVkID0gJ3BkZic7XG4gIEBJbnB1dCgpIGlkZW50aWZpZXJTdHI6IHN0cmluZyB8IHN0cmluZ1tdID0gJyc7XG4gIHByaXZhdGUgX3ByaW50RWwhOiBIVE1MRWxlbWVudDtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucHJpbnRFbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnVGhlIFwicHJpbnRFbFwiIGlucHV0IGlzIHJlcXVpcmVkIGZvciB0aGUgbnp4UHJpbnQgZGlyZWN0aXZlLidcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0RWxlbWVudCgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICBwcml2YXRlIHByaW50KCk6IHZvaWQge1xuICAgIGNvbnN0IG5ld1dpbiA9IHdpbmRvdy5vcGVuKCcnLCAnX2JsYW5rJyk7XG5cbiAgICBpZiAobmV3V2luKSB7XG4gICAgICBjb25zdCBzdHlsZXMgPSBnZXRFbGVtZW50QnlUYWcoJ3N0eWxlJywgdGhpcy5pZGVudGlmaWVyU3RyKTtcbiAgICAgIGNvbnN0IGxpbmtzID0gZ2V0RWxlbWVudEJ5VGFnKCdsaW5rJyk7XG4gICAgICBjb25zdCBiYXNlVGFnID0gZ2V0RWxlbWVudEJ5VGFnKCdiYXNlJyk7XG5cbiAgICAgIGNvbnN0IHNjcmlwdHMgPSBgXG4gICAgICA8c2NyaXB0PlxuICAgICAgICB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHdpbmRvdy5wcmludCgpO1xuICAgICAgICB9O1xuICAgICAgICB3aW5kb3cub25hZnRlcnByaW50ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHdpbmRvdy5jbG9zZSgpO1xuICAgICAgICB9O1xuICAgICAgPC9zY3JpcHQ+XG4gICAgICBgO1xuXG4gICAgICBsZXQgaHRtbCA9IGBcbiAgICAgIDwhRE9DVFlQRSBodG1sPlxuICAgICAgICA8aHRtbD5cbiAgICAgICAgICA8aGVhZD5cbiAgICAgICAgICAgIDx0aXRsZT4ke3RoaXMucHJpbnRUaXRsZX08L3RpdGxlPlxuICAgICAgICAgICAgJHtiYXNlVGFnfVxuICAgICAgICAgICAgJHtsaW5rc31cbiAgICAgICAgICAgICR7c3R5bGVzfVxuICAgICAgICAgICAgJHtzY3JpcHRzfVxuICAgICAgICAgIDwvaGVhZD5cbiAgICAgICAgICA8Ym9keT5cbiAgICAgICAgICAgICR7dGhpcy5fcHJpbnRFbC5vdXRlckhUTUx9XG4gICAgICAgICAgPC9ib2R5PlxuICAgICAgICA8L2h0bWw+XG4gICAgICBgO1xuICAgICAgaHRtbCA9IGh0bWwucmVwbGFjZSgvPCEtLS0tPi9nLCAnICcpO1xuICAgICAgbmV3V2luLmRvY3VtZW50Lm9wZW4oKTtcbiAgICAgIG5ld1dpbi5kb2N1bWVudC53cml0ZShodG1sKTtcbiAgICAgIG5ld1dpbi5kb2N1bWVudC5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0RWxlbWVudCgpOiB2b2lkIHtcbiAgICBpZiAodHlwZW9mIHRoaXMucHJpbnRFbCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IGVsOiBIVE1MRWxlbWVudCB8IG51bGwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRoaXMucHJpbnRFbCk7XG4gICAgICBpZiAoZWwpIHtcbiAgICAgICAgdGhpcy5fcHJpbnRFbCA9IGVsO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdwcmludEVsIGlzIG5vdCBmaW5kJyk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLnByaW50RWwgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkge1xuICAgICAgdGhpcy5fcHJpbnRFbCA9IHRoaXMucHJpbnRFbDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdwcmludEVsIGlzIGludmFsaWQnKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -388,29 +388,8 @@ class NzxConfigurableQueryComponent {
388
388
  this.defaultValue = {};
389
389
  this.cacheParams = {};
390
390
  this.destroy$ = new Subject();
391
- this._nzxBtnSpan = null;
392
391
  this.queryForm = this.fb.group({});
393
392
  }
394
- ngAfterViewInit() {
395
- if (this.queyFormEl) {
396
- fromEvent(this.queyFormEl.nativeElement, 'keydown')
397
- .pipe(takeUntil(this.destroy$))
398
- .subscribe((event) => {
399
- if (event.key === 'Enter') {
400
- event.stopPropagation();
401
- event.preventDefault();
402
- this.search();
403
- }
404
- // 检查是否同时按下了Ctrl键(在Windows/Linux上)和S键
405
- if ((event.ctrlKey || event.metaKey) && event.key === 'r') {
406
- // 注意:event.metaKey用于兼容Mac的Command键
407
- event.preventDefault(); // 阻止浏览器默认的保存行为
408
- event.stopPropagation();
409
- this.reset();
410
- }
411
- });
412
- }
413
- }
414
393
  ngOnChanges(changes) {
415
394
  if (changes['controls'] && !changes['controls'].isFirstChange()) {
416
395
  const controls = changes['controls'].currentValue;
@@ -432,7 +411,26 @@ class NzxConfigurableQueryComponent {
432
411
  ...this.fixedParams,
433
412
  };
434
413
  });
435
- this._nzxBtnSpan = this.nzxBtnSpan;
414
+ }
415
+ ngAfterViewInit() {
416
+ if (this.queyFormEl) {
417
+ fromEvent(this.queyFormEl.nativeElement, 'keydown')
418
+ .pipe(takeUntil(this.destroy$))
419
+ .subscribe((event) => {
420
+ if (event.key === 'Enter') {
421
+ event.stopPropagation();
422
+ event.preventDefault();
423
+ this.search();
424
+ }
425
+ // 检查是否同时按下了Ctrl键(在Windows/Linux上)和S键
426
+ if ((event.ctrlKey || event.metaKey) && event.key === 'r') {
427
+ // 注意:event.metaKey用于兼容Mac的Command键
428
+ event.preventDefault(); // 阻止浏览器默认的保存行为
429
+ event.stopPropagation();
430
+ this.reset();
431
+ }
432
+ });
433
+ }
436
434
  }
437
435
  ngAfterContentInit() {
438
436
  this.generateForm(this.controls);
@@ -449,14 +447,15 @@ class NzxConfigurableQueryComponent {
449
447
  * 根据controlName设置config值
450
448
  */
451
449
  setControl(controlName, config) {
452
- Promise.resolve().then(() => {
450
+ setTimeout(() => {
453
451
  const control = this.getControl(controlName);
454
452
  if (control) {
455
453
  Object.keys(config).forEach((key) => {
456
454
  control[key] = config[key];
457
455
  });
456
+ this.cd.markForCheck();
458
457
  }
459
- });
458
+ }, 0);
460
459
  }
461
460
  /**
462
461
  * 动态添加控件
@@ -509,10 +508,7 @@ class NzxConfigurableQueryComponent {
509
508
  return this.queryForm.get(path);
510
509
  }
511
510
  /** 查询 */
512
- search(event) {
513
- if (event) {
514
- event.stopPropagation();
515
- }
511
+ search() {
516
512
  if (this.queryForm.invalid) {
517
513
  updateControlStatus(this.queryForm);
518
514
  return;
@@ -585,11 +581,11 @@ class NzxConfigurableQueryComponent {
585
581
  this.calculateText();
586
582
  }
587
583
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NzxConfigurableQueryComponent, deps: [{ token: i1$1.NzI18nService }, { token: i2.FormBuilder }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
588
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.3", type: NzxConfigurableQueryComponent, selector: "nzx-configurable-query", inputs: { controls: "controls", nzxJustify: "nzxJustify", nzxGutter: "nzxGutter", lineNumber: "lineNumber", nzxBtnSpan: "nzxBtnSpan", initQuery: "initQuery", fixedParams: "fixedParams" }, outputs: { queryChange: "queryChange", resetChange: "resetChange" }, queries: [{ propertyName: "controlTemplateList", predicate: NzxControlDirective, descendants: true }], viewQueries: [{ propertyName: "queyFormEl", first: true, predicate: ["queyForm"], descendants: true }], exportAs: ["NzxConfigurableQuery"], usesOnChanges: true, ngImport: i0, template: "<form #queyForm class=\"nzx-query-container\" nz-form [formGroup]=\"queryForm\">\n\t<div nz-row [nzGutter]=\"nzxGutter\" [nzJustify]=\"nzxJustify\">\n\t\t<ng-container *ngFor=\"let config of controls; let i = index\">\n\t\t\t<div\n\t\t\t\t*ngIf=\"!config.hidden\"\n\t\t\t\tnz-col\n\t\t\t\t[nzSpan]=\"config.nzxSpan || 24 / lineNumber\"\n\t\t\t\t[hidden]=\"config.collapse\"\n\t\t\t\t[nzOrder]=\"i\"\n\t\t\t>\n\t\t\t\t<nzx-configurable-query-item\n\t\t\t\t\t*ngIf=\"config.controlName\"\n\t\t\t\t\t[form]=\"queryForm\"\n\t\t\t\t\t[control]=\"config\"\n\t\t\t\t></nzx-configurable-query-item>\n\t\t\t</div>\n\t\t</ng-container>\n\n\t\t<div\n\t\t\t[nzOrder]=\"controls.length\"\n\t\t\tclass=\"nzx-query-btn\"\n\t\t\tnz-col\n\t\t\t[nzSpan]=\"nzxBtnSpan || 24 / lineNumber\"\n\t\t>\n\t\t\t<div nz-row nzJustify=\"end\" nzAlign=\"middle\">\n\t\t\t\t<button\n\t\t\t\t\tnz-button\n\t\t\t\t\tnzType=\"primary\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\ttitle=\"Enter\"\n\t\t\t\t\t(click)=\"search($event)\"\n\t\t\t\t>\n\t\t\t\t\t{{ locale['query'] }}\n\t\t\t\t</button>\n\t\t\t\t<button nz-button type=\"button\" title=\"ctrl+r\" (click)=\"reset()\">\n\t\t\t\t\t{{ locale['reset'] }}\n\t\t\t\t</button>\n\t\t\t\t<ng-content></ng-content>\n\t\t\t\t<a\n\t\t\t\t\t*ngIf=\"nzxCollapse\"\n\t\t\t\t\tnz-button\n\t\t\t\t\tnzType=\"link\"\n\t\t\t\t\t(click)=\"toggleCollapse()\"\n\t\t\t\t>\n\t\t\t\t\t{{ collapseText }}\n\t\t\t\t\t<i nz-icon [nzType]=\"collapseIcon\"></i>\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</form>\n", styles: [".nzx-query-container{padding:12px;background-color:#fff;border-radius:8px}.nzx-query-container [nz-form-label]{overflow:visible}.nzx-query-container .nzx-query-btn{flex-grow:2;max-width:none}.nzx-query-container .nzx-query-btn button{margin:0 4px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3$2.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i3$2.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "directive", type: i4.NzFormDirective, selector: "[nz-form]", inputs: ["nzLayout", "nzNoColon", "nzAutoTips", "nzDisableAutoTips", "nzTooltipIcon", "nzLabelAlign", "nzLabelWrap"], exportAs: ["nzForm"] }, { kind: "component", type: i6.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i7.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i8.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }, { kind: "directive", type: i9.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "component", type: NzxConfigurableQueryItemComponent, selector: "nzx-configurable-query-item", inputs: ["form", "control"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
584
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.3", type: NzxConfigurableQueryComponent, selector: "nzx-configurable-query", inputs: { controls: "controls", nzxJustify: "nzxJustify", nzxGutter: "nzxGutter", lineNumber: "lineNumber", nzxBtnSpan: "nzxBtnSpan", initQuery: "initQuery", fixedParams: "fixedParams" }, outputs: { queryChange: "queryChange", resetChange: "resetChange" }, queries: [{ propertyName: "controlTemplateList", predicate: NzxControlDirective, descendants: true }], viewQueries: [{ propertyName: "queyFormEl", first: true, predicate: ["queyForm"], descendants: true }], exportAs: ["NzxConfigurableQuery"], usesOnChanges: true, ngImport: i0, template: "<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", styles: [".nzx-query-container{padding:12px;background-color:#fff;border-radius:8px}.nzx-query-container [nz-form-label]{overflow:visible}.nzx-query-container .nzx-query-btn{flex-grow:2;max-width:none}.nzx-query-container .nzx-query-btn button{margin:0 4px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3$2.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i3$2.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "directive", type: i4.NzFormDirective, selector: "[nz-form]", inputs: ["nzLayout", "nzNoColon", "nzAutoTips", "nzDisableAutoTips", "nzTooltipIcon", "nzLabelAlign", "nzLabelWrap"], exportAs: ["nzForm"] }, { kind: "component", type: i6.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i7.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i8.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }, { kind: "directive", type: i9.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "component", type: NzxConfigurableQueryItemComponent, selector: "nzx-configurable-query-item", inputs: ["form", "control"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
589
585
  }
590
586
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NzxConfigurableQueryComponent, decorators: [{
591
587
  type: Component,
592
- args: [{ selector: 'nzx-configurable-query', changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'NzxConfigurableQuery', template: "<form #queyForm class=\"nzx-query-container\" nz-form [formGroup]=\"queryForm\">\n\t<div nz-row [nzGutter]=\"nzxGutter\" [nzJustify]=\"nzxJustify\">\n\t\t<ng-container *ngFor=\"let config of controls; let i = index\">\n\t\t\t<div\n\t\t\t\t*ngIf=\"!config.hidden\"\n\t\t\t\tnz-col\n\t\t\t\t[nzSpan]=\"config.nzxSpan || 24 / lineNumber\"\n\t\t\t\t[hidden]=\"config.collapse\"\n\t\t\t\t[nzOrder]=\"i\"\n\t\t\t>\n\t\t\t\t<nzx-configurable-query-item\n\t\t\t\t\t*ngIf=\"config.controlName\"\n\t\t\t\t\t[form]=\"queryForm\"\n\t\t\t\t\t[control]=\"config\"\n\t\t\t\t></nzx-configurable-query-item>\n\t\t\t</div>\n\t\t</ng-container>\n\n\t\t<div\n\t\t\t[nzOrder]=\"controls.length\"\n\t\t\tclass=\"nzx-query-btn\"\n\t\t\tnz-col\n\t\t\t[nzSpan]=\"nzxBtnSpan || 24 / lineNumber\"\n\t\t>\n\t\t\t<div nz-row nzJustify=\"end\" nzAlign=\"middle\">\n\t\t\t\t<button\n\t\t\t\t\tnz-button\n\t\t\t\t\tnzType=\"primary\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\ttitle=\"Enter\"\n\t\t\t\t\t(click)=\"search($event)\"\n\t\t\t\t>\n\t\t\t\t\t{{ locale['query'] }}\n\t\t\t\t</button>\n\t\t\t\t<button nz-button type=\"button\" title=\"ctrl+r\" (click)=\"reset()\">\n\t\t\t\t\t{{ locale['reset'] }}\n\t\t\t\t</button>\n\t\t\t\t<ng-content></ng-content>\n\t\t\t\t<a\n\t\t\t\t\t*ngIf=\"nzxCollapse\"\n\t\t\t\t\tnz-button\n\t\t\t\t\tnzType=\"link\"\n\t\t\t\t\t(click)=\"toggleCollapse()\"\n\t\t\t\t>\n\t\t\t\t\t{{ collapseText }}\n\t\t\t\t\t<i nz-icon [nzType]=\"collapseIcon\"></i>\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</form>\n", styles: [".nzx-query-container{padding:12px;background-color:#fff;border-radius:8px}.nzx-query-container [nz-form-label]{overflow:visible}.nzx-query-container .nzx-query-btn{flex-grow:2;max-width:none}.nzx-query-container .nzx-query-btn button{margin:0 4px}\n"] }]
588
+ args: [{ selector: 'nzx-configurable-query', changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'NzxConfigurableQuery', template: "<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", styles: [".nzx-query-container{padding:12px;background-color:#fff;border-radius:8px}.nzx-query-container [nz-form-label]{overflow:visible}.nzx-query-container .nzx-query-btn{flex-grow:2;max-width:none}.nzx-query-container .nzx-query-btn button{margin:0 4px}\n"] }]
593
589
  }], ctorParameters: () => [{ type: i1$1.NzI18nService }, { type: i2.FormBuilder }, { type: i0.ChangeDetectorRef }], propDecorators: { controls: [{
594
590
  type: Input
595
591
  }], nzxJustify: [{
@@ -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\tAfterContentInit,\r\n\tAfterViewInit,\r\n\tChangeDetectionStrategy,\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tContentChildren,\r\n\tElementRef,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnChanges,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tOutput,\r\n\tQueryList,\r\n\tSimpleChanges,\r\n\tViewChild,\r\n\tViewEncapsulation,\r\n} from '@angular/core';\r\n\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\tselector: 'nzx-configurable-query',\r\n\ttemplateUrl: './configurable-query.component.html',\r\n\tstyleUrls: ['./configurable-query.component.less'],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\texportAs: 'NzxConfigurableQuery',\r\n})\r\nexport class NzxConfigurableQueryComponent\r\n\timplements OnChanges, OnInit, AfterViewInit, AfterContentInit, OnDestroy\r\n{\r\n\t/** 配置项 */\r\n\t@Input() controls: Array<NzxQueryControlOptions> = [];\r\n\r\n\t/** 查询表单排列方式 */\r\n\t@Input() nzxJustify: NzJustify = 'start';\r\n\t/** 查询项间隔 */\r\n\t@Input() nzxGutter: number = 8;\r\n\t/** 一行展示多少查询项 */\r\n\t@Input() lineNumber: number = 3;\r\n\t/** 操作按钮所占栅格数,24则换行 */\r\n\t@Input() nzxBtnSpan: number | null = null;\r\n\r\n\t/** 初始化时,主动查询 */\r\n\t@Input() initQuery = false;\r\n\r\n\t/** 缺省 固定参数 */\r\n\t@Input() fixedParams = {};\r\n\r\n\t/** 查询时会触发抛出查询参数 */\r\n\t@Output() queryChange = new EventEmitter<NzxQueryParams>();\r\n\t/** 重置时会触发抛出查询参数 */\r\n\t@Output() resetChange = new EventEmitter<NzxQueryParams>();\r\n\r\n\t/** form 表单*/\r\n\tqueryForm!: FormGroup;\r\n\r\n\t/** 查询组件出参*/\r\n\tget queryParams() {\r\n\t\treturn this._queryParams;\r\n\t}\r\n\r\n\tset queryParams(value: any) {\r\n\t\tthis._queryParams = value;\r\n\t}\r\n\r\n\tget nzxCollapse() {\r\n\t\treturn this.controls.some((i) => i.hasOwnProperty('collapse'));\r\n\t}\r\n\r\n\tlocale!: NzxQueryI18nInterface;\r\n\tcollapseIcon: string = 'down';\r\n\tcollapseText: string = '';\r\n\r\n\tprivate _queryParams: NzxQueryParams = {};\r\n\tprivate defaultValue: NzxQueryParams = {};\r\n\tprivate cacheParams: NzxQueryParams = {};\r\n\tprivate destroy$ = new Subject<void>();\r\n\tprivate _nzxBtnSpan: number | null = null;\r\n\r\n\t@ViewChild('queyForm') private queyFormEl!: ElementRef<HTMLFormElement>;\r\n\r\n\t@ContentChildren(NzxControlDirective, { descendants: true })\r\n\tcontrolTemplateList!: QueryList<NzxControlDirective>;\r\n\r\n\tconstructor(\r\n\t\tprivate i18n: NzI18nService,\r\n\t\tprivate fb: FormBuilder,\r\n\t\tprivate cd: ChangeDetectorRef\r\n\t) {\r\n\t\tthis.queryForm = this.fb.group({});\r\n\t}\r\n\r\n\tngAfterViewInit(): void {\r\n\t\tif (this.queyFormEl) {\r\n\t\t\tfromEvent<KeyboardEvent>(this.queyFormEl.nativeElement, 'keydown')\r\n\t\t\t\t.pipe(takeUntil(this.destroy$))\r\n\t\t\t\t.subscribe((event) => {\r\n\t\t\t\t\tif (event.key === 'Enter') {\r\n\t\t\t\t\t\tevent.stopPropagation();\r\n\t\t\t\t\t\tevent.preventDefault();\r\n\t\t\t\t\t\tthis.search();\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// 检查是否同时按下了Ctrl键(在Windows/Linux上)和S键\r\n\t\t\t\t\tif ((event.ctrlKey || event.metaKey) && event.key === 'r') {\r\n\t\t\t\t\t\t// 注意:event.metaKey用于兼容Mac的Command键\r\n\t\t\t\t\t\tevent.preventDefault(); // 阻止浏览器默认的保存行为\r\n\t\t\t\t\t\tevent.stopPropagation();\r\n\t\t\t\t\t\tthis.reset();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges): void {\r\n\t\tif (changes['controls'] && !changes['controls'].isFirstChange()) {\r\n\t\t\tconst controls = changes['controls'].currentValue;\r\n\t\t\tif (Array.isArray(controls)) {\r\n\t\t\t\tthis.generateForm(controls);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.i18n.localeChange.pipe(takeUntil(this.destroy$)).subscribe(() => {\r\n\t\t\tthis.locale = this.i18n.getLocaleData('Query');\r\n\r\n\t\t\tthis.cd.markForCheck();\r\n\t\t});\r\n\r\n\t\tthis.queryForm.valueChanges\r\n\t\t\t.pipe(takeUntil(this.destroy$))\r\n\t\t\t.subscribe((val) => {\r\n\t\t\t\tthis._queryParams = {\r\n\t\t\t\t\t...val,\r\n\t\t\t\t\t...this.fixedParams,\r\n\t\t\t\t};\r\n\t\t\t});\r\n\r\n\t\tthis._nzxBtnSpan = this.nzxBtnSpan;\r\n\t}\r\n\r\n\tngAfterContentInit(): void {\r\n\t\tthis.generateForm(this.controls);\r\n\r\n\t\tif (this.initQuery) {\r\n\t\t\tthis.search();\r\n\t\t}\r\n\t}\r\n\r\n\t/** 设置查询值进行回显 */\r\n\tsetQueryParams(cacheParams: NzxQueryParams): void {\r\n\t\tthis.cacheParams = cacheParams;\r\n\t\tthis.queryForm.patchValue(cacheParams);\r\n\t}\r\n\r\n\t/**\r\n\t * 根据controlName设置config值\r\n\t */\r\n\tsetControl(\r\n\t\tcontrolName: string,\r\n\t\tconfig: Partial<NzxQueryControlOptions>\r\n\t): void {\r\n\t\tPromise.resolve().then(() => {\r\n\t\t\tconst control = this.getControl(controlName);\r\n\t\t\tif (control) {\r\n\t\t\t\tObject.keys(config).forEach((key) => {\r\n\t\t\t\t\t(control as any)[key] = (config as any)[key];\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * 动态添加控件\r\n\t * @param config 配置项\r\n\t * @param position 添加位置 不传为末尾\r\n\t */\r\n\taddControl(\r\n\t\tconfig: NzxQueryControlOptions,\r\n\t\tposition?: number | undefined\r\n\t): void {\r\n\t\tconst control = this.getControl(config.controlName);\r\n\t\tif (!control) {\r\n\t\t\tif (config.controlName) {\r\n\t\t\t\tthis.queryForm.addControl(\r\n\t\t\t\t\tconfig.controlName,\r\n\t\t\t\t\tconfig.controlInstance ?? this.fb.control(config.default ?? null)\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\tif (position === void 0 || position === null) {\r\n\t\t\t\tthis.controls.push(config);\r\n\t\t\t} else {\r\n\t\t\t\tthis.controls.splice(position - 1, 0, config);\r\n\t\t\t}\r\n\t\t\tthis.calculateText();\r\n\t\t} else {\r\n\t\t\tthrow `The control name: '${config.controlName}' already exists!`;\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * 根据控件名删除控件\r\n\t */\r\n\tremoveControl(controlName: string): void {\r\n\t\tconst control = this.getControl(controlName);\r\n\t\tif (control) {\r\n\t\t\tthis.queryForm.removeControl(controlName);\r\n\t\t\tthis.controls = this.controls.filter(\r\n\t\t\t\t(c) => c.controlName !== controlName\r\n\t\t\t);\r\n\r\n\t\t\tthis.calculateText();\r\n\t\t} else {\r\n\t\t\tthrow `The control name: '${controlName}' not find!`;\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * 根据controlName获取config项\r\n\t */\r\n\tgetControl(\r\n\t\tcontrolName: string | undefined\r\n\t): NzxQueryControlOptions | undefined {\r\n\t\treturn this.controls.find((config) => config.controlName === controlName);\r\n\t}\r\n\r\n\t/**\r\n\t * 检索给定控件名称或路径的子控件。\r\n\t * 这个 getFormControl 签名支持字符串和 const 数组(.getFormControl(['foo', 'bar'] as const))\r\n\t */\r\n\tgetFormControl(\r\n\t\tpath: string | readonly (string | number)[]\r\n\t): AbstractControl<any, any> | null {\r\n\t\treturn this.queryForm.get(path);\r\n\t}\r\n\r\n\t/** 查询 */\r\n\tsearch(event?: Event): void {\r\n\t\tif (event) {\r\n\t\t\tevent.stopPropagation();\r\n\t\t}\r\n\t\tif (this.queryForm.invalid) {\r\n\t\t\tupdateControlStatus(this.queryForm);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.queryChange.emit(this._queryParams);\r\n\t}\r\n\r\n\t/** 重置 */\r\n\treset(): void {\r\n\t\tif (this.queryForm.invalid) {\r\n\t\t\tupdateControlStatus(this.queryForm);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.queryForm.reset(this.defaultValue);\r\n\t\tthis.resetChange.emit(this._queryParams);\r\n\t}\r\n\r\n\t/**展开、收起*/\r\n\ttoggleCollapse(): void {\r\n\t\tfor (let index = 0; index < this.controls.length; index++) {\r\n\t\t\tconst config = this.controls[index];\r\n\t\t\tif (config.hasOwnProperty('collapse') && config.collapse === true) {\r\n\t\t\t\t(config.collapse as boolean) = false;\r\n\t\t\t} else if (\r\n\t\t\t\tconfig.hasOwnProperty('collapse') &&\r\n\t\t\t\t(config.collapse as boolean) === false\r\n\t\t\t) {\r\n\t\t\t\tconfig.collapse = true;\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.calculateText();\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.destroy$.next();\r\n\t\tthis.destroy$.complete();\r\n\t}\r\n\r\n\tprivate calculateText() {\r\n\t\tif (this.controls.some((i) => i.collapse === true)) {\r\n\t\t\tthis.collapseIcon = 'down';\r\n\t\t\tthis.collapseText = this.locale.expand;\r\n\t\t} else {\r\n\t\t\tthis.collapseIcon = 'up';\r\n\t\t\tthis.collapseText = this.locale.collapse;\r\n\t\t}\r\n\t\tthis.cd.markForCheck();\r\n\t}\r\n\r\n\t/** 清空表单控件 */\r\n\tprivate clearFormControl(): void {\r\n\t\tObject.keys(this.queryForm.controls).forEach((key) => {\r\n\t\t\tthis.queryForm.removeControl(key);\r\n\t\t});\r\n\t}\r\n\r\n\t/** 生成表单 */\r\n\tprivate generateForm(controlConfigs: Array<NzxQueryControlOptions>): void {\r\n\t\tthis.clearFormControl();\r\n\r\n\t\tfor (const config of controlConfigs) {\r\n\t\t\tif (config.controlType === 'Template') {\r\n\t\t\t\tconst item = this.controlTemplateList.find(\r\n\t\t\t\t\t(directive) => directive.nzxControl === config.controlName\r\n\t\t\t\t);\r\n\t\t\t\tif (item) {\r\n\t\t\t\t\tconfig.templateRef = item.templateRef;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (config.controlName) {\r\n\t\t\t\tthis.queryForm.addControl(\r\n\t\t\t\t\tconfig.controlName,\r\n\t\t\t\t\tconfig.controlInstance ?? this.fb.control(config.default ?? null)\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.defaultValue = this.queryForm.getRawValue();\r\n\t\tif (this.cacheParams) {\r\n\t\t\t// 缓存回显查询条件\r\n\t\t\tthis.queryForm.patchValue(this.cacheParams);\r\n\t\t}\r\n\r\n\t\tthis.calculateText();\r\n\t}\r\n}\r\n","<form #queyForm class=\"nzx-query-container\" nz-form [formGroup]=\"queryForm\">\n\t<div nz-row [nzGutter]=\"nzxGutter\" [nzJustify]=\"nzxJustify\">\n\t\t<ng-container *ngFor=\"let config of controls; let i = index\">\n\t\t\t<div\n\t\t\t\t*ngIf=\"!config.hidden\"\n\t\t\t\tnz-col\n\t\t\t\t[nzSpan]=\"config.nzxSpan || 24 / lineNumber\"\n\t\t\t\t[hidden]=\"config.collapse\"\n\t\t\t\t[nzOrder]=\"i\"\n\t\t\t>\n\t\t\t\t<nzx-configurable-query-item\n\t\t\t\t\t*ngIf=\"config.controlName\"\n\t\t\t\t\t[form]=\"queryForm\"\n\t\t\t\t\t[control]=\"config\"\n\t\t\t\t></nzx-configurable-query-item>\n\t\t\t</div>\n\t\t</ng-container>\n\n\t\t<div\n\t\t\t[nzOrder]=\"controls.length\"\n\t\t\tclass=\"nzx-query-btn\"\n\t\t\tnz-col\n\t\t\t[nzSpan]=\"nzxBtnSpan || 24 / lineNumber\"\n\t\t>\n\t\t\t<div nz-row nzJustify=\"end\" nzAlign=\"middle\">\n\t\t\t\t<button\n\t\t\t\t\tnz-button\n\t\t\t\t\tnzType=\"primary\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\ttitle=\"Enter\"\n\t\t\t\t\t(click)=\"search($event)\"\n\t\t\t\t>\n\t\t\t\t\t{{ locale['query'] }}\n\t\t\t\t</button>\n\t\t\t\t<button nz-button type=\"button\" title=\"ctrl+r\" (click)=\"reset()\">\n\t\t\t\t\t{{ locale['reset'] }}\n\t\t\t\t</button>\n\t\t\t\t<ng-content></ng-content>\n\t\t\t\t<a\n\t\t\t\t\t*ngIf=\"nzxCollapse\"\n\t\t\t\t\tnz-button\n\t\t\t\t\tnzType=\"link\"\n\t\t\t\t\t(click)=\"toggleCollapse()\"\n\t\t\t\t>\n\t\t\t\t\t{{ collapseText }}\n\t\t\t\t\t<i nz-icon [nzType]=\"collapseIcon\"></i>\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</div>\n\t</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 { NzxConfigurableQueryComponent } from './configurable-query.component';\nimport { NzxControlDirective } from './control.directive';\nimport { NzI18nModule } from 'ng-zorro-antd/i18n';\nimport { NzxInputControlComponent } from './controls/input.control';\nimport { NzxTemplateControlComponent } from './controls/template.control';\nimport { NzxSelectControlComponent } from './controls/select.control';\nimport { NzxDatePickerControlComponent } from './controls/date-picker.control';\nimport { NzxRangePickerControlComponent } from './controls/range-picker.control';\nimport { NzxQueryConfig, NzxQueryControlType } from './type';\nimport { NzxQueryConfigService, QUERY_CONFIG } from './query-config.service';\nimport { NzxConfigurableQueryItemComponent } from './configurable-query-item/configurable-query-item.component';\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 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 { NzxConfigurableQueryComponent } from './configurable-query.component';\nimport { NzxControlDirective } from './control.directive';\nimport { NzI18nModule } from 'ng-zorro-antd/i18n';\nimport { NzxInputControlComponent } from './controls/input.control';\nimport { NzxTemplateControlComponent } from './controls/template.control';\nimport { NzxSelectControlComponent } from './controls/select.control';\nimport { NzxDatePickerControlComponent } from './controls/date-picker.control';\nimport { NzxRangePickerControlComponent } from './controls/range-picker.control';\nimport { NzxQueryConfig, NzxQueryControlType } from './type';\nimport { NzxQueryConfigService, QUERY_CONFIG } from './query-config.service';\nimport { NzxConfigurableQueryItemComponent } from './configurable-query-item/configurable-query-item.component';\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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"}