@yibozhang/pro-table 16.1.15 → 16.1.17

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.
@@ -1,6 +1,7 @@
1
- import { Component, forwardRef, Inject, Optional } from "@angular/core";
1
+ import { Component, forwardRef, Inject, Optional, Input } from "@angular/core";
2
2
  import { NG_VALUE_ACCESSOR } from "@angular/forms";
3
- import { PLATE_PREFIX_LOAD_SERVICE } from "../tokens";
3
+ import { PLATE_PREFIX_LOAD_SERVICE, PLATE_PREFIX_DEFAULT_LOAD_SERVICE } from "../tokens";
4
+ import { splitPlateNumber } from "./utils";
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@angular/common";
6
7
  import * as i2 from "ng-zorro-antd/grid";
@@ -9,34 +10,41 @@ import * as i4 from "ng-zorro-antd/popover";
9
10
  import * as i5 from "ng-zorro-antd/icon";
10
11
  import * as i6 from "../directives/trim-input.directive";
11
12
  export class PlateInputComponent {
12
- constructor(cdr, elementRef, platePrefixLoadService) {
13
+ constructor(cdr, elementRef, platePrefixLoadService, platePrefixDefaultLoadService) {
13
14
  this.cdr = cdr;
14
15
  this.elementRef = elementRef;
15
16
  this.platePrefixLoadService = platePrefixLoadService;
17
+ this.platePrefixDefaultLoadService = platePrefixDefaultLoadService;
18
+ this.usage = 'form';
16
19
  this.nzPopoverVisible = false;
17
20
  this.platePrefix = "";
18
21
  this.plateSuffix = "";
19
22
  this.platePrefixOptions = [];
20
23
  this.disabled = false;
24
+ this.defaultPrefix = "";
21
25
  this.onChange = (value) => { };
22
26
  this.onTouched = () => { };
23
27
  }
24
28
  ngOnInit() {
25
- if (this.platePrefixLoadService) {
26
- // 使用注入的全局服务加载车牌前缀选项
27
- this.platePrefixLoadService
28
- .loadPrefixOptions()
29
- .then((data) => {
30
- this.platePrefixOptions = data;
31
- })
32
- .catch(() => {
33
- this.platePrefixOptions = [];
34
- });
35
- }
36
- else {
37
- // 如果没有注入服务,则保持空数组
38
- this.platePrefixOptions = [];
39
- }
29
+ const prefixOptionsPromise = this.platePrefixLoadService
30
+ ? this.platePrefixLoadService.loadPrefixOptions().catch(() => [])
31
+ : Promise.resolve([]);
32
+ const defaultPrefixPromise = this.platePrefixDefaultLoadService
33
+ ? this.platePrefixDefaultLoadService.loadDefaultPrefix().catch(() => "")
34
+ : Promise.resolve("");
35
+ Promise.all([prefixOptionsPromise, defaultPrefixPromise]).then(([options, defaultPrefix]) => {
36
+ this.defaultPrefix = defaultPrefix;
37
+ if (this.usage === 'form' && defaultPrefix) {
38
+ // 将默认首字选项提到第二位(空选项之后)
39
+ const defaultIndex = options.findIndex(o => o.value === defaultPrefix);
40
+ if (defaultIndex > 1) {
41
+ const [defaultOption] = options.splice(defaultIndex, 1);
42
+ options.splice(1, 0, defaultOption);
43
+ }
44
+ }
45
+ this.platePrefixOptions = options;
46
+ this.applyDefaultPrefixIfEmpty();
47
+ });
40
48
  }
41
49
  handlePlatePrefix(value) {
42
50
  this.platePrefix = value;
@@ -46,15 +54,14 @@ export class PlateInputComponent {
46
54
  }
47
55
  writeValue(value) {
48
56
  if (value) {
49
- this.platePrefix = value.split("")[0];
50
- this.plateSuffix = value
51
- .split("")
52
- .filter((item, index) => index > 0)
53
- .join("");
57
+ const [firstChar, suffix] = splitPlateNumber(value);
58
+ this.platePrefix = firstChar;
59
+ this.plateSuffix = suffix;
54
60
  }
55
61
  else {
56
62
  this.platePrefix = "";
57
63
  this.plateSuffix = "";
64
+ this.applyDefaultPrefixIfEmpty();
58
65
  }
59
66
  }
60
67
  registerOnChange(fn) {
@@ -125,6 +132,16 @@ export class PlateInputComponent {
125
132
  ngOnDestroy() {
126
133
  this.removeClickOutsideListener();
127
134
  }
135
+ applyDefaultPrefixIfEmpty() {
136
+ if (this.usage !== 'form') {
137
+ return;
138
+ }
139
+ if (this.platePrefix || this.plateSuffix || !this.defaultPrefix) {
140
+ return;
141
+ }
142
+ this.platePrefix = this.defaultPrefix;
143
+ this.emitValue();
144
+ }
128
145
  emitValue() {
129
146
  const fullPlate = this.platePrefix + this.plateSuffix;
130
147
  this.onChange(fullPlate);
@@ -139,14 +156,14 @@ export class PlateInputComponent {
139
156
  this.plateSuffix = value;
140
157
  this.emitValue();
141
158
  }
142
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PlateInputComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: PLATE_PREFIX_LOAD_SERVICE, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
143
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PlateInputComponent, selector: "app-plate-input", providers: [
159
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PlateInputComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: PLATE_PREFIX_LOAD_SERVICE, optional: true }, { token: PLATE_PREFIX_DEFAULT_LOAD_SERVICE, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
160
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PlateInputComponent, selector: "app-plate-input", inputs: { usage: "usage" }, providers: [
144
161
  {
145
162
  provide: NG_VALUE_ACCESSOR,
146
163
  useExisting: forwardRef(() => PlateInputComponent),
147
164
  multi: true,
148
165
  },
149
- ], ngImport: i0, template: "<div\r\n class=\"plate-antd-input-container\"\r\n [class.plate-antd-input-disabled]=\"disabled\"\r\n>\r\n <div\r\n class=\"plate-input-prefix\"\r\n [class.plate-input-prefix-disabled]=\"disabled\"\r\n nz-popover\r\n nzPopoverPlacement=\"bottom\"\r\n nzPopoverOverlayClassName=\"plate-input-popover\"\r\n [(nzPopoverVisible)]=\"nzPopoverVisible\"\r\n [nzPopoverTrigger]=\"'manual'\"\r\n [nzPopoverContent]=\"contentTemplate\"\r\n (click)=\"handlePrefixClick($event)\"\r\n >\r\n {{ platePrefix | uppercase }}\r\n <i\r\n class=\"plate-input-icon-down\"\r\n [nzRotate]=\"nzPopoverVisible ? 180 : 0\"\r\n nz-icon\r\n nzType=\"down\"\r\n nzTheme=\"outline\"\r\n ></i>\r\n </div>\r\n <ng-template #contentTemplate>\r\n <div nz-row style=\"height: 100%\">\r\n <div\r\n nz-col\r\n nzSpan=\"4\"\r\n *ngFor=\"let item of platePrefixOptions\"\r\n class=\"plate-input-popover-item\"\r\n (click)=\"!disabled && handlePlatePrefix(item.value)\"\r\n [ngClass]=\"{\r\n 'plate-input-popover-item-active': item.value === platePrefix,\r\n 'plate-input-popover-item-default': item.value !== platePrefix\r\n }\"\r\n >\r\n <div class=\"plate-input-popover-item-label\">\r\n {{ item.label }}\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <input\r\n class=\"plate-input-suffix\"\r\n type=\"text\"\r\n nz-input\r\n allow-trim\r\n style=\"width: 75%\"\r\n [value]=\"plateSuffix | uppercase\"\r\n [disabled]=\"disabled\"\r\n (blur)=\"!disabled && handleAntdPlateSuffixBlur($event)\"\r\n placeholder=\"\u8BF7\u8F93\u5165\"\r\n maxlength=\"8\"\r\n />\r\n</div>\r\n", styles: ["::ng-deep .plate-input-popover{box-sizing:border-box;padding:5px 0}::ng-deep .plate-input-popover .ant-popover-inner-content{width:387px;height:264px;padding:0}::ng-deep .plate-input-popover .ant-popover-inner-content .plate-input-popover-item{height:42px;box-sizing:border-box;padding:6px 12px;cursor:pointer}::ng-deep .plate-input-popover .ant-popover-inner-content .plate-input-popover-item .plate-input-popover-item-label{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border:1px solid #ccc}::ng-deep .plate-input-popover .ant-popover-inner-content .plate-input-popover-item-default:hover{background-color:#eaeaea}::ng-deep .plate-input-popover .ant-popover-inner-content .plate-input-popover-item-active{background-color:#096dd9;color:#fff}::ng-deep .plate-input-prefix:hover:after{content:\"\";position:absolute;top:0;right:0;width:1px;height:100%;background-color:transparent;z-index:2}::ng-deep .plate-antd-input-container{width:100%;display:flex;flex-wrap:nowrap}::ng-deep .plate-antd-input-container .plate-input-prefix{width:60px;text-align:center;min-height:32px;border:1px solid #d9d9d9;border-radius:4px;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;background-color:#fff}::ng-deep .plate-antd-input-container .plate-input-prefix .plate-input-icon-down{position:absolute;top:50%;right:5px;transform:translateY(-50%);font-size:10px}::ng-deep .plate-antd-input-container .plate-input-prefix:hover:not(.plate-input-prefix-disabled){border-color:#096dd9}::ng-deep .plate-antd-input-container .plate-input-prefix-disabled{background-color:#f5f5f5;border-color:#d9d9d9;cursor:not-allowed;color:#7c7c7c}::ng-deep .plate-antd-input-container .plate-input-suffix{width:calc(100% - 60px)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.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: i2.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "directive", type: i3.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStepperless", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "directive", type: i4.NzPopoverDirective, selector: "[nz-popover]", inputs: ["nzPopoverArrowPointAtCenter", "nzPopoverTitle", "nzPopoverContent", "nz-popover", "nzPopoverTrigger", "nzPopoverPlacement", "nzPopoverOrigin", "nzPopoverVisible", "nzPopoverMouseEnterDelay", "nzPopoverMouseLeaveDelay", "nzPopoverOverlayClassName", "nzPopoverOverlayStyle", "nzPopoverBackdrop"], outputs: ["nzPopoverVisibleChange"], exportAs: ["nzPopover"] }, { kind: "directive", type: i5.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "directive", type: i6.TrimInputDirective, selector: "input[nz-input]" }, { kind: "pipe", type: i1.UpperCasePipe, name: "uppercase" }] }); }
166
+ ], ngImport: i0, template: "<div\r\n class=\"plate-antd-input-container\"\r\n [class.plate-antd-input-disabled]=\"disabled\"\r\n [attr.data-usage]=\"usage\"\r\n>\r\n <div\r\n class=\"plate-input-prefix\"\r\n [class.plate-input-prefix-disabled]=\"disabled\"\r\n nz-popover\r\n nzPopoverPlacement=\"bottom\"\r\n nzPopoverOverlayClassName=\"plate-input-popover\"\r\n [(nzPopoverVisible)]=\"nzPopoverVisible\"\r\n [nzPopoverTrigger]=\"'manual'\"\r\n [nzPopoverContent]=\"contentTemplate\"\r\n (click)=\"handlePrefixClick($event)\"\r\n >\r\n {{ platePrefix | uppercase }}\r\n <i\r\n class=\"plate-input-icon-down\"\r\n [nzRotate]=\"nzPopoverVisible ? 180 : 0\"\r\n nz-icon\r\n nzType=\"down\"\r\n nzTheme=\"outline\"\r\n ></i>\r\n </div>\r\n <ng-template #contentTemplate>\r\n <div nz-row style=\"height: 100%\">\r\n <div\r\n nz-col\r\n nzSpan=\"4\"\r\n *ngFor=\"let item of platePrefixOptions\"\r\n class=\"plate-input-popover-item\"\r\n (click)=\"!disabled && handlePlatePrefix(item.value)\"\r\n [ngClass]=\"{\r\n 'plate-input-popover-item-active': item.value === platePrefix,\r\n 'plate-input-popover-item-default': item.value !== platePrefix\r\n }\"\r\n >\r\n <div class=\"plate-input-popover-item-label\">\r\n {{ item.label }}\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <input\r\n class=\"plate-input-suffix\"\r\n type=\"text\"\r\n nz-input\r\n allow-trim\r\n style=\"width: 75%\"\r\n [value]=\"plateSuffix | uppercase\"\r\n [disabled]=\"disabled\"\r\n (blur)=\"!disabled && handleAntdPlateSuffixBlur($event)\"\r\n placeholder=\"\u8BF7\u8F93\u5165\"\r\n maxlength=\"8\"\r\n />\r\n</div>\r\n", styles: ["::ng-deep .plate-input-popover{box-sizing:border-box;padding:5px 0}::ng-deep .plate-input-popover .ant-popover-inner-content{width:387px;height:264px;padding:0}::ng-deep .plate-input-popover .ant-popover-inner-content .plate-input-popover-item{height:42px;box-sizing:border-box;padding:6px 12px;cursor:pointer}::ng-deep .plate-input-popover .ant-popover-inner-content .plate-input-popover-item .plate-input-popover-item-label{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border:1px solid #ccc}::ng-deep .plate-input-popover .ant-popover-inner-content .plate-input-popover-item-default:hover{background-color:#eaeaea}::ng-deep .plate-input-popover .ant-popover-inner-content .plate-input-popover-item-active{background-color:#096dd9;color:#fff}::ng-deep .plate-input-prefix:hover:after{content:\"\";position:absolute;top:0;right:0;width:1px;height:100%;background-color:transparent;z-index:2}::ng-deep .plate-antd-input-container{width:100%;display:flex;flex-wrap:nowrap}::ng-deep .plate-antd-input-container .plate-input-prefix{width:60px;text-align:center;min-height:32px;border:1px solid #d9d9d9;border-radius:4px;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;background-color:#fff}::ng-deep .plate-antd-input-container .plate-input-prefix .plate-input-icon-down{position:absolute;top:50%;right:5px;transform:translateY(-50%);font-size:10px}::ng-deep .plate-antd-input-container .plate-input-prefix:hover:not(.plate-input-prefix-disabled){border-color:#096dd9}::ng-deep .plate-antd-input-container .plate-input-prefix-disabled{background-color:#f5f5f5;border-color:#d9d9d9;cursor:not-allowed;color:#7c7c7c}::ng-deep .plate-antd-input-container .plate-input-suffix{width:calc(100% - 60px)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.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: i2.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "directive", type: i3.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStepperless", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "directive", type: i4.NzPopoverDirective, selector: "[nz-popover]", inputs: ["nzPopoverArrowPointAtCenter", "nzPopoverTitle", "nzPopoverContent", "nz-popover", "nzPopoverTrigger", "nzPopoverPlacement", "nzPopoverOrigin", "nzPopoverVisible", "nzPopoverMouseEnterDelay", "nzPopoverMouseLeaveDelay", "nzPopoverOverlayClassName", "nzPopoverOverlayStyle", "nzPopoverBackdrop"], outputs: ["nzPopoverVisibleChange"], exportAs: ["nzPopover"] }, { kind: "directive", type: i5.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "directive", type: i6.TrimInputDirective, selector: "input[nz-input]" }, { kind: "pipe", type: i1.UpperCasePipe, name: "uppercase" }] }); }
150
167
  }
151
168
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PlateInputComponent, decorators: [{
152
169
  type: Component,
@@ -156,11 +173,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
156
173
  useExisting: forwardRef(() => PlateInputComponent),
157
174
  multi: true,
158
175
  },
159
- ], template: "<div\r\n class=\"plate-antd-input-container\"\r\n [class.plate-antd-input-disabled]=\"disabled\"\r\n>\r\n <div\r\n class=\"plate-input-prefix\"\r\n [class.plate-input-prefix-disabled]=\"disabled\"\r\n nz-popover\r\n nzPopoverPlacement=\"bottom\"\r\n nzPopoverOverlayClassName=\"plate-input-popover\"\r\n [(nzPopoverVisible)]=\"nzPopoverVisible\"\r\n [nzPopoverTrigger]=\"'manual'\"\r\n [nzPopoverContent]=\"contentTemplate\"\r\n (click)=\"handlePrefixClick($event)\"\r\n >\r\n {{ platePrefix | uppercase }}\r\n <i\r\n class=\"plate-input-icon-down\"\r\n [nzRotate]=\"nzPopoverVisible ? 180 : 0\"\r\n nz-icon\r\n nzType=\"down\"\r\n nzTheme=\"outline\"\r\n ></i>\r\n </div>\r\n <ng-template #contentTemplate>\r\n <div nz-row style=\"height: 100%\">\r\n <div\r\n nz-col\r\n nzSpan=\"4\"\r\n *ngFor=\"let item of platePrefixOptions\"\r\n class=\"plate-input-popover-item\"\r\n (click)=\"!disabled && handlePlatePrefix(item.value)\"\r\n [ngClass]=\"{\r\n 'plate-input-popover-item-active': item.value === platePrefix,\r\n 'plate-input-popover-item-default': item.value !== platePrefix\r\n }\"\r\n >\r\n <div class=\"plate-input-popover-item-label\">\r\n {{ item.label }}\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <input\r\n class=\"plate-input-suffix\"\r\n type=\"text\"\r\n nz-input\r\n allow-trim\r\n style=\"width: 75%\"\r\n [value]=\"plateSuffix | uppercase\"\r\n [disabled]=\"disabled\"\r\n (blur)=\"!disabled && handleAntdPlateSuffixBlur($event)\"\r\n placeholder=\"\u8BF7\u8F93\u5165\"\r\n maxlength=\"8\"\r\n />\r\n</div>\r\n", styles: ["::ng-deep .plate-input-popover{box-sizing:border-box;padding:5px 0}::ng-deep .plate-input-popover .ant-popover-inner-content{width:387px;height:264px;padding:0}::ng-deep .plate-input-popover .ant-popover-inner-content .plate-input-popover-item{height:42px;box-sizing:border-box;padding:6px 12px;cursor:pointer}::ng-deep .plate-input-popover .ant-popover-inner-content .plate-input-popover-item .plate-input-popover-item-label{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border:1px solid #ccc}::ng-deep .plate-input-popover .ant-popover-inner-content .plate-input-popover-item-default:hover{background-color:#eaeaea}::ng-deep .plate-input-popover .ant-popover-inner-content .plate-input-popover-item-active{background-color:#096dd9;color:#fff}::ng-deep .plate-input-prefix:hover:after{content:\"\";position:absolute;top:0;right:0;width:1px;height:100%;background-color:transparent;z-index:2}::ng-deep .plate-antd-input-container{width:100%;display:flex;flex-wrap:nowrap}::ng-deep .plate-antd-input-container .plate-input-prefix{width:60px;text-align:center;min-height:32px;border:1px solid #d9d9d9;border-radius:4px;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;background-color:#fff}::ng-deep .plate-antd-input-container .plate-input-prefix .plate-input-icon-down{position:absolute;top:50%;right:5px;transform:translateY(-50%);font-size:10px}::ng-deep .plate-antd-input-container .plate-input-prefix:hover:not(.plate-input-prefix-disabled){border-color:#096dd9}::ng-deep .plate-antd-input-container .plate-input-prefix-disabled{background-color:#f5f5f5;border-color:#d9d9d9;cursor:not-allowed;color:#7c7c7c}::ng-deep .plate-antd-input-container .plate-input-suffix{width:calc(100% - 60px)}\n"] }]
176
+ ], template: "<div\r\n class=\"plate-antd-input-container\"\r\n [class.plate-antd-input-disabled]=\"disabled\"\r\n [attr.data-usage]=\"usage\"\r\n>\r\n <div\r\n class=\"plate-input-prefix\"\r\n [class.plate-input-prefix-disabled]=\"disabled\"\r\n nz-popover\r\n nzPopoverPlacement=\"bottom\"\r\n nzPopoverOverlayClassName=\"plate-input-popover\"\r\n [(nzPopoverVisible)]=\"nzPopoverVisible\"\r\n [nzPopoverTrigger]=\"'manual'\"\r\n [nzPopoverContent]=\"contentTemplate\"\r\n (click)=\"handlePrefixClick($event)\"\r\n >\r\n {{ platePrefix | uppercase }}\r\n <i\r\n class=\"plate-input-icon-down\"\r\n [nzRotate]=\"nzPopoverVisible ? 180 : 0\"\r\n nz-icon\r\n nzType=\"down\"\r\n nzTheme=\"outline\"\r\n ></i>\r\n </div>\r\n <ng-template #contentTemplate>\r\n <div nz-row style=\"height: 100%\">\r\n <div\r\n nz-col\r\n nzSpan=\"4\"\r\n *ngFor=\"let item of platePrefixOptions\"\r\n class=\"plate-input-popover-item\"\r\n (click)=\"!disabled && handlePlatePrefix(item.value)\"\r\n [ngClass]=\"{\r\n 'plate-input-popover-item-active': item.value === platePrefix,\r\n 'plate-input-popover-item-default': item.value !== platePrefix\r\n }\"\r\n >\r\n <div class=\"plate-input-popover-item-label\">\r\n {{ item.label }}\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <input\r\n class=\"plate-input-suffix\"\r\n type=\"text\"\r\n nz-input\r\n allow-trim\r\n style=\"width: 75%\"\r\n [value]=\"plateSuffix | uppercase\"\r\n [disabled]=\"disabled\"\r\n (blur)=\"!disabled && handleAntdPlateSuffixBlur($event)\"\r\n placeholder=\"\u8BF7\u8F93\u5165\"\r\n maxlength=\"8\"\r\n />\r\n</div>\r\n", styles: ["::ng-deep .plate-input-popover{box-sizing:border-box;padding:5px 0}::ng-deep .plate-input-popover .ant-popover-inner-content{width:387px;height:264px;padding:0}::ng-deep .plate-input-popover .ant-popover-inner-content .plate-input-popover-item{height:42px;box-sizing:border-box;padding:6px 12px;cursor:pointer}::ng-deep .plate-input-popover .ant-popover-inner-content .plate-input-popover-item .plate-input-popover-item-label{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border:1px solid #ccc}::ng-deep .plate-input-popover .ant-popover-inner-content .plate-input-popover-item-default:hover{background-color:#eaeaea}::ng-deep .plate-input-popover .ant-popover-inner-content .plate-input-popover-item-active{background-color:#096dd9;color:#fff}::ng-deep .plate-input-prefix:hover:after{content:\"\";position:absolute;top:0;right:0;width:1px;height:100%;background-color:transparent;z-index:2}::ng-deep .plate-antd-input-container{width:100%;display:flex;flex-wrap:nowrap}::ng-deep .plate-antd-input-container .plate-input-prefix{width:60px;text-align:center;min-height:32px;border:1px solid #d9d9d9;border-radius:4px;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;background-color:#fff}::ng-deep .plate-antd-input-container .plate-input-prefix .plate-input-icon-down{position:absolute;top:50%;right:5px;transform:translateY(-50%);font-size:10px}::ng-deep .plate-antd-input-container .plate-input-prefix:hover:not(.plate-input-prefix-disabled){border-color:#096dd9}::ng-deep .plate-antd-input-container .plate-input-prefix-disabled{background-color:#f5f5f5;border-color:#d9d9d9;cursor:not-allowed;color:#7c7c7c}::ng-deep .plate-antd-input-container .plate-input-suffix{width:calc(100% - 60px)}\n"] }]
160
177
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: undefined, decorators: [{
161
178
  type: Optional
162
179
  }, {
163
180
  type: Inject,
164
181
  args: [PLATE_PREFIX_LOAD_SERVICE]
165
- }] }]; } });
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGUtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvLXRhYmxlL3NyYy9saWIvcGxhdGUtaW5wdXQvcGxhdGUtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvLXRhYmxlL3NyYy9saWIvcGxhdGUtaW5wdXQvcGxhdGUtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsVUFBVSxFQUFpQyxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFILE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQTZDLE1BQU0sV0FBVyxDQUFDOzs7Ozs7OztBQWNqRyxNQUFNLE9BQU8sbUJBQW1CO0lBVzlCLFlBQ1UsR0FBc0IsRUFDdEIsVUFBc0IsRUFDeUIsc0JBQStDO1FBRjlGLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDeUIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF5QjtRQWJ4RyxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsdUJBQWtCLEdBQTZCLEVBQUUsQ0FBQztRQUNsRCxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQ2xCLGFBQVEsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ2pDLGNBQVMsR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFRMUIsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtZQUMvQixvQkFBb0I7WUFDcEIsSUFBSSxDQUFDLHNCQUFzQjtpQkFDeEIsaUJBQWlCLEVBQUU7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RCxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxLQUFVO1FBQ2xDLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBQzFCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDOytHQXRKVSxtQkFBbUIsNkVBY1IseUJBQXlCO21HQWRwQyxtQkFBbUIsMENBUm5CO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztnQkFDbEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLDBCQ2RILDR0REF3REE7OzRGRHhDYSxtQkFBbUI7a0JBWi9CLFNBQVM7K0JBQ0UsaUJBQWlCLGFBR2hCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG9CQUFvQixDQUFDOzRCQUNsRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs7MEJBZ0JFLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSwgZm9yd2FyZFJlZiwgQ2hhbmdlRGV0ZWN0b3JSZWYsIEVsZW1lbnRSZWYsIEluamVjdCwgT3B0aW9uYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgUExBVEVfUFJFRklYX0xPQURfU0VSVklDRSwgUGxhdGVQcmVmaXhMb2FkU2VydmljZSwgUGxhdGVQcmVmaXhPcHRpb24gfSBmcm9tIFwiLi4vdG9rZW5zXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJhcHAtcGxhdGUtaW5wdXRcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3BsYXRlLWlucHV0LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL3BsYXRlLWlucHV0LmNvbXBvbmVudC5sZXNzXCJdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUGxhdGVJbnB1dENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGxhdGVJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgbnpQb3BvdmVyVmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHBsYXRlUHJlZml4OiBzdHJpbmcgPSBcIlwiO1xyXG4gIHBsYXRlU3VmZml4OiBzdHJpbmcgPSBcIlwiO1xyXG4gIHBsYXRlUHJlZml4T3B0aW9uczogQXJyYXk8UGxhdGVQcmVmaXhPcHRpb24+ID0gW107XHJcbiAgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcml2YXRlIG9uQ2hhbmdlID0gKHZhbHVlOiBzdHJpbmcpID0+IHt9O1xyXG4gIHByaXZhdGUgb25Ub3VjaGVkID0gKCkgPT4ge307XHJcblxyXG4gIHByaXZhdGUgY2xpY2tPdXRzaWRlSGFuZGxlcj86IChldmVudDogTW91c2VFdmVudCkgPT4gdm9pZDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFBMQVRFX1BSRUZJWF9MT0FEX1NFUlZJQ0UpIHByaXZhdGUgcGxhdGVQcmVmaXhMb2FkU2VydmljZT86IFBsYXRlUHJlZml4TG9hZFNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucGxhdGVQcmVmaXhMb2FkU2VydmljZSkge1xyXG4gICAgICAvLyDkvb/nlKjms6jlhaXnmoTlhajlsYDmnI3liqHliqDovb3ovabniYzliY3nvIDpgInpoblcclxuICAgICAgdGhpcy5wbGF0ZVByZWZpeExvYWRTZXJ2aWNlXHJcbiAgICAgICAgLmxvYWRQcmVmaXhPcHRpb25zKClcclxuICAgICAgICAudGhlbigoZGF0YTogQXJyYXk8UGxhdGVQcmVmaXhPcHRpb24+KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnBsYXRlUHJlZml4T3B0aW9ucyA9IGRhdGE7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuY2F0Y2goKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5wbGF0ZVByZWZpeE9wdGlvbnMgPSBbXTtcclxuICAgICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIOWmguaenOayoeacieazqOWFpeacjeWKoe+8jOWImeS/neaMgeepuuaVsOe7hFxyXG4gICAgICB0aGlzLnBsYXRlUHJlZml4T3B0aW9ucyA9IFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlUGxhdGVQcmVmaXgodmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5wbGF0ZVByZWZpeCA9IHZhbHVlO1xyXG4gICAgdGhpcy5lbWl0VmFsdWUoKTtcclxuICAgIHRoaXMubnpQb3BvdmVyVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5yZW1vdmVDbGlja091dHNpZGVMaXN0ZW5lcigpO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgdGhpcy5wbGF0ZVByZWZpeCA9IHZhbHVlLnNwbGl0KFwiXCIpWzBdO1xyXG4gICAgICB0aGlzLnBsYXRlU3VmZml4ID0gdmFsdWVcclxuICAgICAgICAuc3BsaXQoXCJcIilcclxuICAgICAgICAuZmlsdGVyKChpdGVtLCBpbmRleCkgPT4gaW5kZXggPiAwKVxyXG4gICAgICAgIC5qb2luKFwiXCIpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5wbGF0ZVByZWZpeCA9IFwiXCI7XHJcbiAgICAgIHRoaXMucGxhdGVTdWZmaXggPSBcIlwiO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBjb25zdCBwcmV2aW91c0Rpc2FibGVkID0gdGhpcy5kaXNhYmxlZDtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gICAgXHJcbiAgICAvLyDlpoLmnpznpoHnlKjnirbmgIHmlLnlj5jvvIzlhbPpl60gcG9wb3ZlciDlubbnp7vpmaTnm5HlkKzlmahcclxuICAgIGlmIChwcmV2aW91c0Rpc2FibGVkICE9PSBpc0Rpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMubnpQb3BvdmVyVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnJlbW92ZUNsaWNrT3V0c2lkZUxpc3RlbmVyKCk7XHJcbiAgICAgIC8vIOW8uuWItuWPmOabtOajgOa1i1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVQcmVmaXhDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICB0aGlzLm56UG9wb3ZlclZpc2libGUgPSBmYWxzZTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgLy8g5omL5Yqo5YiH5o2iIHBvcG92ZXIg55qE5pi+56S6L+makOiXj+eKtuaAgVxyXG4gICAgdGhpcy5uelBvcG92ZXJWaXNpYmxlID0gIXRoaXMubnpQb3BvdmVyVmlzaWJsZTtcclxuICAgIFxyXG4gICAgLy8g5aaC5p6c5omT5byA5LqGIHBvcG92ZXLvvIzmt7vliqDmlofmoaPngrnlh7vnm5HlkKzlmahcclxuICAgIGlmICh0aGlzLm56UG9wb3ZlclZpc2libGUpIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5hdHRhY2hDbGlja091dHNpZGVMaXN0ZW5lcigpO1xyXG4gICAgICB9LCAwKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucmVtb3ZlQ2xpY2tPdXRzaWRlTGlzdGVuZXIoKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IC8vIOmYu+atouS6i+S7tuWGkuazoVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhdHRhY2hDbGlja091dHNpZGVMaXN0ZW5lcigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNsaWNrT3V0c2lkZUhhbmRsZXIpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICB0aGlzLmNsaWNrT3V0c2lkZUhhbmRsZXIgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcclxuICAgICAgY29uc3QgbmF0aXZlRWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgIFxyXG4gICAgICAvLyDmo4Dmn6XmmK/lkKbngrnlh7vlnKggcG9wb3ZlciDlhoXlrrnljLrln5/lhoVcclxuICAgICAgY29uc3QgcG9wb3ZlckNvbnRlbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcucGxhdGUtaW5wdXQtcG9wb3ZlcicpO1xyXG4gICAgICBjb25zdCBjbGlja2VkSW5Qb3BvdmVyID0gcG9wb3ZlckNvbnRlbnQgJiYgcG9wb3ZlckNvbnRlbnQuY29udGFpbnModGFyZ2V0KTtcclxuICAgICAgXHJcbiAgICAgIC8vIOajgOafpeaYr+WQpueCueWHu+WcqOe7hOS7tuWGhemDqO+8iOWJjee8gOaMiemSru+8iVxyXG4gICAgICBjb25zdCBjbGlja2VkSW5Db21wb25lbnQgPSBuYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldCk7XHJcbiAgICAgIFxyXG4gICAgICAvLyDlpoLmnpzngrnlh7vml6LkuI3lnKjnu4Tku7blhoXpg6jvvIzkuZ/kuI3lnKggcG9wb3ZlciDlhoXlrrnljLrln5/vvIzliJnlhbPpl60gcG9wb3ZlclxyXG4gICAgICBpZiAoIWNsaWNrZWRJbkNvbXBvbmVudCAmJiAhY2xpY2tlZEluUG9wb3Zlcikge1xyXG4gICAgICAgIHRoaXMubnpQb3BvdmVyVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMucmVtb3ZlQ2xpY2tPdXRzaWRlTGlzdGVuZXIoKTtcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICBcclxuICAgIC8vIOS9v+eUqOaNleiOt+mYtuaute+8jOehruS/neWcqOWFtuS7luS6i+S7tuWkhOeQhuS5i+WJjeaJp+ihjFxyXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLmNsaWNrT3V0c2lkZUhhbmRsZXIsIHRydWUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW1vdmVDbGlja091dHNpZGVMaXN0ZW5lcigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNsaWNrT3V0c2lkZUhhbmRsZXIpIHtcclxuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLmNsaWNrT3V0c2lkZUhhbmRsZXIsIHRydWUpO1xyXG4gICAgICB0aGlzLmNsaWNrT3V0c2lkZUhhbmRsZXIgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVtb3ZlQ2xpY2tPdXRzaWRlTGlzdGVuZXIoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZW1pdFZhbHVlKCk6IHZvaWQge1xyXG4gICAgY29uc3QgZnVsbFBsYXRlID0gdGhpcy5wbGF0ZVByZWZpeCArIHRoaXMucGxhdGVTdWZmaXg7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKGZ1bGxQbGF0ZSk7XHJcbiAgfVxyXG5cclxuICBvbkJsdXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlQW50ZFBsYXRlU3VmZml4Qmx1cihldmVudDogYW55KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xyXG4gICAgY29uc3QgdmFsdWUgPSBldmVudC50YXJnZXQudmFsdWUudG9VcHBlckNhc2UoKTtcclxuICAgIHRoaXMucGxhdGVTdWZmaXggPSB2YWx1ZTtcclxuICAgIHRoaXMuZW1pdFZhbHVlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cInBsYXRlLWFudGQtaW5wdXQtY29udGFpbmVyXCJcclxuICBbY2xhc3MucGxhdGUtYW50ZC1pbnB1dC1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cInBsYXRlLWlucHV0LXByZWZpeFwiXHJcbiAgICBbY2xhc3MucGxhdGUtaW5wdXQtcHJlZml4LWRpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgIG56LXBvcG92ZXJcclxuICAgIG56UG9wb3ZlclBsYWNlbWVudD1cImJvdHRvbVwiXHJcbiAgICBuelBvcG92ZXJPdmVybGF5Q2xhc3NOYW1lPVwicGxhdGUtaW5wdXQtcG9wb3ZlclwiXHJcbiAgICBbKG56UG9wb3ZlclZpc2libGUpXT1cIm56UG9wb3ZlclZpc2libGVcIlxyXG4gICAgW256UG9wb3ZlclRyaWdnZXJdPVwiJ21hbnVhbCdcIlxyXG4gICAgW256UG9wb3ZlckNvbnRlbnRdPVwiY29udGVudFRlbXBsYXRlXCJcclxuICAgIChjbGljayk9XCJoYW5kbGVQcmVmaXhDbGljaygkZXZlbnQpXCJcclxuICA+XHJcbiAgICB7eyBwbGF0ZVByZWZpeCB8IHVwcGVyY2FzZSB9fVxyXG4gICAgPGlcclxuICAgICAgY2xhc3M9XCJwbGF0ZS1pbnB1dC1pY29uLWRvd25cIlxyXG4gICAgICBbbnpSb3RhdGVdPVwibnpQb3BvdmVyVmlzaWJsZSA/IDE4MCA6IDBcIlxyXG4gICAgICBuei1pY29uXHJcbiAgICAgIG56VHlwZT1cImRvd25cIlxyXG4gICAgICBuelRoZW1lPVwib3V0bGluZVwiXHJcbiAgICA+PC9pPlxyXG4gIDwvZGl2PlxyXG4gIDxuZy10ZW1wbGF0ZSAjY29udGVudFRlbXBsYXRlPlxyXG4gICAgPGRpdiBuei1yb3cgc3R5bGU9XCJoZWlnaHQ6IDEwMCVcIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIG56LWNvbFxyXG4gICAgICAgIG56U3Bhbj1cIjRcIlxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIHBsYXRlUHJlZml4T3B0aW9uc1wiXHJcbiAgICAgICAgY2xhc3M9XCJwbGF0ZS1pbnB1dC1wb3BvdmVyLWl0ZW1cIlxyXG4gICAgICAgIChjbGljayk9XCIhZGlzYWJsZWQgJiYgaGFuZGxlUGxhdGVQcmVmaXgoaXRlbS52YWx1ZSlcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICdwbGF0ZS1pbnB1dC1wb3BvdmVyLWl0ZW0tYWN0aXZlJzogaXRlbS52YWx1ZSA9PT0gcGxhdGVQcmVmaXgsXHJcbiAgICAgICAgICAncGxhdGUtaW5wdXQtcG9wb3Zlci1pdGVtLWRlZmF1bHQnOiBpdGVtLnZhbHVlICE9PSBwbGF0ZVByZWZpeFxyXG4gICAgICAgIH1cIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBsYXRlLWlucHV0LXBvcG92ZXItaXRlbS1sYWJlbFwiPlxyXG4gICAgICAgICAge3sgaXRlbS5sYWJlbCB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbiAgPGlucHV0XHJcbiAgICBjbGFzcz1cInBsYXRlLWlucHV0LXN1ZmZpeFwiXHJcbiAgICB0eXBlPVwidGV4dFwiXHJcbiAgICBuei1pbnB1dFxyXG4gICAgYWxsb3ctdHJpbVxyXG4gICAgc3R5bGU9XCJ3aWR0aDogNzUlXCJcclxuICAgIFt2YWx1ZV09XCJwbGF0ZVN1ZmZpeCB8IHVwcGVyY2FzZVwiXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgKGJsdXIpPVwiIWRpc2FibGVkICYmIGhhbmRsZUFudGRQbGF0ZVN1ZmZpeEJsdXIoJGV2ZW50KVwiXHJcbiAgICBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpVwiXHJcbiAgICBtYXhsZW5ndGg9XCI4XCJcclxuICAvPlxyXG48L2Rpdj5cclxuIl19
182
+ }] }, { type: undefined, decorators: [{
183
+ type: Optional
184
+ }, {
185
+ type: Inject,
186
+ args: [PLATE_PREFIX_DEFAULT_LOAD_SERVICE]
187
+ }] }]; }, propDecorators: { usage: [{
188
+ type: Input
189
+ }] } });
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGUtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvLXRhYmxlL3NyYy9saWIvcGxhdGUtaW5wdXQvcGxhdGUtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvLXRhYmxlL3NyYy9saWIvcGxhdGUtaW5wdXQvcGxhdGUtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsVUFBVSxFQUFpQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqSSxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLHlCQUF5QixFQUE2QyxpQ0FBaUMsRUFBaUMsTUFBTSxXQUFXLENBQUM7QUFDbkssT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sU0FBUyxDQUFDOzs7Ozs7OztBQWMzQyxNQUFNLE9BQU8sbUJBQW1CO0lBYTlCLFlBQ1UsR0FBc0IsRUFDdEIsVUFBc0IsRUFDeUIsc0JBQStDLEVBQ3ZDLDZCQUE2RDtRQUhwSCxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3lCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBeUI7UUFDdkMsa0NBQTZCLEdBQTdCLDZCQUE2QixDQUFnQztRQWhCckgsVUFBSyxHQUFvQixNQUFNLENBQUM7UUFDekMscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBQ2xDLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLHVCQUFrQixHQUE2QixFQUFFLENBQUM7UUFDbEQsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUNsQixrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUNuQixhQUFRLEdBQUcsQ0FBQyxLQUFhLEVBQUUsRUFB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U0FBUztRQUNmLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUN0RCxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxLQUFVO1FBQ2xDLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBQzFCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDOytHQTFLVSxtQkFBbUIsNkVBZ0JSLHlCQUF5Qiw2QkFDekIsaUNBQWlDO21HQWpCNUMsbUJBQW1CLHNFQVJuQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUM7Z0JBQ2xELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiwwQkNmSCw2dkRBeURBOzs0RkR4Q2EsbUJBQW1CO2tCQVovQixTQUFTOytCQUNFLGlCQUFpQixhQUdoQjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQzs0QkFDbEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OzBCQWtCRSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLHlCQUF5Qjs7MEJBQzVDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsaUNBQWlDOzRDQWhCOUMsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSwgZm9yd2FyZFJlZiwgQ2hhbmdlRGV0ZWN0b3JSZWYsIEVsZW1lbnRSZWYsIEluamVjdCwgT3B0aW9uYWwsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IFBMQVRFX1BSRUZJWF9MT0FEX1NFUlZJQ0UsIFBsYXRlUHJlZml4TG9hZFNlcnZpY2UsIFBsYXRlUHJlZml4T3B0aW9uLCBQTEFURV9QUkVGSVhfREVGQVVMVF9MT0FEX1NFUlZJQ0UsIFBsYXRlUHJlZml4RGVmYXVsdExvYWRTZXJ2aWNlIH0gZnJvbSBcIi4uL3Rva2Vuc1wiO1xyXG5pbXBvcnQgeyBzcGxpdFBsYXRlTnVtYmVyIH0gZnJvbSBcIi4vdXRpbHNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImFwcC1wbGF0ZS1pbnB1dFwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vcGxhdGUtaW5wdXQuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vcGxhdGUtaW5wdXQuY29tcG9uZW50Lmxlc3NcIl0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQbGF0ZUlucHV0Q29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQbGF0ZUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBASW5wdXQoKSB1c2FnZTogJ2Zvcm0nfCdmaWx0ZXInID0gJ2Zvcm0nO1xyXG4gIG56UG9wb3ZlclZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwbGF0ZVByZWZpeDogc3RyaW5nID0gXCJcIjtcclxuICBwbGF0ZVN1ZmZpeDogc3RyaW5nID0gXCJcIjtcclxuICBwbGF0ZVByZWZpeE9wdGlvbnM6IEFycmF5PFBsYXRlUHJlZml4T3B0aW9uPiA9IFtdO1xyXG4gIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBkZWZhdWx0UHJlZml4ID0gXCJcIjtcclxuICBwcml2YXRlIG9uQ2hhbmdlID0gKHZhbHVlOiBzdHJpbmcpID0+IHt9O1xyXG4gIHByaXZhdGUgb25Ub3VjaGVkID0gKCkgPT4ge307XHJcblxyXG4gIHByaXZhdGUgY2xpY2tPdXRzaWRlSGFuZGxlcj86IChldmVudDogTW91c2VFdmVudCkgPT4gdm9pZDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFBMQVRFX1BSRUZJWF9MT0FEX1NFUlZJQ0UpIHByaXZhdGUgcGxhdGVQcmVmaXhMb2FkU2VydmljZT86IFBsYXRlUHJlZml4TG9hZFNlcnZpY2UsXHJcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFBMQVRFX1BSRUZJWF9ERUZBVUxUX0xPQURfU0VSVklDRSkgcHJpdmF0ZSBwbGF0ZVByZWZpeERlZmF1bHRMb2FkU2VydmljZT86IFBsYXRlUHJlZml4RGVmYXVsdExvYWRTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IHByZWZpeE9wdGlvbnNQcm9taXNlID0gdGhpcy5wbGF0ZVByZWZpeExvYWRTZXJ2aWNlXHJcbiAgICAgID8gdGhpcy5wbGF0ZVByZWZpeExvYWRTZXJ2aWNlLmxvYWRQcmVmaXhPcHRpb25zKCkuY2F0Y2goKCkgPT4gW10gYXMgQXJyYXk8UGxhdGVQcmVmaXhPcHRpb24+KVxyXG4gICAgICA6IFByb21pc2UucmVzb2x2ZShbXSBhcyBBcnJheTxQbGF0ZVByZWZpeE9wdGlvbj4pO1xyXG5cclxuICAgIGNvbnN0IGRlZmF1bHRQcmVmaXhQcm9taXNlID0gdGhpcy5wbGF0ZVByZWZpeERlZmF1bHRMb2FkU2VydmljZVxyXG4gICAgICA/IHRoaXMucGxhdGVQcmVmaXhEZWZhdWx0TG9hZFNlcnZpY2UubG9hZERlZmF1bHRQcmVmaXgoKS5jYXRjaCgoKSA9PiBcIlwiKVxyXG4gICAgICA6IFByb21pc2UucmVzb2x2ZShcIlwiKTtcclxuXHJcbiAgICBQcm9taXNlLmFsbChbcHJlZml4T3B0aW9uc1Byb21pc2UsIGRlZmF1bHRQcmVmaXhQcm9taXNlXSkudGhlbigoW29wdGlvbnMsIGRlZmF1bHRQcmVmaXhdKSA9PiB7XHJcbiAgICAgIHRoaXMuZGVmYXVsdFByZWZpeCA9IGRlZmF1bHRQcmVmaXg7XHJcbiAgICAgIGlmICh0aGlzLnVzYWdlID09PSAnZm9ybScgJiYgZGVmYXVsdFByZWZpeCkge1xyXG4gICAgICAgIC8vIOWwhum7mOiupOmmluWtl+mAiemhueaPkOWIsOesrOS6jOS9je+8iOepuumAiemhueS5i+WQju+8iVxyXG4gICAgICAgIGNvbnN0IGRlZmF1bHRJbmRleCA9IG9wdGlvbnMuZmluZEluZGV4KG8gPT4gby52YWx1ZSA9PT0gZGVmYXVsdFByZWZpeCk7XHJcbiAgICAgICAgaWYgKGRlZmF1bHRJbmRleCA+IDEpIHtcclxuICAgICAgICAgIGNvbnN0IFtkZWZhdWx0T3B0aW9uXSA9IG9wdGlvbnMuc3BsaWNlKGRlZmF1bHRJbmRleCwgMSk7XHJcbiAgICAgICAgICBvcHRpb25zLnNwbGljZSgxLCAwLCBkZWZhdWx0T3B0aW9uKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5wbGF0ZVByZWZpeE9wdGlvbnMgPSBvcHRpb25zO1xyXG4gICAgICB0aGlzLmFwcGx5RGVmYXVsdFByZWZpeElmRW1wdHkoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlUGxhdGVQcmVmaXgodmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5wbGF0ZVByZWZpeCA9IHZhbHVlO1xyXG4gICAgdGhpcy5lbWl0VmFsdWUoKTtcclxuICAgIHRoaXMubnpQb3BvdmVyVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5yZW1vdmVDbGlja091dHNpZGVMaXN0ZW5lcigpO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgY29uc3QgW2ZpcnN0Q2hhciwgc3VmZml4XSA9IHNwbGl0UGxhdGVOdW1iZXIodmFsdWUpO1xyXG4gICAgICB0aGlzLnBsYXRlUHJlZml4ID0gZmlyc3RDaGFyO1xyXG4gICAgICB0aGlzLnBsYXRlU3VmZml4ID0gc3VmZml4O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5wbGF0ZVByZWZpeCA9IFwiXCI7XHJcbiAgICAgIHRoaXMucGxhdGVTdWZmaXggPSBcIlwiO1xyXG4gICAgICB0aGlzLmFwcGx5RGVmYXVsdFByZWZpeElmRW1wdHkoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgY29uc3QgcHJldmlvdXNEaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQ7XHJcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICAgIFxyXG4gICAgLy8g5aaC5p6c56aB55So54q25oCB5pS55Y+Y77yM5YWz6ZetIHBvcG92ZXIg5bm256e76Zmk55uR5ZCs5ZmoXHJcbiAgICBpZiAocHJldmlvdXNEaXNhYmxlZCAhPT0gaXNEaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLm56UG9wb3ZlclZpc2libGUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5yZW1vdmVDbGlja091dHNpZGVMaXN0ZW5lcigpO1xyXG4gICAgICAvLyDlvLrliLblj5jmm7Tmo4DmtYtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlUHJlZml4Q2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgdGhpcy5uelBvcG92ZXJWaXNpYmxlID0gZmFsc2U7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIC8vIOaJi+WKqOWIh+aNoiBwb3BvdmVyIOeahOaYvuekui/pmpDol4/nirbmgIFcclxuICAgIHRoaXMubnpQb3BvdmVyVmlzaWJsZSA9ICF0aGlzLm56UG9wb3ZlclZpc2libGU7XHJcbiAgICBcclxuICAgIC8vIOWmguaenOaJk+W8gOS6hiBwb3BvdmVy77yM5re75Yqg5paH5qGj54K55Ye755uR5ZCs5ZmoXHJcbiAgICBpZiAodGhpcy5uelBvcG92ZXJWaXNpYmxlKSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuYXR0YWNoQ2xpY2tPdXRzaWRlTGlzdGVuZXIoKTtcclxuICAgICAgfSwgMCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnJlbW92ZUNsaWNrT3V0c2lkZUxpc3RlbmVyKCk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyAvLyDpmLvmraLkuovku7blhpLms6FcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXR0YWNoQ2xpY2tPdXRzaWRlTGlzdGVuZXIoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5jbGlja091dHNpZGVIYW5kbGVyKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIFxyXG4gICAgdGhpcy5jbGlja091dHNpZGVIYW5kbGVyID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XHJcbiAgICAgIGNvbnN0IG5hdGl2ZUVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICBcclxuICAgICAgLy8g5qOA5p+l5piv5ZCm54K55Ye75ZyoIHBvcG92ZXIg5YaF5a655Yy65Z+f5YaFXHJcbiAgICAgIGNvbnN0IHBvcG92ZXJDb250ZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnBsYXRlLWlucHV0LXBvcG92ZXInKTtcclxuICAgICAgY29uc3QgY2xpY2tlZEluUG9wb3ZlciA9IHBvcG92ZXJDb250ZW50ICYmIHBvcG92ZXJDb250ZW50LmNvbnRhaW5zKHRhcmdldCk7XHJcbiAgICAgIFxyXG4gICAgICAvLyDmo4Dmn6XmmK/lkKbngrnlh7vlnKjnu4Tku7blhoXpg6jvvIjliY3nvIDmjInpkq7vvIlcclxuICAgICAgY29uc3QgY2xpY2tlZEluQ29tcG9uZW50ID0gbmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXQpO1xyXG4gICAgICBcclxuICAgICAgLy8g5aaC5p6c54K55Ye75pei5LiN5Zyo57uE5Lu25YaF6YOo77yM5Lmf5LiN5ZyoIHBvcG92ZXIg5YaF5a655Yy65Z+f77yM5YiZ5YWz6ZetIHBvcG92ZXJcclxuICAgICAgaWYgKCFjbGlja2VkSW5Db21wb25lbnQgJiYgIWNsaWNrZWRJblBvcG92ZXIpIHtcclxuICAgICAgICB0aGlzLm56UG9wb3ZlclZpc2libGUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnJlbW92ZUNsaWNrT3V0c2lkZUxpc3RlbmVyKCk7XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgXHJcbiAgICAvLyDkvb/nlKjmjZXojrfpmLbmrrXvvIznoa7kv53lnKjlhbbku5bkuovku7blpITnkIbkuYvliY3miafooYxcclxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5jbGlja091dHNpZGVIYW5kbGVyLCB0cnVlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVtb3ZlQ2xpY2tPdXRzaWRlTGlzdGVuZXIoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5jbGlja091dHNpZGVIYW5kbGVyKSB7XHJcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5jbGlja091dHNpZGVIYW5kbGVyLCB0cnVlKTtcclxuICAgICAgdGhpcy5jbGlja091dHNpZGVIYW5kbGVyID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlbW92ZUNsaWNrT3V0c2lkZUxpc3RlbmVyKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFwcGx5RGVmYXVsdFByZWZpeElmRW1wdHkoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy51c2FnZSAhPT0gJ2Zvcm0nKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnBsYXRlUHJlZml4IHx8IHRoaXMucGxhdGVTdWZmaXggfHwgIXRoaXMuZGVmYXVsdFByZWZpeCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnBsYXRlUHJlZml4ID0gdGhpcy5kZWZhdWx0UHJlZml4O1xyXG4gICAgdGhpcy5lbWl0VmFsdWUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZW1pdFZhbHVlKCk6IHZvaWQge1xyXG4gICAgY29uc3QgZnVsbFBsYXRlID0gdGhpcy5wbGF0ZVByZWZpeCArIHRoaXMucGxhdGVTdWZmaXg7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKGZ1bGxQbGF0ZSk7XHJcbiAgfVxyXG5cclxuICBvbkJsdXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlQW50ZFBsYXRlU3VmZml4Qmx1cihldmVudDogYW55KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xyXG4gICAgY29uc3QgdmFsdWUgPSBldmVudC50YXJnZXQudmFsdWUudG9VcHBlckNhc2UoKTtcclxuICAgIHRoaXMucGxhdGVTdWZmaXggPSB2YWx1ZTtcclxuICAgIHRoaXMuZW1pdFZhbHVlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cInBsYXRlLWFudGQtaW5wdXQtY29udGFpbmVyXCJcclxuICBbY2xhc3MucGxhdGUtYW50ZC1pbnB1dC1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgW2F0dHIuZGF0YS11c2FnZV09XCJ1c2FnZVwiXHJcbj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cInBsYXRlLWlucHV0LXByZWZpeFwiXHJcbiAgICBbY2xhc3MucGxhdGUtaW5wdXQtcHJlZml4LWRpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgIG56LXBvcG92ZXJcclxuICAgIG56UG9wb3ZlclBsYWNlbWVudD1cImJvdHRvbVwiXHJcbiAgICBuelBvcG92ZXJPdmVybGF5Q2xhc3NOYW1lPVwicGxhdGUtaW5wdXQtcG9wb3ZlclwiXHJcbiAgICBbKG56UG9wb3ZlclZpc2libGUpXT1cIm56UG9wb3ZlclZpc2libGVcIlxyXG4gICAgW256UG9wb3ZlclRyaWdnZXJdPVwiJ21hbnVhbCdcIlxyXG4gICAgW256UG9wb3ZlckNvbnRlbnRdPVwiY29udGVudFRlbXBsYXRlXCJcclxuICAgIChjbGljayk9XCJoYW5kbGVQcmVmaXhDbGljaygkZXZlbnQpXCJcclxuICA+XHJcbiAgICB7eyBwbGF0ZVByZWZpeCB8IHVwcGVyY2FzZSB9fVxyXG4gICAgPGlcclxuICAgICAgY2xhc3M9XCJwbGF0ZS1pbnB1dC1pY29uLWRvd25cIlxyXG4gICAgICBbbnpSb3RhdGVdPVwibnpQb3BvdmVyVmlzaWJsZSA/IDE4MCA6IDBcIlxyXG4gICAgICBuei1pY29uXHJcbiAgICAgIG56VHlwZT1cImRvd25cIlxyXG4gICAgICBuelRoZW1lPVwib3V0bGluZVwiXHJcbiAgICA+PC9pPlxyXG4gIDwvZGl2PlxyXG4gIDxuZy10ZW1wbGF0ZSAjY29udGVudFRlbXBsYXRlPlxyXG4gICAgPGRpdiBuei1yb3cgc3R5bGU9XCJoZWlnaHQ6IDEwMCVcIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIG56LWNvbFxyXG4gICAgICAgIG56U3Bhbj1cIjRcIlxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIHBsYXRlUHJlZml4T3B0aW9uc1wiXHJcbiAgICAgICAgY2xhc3M9XCJwbGF0ZS1pbnB1dC1wb3BvdmVyLWl0ZW1cIlxyXG4gICAgICAgIChjbGljayk9XCIhZGlzYWJsZWQgJiYgaGFuZGxlUGxhdGVQcmVmaXgoaXRlbS52YWx1ZSlcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICdwbGF0ZS1pbnB1dC1wb3BvdmVyLWl0ZW0tYWN0aXZlJzogaXRlbS52YWx1ZSA9PT0gcGxhdGVQcmVmaXgsXHJcbiAgICAgICAgICAncGxhdGUtaW5wdXQtcG9wb3Zlci1pdGVtLWRlZmF1bHQnOiBpdGVtLnZhbHVlICE9PSBwbGF0ZVByZWZpeFxyXG4gICAgICAgIH1cIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBsYXRlLWlucHV0LXBvcG92ZXItaXRlbS1sYWJlbFwiPlxyXG4gICAgICAgICAge3sgaXRlbS5sYWJlbCB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbiAgPGlucHV0XHJcbiAgICBjbGFzcz1cInBsYXRlLWlucHV0LXN1ZmZpeFwiXHJcbiAgICB0eXBlPVwidGV4dFwiXHJcbiAgICBuei1pbnB1dFxyXG4gICAgYWxsb3ctdHJpbVxyXG4gICAgc3R5bGU9XCJ3aWR0aDogNzUlXCJcclxuICAgIFt2YWx1ZV09XCJwbGF0ZVN1ZmZpeCB8IHVwcGVyY2FzZVwiXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgKGJsdXIpPVwiIWRpc2FibGVkICYmIGhhbmRsZUFudGRQbGF0ZVN1ZmZpeEJsdXIoJGV2ZW50KVwiXHJcbiAgICBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpVwiXHJcbiAgICBtYXhsZW5ndGg9XCI4XCJcclxuICAvPlxyXG48L2Rpdj5cclxuIl19
@@ -0,0 +1,22 @@
1
+ import { lastValueFrom } from 'rxjs';
2
+ import { Injectable } from "@angular/core";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common/http";
5
+ export class DefaultPlatePrefixDefaultLoadService {
6
+ constructor(http) {
7
+ this.http = http;
8
+ this.defaultApiUrl = "/PlateFirstWord/GetDefaultPlateFirstWord";
9
+ }
10
+ loadDefaultPrefix() {
11
+ return lastValueFrom(this.http
12
+ .post(this.defaultApiUrl, { dictCode: "PlateFirstWord" }))
13
+ .then((prefix) => prefix || "")
14
+ .catch(() => "");
15
+ }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultPlatePrefixDefaultLoadService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
17
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultPlatePrefixDefaultLoadService }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultPlatePrefixDefaultLoadService, decorators: [{
20
+ type: Injectable
21
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGUtcHJlZml4LWRlZmF1bHQtbG9hZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvLXRhYmxlL3NyYy9saWIvcGxhdGUtaW5wdXQvcGxhdGUtcHJlZml4LWRlZmF1bHQtbG9hZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBSzNDLE1BQU0sT0FBTyxvQ0FBb0M7SUFHL0MsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUZuQixrQkFBYSxHQUFHLDBDQUEwQyxDQUFDO0lBRXJDLENBQUM7SUFFeEMsaUJBQWlCO1FBQ2YsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUk7YUFDM0IsSUFBSSxDQUFTLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO2FBQ2pFLElBQUksQ0FBQyxDQUFDLE1BQWMsRUFBRSxFQUFFLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQzthQUN0QyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDckIsQ0FBQzsrR0FWVSxvQ0FBb0M7bUhBQXBDLG9DQUFvQzs7NEZBQXBDLG9DQUFvQztrQkFEaEQsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGxhc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xuaW1wb3J0IHsgUGxhdGVQcmVmaXhEZWZhdWx0TG9hZFNlcnZpY2UgfSBmcm9tIFwiLi4vdG9rZW5zXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEZWZhdWx0UGxhdGVQcmVmaXhEZWZhdWx0TG9hZFNlcnZpY2UgaW1wbGVtZW50cyBQbGF0ZVByZWZpeERlZmF1bHRMb2FkU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdEFwaVVybCA9IFwiL1BsYXRlRmlyc3RXb3JkL0dldERlZmF1bHRQbGF0ZUZpcnN0V29yZFwiO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge31cblxuICBsb2FkRGVmYXVsdFByZWZpeCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBsYXN0VmFsdWVGcm9tKHRoaXMuaHR0cFxuICAgICAgLnBvc3Q8c3RyaW5nPih0aGlzLmRlZmF1bHRBcGlVcmwsIHsgZGljdENvZGU6IFwiUGxhdGVGaXJzdFdvcmRcIiB9KSlcbiAgICAgIC50aGVuKChwcmVmaXg6IHN0cmluZykgPT4gcHJlZml4IHx8IFwiXCIpXG4gICAgICAuY2F0Y2goKCkgPT4gXCJcIik7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,21 @@
1
+ /**
2
+ * 检测并分割车牌号
3
+ * @param plateNumber 车牌号字符串
4
+ * @returns 返回数组,第一个元素是中文字符(如果存在),第二个元素是剩余部分
5
+ * @example
6
+ * splitPlateNumber('京12345') // ['京', '12345']
7
+ * splitPlateNumber('12345') // ['', '12345']
8
+ */
9
+ export function splitPlateNumber(plateNumber) {
10
+ if (!plateNumber || typeof plateNumber !== 'string') {
11
+ return ['', ''];
12
+ }
13
+ // 检测首个字符是否为中文(Unicode范围:\u4e00-\u9fa5)
14
+ const firstChar = plateNumber.charAt(0);
15
+ const isChinese = /^[\u4e00-\u9fa5]$/.test(firstChar);
16
+ if (isChinese) {
17
+ return [firstChar, plateNumber.slice(1)];
18
+ }
19
+ return ['', plateNumber];
20
+ }
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm8tdGFibGUvc3JjL2xpYi9wbGF0ZS1pbnB1dC91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUFDLFdBQW1CO0lBQ2xELElBQUksQ0FBQyxXQUFXLElBQUksT0FBTyxXQUFXLEtBQUssUUFBUSxFQUFFO1FBQ25ELE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7S0FDakI7SUFFRCx1Q0FBdUM7SUFDdkMsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QyxNQUFNLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFdEQsSUFBSSxTQUFTLEVBQUU7UUFDYixPQUFPLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUMxQztJQUVELE9BQU8sQ0FBQyxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFDM0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiDmo4DmtYvlubbliIblibLovabniYzlj7dcclxuICogQHBhcmFtIHBsYXRlTnVtYmVyIOi9pueJjOWPt+Wtl+espuS4slxyXG4gKiBAcmV0dXJucyDov5Tlm57mlbDnu4TvvIznrKzkuIDkuKrlhYPntKDmmK/kuK3mloflrZfnrKbvvIjlpoLmnpzlrZjlnKjvvInvvIznrKzkuozkuKrlhYPntKDmmK/liankvZnpg6jliIZcclxuICogQGV4YW1wbGVcclxuICogc3BsaXRQbGF0ZU51bWJlcign5LqsMTIzNDUnKSAvLyBbJ+S6rCcsICcxMjM0NSddXHJcbiAqIHNwbGl0UGxhdGVOdW1iZXIoJzEyMzQ1JykgLy8gWycnLCAnMTIzNDUnXVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHNwbGl0UGxhdGVOdW1iZXIocGxhdGVOdW1iZXI6IHN0cmluZyk6IFtzdHJpbmcsIHN0cmluZ10ge1xyXG4gIGlmICghcGxhdGVOdW1iZXIgfHwgdHlwZW9mIHBsYXRlTnVtYmVyICE9PSAnc3RyaW5nJykge1xyXG4gICAgcmV0dXJuIFsnJywgJyddO1xyXG4gIH1cclxuXHJcbiAgLy8g5qOA5rWL6aaW5Liq5a2X56ym5piv5ZCm5Li65Lit5paH77yIVW5pY29kZeiMg+WbtO+8mlxcdTRlMDAtXFx1OWZhNe+8iVxyXG4gIGNvbnN0IGZpcnN0Q2hhciA9IHBsYXRlTnVtYmVyLmNoYXJBdCgwKTtcclxuICBjb25zdCBpc0NoaW5lc2UgPSAvXltcXHU0ZTAwLVxcdTlmYTVdJC8udGVzdChmaXJzdENoYXIpO1xyXG5cclxuICBpZiAoaXNDaGluZXNlKSB7XHJcbiAgICByZXR1cm4gW2ZpcnN0Q2hhciwgcGxhdGVOdW1iZXIuc2xpY2UoMSldO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIFsnJywgcGxhdGVOdW1iZXJdO1xyXG59XHJcblxyXG4iXX0=