@myrmidon/cadmus-part-codicology-shelfmarks 0.0.2 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,24 +1,24 @@
1
- # CadmusPartCodicologyShelfmarks
2
-
3
- This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.1.0.
4
-
5
- ## Code scaffolding
6
-
7
- Run `ng generate component component-name --project cadmus-part-codicology-shelfmarks` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project cadmus-part-codicology-shelfmarks`.
8
- > Note: Don't forget to add `--project cadmus-part-codicology-shelfmarks` or else it will be added to the default project in your `angular.json` file.
9
-
10
- ## Build
11
-
12
- Run `ng build cadmus-part-codicology-shelfmarks` to build the project. The build artifacts will be stored in the `dist/` directory.
13
-
14
- ## Publishing
15
-
16
- After building your library with `ng build cadmus-part-codicology-shelfmarks`, go to the dist folder `cd dist/cadmus-part-codicology-shelfmarks` and run `npm publish`.
17
-
18
- ## Running unit tests
19
-
20
- Run `ng test cadmus-part-codicology-shelfmarks` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
-
22
- ## Further help
23
-
24
- To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
1
+ # CadmusPartCodicologyShelfmarks
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.1.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Run `ng generate component component-name --project cadmus-part-codicology-shelfmarks` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project cadmus-part-codicology-shelfmarks`.
8
+ > Note: Don't forget to add `--project cadmus-part-codicology-shelfmarks` or else it will be added to the default project in your `angular.json` file.
9
+
10
+ ## Build
11
+
12
+ Run `ng build cadmus-part-codicology-shelfmarks` to build the project. The build artifacts will be stored in the `dist/` directory.
13
+
14
+ ## Publishing
15
+
16
+ After building your library with `ng build cadmus-part-codicology-shelfmarks`, go to the dist folder `cd dist/cadmus-part-codicology-shelfmarks` and run `npm publish`.
17
+
18
+ ## Running unit tests
19
+
20
+ Run `ng test cadmus-part-codicology-shelfmarks` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
+
22
+ ## Further help
23
+
24
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
@@ -19,8 +19,8 @@ import { CodShelfmarksPartFeatureComponent } from './cod-shelfmarks-part-feature
19
19
  import * as i0 from "@angular/core";
20
20
  export class CadmusPartCodicologyShelfmarksModule {
21
21
  }
22
- CadmusPartCodicologyShelfmarksModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: CadmusPartCodicologyShelfmarksModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
23
- CadmusPartCodicologyShelfmarksModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: CadmusPartCodicologyShelfmarksModule, declarations: [CodShelfmarksPartComponent,
22
+ CadmusPartCodicologyShelfmarksModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: CadmusPartCodicologyShelfmarksModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
23
+ CadmusPartCodicologyShelfmarksModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.0", ngImport: i0, type: CadmusPartCodicologyShelfmarksModule, declarations: [CodShelfmarksPartComponent,
24
24
  CodShelfmarkEditorComponent,
25
25
  CodShelfmarksPartFeatureComponent], imports: [CommonModule,
26
26
  FormsModule,
@@ -39,24 +39,22 @@ CadmusPartCodicologyShelfmarksModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersi
39
39
  CadmusUiPgModule], exports: [CodShelfmarksPartComponent,
40
40
  CodShelfmarkEditorComponent,
41
41
  CodShelfmarksPartFeatureComponent] });
42
- CadmusPartCodicologyShelfmarksModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: CadmusPartCodicologyShelfmarksModule, imports: [[
43
- CommonModule,
44
- FormsModule,
45
- ReactiveFormsModule,
46
- // material
47
- MatButtonModule,
48
- MatCardModule,
49
- MatIconModule,
50
- MatInputModule,
51
- MatSelectModule,
52
- MatTabsModule,
53
- MatTooltipModule,
54
- // Cadmus
55
- CadmusStateModule,
56
- CadmusUiModule,
57
- CadmusUiPgModule,
58
- ]] });
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: CadmusPartCodicologyShelfmarksModule, decorators: [{
42
+ CadmusPartCodicologyShelfmarksModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: CadmusPartCodicologyShelfmarksModule, imports: [CommonModule,
43
+ FormsModule,
44
+ ReactiveFormsModule,
45
+ // material
46
+ MatButtonModule,
47
+ MatCardModule,
48
+ MatIconModule,
49
+ MatInputModule,
50
+ MatSelectModule,
51
+ MatTabsModule,
52
+ MatTooltipModule,
53
+ // Cadmus
54
+ CadmusStateModule,
55
+ CadmusUiModule,
56
+ CadmusUiPgModule] });
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: CadmusPartCodicologyShelfmarksModule, decorators: [{
60
58
  type: NgModule,
61
59
  args: [{
62
60
  declarations: [
@@ -88,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
88
86
  ],
89
87
  }]
90
88
  }] });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FkbXVzLXBhcnQtY29kaWNvbG9neS1zaGVsZm1hcmtzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cm1pZG9uL2NhZG11cy1wYXJ0LWNvZGljb2xvZ3ktc2hlbGZtYXJrcy9zcmMvbGliL2NhZG11cy1wYXJ0LWNvZGljb2xvZ3ktc2hlbGZtYXJrcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELFNBQVM7QUFDVCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsb0NBQW9DO0FBQ3BDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHFFQUFxRSxDQUFDOztBQStCeEgsTUFBTSxPQUFPLG9DQUFvQzs7aUlBQXBDLG9DQUFvQztrSUFBcEMsb0NBQW9DLGlCQTNCN0MsMEJBQTBCO1FBQzFCLDJCQUEyQjtRQUMzQixpQ0FBaUMsYUFHakMsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsV0FBVztRQUNYLGVBQWU7UUFDZixhQUFhO1FBQ2IsYUFBYTtRQUNiLGNBQWM7UUFDZCxlQUFlO1FBQ2YsYUFBYTtRQUNiLGdCQUFnQjtRQUNoQixTQUFTO1FBQ1QsaUJBQWlCO1FBQ2pCLGNBQWM7UUFDZCxnQkFBZ0IsYUFHaEIsMEJBQTBCO1FBQzFCLDJCQUEyQjtRQUMzQixpQ0FBaUM7a0lBR3hCLG9DQUFvQyxZQXZCdEM7WUFDUCxZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixXQUFXO1lBQ1gsZUFBZTtZQUNmLGFBQWE7WUFDYixhQUFhO1lBQ2IsY0FBYztZQUNkLGVBQWU7WUFDZixhQUFhO1lBQ2IsZ0JBQWdCO1lBQ2hCLFNBQVM7WUFDVCxpQkFBaUI7WUFDakIsY0FBYztZQUNkLGdCQUFnQjtTQUNqQjsyRkFPVSxvQ0FBb0M7a0JBN0JoRCxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWiwwQkFBMEI7d0JBQzFCLDJCQUEyQjt3QkFDM0IsaUNBQWlDO3FCQUNsQztvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLFNBQVM7d0JBQ1QsaUJBQWlCO3dCQUNqQixjQUFjO3dCQUNkLGdCQUFnQjtxQkFDakI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLDBCQUEwQjt3QkFDMUIsMkJBQTJCO3dCQUMzQixpQ0FBaUM7cUJBQ2xDO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcblxuLy8gY2FkbXVzXG5pbXBvcnQgeyBDYWRtdXNTdGF0ZU1vZHVsZSB9IGZyb20gJ0BteXJtaWRvbi9jYWRtdXMtc3RhdGUnO1xuaW1wb3J0IHsgQ2FkbXVzVWlNb2R1bGUgfSBmcm9tICdAbXlybWlkb24vY2FkbXVzLXVpJztcbmltcG9ydCB7IENhZG11c1VpUGdNb2R1bGUgfSBmcm9tICdAbXlybWlkb24vY2FkbXVzLXVpLXBnJztcbi8vIGxvY2FscyAoVUkgZWRpdG9yIGFuZCBQRyB3cmFwcGVyKVxuaW1wb3J0IHsgQ29kU2hlbGZtYXJrc1BhcnRDb21wb25lbnQgfSBmcm9tICcuL2NvZC1zaGVsZm1hcmtzLXBhcnQvY29kLXNoZWxmbWFya3MtcGFydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29kU2hlbGZtYXJrRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb2Qtc2hlbGZtYXJrLWVkaXRvci9jb2Qtc2hlbGZtYXJrLWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29kU2hlbGZtYXJrc1BhcnRGZWF0dXJlQ29tcG9uZW50IH0gZnJvbSAnLi9jb2Qtc2hlbGZtYXJrcy1wYXJ0LWZlYXR1cmUvY29kLXNoZWxmbWFya3MtcGFydC1mZWF0dXJlLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIENvZFNoZWxmbWFya3NQYXJ0Q29tcG9uZW50LFxuICAgIENvZFNoZWxmbWFya0VkaXRvckNvbXBvbmVudCxcbiAgICBDb2RTaGVsZm1hcmtzUGFydEZlYXR1cmVDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAvLyBtYXRlcmlhbFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRDYXJkTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIE1hdFRhYnNNb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICAvLyBDYWRtdXNcbiAgICBDYWRtdXNTdGF0ZU1vZHVsZSxcbiAgICBDYWRtdXNVaU1vZHVsZSxcbiAgICBDYWRtdXNVaVBnTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQ29kU2hlbGZtYXJrc1BhcnRDb21wb25lbnQsXG4gICAgQ29kU2hlbGZtYXJrRWRpdG9yQ29tcG9uZW50LFxuICAgIENvZFNoZWxmbWFya3NQYXJ0RmVhdHVyZUNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FkbXVzUGFydENvZGljb2xvZ3lTaGVsZm1hcmtzTW9kdWxlIHt9XG4iXX0=
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FkbXVzLXBhcnQtY29kaWNvbG9neS1zaGVsZm1hcmtzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cm1pZG9uL2NhZG11cy1wYXJ0LWNvZGljb2xvZ3ktc2hlbGZtYXJrcy9zcmMvbGliL2NhZG11cy1wYXJ0LWNvZGljb2xvZ3ktc2hlbGZtYXJrcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELFNBQVM7QUFDVCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsb0NBQW9DO0FBQ3BDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHFFQUFxRSxDQUFDOztBQStCeEgsTUFBTSxPQUFPLG9DQUFvQzs7aUlBQXBDLG9DQUFvQztrSUFBcEMsb0NBQW9DLGlCQTNCN0MsMEJBQTBCO1FBQzFCLDJCQUEyQjtRQUMzQixpQ0FBaUMsYUFHakMsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsV0FBVztRQUNYLGVBQWU7UUFDZixhQUFhO1FBQ2IsYUFBYTtRQUNiLGNBQWM7UUFDZCxlQUFlO1FBQ2YsYUFBYTtRQUNiLGdCQUFnQjtRQUNoQixTQUFTO1FBQ1QsaUJBQWlCO1FBQ2pCLGNBQWM7UUFDZCxnQkFBZ0IsYUFHaEIsMEJBQTBCO1FBQzFCLDJCQUEyQjtRQUMzQixpQ0FBaUM7a0lBR3hCLG9DQUFvQyxZQXRCN0MsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsV0FBVztRQUNYLGVBQWU7UUFDZixhQUFhO1FBQ2IsYUFBYTtRQUNiLGNBQWM7UUFDZCxlQUFlO1FBQ2YsYUFBYTtRQUNiLGdCQUFnQjtRQUNoQixTQUFTO1FBQ1QsaUJBQWlCO1FBQ2pCLGNBQWM7UUFDZCxnQkFBZ0I7MkZBUVAsb0NBQW9DO2tCQTdCaEQsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osMEJBQTBCO3dCQUMxQiwyQkFBMkI7d0JBQzNCLGlDQUFpQztxQkFDbEM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixTQUFTO3dCQUNULGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxnQkFBZ0I7cUJBQ2pCO29CQUNELE9BQU8sRUFBRTt3QkFDUCwwQkFBMEI7d0JBQzFCLDJCQUEyQjt3QkFDM0IsaUNBQWlDO3FCQUNsQztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XHJcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuXHJcbi8vIGNhZG11c1xyXG5pbXBvcnQgeyBDYWRtdXNTdGF0ZU1vZHVsZSB9IGZyb20gJ0BteXJtaWRvbi9jYWRtdXMtc3RhdGUnO1xyXG5pbXBvcnQgeyBDYWRtdXNVaU1vZHVsZSB9IGZyb20gJ0BteXJtaWRvbi9jYWRtdXMtdWknO1xyXG5pbXBvcnQgeyBDYWRtdXNVaVBnTW9kdWxlIH0gZnJvbSAnQG15cm1pZG9uL2NhZG11cy11aS1wZyc7XHJcbi8vIGxvY2FscyAoVUkgZWRpdG9yIGFuZCBQRyB3cmFwcGVyKVxyXG5pbXBvcnQgeyBDb2RTaGVsZm1hcmtzUGFydENvbXBvbmVudCB9IGZyb20gJy4vY29kLXNoZWxmbWFya3MtcGFydC9jb2Qtc2hlbGZtYXJrcy1wYXJ0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvZFNoZWxmbWFya0VkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vY29kLXNoZWxmbWFyay1lZGl0b3IvY29kLXNoZWxmbWFyay1lZGl0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29kU2hlbGZtYXJrc1BhcnRGZWF0dXJlQ29tcG9uZW50IH0gZnJvbSAnLi9jb2Qtc2hlbGZtYXJrcy1wYXJ0LWZlYXR1cmUvY29kLXNoZWxmbWFya3MtcGFydC1mZWF0dXJlLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgQ29kU2hlbGZtYXJrc1BhcnRDb21wb25lbnQsXHJcbiAgICBDb2RTaGVsZm1hcmtFZGl0b3JDb21wb25lbnQsXHJcbiAgICBDb2RTaGVsZm1hcmtzUGFydEZlYXR1cmVDb21wb25lbnQsXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICAvLyBtYXRlcmlhbFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0Q2FyZE1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdFNlbGVjdE1vZHVsZSxcclxuICAgIE1hdFRhYnNNb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgLy8gQ2FkbXVzXHJcbiAgICBDYWRtdXNTdGF0ZU1vZHVsZSxcclxuICAgIENhZG11c1VpTW9kdWxlLFxyXG4gICAgQ2FkbXVzVWlQZ01vZHVsZSxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIENvZFNoZWxmbWFya3NQYXJ0Q29tcG9uZW50LFxyXG4gICAgQ29kU2hlbGZtYXJrRWRpdG9yQ29tcG9uZW50LFxyXG4gICAgQ29kU2hlbGZtYXJrc1BhcnRGZWF0dXJlQ29tcG9uZW50LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYWRtdXNQYXJ0Q29kaWNvbG9neVNoZWxmbWFya3NNb2R1bGUge31cclxuIl19
@@ -2,13 +2,13 @@ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { Validators, } from '@angular/forms';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/forms";
5
- import * as i2 from "@angular/material/form-field";
6
- import * as i3 from "@angular/material/select";
7
- import * as i4 from "@angular/material/core";
8
- import * as i5 from "@angular/material/button";
9
- import * as i6 from "@angular/material/icon";
10
- import * as i7 from "@angular/common";
11
- import * as i8 from "@angular/material/input";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@angular/material/button";
7
+ import * as i4 from "@angular/material/icon";
8
+ import * as i5 from "@angular/material/form-field";
9
+ import * as i6 from "@angular/material/input";
10
+ import * as i7 from "@angular/material/select";
11
+ import * as i8 from "@angular/material/core";
12
12
  import * as i9 from "@angular/material/tooltip";
13
13
  export class CodShelfmarkEditorComponent {
14
14
  constructor(formBuilder) {
@@ -51,20 +51,20 @@ export class CodShelfmarkEditorComponent {
51
51
  this.form.reset();
52
52
  return;
53
53
  }
54
- this.tag.setValue(model.tag);
54
+ this.tag.setValue(model.tag || null);
55
55
  this.city.setValue(model.city);
56
56
  this.library.setValue(model.library);
57
- this.fund.setValue(model.fund);
57
+ this.fund.setValue(model.fund || null);
58
58
  this.location.setValue(model.location);
59
59
  this.form.markAsPristine();
60
60
  }
61
61
  getModel() {
62
62
  return {
63
63
  tag: this.tag.value?.trim(),
64
- city: this.city.value?.trim(),
65
- library: this.library.value?.trim(),
64
+ city: this.city.value?.trim() || '',
65
+ library: this.library.value?.trim() || '',
66
66
  fund: this.fund.value?.trim(),
67
- location: this.location.value?.trim(),
67
+ location: this.location.value?.trim() || '',
68
68
  };
69
69
  }
70
70
  cancel() {
@@ -81,11 +81,11 @@ export class CodShelfmarkEditorComponent {
81
81
  this.shelfmarkChange.emit(model);
82
82
  }
83
83
  }
84
- CodShelfmarkEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: CodShelfmarkEditorComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
85
- CodShelfmarkEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: CodShelfmarkEditorComponent, selector: "cadmus-cod-shelfmark-editor", inputs: { shelfmark: "shelfmark", tagEntries: "tagEntries", libEntries: "libEntries" }, outputs: { shelfmarkChange: "shelfmarkChange", editorClose: "editorClose" }, ngImport: i0, template: "<form [formGroup]=\"form\" (submit)=\"save()\">\n <div>\n <!-- tag (bound) -->\n <mat-form-field *ngIf=\"tagEntries?.length\" style=\"width: 8em\">\n <mat-select [formControl]=\"tag\" placeholder=\"tag\">\n <mat-option *ngFor=\"let e of tagEntries\" [value]=\"e.id\">{{\n e.value\n }}</mat-option>\n </mat-select>\n </mat-form-field>\n <!-- tag (free) -->\n <mat-form-field *ngIf=\"!tagEntries?.length\">\n <input matInput [formControl]=\"tag\" placeholder=\"tag\" />\n <mat-error\n *ngIf=\"$any(tag).errors?.maxLength && (tag.dirty || tag.touched)\"\n >tag too long</mat-error\n >\n </mat-form-field>\n <!-- city -->\n &nbsp;\n <mat-form-field>\n <input matInput [formControl]=\"city\" placeholder=\"city\" />\n <mat-error\n *ngIf=\"$any(city).errors?.required && (city.dirty || city.touched)\"\n >city required</mat-error\n >\n <mat-error\n *ngIf=\"$any(city).errors?.maxLength && (city.dirty || city.touched)\"\n >city too long</mat-error\n >\n </mat-form-field>\n </div>\n <div>\n <!-- library (bound) -->\n <mat-form-field *ngIf=\"libEntries?.length\" style=\"width: 8em\">\n <mat-select [formControl]=\"library\" placeholder=\"library\">\n <mat-option *ngFor=\"let e of libEntries\" [value]=\"e.id\">{{\n e.value\n }}</mat-option>\n </mat-select>\n <mat-error\n *ngIf=\"\n $any(library).errors?.required && (library.dirty || library.touched)\n \"\n >library required</mat-error\n >\n </mat-form-field>\n <!-- library (free) -->\n <mat-form-field *ngIf=\"!libEntries?.length\">\n <input matInput [formControl]=\"library\" placeholder=\"library\" />\n <mat-error\n *ngIf=\"\n $any(library).errors?.required && (library.dirty || library.touched)\n \"\n >library required</mat-error\n >\n <mat-error\n *ngIf=\"\n $any(library).errors?.maxLength && (library.dirty || library.touched)\n \"\n >library too long</mat-error\n >\n </mat-form-field>\n <!-- fund -->\n &nbsp;\n <mat-form-field>\n <input matInput [formControl]=\"fund\" placeholder=\"fund\" />\n <mat-error\n *ngIf=\"$any(fund).errors?.maxLength && (fund.dirty || fund.touched)\"\n >fund too long</mat-error\n >\n </mat-form-field>\n <!-- location -->\n &nbsp;\n <mat-form-field>\n <input matInput [formControl]=\"location\" placeholder=\"location\" />\n <mat-error\n *ngIf=\"\n $any(location).errors?.required &&\n (location.dirty || location.touched)\n \"\n >location required</mat-error\n >\n <mat-error\n *ngIf=\"\n $any(location).errors?.maxLength &&\n (location.dirty || location.touched)\n \"\n >location too long</mat-error\n >\n </mat-form-field>\n </div>\n <!-- buttons -->\n <div>\n <button\n type=\"button\"\n color=\"warn\"\n mat-icon-button\n matTooltip=\"Discard changes\"\n (click)=\"cancel()\"\n >\n <mat-icon>clear</mat-icon>\n </button>\n <button\n type=\"submit\"\n color=\"primary\"\n mat-icon-button\n matTooltip=\"Accept changes\"\n [disabled]=\"form.invalid || form.pristine\"\n >\n <mat-icon>check_circle</mat-icon>\n </button>\n </div>\n</form>\n", styles: [""], components: [{ type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i3.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2.MatError, selector: "mat-error", inputs: ["id"] }, { type: i9.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
86
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: CodShelfmarkEditorComponent, decorators: [{
84
+ CodShelfmarkEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: CodShelfmarkEditorComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
85
+ CodShelfmarkEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: CodShelfmarkEditorComponent, selector: "cadmus-cod-shelfmark-editor", inputs: { shelfmark: "shelfmark", tagEntries: "tagEntries", libEntries: "libEntries" }, outputs: { shelfmarkChange: "shelfmarkChange", editorClose: "editorClose" }, ngImport: i0, template: "<form [formGroup]=\"form\" (submit)=\"save()\">\r\n <div>\r\n <!-- tag (bound) -->\r\n <mat-form-field *ngIf=\"tagEntries?.length\" style=\"width: 8em\">\r\n <mat-select [formControl]=\"tag\" placeholder=\"tag\">\r\n <mat-option *ngFor=\"let e of tagEntries\" [value]=\"e.id\">{{\r\n e.value\r\n }}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <!-- tag (free) -->\r\n <mat-form-field *ngIf=\"!tagEntries?.length\">\r\n <input matInput [formControl]=\"tag\" placeholder=\"tag\" />\r\n <mat-error\r\n *ngIf=\"$any(tag).errors?.maxLength && (tag.dirty || tag.touched)\"\r\n >tag too long</mat-error\r\n >\r\n </mat-form-field>\r\n <!-- city -->\r\n &nbsp;\r\n <mat-form-field>\r\n <input matInput [formControl]=\"city\" placeholder=\"city\" />\r\n <mat-error\r\n *ngIf=\"$any(city).errors?.required && (city.dirty || city.touched)\"\r\n >city required</mat-error\r\n >\r\n <mat-error\r\n *ngIf=\"$any(city).errors?.maxLength && (city.dirty || city.touched)\"\r\n >city too long</mat-error\r\n >\r\n </mat-form-field>\r\n </div>\r\n <div>\r\n <!-- library (bound) -->\r\n <mat-form-field *ngIf=\"libEntries?.length\" style=\"width: 8em\">\r\n <mat-select [formControl]=\"library\" placeholder=\"library\">\r\n <mat-option *ngFor=\"let e of libEntries\" [value]=\"e.id\">{{\r\n e.value\r\n }}</mat-option>\r\n </mat-select>\r\n <mat-error\r\n *ngIf=\"\r\n $any(library).errors?.required && (library.dirty || library.touched)\r\n \"\r\n >library required</mat-error\r\n >\r\n </mat-form-field>\r\n <!-- library (free) -->\r\n <mat-form-field *ngIf=\"!libEntries?.length\">\r\n <input matInput [formControl]=\"library\" placeholder=\"library\" />\r\n <mat-error\r\n *ngIf=\"\r\n $any(library).errors?.required && (library.dirty || library.touched)\r\n \"\r\n >library required</mat-error\r\n >\r\n <mat-error\r\n *ngIf=\"\r\n $any(library).errors?.maxLength && (library.dirty || library.touched)\r\n \"\r\n >library too long</mat-error\r\n >\r\n </mat-form-field>\r\n <!-- fund -->\r\n &nbsp;\r\n <mat-form-field>\r\n <input matInput [formControl]=\"fund\" placeholder=\"fund\" />\r\n <mat-error\r\n *ngIf=\"$any(fund).errors?.maxLength && (fund.dirty || fund.touched)\"\r\n >fund too long</mat-error\r\n >\r\n </mat-form-field>\r\n <!-- location -->\r\n &nbsp;\r\n <mat-form-field>\r\n <input matInput [formControl]=\"location\" placeholder=\"location\" />\r\n <mat-error\r\n *ngIf=\"\r\n $any(location).errors?.required &&\r\n (location.dirty || location.touched)\r\n \"\r\n >location required</mat-error\r\n >\r\n <mat-error\r\n *ngIf=\"\r\n $any(location).errors?.maxLength &&\r\n (location.dirty || location.touched)\r\n \"\r\n >location too long</mat-error\r\n >\r\n </mat-form-field>\r\n </div>\r\n <!-- buttons -->\r\n <div>\r\n <button\r\n type=\"button\"\r\n color=\"warn\"\r\n mat-icon-button\r\n matTooltip=\"Discard changes\"\r\n (click)=\"cancel()\"\r\n >\r\n <mat-icon>clear</mat-icon>\r\n </button>\r\n <button\r\n type=\"submit\"\r\n color=\"primary\"\r\n mat-icon-button\r\n matTooltip=\"Accept changes\"\r\n [disabled]=\"form.invalid || form.pristine\"\r\n >\r\n <mat-icon>check_circle</mat-icon>\r\n </button>\r\n </div>\r\n</form>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i9.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: CodShelfmarkEditorComponent, decorators: [{
87
87
  type: Component,
88
- args: [{ selector: 'cadmus-cod-shelfmark-editor', template: "<form [formGroup]=\"form\" (submit)=\"save()\">\n <div>\n <!-- tag (bound) -->\n <mat-form-field *ngIf=\"tagEntries?.length\" style=\"width: 8em\">\n <mat-select [formControl]=\"tag\" placeholder=\"tag\">\n <mat-option *ngFor=\"let e of tagEntries\" [value]=\"e.id\">{{\n e.value\n }}</mat-option>\n </mat-select>\n </mat-form-field>\n <!-- tag (free) -->\n <mat-form-field *ngIf=\"!tagEntries?.length\">\n <input matInput [formControl]=\"tag\" placeholder=\"tag\" />\n <mat-error\n *ngIf=\"$any(tag).errors?.maxLength && (tag.dirty || tag.touched)\"\n >tag too long</mat-error\n >\n </mat-form-field>\n <!-- city -->\n &nbsp;\n <mat-form-field>\n <input matInput [formControl]=\"city\" placeholder=\"city\" />\n <mat-error\n *ngIf=\"$any(city).errors?.required && (city.dirty || city.touched)\"\n >city required</mat-error\n >\n <mat-error\n *ngIf=\"$any(city).errors?.maxLength && (city.dirty || city.touched)\"\n >city too long</mat-error\n >\n </mat-form-field>\n </div>\n <div>\n <!-- library (bound) -->\n <mat-form-field *ngIf=\"libEntries?.length\" style=\"width: 8em\">\n <mat-select [formControl]=\"library\" placeholder=\"library\">\n <mat-option *ngFor=\"let e of libEntries\" [value]=\"e.id\">{{\n e.value\n }}</mat-option>\n </mat-select>\n <mat-error\n *ngIf=\"\n $any(library).errors?.required && (library.dirty || library.touched)\n \"\n >library required</mat-error\n >\n </mat-form-field>\n <!-- library (free) -->\n <mat-form-field *ngIf=\"!libEntries?.length\">\n <input matInput [formControl]=\"library\" placeholder=\"library\" />\n <mat-error\n *ngIf=\"\n $any(library).errors?.required && (library.dirty || library.touched)\n \"\n >library required</mat-error\n >\n <mat-error\n *ngIf=\"\n $any(library).errors?.maxLength && (library.dirty || library.touched)\n \"\n >library too long</mat-error\n >\n </mat-form-field>\n <!-- fund -->\n &nbsp;\n <mat-form-field>\n <input matInput [formControl]=\"fund\" placeholder=\"fund\" />\n <mat-error\n *ngIf=\"$any(fund).errors?.maxLength && (fund.dirty || fund.touched)\"\n >fund too long</mat-error\n >\n </mat-form-field>\n <!-- location -->\n &nbsp;\n <mat-form-field>\n <input matInput [formControl]=\"location\" placeholder=\"location\" />\n <mat-error\n *ngIf=\"\n $any(location).errors?.required &&\n (location.dirty || location.touched)\n \"\n >location required</mat-error\n >\n <mat-error\n *ngIf=\"\n $any(location).errors?.maxLength &&\n (location.dirty || location.touched)\n \"\n >location too long</mat-error\n >\n </mat-form-field>\n </div>\n <!-- buttons -->\n <div>\n <button\n type=\"button\"\n color=\"warn\"\n mat-icon-button\n matTooltip=\"Discard changes\"\n (click)=\"cancel()\"\n >\n <mat-icon>clear</mat-icon>\n </button>\n <button\n type=\"submit\"\n color=\"primary\"\n mat-icon-button\n matTooltip=\"Accept changes\"\n [disabled]=\"form.invalid || form.pristine\"\n >\n <mat-icon>check_circle</mat-icon>\n </button>\n </div>\n</form>\n", styles: [""] }]
88
+ args: [{ selector: 'cadmus-cod-shelfmark-editor', template: "<form [formGroup]=\"form\" (submit)=\"save()\">\r\n <div>\r\n <!-- tag (bound) -->\r\n <mat-form-field *ngIf=\"tagEntries?.length\" style=\"width: 8em\">\r\n <mat-select [formControl]=\"tag\" placeholder=\"tag\">\r\n <mat-option *ngFor=\"let e of tagEntries\" [value]=\"e.id\">{{\r\n e.value\r\n }}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <!-- tag (free) -->\r\n <mat-form-field *ngIf=\"!tagEntries?.length\">\r\n <input matInput [formControl]=\"tag\" placeholder=\"tag\" />\r\n <mat-error\r\n *ngIf=\"$any(tag).errors?.maxLength && (tag.dirty || tag.touched)\"\r\n >tag too long</mat-error\r\n >\r\n </mat-form-field>\r\n <!-- city -->\r\n &nbsp;\r\n <mat-form-field>\r\n <input matInput [formControl]=\"city\" placeholder=\"city\" />\r\n <mat-error\r\n *ngIf=\"$any(city).errors?.required && (city.dirty || city.touched)\"\r\n >city required</mat-error\r\n >\r\n <mat-error\r\n *ngIf=\"$any(city).errors?.maxLength && (city.dirty || city.touched)\"\r\n >city too long</mat-error\r\n >\r\n </mat-form-field>\r\n </div>\r\n <div>\r\n <!-- library (bound) -->\r\n <mat-form-field *ngIf=\"libEntries?.length\" style=\"width: 8em\">\r\n <mat-select [formControl]=\"library\" placeholder=\"library\">\r\n <mat-option *ngFor=\"let e of libEntries\" [value]=\"e.id\">{{\r\n e.value\r\n }}</mat-option>\r\n </mat-select>\r\n <mat-error\r\n *ngIf=\"\r\n $any(library).errors?.required && (library.dirty || library.touched)\r\n \"\r\n >library required</mat-error\r\n >\r\n </mat-form-field>\r\n <!-- library (free) -->\r\n <mat-form-field *ngIf=\"!libEntries?.length\">\r\n <input matInput [formControl]=\"library\" placeholder=\"library\" />\r\n <mat-error\r\n *ngIf=\"\r\n $any(library).errors?.required && (library.dirty || library.touched)\r\n \"\r\n >library required</mat-error\r\n >\r\n <mat-error\r\n *ngIf=\"\r\n $any(library).errors?.maxLength && (library.dirty || library.touched)\r\n \"\r\n >library too long</mat-error\r\n >\r\n </mat-form-field>\r\n <!-- fund -->\r\n &nbsp;\r\n <mat-form-field>\r\n <input matInput [formControl]=\"fund\" placeholder=\"fund\" />\r\n <mat-error\r\n *ngIf=\"$any(fund).errors?.maxLength && (fund.dirty || fund.touched)\"\r\n >fund too long</mat-error\r\n >\r\n </mat-form-field>\r\n <!-- location -->\r\n &nbsp;\r\n <mat-form-field>\r\n <input matInput [formControl]=\"location\" placeholder=\"location\" />\r\n <mat-error\r\n *ngIf=\"\r\n $any(location).errors?.required &&\r\n (location.dirty || location.touched)\r\n \"\r\n >location required</mat-error\r\n >\r\n <mat-error\r\n *ngIf=\"\r\n $any(location).errors?.maxLength &&\r\n (location.dirty || location.touched)\r\n \"\r\n >location too long</mat-error\r\n >\r\n </mat-form-field>\r\n </div>\r\n <!-- buttons -->\r\n <div>\r\n <button\r\n type=\"button\"\r\n color=\"warn\"\r\n mat-icon-button\r\n matTooltip=\"Discard changes\"\r\n (click)=\"cancel()\"\r\n >\r\n <mat-icon>clear</mat-icon>\r\n </button>\r\n <button\r\n type=\"submit\"\r\n color=\"primary\"\r\n mat-icon-button\r\n matTooltip=\"Accept changes\"\r\n [disabled]=\"form.invalid || form.pristine\"\r\n >\r\n <mat-icon>check_circle</mat-icon>\r\n </button>\r\n </div>\r\n</form>\r\n" }]
89
89
  }], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { shelfmark: [{
90
90
  type: Input
91
91
  }], tagEntries: [{
@@ -97,4 +97,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
97
97
  }], editorClose: [{
98
98
  type: Output
99
99
  }] } });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLXNoZWxmbWFyay1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlybWlkb24vY2FkbXVzLXBhcnQtY29kaWNvbG9neS1zaGVsZm1hcmtzL3NyYy9saWIvY29kLXNoZWxmbWFyay1lZGl0b3IvY29kLXNoZWxmbWFyay1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlybWlkb24vY2FkbXVzLXBhcnQtY29kaWNvbG9neS1zaGVsZm1hcmtzL3NyYy9saWIvY29kLXNoZWxmbWFyay1lZGl0b3IvY29kLXNoZWxmbWFyay1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBSUwsVUFBVSxHQUNYLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7O0FBU3hCLE1BQU0sT0FBTywyQkFBMkI7SUErQnRDLFlBQVksV0FBd0I7UUFDbEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztRQUN4RCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDM0MsT0FBTztRQUNQLElBQUksQ0FBQyxHQUFHLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFDcEMsVUFBVSxDQUFDLFFBQVE7WUFDbkIsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7U0FDekIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxXQUFX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LGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQzs7d0hBbkdVLDJCQUEyQjs0R0FBM0IsMkJBQTJCLHdPQ2Z4Qyx3NkdBa0hBOzJGRG5HYSwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UsNkJBQTZCO2tHQVE1QixTQUFTO3NCQURuQixLQUFLO2dCQVdDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBSUMsVUFBVTtzQkFEaEIsS0FBSztnQkFJQyxlQUFlO3NCQURyQixNQUFNO2dCQUdBLFdBQVc7c0JBRGpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBGb3JtQnVpbGRlcixcbiAgRm9ybUNvbnRyb2wsXG4gIEZvcm1Hcm91cCxcbiAgVmFsaWRhdG9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVGhlc2F1cnVzRW50cnkgfSBmcm9tICdAbXlybWlkb24vY2FkbXVzLWNvcmUnO1xuaW1wb3J0IHsgQ29kU2hlbGZtYXJrIH0gZnJvbSAnLi4vY29kLXNoZWxmbWFya3MtcGFydCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NhZG11cy1jb2Qtc2hlbGZtYXJrLWVkaXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2Qtc2hlbGZtYXJrLWVkaXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvZC1zaGVsZm1hcmstZWRpdG9yLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29kU2hlbGZtYXJrRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSBfc2hlbGZtYXJrOiBDb2RTaGVsZm1hcmsgfCB1bmRlZmluZWQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBzaGVsZm1hcmsoKTogQ29kU2hlbGZtYXJrIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fc2hlbGZtYXJrO1xuICB9XG4gIHB1YmxpYyBzZXQgc2hlbGZtYXJrKHZhbHVlOiBDb2RTaGVsZm1hcmsgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9zaGVsZm1hcmsgPSB2YWx1ZTtcbiAgICB0aGlzLnVwZGF0ZUZvcm0odmFsdWUpO1xuICB9XG5cbiAgLy8gY29kLXNoZWxmbWFyay10YWdzXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0YWdFbnRyaWVzOiBUaGVzYXVydXNFbnRyeVtdIHwgdW5kZWZpbmVkO1xuICAvLyBjb2Qtc2hlbGZtYXJrLWxpYnJhcmllc1xuICBASW5wdXQoKVxuICBwdWJsaWMgbGliRW50cmllczogVGhlc2F1cnVzRW50cnlbXSB8IHVuZGVmaW5lZDtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHNoZWxmbWFya0NoYW5nZTogRXZlbnRFbWl0dGVyPENvZFNoZWxmbWFyaz47XG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZWRpdG9yQ2xvc2U6IEV2ZW50RW1pdHRlcjxhbnk+O1xuXG4gIHB1YmxpYyB0YWc6IEZvcm1Db250cm9sO1xuICBwdWJsaWMgY2l0eTogRm9ybUNvbnRyb2w7XG4gIHB1YmxpYyBsaWJyYXJ5OiBGb3JtQ29udHJvbDtcbiAgcHVibGljIGZ1bmQ6IEZvcm1Db250cm9sO1xuICBwdWJsaWMgbG9jYXRpb246IEZvcm1Db250cm9sO1xuICBwdWJsaWMgZm9ybTogRm9ybUdyb3VwO1xuXG4gIGNvbnN0cnVjdG9yKGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcikge1xuICAgIHRoaXMuc2hlbGZtYXJrQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxDb2RTaGVsZm1hcms+KCk7XG4gICAgdGhpcy5lZGl0b3JDbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIC8vIGZvcm1cbiAgICB0aGlzLnRhZyA9IGZvcm1CdWlsZGVyLmNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoNTApKTtcbiAgICB0aGlzLmNpdHkgPSBmb3JtQnVpbGRlci5jb250cm9sKG51bGwsIFtcbiAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICBWYWxpZGF0b3JzLm1heExlbmd0aCg1MCksXG4gICAgXSk7XG4gICAgdGhpcy5saWJyYXJ5ID0gZm9ybUJ1aWxkZXIuY29udHJvbChudWxsLCBbXG4gICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgVmFsaWRhdG9ycy5tYXhMZW5ndGgoNTApLFxuICAgIF0pO1xuICAgIHRoaXMuZnVuZCA9IGZvcm1CdWlsZGVyLmNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoNTApKTtcbiAgICB0aGlzLmxvY2F0aW9uID0gZm9ybUJ1aWxkZXIuY29udHJvbChudWxsLCBWYWxpZGF0b3JzLm1heExlbmd0aCg1MCkpO1xuXG4gICAgdGhpcy5mb3JtID0gZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgdGFnOiB0aGlzLnRhZyxcbiAgICAgIGNpdHk6IHRoaXMuY2l0eSxcbiAgICAgIGxpYnJhcnk6IHRoaXMubGlicmFyeSxcbiAgICAgIGZ1bmQ6IHRoaXMuZnVuZCxcbiAgICAgIGxvY2F0aW9uOiB0aGlzLmxvY2F0aW9uLFxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3NoZWxmbWFyaykge1xuICAgICAgdGhpcy51cGRhdGVGb3JtKHRoaXMuX3NoZWxmbWFyayk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVGb3JtKG1vZGVsOiBDb2RTaGVsZm1hcmsgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBpZiAoIW1vZGVsKSB7XG4gICAgICB0aGlzLmZvcm0ucmVzZXQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnRhZy5zZXRWYWx1ZShtb2RlbC50YWcpO1xuICAgIHRoaXMuY2l0eS5zZXRWYWx1ZShtb2RlbC5jaXR5KTtcbiAgICB0aGlzLmxpYnJhcnkuc2V0VmFsdWUobW9kZWwubGlicmFyeSk7XG4gICAgdGhpcy5mdW5kLnNldFZhbHVlKG1vZGVsLmZ1bmQpO1xuICAgIHRoaXMubG9jYXRpb24uc2V0VmFsdWUobW9kZWwubG9jYXRpb24pO1xuICAgIHRoaXMuZm9ybS5tYXJrQXNQcmlzdGluZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNb2RlbCgpOiBDb2RTaGVsZm1hcmsgfCBudWxsIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGFnOiB0aGlzLnRhZy52YWx1ZT8udHJpbSgpLFxuICAgICAgY2l0eTogdGhpcy5jaXR5LnZhbHVlPy50cmltKCksXG4gICAgICBsaWJyYXJ5OiB0aGlzLmxpYnJhcnkudmFsdWU/LnRyaW0oKSxcbiAgICAgIGZ1bmQ6IHRoaXMuZnVuZC52YWx1ZT8udHJpbSgpLFxuICAgICAgbG9jYXRpb246IHRoaXMubG9jYXRpb24udmFsdWU/LnRyaW0oKSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGNhbmNlbCgpOiB2b2lkIHtcbiAgICB0aGlzLmVkaXRvckNsb3NlLmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBtb2RlbCA9IHRoaXMuZ2V0TW9kZWwoKTtcbiAgICBpZiAoIW1vZGVsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc2hlbGZtYXJrQ2hhbmdlLmVtaXQobW9kZWwpO1xuICB9XG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiAoc3VibWl0KT1cInNhdmUoKVwiPlxuICA8ZGl2PlxuICAgIDwhLS0gdGFnIChib3VuZCkgLS0+XG4gICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwidGFnRW50cmllcz8ubGVuZ3RoXCIgc3R5bGU9XCJ3aWR0aDogOGVtXCI+XG4gICAgICA8bWF0LXNlbGVjdCBbZm9ybUNvbnRyb2xdPVwidGFnXCIgcGxhY2Vob2xkZXI9XCJ0YWdcIj5cbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGUgb2YgdGFnRW50cmllc1wiIFt2YWx1ZV09XCJlLmlkXCI+e3tcbiAgICAgICAgICBlLnZhbHVlXG4gICAgICAgIH19PC9tYXQtb3B0aW9uPlxuICAgICAgPC9tYXQtc2VsZWN0PlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPCEtLSB0YWcgKGZyZWUpIC0tPlxuICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cIiF0YWdFbnRyaWVzPy5sZW5ndGhcIj5cbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBbZm9ybUNvbnRyb2xdPVwidGFnXCIgcGxhY2Vob2xkZXI9XCJ0YWdcIiAvPlxuICAgICAgPG1hdC1lcnJvclxuICAgICAgICAqbmdJZj1cIiRhbnkodGFnKS5lcnJvcnM/Lm1heExlbmd0aCAmJiAodGFnLmRpcnR5IHx8IHRhZy50b3VjaGVkKVwiXG4gICAgICAgID50YWcgdG9vIGxvbmc8L21hdC1lcnJvclxuICAgICAgPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPCEtLSBjaXR5IC0tPlxuICAgICZuYnNwO1xuICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBbZm9ybUNvbnRyb2xdPVwiY2l0eVwiIHBsYWNlaG9sZGVyPVwiY2l0eVwiIC8+XG4gICAgICA8bWF0LWVycm9yXG4gICAgICAgICpuZ0lmPVwiJGFueShjaXR5KS5lcnJvcnM/LnJlcXVpcmVkICYmIChjaXR5LmRpcnR5IHx8IGNpdHkudG91Y2hlZClcIlxuICAgICAgICA+Y2l0eSByZXF1aXJlZDwvbWF0LWVycm9yXG4gICAgICA+XG4gICAgICA8bWF0LWVycm9yXG4gICAgICAgICpuZ0lmPVwiJGFueShjaXR5KS5lcnJvcnM/Lm1heExlbmd0aCAmJiAoY2l0eS5kaXJ0eSB8fCBjaXR5LnRvdWNoZWQpXCJcbiAgICAgICAgPmNpdHkgdG9vIGxvbmc8L21hdC1lcnJvclxuICAgICAgPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwvZGl2PlxuICA8ZGl2PlxuICAgIDwhLS0gbGlicmFyeSAoYm91bmQpIC0tPlxuICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImxpYkVudHJpZXM/Lmxlbmd0aFwiIHN0eWxlPVwid2lkdGg6IDhlbVwiPlxuICAgICAgPG1hdC1zZWxlY3QgW2Zvcm1Db250cm9sXT1cImxpYnJhcnlcIiBwbGFjZWhvbGRlcj1cImxpYnJhcnlcIj5cbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGUgb2YgbGliRW50cmllc1wiIFt2YWx1ZV09XCJlLmlkXCI+e3tcbiAgICAgICAgICBlLnZhbHVlXG4gICAgICAgIH19PC9tYXQtb3B0aW9uPlxuICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPG1hdC1lcnJvclxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICRhbnkobGlicmFyeSkuZXJyb3JzPy5yZXF1aXJlZCAmJiAobGlicmFyeS5kaXJ0eSB8fCBsaWJyYXJ5LnRvdWNoZWQpXG4gICAgICAgIFwiXG4gICAgICAgID5saWJyYXJ5IHJlcXVpcmVkPC9tYXQtZXJyb3JcbiAgICAgID5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwhLS0gbGlicmFyeSAoZnJlZSkgLS0+XG4gICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiIWxpYkVudHJpZXM/Lmxlbmd0aFwiPlxuICAgICAgPGlucHV0IG1hdElucHV0IFtmb3JtQ29udHJvbF09XCJsaWJyYXJ5XCIgcGxhY2Vob2xkZXI9XCJsaWJyYXJ5XCIgLz5cbiAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAkYW55KGxpYnJhcnkpLmVycm9ycz8ucmVxdWlyZWQgJiYgKGxpYnJhcnkuZGlydHkgfHwgbGlicmFyeS50b3VjaGVkKVxuICAgICAgICBcIlxuICAgICAgICA+bGlicmFyeSByZXF1aXJlZDwvbWF0LWVycm9yXG4gICAgICA+XG4gICAgICA8bWF0LWVycm9yXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgJGFueShsaWJyYXJ5KS5lcnJvcnM/Lm1heExlbmd0aCAmJiAobGlicmFyeS5kaXJ0eSB8fCBsaWJyYXJ5LnRvdWNoZWQpXG4gICAgICAgIFwiXG4gICAgICAgID5saWJyYXJ5IHRvbyBsb25nPC9tYXQtZXJyb3JcbiAgICAgID5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwhLS0gZnVuZCAtLT5cbiAgICAmbmJzcDtcbiAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT1cImZ1bmRcIiBwbGFjZWhvbGRlcj1cImZ1bmRcIiAvPlxuICAgICAgPG1hdC1lcnJvclxuICAgICAgICAqbmdJZj1cIiRhbnkoZnVuZCkuZXJyb3JzPy5tYXhMZW5ndGggJiYgKGZ1bmQuZGlydHkgfHwgZnVuZC50b3VjaGVkKVwiXG4gICAgICAgID5mdW5kIHRvbyBsb25nPC9tYXQtZXJyb3JcbiAgICAgID5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwhLS0gbG9jYXRpb24gLS0+XG4gICAgJm5ic3A7XG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgPGlucHV0IG1hdElucHV0IFtmb3JtQ29udHJvbF09XCJsb2NhdGlvblwiIHBsYWNlaG9sZGVyPVwibG9jYXRpb25cIiAvPlxuICAgICAgPG1hdC1lcnJvclxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICRhbnkobG9jYXRpb24pLmVycm9ycz8ucmVxdWlyZWQgJiZcbiAgICAgICAgICAobG9jYXRpb24uZGlydHkgfHwgbG9jYXRpb24udG91Y2hlZClcbiAgICAgICAgXCJcbiAgICAgICAgPmxvY2F0aW9uIHJlcXVpcmVkPC9tYXQtZXJyb3JcbiAgICAgID5cbiAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAkYW55KGxvY2F0aW9uKS5lcnJvcnM/Lm1heExlbmd0aCAmJlxuICAgICAgICAgIChsb2NhdGlvbi5kaXJ0eSB8fCBsb2NhdGlvbi50b3VjaGVkKVxuICAgICAgICBcIlxuICAgICAgICA+bG9jYXRpb24gdG9vIGxvbmc8L21hdC1lcnJvclxuICAgICAgPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwvZGl2PlxuICA8IS0tIGJ1dHRvbnMgLS0+XG4gIDxkaXY+XG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjb2xvcj1cIndhcm5cIlxuICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICBtYXRUb29sdGlwPVwiRGlzY2FyZCBjaGFuZ2VzXCJcbiAgICAgIChjbGljayk9XCJjYW5jZWwoKVwiXG4gICAgPlxuICAgICAgPG1hdC1pY29uPmNsZWFyPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgIG1hdFRvb2x0aXA9XCJBY2NlcHQgY2hhbmdlc1wiXG4gICAgICBbZGlzYWJsZWRdPVwiZm9ybS5pbnZhbGlkIHx8IGZvcm0ucHJpc3RpbmVcIlxuICAgID5cbiAgICAgIDxtYXQtaWNvbj5jaGVja19jaXJjbGU8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZm9ybT5cbiJdfQ==
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLXNoZWxmbWFyay1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlybWlkb24vY2FkbXVzLXBhcnQtY29kaWNvbG9neS1zaGVsZm1hcmtzL3NyYy9saWIvY29kLXNoZWxmbWFyay1lZGl0b3IvY29kLXNoZWxmbWFyay1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlybWlkb24vY2FkbXVzLXBhcnQtY29kaWNvbG9neS1zaGVsZm1hcmtzL3NyYy9saWIvY29kLXNoZWxmbWFyay1lZGl0b3IvY29kLXNoZWxmbWFyay1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBSUwsVUFBVSxHQUNYLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7O0FBU3hCLE1BQU0sT0FBTywyQkFBMkI7SUErQnRDLFlBQVksV0FBd0I7UUFDbEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztRQUN4RCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDM0MsT0FBTztRQUNQLElBQUksQ0FBQyxHQUFHLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFDcEMsVUFBVSxDQUFDLFFBQVE7WUFDbkIsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7U0FDekIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxXQUFX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LElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDOzt3SEFuR1UsMkJBQTJCOzRHQUEzQiwyQkFBMkIsd09DZnhDLDRvSEFrSEE7MkZEbkdhLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSw2QkFBNkI7a0dBUTVCLFNBQVM7c0JBRG5CLEtBQUs7Z0JBV0MsVUFBVTtzQkFEaEIsS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQUlDLGVBQWU7c0JBRHJCLE1BQU07Z0JBR0EsV0FBVztzQkFEakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBGb3JtQnVpbGRlcixcclxuICBGb3JtQ29udHJvbCxcclxuICBGb3JtR3JvdXAsXHJcbiAgVmFsaWRhdG9ycyxcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFRoZXNhdXJ1c0VudHJ5IH0gZnJvbSAnQG15cm1pZG9uL2NhZG11cy1jb3JlJztcclxuaW1wb3J0IHsgQ29kU2hlbGZtYXJrIH0gZnJvbSAnLi4vY29kLXNoZWxmbWFya3MtcGFydCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NhZG11cy1jb2Qtc2hlbGZtYXJrLWVkaXRvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvZC1zaGVsZm1hcmstZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb2Qtc2hlbGZtYXJrLWVkaXRvci5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb2RTaGVsZm1hcmtFZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHByaXZhdGUgX3NoZWxmbWFyazogQ29kU2hlbGZtYXJrIHwgdW5kZWZpbmVkO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBnZXQgc2hlbGZtYXJrKCk6IENvZFNoZWxmbWFyayB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2hlbGZtYXJrO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IHNoZWxmbWFyayh2YWx1ZTogQ29kU2hlbGZtYXJrIHwgdW5kZWZpbmVkKSB7XHJcbiAgICB0aGlzLl9zaGVsZm1hcmsgPSB2YWx1ZTtcclxuICAgIHRoaXMudXBkYXRlRm9ybSh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvLyBjb2Qtc2hlbGZtYXJrLXRhZ3NcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0YWdFbnRyaWVzOiBUaGVzYXVydXNFbnRyeVtdIHwgdW5kZWZpbmVkO1xyXG4gIC8vIGNvZC1zaGVsZm1hcmstbGlicmFyaWVzXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbGliRW50cmllczogVGhlc2F1cnVzRW50cnlbXSB8IHVuZGVmaW5lZDtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHNoZWxmbWFya0NoYW5nZTogRXZlbnRFbWl0dGVyPENvZFNoZWxmbWFyaz47XHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGVkaXRvckNsb3NlOiBFdmVudEVtaXR0ZXI8YW55PjtcclxuXHJcbiAgcHVibGljIHRhZzogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD47XHJcbiAgcHVibGljIGNpdHk6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+O1xyXG4gIHB1YmxpYyBsaWJyYXJ5OiBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPjtcclxuICBwdWJsaWMgZnVuZDogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD47XHJcbiAgcHVibGljIGxvY2F0aW9uOiBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPjtcclxuICBwdWJsaWMgZm9ybTogRm9ybUdyb3VwO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIpIHtcclxuICAgIHRoaXMuc2hlbGZtYXJrQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxDb2RTaGVsZm1hcms+KCk7XHJcbiAgICB0aGlzLmVkaXRvckNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICAvLyBmb3JtXHJcbiAgICB0aGlzLnRhZyA9IGZvcm1CdWlsZGVyLmNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoNTApKTtcclxuICAgIHRoaXMuY2l0eSA9IGZvcm1CdWlsZGVyLmNvbnRyb2wobnVsbCwgW1xyXG4gICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxyXG4gICAgICBWYWxpZGF0b3JzLm1heExlbmd0aCg1MCksXHJcbiAgICBdKTtcclxuICAgIHRoaXMubGlicmFyeSA9IGZvcm1CdWlsZGVyLmNvbnRyb2wobnVsbCwgW1xyXG4gICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxyXG4gICAgICBWYWxpZGF0b3JzLm1heExlbmd0aCg1MCksXHJcbiAgICBdKTtcclxuICAgIHRoaXMuZnVuZCA9IGZvcm1CdWlsZGVyLmNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoNTApKTtcclxuICAgIHRoaXMubG9jYXRpb24gPSBmb3JtQnVpbGRlci5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDUwKSk7XHJcblxyXG4gICAgdGhpcy5mb3JtID0gZm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG4gICAgICB0YWc6IHRoaXMudGFnLFxyXG4gICAgICBjaXR5OiB0aGlzLmNpdHksXHJcbiAgICAgIGxpYnJhcnk6IHRoaXMubGlicmFyeSxcclxuICAgICAgZnVuZDogdGhpcy5mdW5kLFxyXG4gICAgICBsb2NhdGlvbjogdGhpcy5sb2NhdGlvbixcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fc2hlbGZtYXJrKSB7XHJcbiAgICAgIHRoaXMudXBkYXRlRm9ybSh0aGlzLl9zaGVsZm1hcmspO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVGb3JtKG1vZGVsOiBDb2RTaGVsZm1hcmsgfCB1bmRlZmluZWQpOiB2b2lkIHtcclxuICAgIGlmICghbW9kZWwpIHtcclxuICAgICAgdGhpcy5mb3JtLnJlc2V0KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnRhZy5zZXRWYWx1ZShtb2RlbC50YWcgfHwgbnVsbCk7XHJcbiAgICB0aGlzLmNpdHkuc2V0VmFsdWUobW9kZWwuY2l0eSk7XHJcbiAgICB0aGlzLmxpYnJhcnkuc2V0VmFsdWUobW9kZWwubGlicmFyeSk7XHJcbiAgICB0aGlzLmZ1bmQuc2V0VmFsdWUobW9kZWwuZnVuZCB8fCBudWxsKTtcclxuICAgIHRoaXMubG9jYXRpb24uc2V0VmFsdWUobW9kZWwubG9jYXRpb24pO1xyXG4gICAgdGhpcy5mb3JtLm1hcmtBc1ByaXN0aW5lKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldE1vZGVsKCk6IENvZFNoZWxmbWFyayB8IG51bGwge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgdGFnOiB0aGlzLnRhZy52YWx1ZT8udHJpbSgpLFxyXG4gICAgICBjaXR5OiB0aGlzLmNpdHkudmFsdWU/LnRyaW0oKSB8fCAnJyxcclxuICAgICAgbGlicmFyeTogdGhpcy5saWJyYXJ5LnZhbHVlPy50cmltKCkgfHwgJycsXHJcbiAgICAgIGZ1bmQ6IHRoaXMuZnVuZC52YWx1ZT8udHJpbSgpLFxyXG4gICAgICBsb2NhdGlvbjogdGhpcy5sb2NhdGlvbi52YWx1ZT8udHJpbSgpIHx8ICcnLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjYW5jZWwoKTogdm9pZCB7XHJcbiAgICB0aGlzLmVkaXRvckNsb3NlLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzYXZlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IG1vZGVsID0gdGhpcy5nZXRNb2RlbCgpO1xyXG4gICAgaWYgKCFtb2RlbCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnNoZWxmbWFya0NoYW5nZS5lbWl0KG1vZGVsKTtcclxuICB9XHJcbn1cclxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgKHN1Ym1pdCk9XCJzYXZlKClcIj5cclxuICA8ZGl2PlxyXG4gICAgPCEtLSB0YWcgKGJvdW5kKSAtLT5cclxuICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cInRhZ0VudHJpZXM/Lmxlbmd0aFwiIHN0eWxlPVwid2lkdGg6IDhlbVwiPlxyXG4gICAgICA8bWF0LXNlbGVjdCBbZm9ybUNvbnRyb2xdPVwidGFnXCIgcGxhY2Vob2xkZXI9XCJ0YWdcIj5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgZSBvZiB0YWdFbnRyaWVzXCIgW3ZhbHVlXT1cImUuaWRcIj57e1xyXG4gICAgICAgICAgZS52YWx1ZVxyXG4gICAgICAgIH19PC9tYXQtb3B0aW9uPlxyXG4gICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPCEtLSB0YWcgKGZyZWUpIC0tPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiIXRhZ0VudHJpZXM/Lmxlbmd0aFwiPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT1cInRhZ1wiIHBsYWNlaG9sZGVyPVwidGFnXCIgLz5cclxuICAgICAgPG1hdC1lcnJvclxyXG4gICAgICAgICpuZ0lmPVwiJGFueSh0YWcpLmVycm9ycz8ubWF4TGVuZ3RoICYmICh0YWcuZGlydHkgfHwgdGFnLnRvdWNoZWQpXCJcclxuICAgICAgICA+dGFnIHRvbyBsb25nPC9tYXQtZXJyb3JcclxuICAgICAgPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwhLS0gY2l0eSAtLT5cclxuICAgICZuYnNwO1xyXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT1cImNpdHlcIiBwbGFjZWhvbGRlcj1cImNpdHlcIiAvPlxyXG4gICAgICA8bWF0LWVycm9yXHJcbiAgICAgICAgKm5nSWY9XCIkYW55KGNpdHkpLmVycm9ycz8ucmVxdWlyZWQgJiYgKGNpdHkuZGlydHkgfHwgY2l0eS50b3VjaGVkKVwiXHJcbiAgICAgICAgPmNpdHkgcmVxdWlyZWQ8L21hdC1lcnJvclxyXG4gICAgICA+XHJcbiAgICAgIDxtYXQtZXJyb3JcclxuICAgICAgICAqbmdJZj1cIiRhbnkoY2l0eSkuZXJyb3JzPy5tYXhMZW5ndGggJiYgKGNpdHkuZGlydHkgfHwgY2l0eS50b3VjaGVkKVwiXHJcbiAgICAgICAgPmNpdHkgdG9vIGxvbmc8L21hdC1lcnJvclxyXG4gICAgICA+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXY+XHJcbiAgICA8IS0tIGxpYnJhcnkgKGJvdW5kKSAtLT5cclxuICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImxpYkVudHJpZXM/Lmxlbmd0aFwiIHN0eWxlPVwid2lkdGg6IDhlbVwiPlxyXG4gICAgICA8bWF0LXNlbGVjdCBbZm9ybUNvbnRyb2xdPVwibGlicmFyeVwiIHBsYWNlaG9sZGVyPVwibGlicmFyeVwiPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBlIG9mIGxpYkVudHJpZXNcIiBbdmFsdWVdPVwiZS5pZFwiPnt7XHJcbiAgICAgICAgICBlLnZhbHVlXHJcbiAgICAgICAgfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgPG1hdC1lcnJvclxyXG4gICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICAkYW55KGxpYnJhcnkpLmVycm9ycz8ucmVxdWlyZWQgJiYgKGxpYnJhcnkuZGlydHkgfHwgbGlicmFyeS50b3VjaGVkKVxyXG4gICAgICAgIFwiXHJcbiAgICAgICAgPmxpYnJhcnkgcmVxdWlyZWQ8L21hdC1lcnJvclxyXG4gICAgICA+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPCEtLSBsaWJyYXJ5IChmcmVlKSAtLT5cclxuICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cIiFsaWJFbnRyaWVzPy5sZW5ndGhcIj5cclxuICAgICAgPGlucHV0IG1hdElucHV0IFtmb3JtQ29udHJvbF09XCJsaWJyYXJ5XCIgcGxhY2Vob2xkZXI9XCJsaWJyYXJ5XCIgLz5cclxuICAgICAgPG1hdC1lcnJvclxyXG4gICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICAkYW55KGxpYnJhcnkpLmVycm9ycz8ucmVxdWlyZWQgJiYgKGxpYnJhcnkuZGlydHkgfHwgbGlicmFyeS50b3VjaGVkKVxyXG4gICAgICAgIFwiXHJcbiAgICAgICAgPmxpYnJhcnkgcmVxdWlyZWQ8L21hdC1lcnJvclxyXG4gICAgICA+XHJcbiAgICAgIDxtYXQtZXJyb3JcclxuICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgJGFueShsaWJyYXJ5KS5lcnJvcnM/Lm1heExlbmd0aCAmJiAobGlicmFyeS5kaXJ0eSB8fCBsaWJyYXJ5LnRvdWNoZWQpXHJcbiAgICAgICAgXCJcclxuICAgICAgICA+bGlicmFyeSB0b28gbG9uZzwvbWF0LWVycm9yXHJcbiAgICAgID5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8IS0tIGZ1bmQgLS0+XHJcbiAgICAmbmJzcDtcclxuICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgPGlucHV0IG1hdElucHV0IFtmb3JtQ29udHJvbF09XCJmdW5kXCIgcGxhY2Vob2xkZXI9XCJmdW5kXCIgLz5cclxuICAgICAgPG1hdC1lcnJvclxyXG4gICAgICAgICpuZ0lmPVwiJGFueShmdW5kKS5lcnJvcnM/Lm1heExlbmd0aCAmJiAoZnVuZC5kaXJ0eSB8fCBmdW5kLnRvdWNoZWQpXCJcclxuICAgICAgICA+ZnVuZCB0b28gbG9uZzwvbWF0LWVycm9yXHJcbiAgICAgID5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8IS0tIGxvY2F0aW9uIC0tPlxyXG4gICAgJm5ic3A7XHJcbiAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBbZm9ybUNvbnRyb2xdPVwibG9jYXRpb25cIiBwbGFjZWhvbGRlcj1cImxvY2F0aW9uXCIgLz5cclxuICAgICAgPG1hdC1lcnJvclxyXG4gICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICAkYW55KGxvY2F0aW9uKS5lcnJvcnM/LnJlcXVpcmVkICYmXHJcbiAgICAgICAgICAobG9jYXRpb24uZGlydHkgfHwgbG9jYXRpb24udG91Y2hlZClcclxuICAgICAgICBcIlxyXG4gICAgICAgID5sb2NhdGlvbiByZXF1aXJlZDwvbWF0LWVycm9yXHJcbiAgICAgID5cclxuICAgICAgPG1hdC1lcnJvclxyXG4gICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICAkYW55KGxvY2F0aW9uKS5lcnJvcnM/Lm1heExlbmd0aCAmJlxyXG4gICAgICAgICAgKGxvY2F0aW9uLmRpcnR5IHx8IGxvY2F0aW9uLnRvdWNoZWQpXHJcbiAgICAgICAgXCJcclxuICAgICAgICA+bG9jYXRpb24gdG9vIGxvbmc8L21hdC1lcnJvclxyXG4gICAgICA+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDwvZGl2PlxyXG4gIDwhLS0gYnV0dG9ucyAtLT5cclxuICA8ZGl2PlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgY29sb3I9XCJ3YXJuXCJcclxuICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgIG1hdFRvb2x0aXA9XCJEaXNjYXJkIGNoYW5nZXNcIlxyXG4gICAgICAoY2xpY2spPVwiY2FuY2VsKClcIlxyXG4gICAgPlxyXG4gICAgICA8bWF0LWljb24+Y2xlYXI8L21hdC1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIHR5cGU9XCJzdWJtaXRcIlxyXG4gICAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgbWF0VG9vbHRpcD1cIkFjY2VwdCBjaGFuZ2VzXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZCB8fCBmb3JtLnByaXN0aW5lXCJcclxuICAgID5cclxuICAgICAgPG1hdC1pY29uPmNoZWNrX2NpcmNsZTwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9mb3JtPlxyXG4iXX0=
@@ -7,14 +7,14 @@ import * as i0 from "@angular/core";
7
7
  import * as i1 from "@myrmidon/auth-jwt-login";
8
8
  import * as i2 from "@angular/forms";
9
9
  import * as i3 from "@myrmidon/ng-mat-tools";
10
- import * as i4 from "@angular/material/card";
11
- import * as i5 from "@angular/material/icon";
12
- import * as i6 from "@angular/material/tabs";
13
- import * as i7 from "@angular/material/button";
14
- import * as i8 from "../cod-shelfmark-editor/cod-shelfmark-editor.component";
15
- import * as i9 from "@myrmidon/cadmus-ui";
16
- import * as i10 from "@angular/common";
17
- import * as i11 from "@angular/material/tooltip";
10
+ import * as i4 from "@angular/common";
11
+ import * as i5 from "@angular/material/button";
12
+ import * as i6 from "@angular/material/card";
13
+ import * as i7 from "@angular/material/icon";
14
+ import * as i8 from "@angular/material/tabs";
15
+ import * as i9 from "@angular/material/tooltip";
16
+ import * as i10 from "@myrmidon/cadmus-ui";
17
+ import * as i11 from "../cod-shelfmark-editor/cod-shelfmark-editor.component";
18
18
  /**
19
19
  * CodShelfmarksPart editor component.
20
20
  * Thesauri: cod-shelfmark-tags, cod-shelfmark-libraries (all optional).
@@ -26,7 +26,10 @@ export class CodShelfmarksPartComponent extends ModelEditorComponentBase {
26
26
  this._editedIndex = -1;
27
27
  this.tabIndex = 0;
28
28
  // form
29
- this.shelfmarks = formBuilder.control([], NgToolsValidators.strictMinLengthValidator(1));
29
+ this.shelfmarks = formBuilder.control([], {
30
+ nonNullable: true,
31
+ validators: NgToolsValidators.strictMinLengthValidator(1),
32
+ });
30
33
  this.form = formBuilder.group({
31
34
  entries: this.shelfmarks,
32
35
  });
@@ -142,10 +145,10 @@ export class CodShelfmarksPartComponent extends ModelEditorComponentBase {
142
145
  this.shelfmarks.setValue(entries);
143
146
  }
144
147
  }
145
- CodShelfmarksPartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: CodShelfmarksPartComponent, deps: [{ token: i1.AuthJwtService }, { token: i2.FormBuilder }, { token: i3.DialogService }], target: i0.ɵɵFactoryTarget.Component });
146
- CodShelfmarksPartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: CodShelfmarksPartComponent, selector: "cadmus-cod-shelfmarks-part", usesInheritance: true, ngImport: i0, template: "<form [formGroup]=\"form!\" (submit)=\"save()\">\n <mat-card>\n <mat-card-header>\n <div mat-card-avatar>\n <mat-icon>picture_in_picture</mat-icon>\n </div>\n <mat-card-title>Shelfmarks Part</mat-card-title>\n </mat-card-header>\n <mat-card-content>\n <mat-tab-group [(selectedIndex)]=\"tabIndex\">\n <mat-tab label=\"shelfmarks\">\n <div>\n <button\n type=\"button\"\n mat-icon-button\n color=\"primary\"\n (click)=\"addShelfmark()\"\n >\n <mat-icon>add_circle</mat-icon> add shelfmark\n </button>\n </div>\n <table *ngIf=\"shelfmarks?.value?.length\">\n <thead>\n <tr>\n <th></th>\n <th>tag</th>\n <th>city</th>\n <th>library</th>\n <th>fund</th>\n <th>location</th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"\n let entry of shelfmarks?.value;\n let i = index;\n let first = first;\n let last = last\n \"\n >\n <td>\n <button\n type=\"button\"\n mat-icon-button\n color=\"primary\"\n matTooltip=\"Edit this shelfmark\"\n (click)=\"editShelfmark(i)\"\n >\n <mat-icon>edit</mat-icon>\n </button>\n <button\n type=\"button\"\n mat-icon-button\n matTooltip=\"Move this shelfmark up\"\n [disabled]=\"first\"\n (click)=\"moveShelfmarkUp(i)\"\n >\n <mat-icon>arrow_upward</mat-icon>\n </button>\n <button\n type=\"button\"\n mat-icon-button\n matTooltip=\"Move this shelfmark down\"\n [disabled]=\"last\"\n (click)=\"moveShelfmarkDown(i)\"\n >\n <mat-icon>arrow_downward</mat-icon>\n </button>\n <button\n type=\"button\"\n mat-icon-button\n color=\"warn\"\n matTooltip=\"Delete this shelfmark\"\n (click)=\"deleteShelfmark(i)\"\n >\n <mat-icon>remove_circle</mat-icon>\n </button>\n </td>\n <td>{{ entry.tag }}</td>\n <td>{{ entry.city }}</td>\n <td>{{ entry.library }}</td>\n <td>{{ entry.fund }}</td>\n <td>{{ entry.location }}</td>\n </tr>\n </tbody>\n </table>\n </mat-tab>\n\n <mat-tab label=\"shelfmark\" *ngIf=\"editedShelfmark\">\n <cadmus-cod-shelfmark-editor\n [tagEntries]=\"tagEntries\"\n [libEntries]=\"libEntries\"\n [shelfmark]=\"editedShelfmark\"\n (shelfmarkChange)=\"onShelfmarkSave($event)\"\n (editorClose)=\"onShelfmarkClose()\"\n ></cadmus-cod-shelfmark-editor>\n </mat-tab>\n </mat-tab-group>\n </mat-card-content>\n <mat-card-actions>\n <cadmus-close-save-buttons\n [form]=\"form\"\n [noSave]=\"userLevel < 2\"\n (closeRequest)=\"close()\"\n ></cadmus-close-save-buttons>\n </mat-card-actions>\n </mat-card>\n</form>\n", styles: ["th{font-weight:400;color:silver}\n"], components: [{ type: i4.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i4.MatCardHeader, selector: "mat-card-header" }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i6.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { type: i6.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i8.CodShelfmarkEditorComponent, selector: "cadmus-cod-shelfmark-editor", inputs: ["shelfmark", "tagEntries", "libEntries"], outputs: ["shelfmarkChange", "editorClose"] }, { type: i9.CloseSaveButtonsComponent, selector: "cadmus-close-save-buttons", inputs: ["form", "noSave"], outputs: ["closeRequest"] }], directives: [{ type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i4.MatCardAvatar, selector: "[mat-card-avatar], [matCardAvatar]" }, { type: i4.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { type: i4.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i11.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i4.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }] });
147
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: CodShelfmarksPartComponent, decorators: [{
148
+ CodShelfmarksPartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: CodShelfmarksPartComponent, deps: [{ token: i1.AuthJwtService }, { token: i2.FormBuilder }, { token: i3.DialogService }], target: i0.ɵɵFactoryTarget.Component });
149
+ CodShelfmarksPartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: CodShelfmarksPartComponent, selector: "cadmus-cod-shelfmarks-part", usesInheritance: true, ngImport: i0, template: "<form [formGroup]=\"form!\" (submit)=\"save()\">\r\n <mat-card>\r\n <mat-card-header>\r\n <div mat-card-avatar>\r\n <mat-icon>picture_in_picture</mat-icon>\r\n </div>\r\n <mat-card-title>Shelfmarks Part</mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <mat-tab-group [(selectedIndex)]=\"tabIndex\">\r\n <mat-tab label=\"shelfmarks\">\r\n <div>\r\n <button\r\n type=\"button\"\r\n mat-icon-button\r\n color=\"primary\"\r\n (click)=\"addShelfmark()\"\r\n >\r\n <mat-icon>add_circle</mat-icon> add shelfmark\r\n </button>\r\n </div>\r\n <table *ngIf=\"shelfmarks?.value?.length\">\r\n <thead>\r\n <tr>\r\n <th></th>\r\n <th>tag</th>\r\n <th>city</th>\r\n <th>library</th>\r\n <th>fund</th>\r\n <th>location</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr\r\n *ngFor=\"\r\n let entry of shelfmarks?.value;\r\n let i = index;\r\n let first = first;\r\n let last = last\r\n \"\r\n >\r\n <td>\r\n <button\r\n type=\"button\"\r\n mat-icon-button\r\n color=\"primary\"\r\n matTooltip=\"Edit this shelfmark\"\r\n (click)=\"editShelfmark(i)\"\r\n >\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n <button\r\n type=\"button\"\r\n mat-icon-button\r\n matTooltip=\"Move this shelfmark up\"\r\n [disabled]=\"first\"\r\n (click)=\"moveShelfmarkUp(i)\"\r\n >\r\n <mat-icon>arrow_upward</mat-icon>\r\n </button>\r\n <button\r\n type=\"button\"\r\n mat-icon-button\r\n matTooltip=\"Move this shelfmark down\"\r\n [disabled]=\"last\"\r\n (click)=\"moveShelfmarkDown(i)\"\r\n >\r\n <mat-icon>arrow_downward</mat-icon>\r\n </button>\r\n <button\r\n type=\"button\"\r\n mat-icon-button\r\n color=\"warn\"\r\n matTooltip=\"Delete this shelfmark\"\r\n (click)=\"deleteShelfmark(i)\"\r\n >\r\n <mat-icon>remove_circle</mat-icon>\r\n </button>\r\n </td>\r\n <td>{{ entry.tag }}</td>\r\n <td>{{ entry.city }}</td>\r\n <td>{{ entry.library }}</td>\r\n <td>{{ entry.fund }}</td>\r\n <td>{{ entry.location }}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </mat-tab>\r\n\r\n <mat-tab label=\"shelfmark\" *ngIf=\"editedShelfmark\">\r\n <cadmus-cod-shelfmark-editor\r\n [tagEntries]=\"tagEntries\"\r\n [libEntries]=\"libEntries\"\r\n [shelfmark]=\"editedShelfmark\"\r\n (shelfmarkChange)=\"onShelfmarkSave($event)\"\r\n (editorClose)=\"onShelfmarkClose()\"\r\n ></cadmus-cod-shelfmark-editor>\r\n </mat-tab>\r\n </mat-tab-group>\r\n </mat-card-content>\r\n <mat-card-actions>\r\n <cadmus-close-save-buttons\r\n [form]=\"form\"\r\n [noSave]=\"userLevel < 2\"\r\n (closeRequest)=\"close()\"\r\n ></cadmus-close-save-buttons>\r\n </mat-card-actions>\r\n </mat-card>\r\n</form>\r\n", styles: ["th{font-weight:400;color:silver}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.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: "component", type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "component", type: i6.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i6.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "directive", type: i6.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: i6.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i6.MatCardAvatar, selector: "[mat-card-avatar], [matCardAvatar]" }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { kind: "component", type: i8.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "directive", type: i9.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i10.CloseSaveButtonsComponent, selector: "cadmus-close-save-buttons", inputs: ["form", "noSave"], outputs: ["closeRequest"] }, { kind: "component", type: i11.CodShelfmarkEditorComponent, selector: "cadmus-cod-shelfmark-editor", inputs: ["shelfmark", "tagEntries", "libEntries"], outputs: ["shelfmarkChange", "editorClose"] }] });
150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: CodShelfmarksPartComponent, decorators: [{
148
151
  type: Component,
149
- args: [{ selector: 'cadmus-cod-shelfmarks-part', template: "<form [formGroup]=\"form!\" (submit)=\"save()\">\n <mat-card>\n <mat-card-header>\n <div mat-card-avatar>\n <mat-icon>picture_in_picture</mat-icon>\n </div>\n <mat-card-title>Shelfmarks Part</mat-card-title>\n </mat-card-header>\n <mat-card-content>\n <mat-tab-group [(selectedIndex)]=\"tabIndex\">\n <mat-tab label=\"shelfmarks\">\n <div>\n <button\n type=\"button\"\n mat-icon-button\n color=\"primary\"\n (click)=\"addShelfmark()\"\n >\n <mat-icon>add_circle</mat-icon> add shelfmark\n </button>\n </div>\n <table *ngIf=\"shelfmarks?.value?.length\">\n <thead>\n <tr>\n <th></th>\n <th>tag</th>\n <th>city</th>\n <th>library</th>\n <th>fund</th>\n <th>location</th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"\n let entry of shelfmarks?.value;\n let i = index;\n let first = first;\n let last = last\n \"\n >\n <td>\n <button\n type=\"button\"\n mat-icon-button\n color=\"primary\"\n matTooltip=\"Edit this shelfmark\"\n (click)=\"editShelfmark(i)\"\n >\n <mat-icon>edit</mat-icon>\n </button>\n <button\n type=\"button\"\n mat-icon-button\n matTooltip=\"Move this shelfmark up\"\n [disabled]=\"first\"\n (click)=\"moveShelfmarkUp(i)\"\n >\n <mat-icon>arrow_upward</mat-icon>\n </button>\n <button\n type=\"button\"\n mat-icon-button\n matTooltip=\"Move this shelfmark down\"\n [disabled]=\"last\"\n (click)=\"moveShelfmarkDown(i)\"\n >\n <mat-icon>arrow_downward</mat-icon>\n </button>\n <button\n type=\"button\"\n mat-icon-button\n color=\"warn\"\n matTooltip=\"Delete this shelfmark\"\n (click)=\"deleteShelfmark(i)\"\n >\n <mat-icon>remove_circle</mat-icon>\n </button>\n </td>\n <td>{{ entry.tag }}</td>\n <td>{{ entry.city }}</td>\n <td>{{ entry.library }}</td>\n <td>{{ entry.fund }}</td>\n <td>{{ entry.location }}</td>\n </tr>\n </tbody>\n </table>\n </mat-tab>\n\n <mat-tab label=\"shelfmark\" *ngIf=\"editedShelfmark\">\n <cadmus-cod-shelfmark-editor\n [tagEntries]=\"tagEntries\"\n [libEntries]=\"libEntries\"\n [shelfmark]=\"editedShelfmark\"\n (shelfmarkChange)=\"onShelfmarkSave($event)\"\n (editorClose)=\"onShelfmarkClose()\"\n ></cadmus-cod-shelfmark-editor>\n </mat-tab>\n </mat-tab-group>\n </mat-card-content>\n <mat-card-actions>\n <cadmus-close-save-buttons\n [form]=\"form\"\n [noSave]=\"userLevel < 2\"\n (closeRequest)=\"close()\"\n ></cadmus-close-save-buttons>\n </mat-card-actions>\n </mat-card>\n</form>\n", styles: ["th{font-weight:400;color:silver}\n"] }]
152
+ args: [{ selector: 'cadmus-cod-shelfmarks-part', template: "<form [formGroup]=\"form!\" (submit)=\"save()\">\r\n <mat-card>\r\n <mat-card-header>\r\n <div mat-card-avatar>\r\n <mat-icon>picture_in_picture</mat-icon>\r\n </div>\r\n <mat-card-title>Shelfmarks Part</mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <mat-tab-group [(selectedIndex)]=\"tabIndex\">\r\n <mat-tab label=\"shelfmarks\">\r\n <div>\r\n <button\r\n type=\"button\"\r\n mat-icon-button\r\n color=\"primary\"\r\n (click)=\"addShelfmark()\"\r\n >\r\n <mat-icon>add_circle</mat-icon> add shelfmark\r\n </button>\r\n </div>\r\n <table *ngIf=\"shelfmarks?.value?.length\">\r\n <thead>\r\n <tr>\r\n <th></th>\r\n <th>tag</th>\r\n <th>city</th>\r\n <th>library</th>\r\n <th>fund</th>\r\n <th>location</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr\r\n *ngFor=\"\r\n let entry of shelfmarks?.value;\r\n let i = index;\r\n let first = first;\r\n let last = last\r\n \"\r\n >\r\n <td>\r\n <button\r\n type=\"button\"\r\n mat-icon-button\r\n color=\"primary\"\r\n matTooltip=\"Edit this shelfmark\"\r\n (click)=\"editShelfmark(i)\"\r\n >\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n <button\r\n type=\"button\"\r\n mat-icon-button\r\n matTooltip=\"Move this shelfmark up\"\r\n [disabled]=\"first\"\r\n (click)=\"moveShelfmarkUp(i)\"\r\n >\r\n <mat-icon>arrow_upward</mat-icon>\r\n </button>\r\n <button\r\n type=\"button\"\r\n mat-icon-button\r\n matTooltip=\"Move this shelfmark down\"\r\n [disabled]=\"last\"\r\n (click)=\"moveShelfmarkDown(i)\"\r\n >\r\n <mat-icon>arrow_downward</mat-icon>\r\n </button>\r\n <button\r\n type=\"button\"\r\n mat-icon-button\r\n color=\"warn\"\r\n matTooltip=\"Delete this shelfmark\"\r\n (click)=\"deleteShelfmark(i)\"\r\n >\r\n <mat-icon>remove_circle</mat-icon>\r\n </button>\r\n </td>\r\n <td>{{ entry.tag }}</td>\r\n <td>{{ entry.city }}</td>\r\n <td>{{ entry.library }}</td>\r\n <td>{{ entry.fund }}</td>\r\n <td>{{ entry.location }}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </mat-tab>\r\n\r\n <mat-tab label=\"shelfmark\" *ngIf=\"editedShelfmark\">\r\n <cadmus-cod-shelfmark-editor\r\n [tagEntries]=\"tagEntries\"\r\n [libEntries]=\"libEntries\"\r\n [shelfmark]=\"editedShelfmark\"\r\n (shelfmarkChange)=\"onShelfmarkSave($event)\"\r\n (editorClose)=\"onShelfmarkClose()\"\r\n ></cadmus-cod-shelfmark-editor>\r\n </mat-tab>\r\n </mat-tab-group>\r\n </mat-card-content>\r\n <mat-card-actions>\r\n <cadmus-close-save-buttons\r\n [form]=\"form\"\r\n [noSave]=\"userLevel < 2\"\r\n (closeRequest)=\"close()\"\r\n ></cadmus-close-save-buttons>\r\n </mat-card-actions>\r\n </mat-card>\r\n</form>\r\n", styles: ["th{font-weight:400;color:silver}\n"] }]
150
153
  }], ctorParameters: function () { return [{ type: i1.AuthJwtService }, { type: i2.FormBuilder }, { type: i3.DialogService }]; } });
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLXNoZWxmbWFya3MtcGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJtaWRvbi9jYWRtdXMtcGFydC1jb2RpY29sb2d5LXNoZWxmbWFya3Mvc3JjL2xpYi9jb2Qtc2hlbGZtYXJrcy1wYXJ0L2NvZC1zaGVsZm1hcmtzLXBhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlybWlkb24vY2FkbXVzLXBhcnQtY29kaWNvbG9neS1zaGVsZm1hcmtzL3NyYy9saWIvY29kLXNoZWxmbWFya3MtcGFydC9jb2Qtc2hlbGZtYXJrcy1wYXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUdqRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUcvRCxPQUFPLEVBR0wsMEJBQTBCLEdBQzNCLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFFaEM7OztHQUdHO0FBTUgsTUFBTSxPQUFPLDBCQUNYLFNBQVEsd0JBQTJDO0lBZW5ELFlBQ0UsV0FBMkIsRUFDM0IsV0FBd0IsRUFDaEIsY0FBNkI7UUFFckMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRlgsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFHckMsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNsQixPQUFPO1FBQ1AsSUFBSSxDQUFDLFVBQVUsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUNuQyxFQUFFLEVB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QU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7dUhBM0pVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLHlGQ3pCdkMsNG9IQTZHQTsyRkRwRmEsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBkZWVwQ29weSwgTmdUb29sc1ZhbGlkYXRvcnMgfSBmcm9tICdAbXlybWlkb24vbmctdG9vbHMnO1xuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJ0BteXJtaWRvbi9uZy1tYXQtdG9vbHMnO1xuaW1wb3J0IHsgQXV0aEp3dFNlcnZpY2UgfSBmcm9tICdAbXlybWlkb24vYXV0aC1qd3QtbG9naW4nO1xuaW1wb3J0IHsgTW9kZWxFZGl0b3JDb21wb25lbnRCYXNlIH0gZnJvbSAnQG15cm1pZG9uL2NhZG11cy11aSc7XG5pbXBvcnQgeyBUaGVzYXVydXNFbnRyeSB9IGZyb20gJ0BteXJtaWRvbi9jYWRtdXMtY29yZSc7XG5cbmltcG9ydCB7XG4gIENvZFNoZWxmbWFyayxcbiAgQ29kU2hlbGZtYXJrc1BhcnQsXG4gIENPRF9TSEVMRk1BUktTX1BBUlRfVFlQRUlELFxufSBmcm9tICcuLi9jb2Qtc2hlbGZtYXJrcy1wYXJ0JztcblxuLyoqXG4gKiBDb2RTaGVsZm1hcmtzUGFydCBlZGl0b3IgY29tcG9uZW50LlxuICogVGhlc2F1cmk6IGNvZC1zaGVsZm1hcmstdGFncywgY29kLXNoZWxmbWFyay1saWJyYXJpZXMgKGFsbCBvcHRpb25hbCkuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NhZG11cy1jb2Qtc2hlbGZtYXJrcy1wYXJ0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvZC1zaGVsZm1hcmtzLXBhcnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb2Qtc2hlbGZtYXJrcy1wYXJ0LmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29kU2hlbGZtYXJrc1BhcnRDb21wb25lbnRcbiAgZXh0ZW5kcyBNb2RlbEVkaXRvckNvbXBvbmVudEJhc2U8Q29kU2hlbGZtYXJrc1BhcnQ+XG4gIGltcGxlbWVudHMgT25Jbml0XG57XG4gIHByaXZhdGUgX2VkaXRlZEluZGV4OiBudW1iZXI7XG5cbiAgcHVibGljIHRhYkluZGV4OiBudW1iZXI7XG4gIHB1YmxpYyBlZGl0ZWRTaGVsZm1hcms6IENvZFNoZWxmbWFyayB8IHVuZGVmaW5lZDtcblxuICAvLyBjb2Qtc2hlbGZtYXJrLXRhZ3NcbiAgcHVibGljIHRhZ0VudHJpZXM6IFRoZXNhdXJ1c0VudHJ5W10gfCB1bmRlZmluZWQ7XG4gIC8vIGNvZC1zaGVsZm1hcmstbGlicmFyaWVzXG4gIHB1YmxpYyBsaWJFbnRyaWVzOiBUaGVzYXVydXNFbnRyeVtdIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBzaGVsZm1hcmtzOiBGb3JtQ29udHJvbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBhdXRoU2VydmljZTogQXV0aEp3dFNlcnZpY2UsXG4gICAgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgX2RpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoYXV0aFNlcnZpY2UpO1xuICAgIHRoaXMuX2VkaXRlZEluZGV4ID0gLTE7XG4gICAgdGhpcy50YWJJbmRleCA9IDA7XG4gICAgLy8gZm9ybVxuICAgIHRoaXMuc2hlbGZtYXJrcyA9IGZvcm1CdWlsZGVyLmNvbnRyb2woXG4gICAgICBbXSxcbiAgICAgIE5nVG9vbHNWYWxpZGF0b3JzLnN0cmljdE1pbkxlbmd0aFZhbGlkYXRvcigxKVxuICAgICk7XG4gICAgdGhpcy5mb3JtID0gZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgZW50cmllczogdGhpcy5zaGVsZm1hcmtzLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdEVkaXRvcigpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVGb3JtKG1vZGVsOiBDb2RTaGVsZm1hcmtzUGFydCk6IHZvaWQge1xuICAgIGlmICghbW9kZWwpIHtcbiAgICAgIHRoaXMuZm9ybSEucmVzZXQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zaGVsZm1hcmtzLnNldFZhbHVlKG1vZGVsLnNoZWxmbWFya3MgfHwgW10pO1xuICAgIHRoaXMuZm9ybSEubWFya0FzUHJpc3RpbmUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbk1vZGVsU2V0KG1vZGVsOiBDb2RTaGVsZm1hcmtzUGFydCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlRm9ybShkZWVwQ29weShtb2RlbCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIG9uVGhlc2F1cmlTZXQoKTogdm9pZCB7XG4gICAgbGV0IGtleSA9ICdjb2Qtc2hlbGZtYXJrLXRhZ3MnO1xuICAgIGlmICh0aGlzLnRoZXNhdXJpICYmIHRoaXMudGhlc2F1cmlba2V5XSkge1xuICAgICAgdGhpcy50YWdFbnRyaWVzID0gdGhpcy50aGVzYXVyaVtrZXldLmVudHJpZXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudGFnRW50cmllcyA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAga2V5ID0gJ2NvZC1zaGVsZm1hcmstbGlicmFyaWVzJztcbiAgICBpZiAodGhpcy50aGVzYXVyaSAmJiB0aGlzLnRoZXNhdXJpW2tleV0pIHtcbiAgICAgIHRoaXMubGliRW50cmllcyA9IHRoaXMudGhlc2F1cmlba2V5XS5lbnRyaWVzO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxpYkVudHJpZXMgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGdldE1vZGVsRnJvbUZvcm0oKTogQ29kU2hlbGZtYXJrc1BhcnQge1xuICAgIGxldCBwYXJ0ID0gdGhpcy5tb2RlbDtcbiAgICBpZiAoIXBhcnQpIHtcbiAgICAgIHBhcnQgPSB7XG4gICAgICAgIGl0ZW1JZDogdGhpcy5pdGVtSWQgfHwgJycsXG4gICAgICAgIGlkOiAnJyxcbiAgICAgICAgdHlwZUlkOiBDT0RfU0hFTEZNQVJLU19QQVJUX1RZUEVJRCxcbiAgICAgICAgcm9sZUlkOiB0aGlzLnJvbGVJZCxcbiAgICAgICAgdGltZUNyZWF0ZWQ6IG5ldyBEYXRlKCksXG4gICAgICAgIGNyZWF0b3JJZDogJycsXG4gICAgICAgIHRpbWVNb2RpZmllZDogbmV3IERhdGUoKSxcbiAgICAgICAgdXNlcklkOiAnJyxcbiAgICAgICAgc2hlbGZtYXJrczogW10sXG4gICAgICB9O1xuICAgIH1cbiAgICBwYXJ0LnNoZWxmbWFya3MgPSB0aGlzLnNoZWxmbWFya3MudmFsdWUgfHwgW107XG4gICAgcmV0dXJuIHBhcnQ7XG4gIH1cblxuICBwdWJsaWMgYWRkU2hlbGZtYXJrKCk6IHZvaWQge1xuICAgIGNvbnN0IGVudHJ5OiBDb2RTaGVsZm1hcmsgPSB7XG4gICAgICBjaXR5OiAnJyxcbiAgICAgIGxpYnJhcnk6IHRoaXMubGliRW50cmllcz8ubGVuZ3RoID8gdGhpcy5saWJFbnRyaWVzWzBdLmlkIDogJycsXG4gICAgICBsb2NhdGlvbjogJycsXG4gICAgfTtcbiAgICB0aGlzLnNoZWxmbWFya3Muc2V0VmFsdWUoWy4uLnRoaXMuc2hlbGZtYXJrcy52YWx1ZSwgZW50cnldKTtcbiAgICB0aGlzLmVkaXRTaGVsZm1hcmsodGhpcy5zaGVsZm1hcmtzLnZhbHVlLmxlbmd0aCAtIDEpO1xuICB9XG5cbiAgcHVibGljIGVkaXRTaGVsZm1hcmsoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmIChpbmRleCA8IDApIHtcbiAgICAgIHRoaXMuX2VkaXRlZEluZGV4ID0gLTE7XG4gICAgICB0aGlzLnRhYkluZGV4ID0gMDtcbiAgICAgIHRoaXMuZWRpdGVkU2hlbGZtYXJrID0gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9lZGl0ZWRJbmRleCA9IGluZGV4O1xuICAgICAgdGhpcy5lZGl0ZWRTaGVsZm1hcmsgPSB0aGlzLnNoZWxmbWFya3MudmFsdWVbaW5kZXhdO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMudGFiSW5kZXggPSAxO1xuICAgICAgfSwgMzAwKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25TaGVsZm1hcmtTYXZlKGVudHJ5OiBDb2RTaGVsZm1hcmspOiB2b2lkIHtcbiAgICB0aGlzLnNoZWxmbWFya3Muc2V0VmFsdWUoXG4gICAgICB0aGlzLnNoZWxmbWFya3MudmFsdWUubWFwKChlOiBDb2RTaGVsZm1hcmssIGk6IG51bWJlcikgPT5cbiAgICAgICAgaSA9PT0gdGhpcy5fZWRpdGVkSW5kZXggPyBlbnRyeSA6IGVcbiAgICAgIClcbiAgICApO1xuICAgIHRoaXMuZWRpdFNoZWxmbWFyaygtMSk7XG4gIH1cblxuICBwdWJsaWMgb25TaGVsZm1hcmtDbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmVkaXRTaGVsZm1hcmsoLTEpO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZVNoZWxmbWFyayhpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5fZGlhbG9nU2VydmljZVxuICAgICAgLmNvbmZpcm0oJ0NvbmZpcm1hdGlvbicsICdEZWxldGUgc2hlbGZtYXJrPycpXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoeWVzKSA9PiB7XG4gICAgICAgIGlmICh5ZXMpIHtcbiAgICAgICAgICBjb25zdCBlbnRyaWVzID0gWy4uLnRoaXMuc2hlbGZtYXJrcy52YWx1ZV07XG4gICAgICAgICAgZW50cmllcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICAgIHRoaXMuc2hlbGZtYXJrcy5zZXRWYWx1ZShlbnRyaWVzKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbW92ZVNoZWxmbWFya1VwKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAoaW5kZXggPCAxKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGVudHJ5ID0gdGhpcy5zaGVsZm1hcmtzLnZhbHVlW2luZGV4XTtcbiAgICBjb25zdCBlbnRyaWVzID0gWy4uLnRoaXMuc2hlbGZtYXJrcy52YWx1ZV07XG4gICAgZW50cmllcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIGVudHJpZXMuc3BsaWNlKGluZGV4IC0gMSwgMCwgZW50cnkpO1xuICAgIHRoaXMuc2hlbGZtYXJrcy5zZXRWYWx1ZShlbnRyaWVzKTtcbiAgfVxuXG4gIHB1YmxpYyBtb3ZlU2hlbGZtYXJrRG93bihpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKGluZGV4ICsgMSA+PSB0aGlzLnNoZWxmbWFya3MudmFsdWUubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGVudHJ5ID0gdGhpcy5zaGVsZm1hcmtzLnZhbHVlW2luZGV4XTtcbiAgICBjb25zdCBlbnRyaWVzID0gWy4uLnRoaXMuc2hlbGZtYXJrcy52YWx1ZV07XG4gICAgZW50cmllcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIGVudHJpZXMuc3BsaWNlKGluZGV4ICsgMSwgMCwgZW50cnkpO1xuICAgIHRoaXMuc2hlbGZtYXJrcy5zZXRWYWx1ZShlbnRyaWVzKTtcbiAgfVxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtIVwiIChzdWJtaXQpPVwic2F2ZSgpXCI+XG4gIDxtYXQtY2FyZD5cbiAgICA8bWF0LWNhcmQtaGVhZGVyPlxuICAgICAgPGRpdiBtYXQtY2FyZC1hdmF0YXI+XG4gICAgICAgIDxtYXQtaWNvbj5waWN0dXJlX2luX3BpY3R1cmU8L21hdC1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgICA8bWF0LWNhcmQtdGl0bGU+U2hlbGZtYXJrcyBQYXJ0PC9tYXQtY2FyZC10aXRsZT5cbiAgICA8L21hdC1jYXJkLWhlYWRlcj5cbiAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgIDxtYXQtdGFiLWdyb3VwIFsoc2VsZWN0ZWRJbmRleCldPVwidGFiSW5kZXhcIj5cbiAgICAgICAgPG1hdC10YWIgbGFiZWw9XCJzaGVsZm1hcmtzXCI+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkU2hlbGZtYXJrKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bWF0LWljb24+YWRkX2NpcmNsZTwvbWF0LWljb24+IGFkZCBzaGVsZm1hcmtcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDx0YWJsZSAqbmdJZj1cInNoZWxmbWFya3M/LnZhbHVlPy5sZW5ndGhcIj5cbiAgICAgICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgIDx0aD48L3RoPlxuICAgICAgICAgICAgICAgIDx0aD50YWc8L3RoPlxuICAgICAgICAgICAgICAgIDx0aD5jaXR5PC90aD5cbiAgICAgICAgICAgICAgICA8dGg+bGlicmFyeTwvdGg+XG4gICAgICAgICAgICAgICAgPHRoPmZ1bmQ8L3RoPlxuICAgICAgICAgICAgICAgIDx0aD5sb2NhdGlvbjwvdGg+XG4gICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICA8dHJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgICAgIGxldCBlbnRyeSBvZiBzaGVsZm1hcmtzPy52YWx1ZTtcbiAgICAgICAgICAgICAgICAgIGxldCBpID0gaW5kZXg7XG4gICAgICAgICAgICAgICAgICBsZXQgZmlyc3QgPSBmaXJzdDtcbiAgICAgICAgICAgICAgICAgIGxldCBsYXN0ID0gbGFzdFxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIkVkaXQgdGhpcyBzaGVsZm1hcmtcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZWRpdFNoZWxmbWFyayhpKVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5lZGl0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJNb3ZlIHRoaXMgc2hlbGZtYXJrIHVwXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZpcnN0XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1vdmVTaGVsZm1hcmtVcChpKVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5hcnJvd191cHdhcmQ8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIk1vdmUgdGhpcyBzaGVsZm1hcmsgZG93blwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJsYXN0XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1vdmVTaGVsZm1hcmtEb3duKGkpXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmFycm93X2Rvd253YXJkPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPVwid2FyblwiXG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJEZWxldGUgdGhpcyBzaGVsZm1hcmtcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlU2hlbGZtYXJrKGkpXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPnJlbW92ZV9jaXJjbGU8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8dGQ+e3sgZW50cnkudGFnIH19PC90ZD5cbiAgICAgICAgICAgICAgICA8dGQ+e3sgZW50cnkuY2l0eSB9fTwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkPnt7IGVudHJ5LmxpYnJhcnkgfX08L3RkPlxuICAgICAgICAgICAgICAgIDx0ZD57eyBlbnRyeS5mdW5kIH19PC90ZD5cbiAgICAgICAgICAgICAgICA8dGQ+e3sgZW50cnkubG9jYXRpb24gfX08L3RkPlxuICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICA8L21hdC10YWI+XG5cbiAgICAgICAgPG1hdC10YWIgbGFiZWw9XCJzaGVsZm1hcmtcIiAqbmdJZj1cImVkaXRlZFNoZWxmbWFya1wiPlxuICAgICAgICAgIDxjYWRtdXMtY29kLXNoZWxmbWFyay1lZGl0b3JcbiAgICAgICAgICAgIFt0YWdFbnRyaWVzXT1cInRhZ0VudHJpZXNcIlxuICAgICAgICAgICAgW2xpYkVudHJpZXNdPVwibGliRW50cmllc1wiXG4gICAgICAgICAgICBbc2hlbGZtYXJrXT1cImVkaXRlZFNoZWxmbWFya1wiXG4gICAgICAgICAgICAoc2hlbGZtYXJrQ2hhbmdlKT1cIm9uU2hlbGZtYXJrU2F2ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIChlZGl0b3JDbG9zZSk9XCJvblNoZWxmbWFya0Nsb3NlKClcIlxuICAgICAgICAgID48L2NhZG11cy1jb2Qtc2hlbGZtYXJrLWVkaXRvcj5cbiAgICAgICAgPC9tYXQtdGFiPlxuICAgICAgPC9tYXQtdGFiLWdyb3VwPlxuICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICA8bWF0LWNhcmQtYWN0aW9ucz5cbiAgICAgIDxjYWRtdXMtY2xvc2Utc2F2ZS1idXR0b25zXG4gICAgICAgIFtmb3JtXT1cImZvcm1cIlxuICAgICAgICBbbm9TYXZlXT1cInVzZXJMZXZlbCA8IDJcIlxuICAgICAgICAoY2xvc2VSZXF1ZXN0KT1cImNsb3NlKClcIlxuICAgICAgPjwvY2FkbXVzLWNsb3NlLXNhdmUtYnV0dG9ucz5cbiAgICA8L21hdC1jYXJkLWFjdGlvbnM+XG4gIDwvbWF0LWNhcmQ+XG48L2Zvcm0+XG4iXX0=
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLXNoZWxmbWFya3MtcGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJtaWRvbi9jYWRtdXMtcGFydC1jb2RpY29sb2d5LXNoZWxmbWFya3Mvc3JjL2xpYi9jb2Qtc2hlbGZtYXJrcy1wYXJ0L2NvZC1zaGVsZm1hcmtzLXBhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlybWlkb24vY2FkbXVzLXBhcnQtY29kaWNvbG9neS1zaGVsZm1hcmtzL3NyYy9saWIvY29kLXNoZWxmbWFya3MtcGFydC9jb2Qtc2hlbGZtYXJrcy1wYXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUdqRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUcvRCxPQUFPLEVBR0wsMEJBQTBCLEdBQzNCLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFFaEM7OztHQUdHO0FBTUgsTUFBTSxPQUFPLDBCQUNYLFNBQVEsd0JBQTJDO0lBZW5ELFlBQ0UsV0FBMkIsRUFDM0IsV0FBd0IsRUFDaEIsY0FBNkI7UUFFckMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRlgsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFHckMsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNsQixPQUFPO1FBQ1AsSUFBSSxDQUFDLFVBQVUsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFB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QU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDekIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwQyxDQUFDOzt1SEEzSlUsMEJBQTBCOzJHQUExQiwwQkFBMEIseUZDekJ2QyxzMkhBNkdBOzJGRHBGYSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0UsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgZGVlcENvcHksIE5nVG9vbHNWYWxpZGF0b3JzIH0gZnJvbSAnQG15cm1pZG9uL25nLXRvb2xzJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJ0BteXJtaWRvbi9uZy1tYXQtdG9vbHMnO1xyXG5pbXBvcnQgeyBBdXRoSnd0U2VydmljZSB9IGZyb20gJ0BteXJtaWRvbi9hdXRoLWp3dC1sb2dpbic7XHJcbmltcG9ydCB7IE1vZGVsRWRpdG9yQ29tcG9uZW50QmFzZSB9IGZyb20gJ0BteXJtaWRvbi9jYWRtdXMtdWknO1xyXG5pbXBvcnQgeyBUaGVzYXVydXNFbnRyeSB9IGZyb20gJ0BteXJtaWRvbi9jYWRtdXMtY29yZSc7XHJcblxyXG5pbXBvcnQge1xyXG4gIENvZFNoZWxmbWFyayxcclxuICBDb2RTaGVsZm1hcmtzUGFydCxcclxuICBDT0RfU0hFTEZNQVJLU19QQVJUX1RZUEVJRCxcclxufSBmcm9tICcuLi9jb2Qtc2hlbGZtYXJrcy1wYXJ0JztcclxuXHJcbi8qKlxyXG4gKiBDb2RTaGVsZm1hcmtzUGFydCBlZGl0b3IgY29tcG9uZW50LlxyXG4gKiBUaGVzYXVyaTogY29kLXNoZWxmbWFyay10YWdzLCBjb2Qtc2hlbGZtYXJrLWxpYnJhcmllcyAoYWxsIG9wdGlvbmFsKS5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY2FkbXVzLWNvZC1zaGVsZm1hcmtzLXBhcnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2Qtc2hlbGZtYXJrcy1wYXJ0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb2Qtc2hlbGZtYXJrcy1wYXJ0LmNvbXBvbmVudC5jc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvZFNoZWxmbWFya3NQYXJ0Q29tcG9uZW50XHJcbiAgZXh0ZW5kcyBNb2RlbEVkaXRvckNvbXBvbmVudEJhc2U8Q29kU2hlbGZtYXJrc1BhcnQ+XHJcbiAgaW1wbGVtZW50cyBPbkluaXRcclxue1xyXG4gIHByaXZhdGUgX2VkaXRlZEluZGV4OiBudW1iZXI7XHJcblxyXG4gIHB1YmxpYyB0YWJJbmRleDogbnVtYmVyO1xyXG4gIHB1YmxpYyBlZGl0ZWRTaGVsZm1hcms6IENvZFNoZWxmbWFyayB8IHVuZGVmaW5lZDtcclxuXHJcbiAgLy8gY29kLXNoZWxmbWFyay10YWdzXHJcbiAgcHVibGljIHRhZ0VudHJpZXM6IFRoZXNhdXJ1c0VudHJ5W10gfCB1bmRlZmluZWQ7XHJcbiAgLy8gY29kLXNoZWxmbWFyay1saWJyYXJpZXNcclxuICBwdWJsaWMgbGliRW50cmllczogVGhlc2F1cnVzRW50cnlbXSB8IHVuZGVmaW5lZDtcclxuXHJcbiAgcHVibGljIHNoZWxmbWFya3M6IEZvcm1Db250cm9sPENvZFNoZWxmbWFya1tdPjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBhdXRoU2VydmljZTogQXV0aEp3dFNlcnZpY2UsXHJcbiAgICBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIF9kaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcihhdXRoU2VydmljZSk7XHJcbiAgICB0aGlzLl9lZGl0ZWRJbmRleCA9IC0xO1xyXG4gICAgdGhpcy50YWJJbmRleCA9IDA7XHJcbiAgICAvLyBmb3JtXHJcbiAgICB0aGlzLnNoZWxmbWFya3MgPSBmb3JtQnVpbGRlci5jb250cm9sKFtdLCB7XHJcbiAgICAgIG5vbk51bGxhYmxlOiB0cnVlLFxyXG4gICAgICB2YWxpZGF0b3JzOiBOZ1Rvb2xzVmFsaWRhdG9ycy5zdHJpY3RNaW5MZW5ndGhWYWxpZGF0b3IoMSksXHJcbiAgICB9KTtcclxuICAgIHRoaXMuZm9ybSA9IGZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgZW50cmllczogdGhpcy5zaGVsZm1hcmtzLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmluaXRFZGl0b3IoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlRm9ybShtb2RlbDogQ29kU2hlbGZtYXJrc1BhcnQpOiB2b2lkIHtcclxuICAgIGlmICghbW9kZWwpIHtcclxuICAgICAgdGhpcy5mb3JtIS5yZXNldCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnNoZWxmbWFya3Muc2V0VmFsdWUobW9kZWwuc2hlbGZtYXJrcyB8fCBbXSk7XHJcbiAgICB0aGlzLmZvcm0hLm1hcmtBc1ByaXN0aW5lKCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgb25Nb2RlbFNldChtb2RlbDogQ29kU2hlbGZtYXJrc1BhcnQpOiB2b2lkIHtcclxuICAgIHRoaXMudXBkYXRlRm9ybShkZWVwQ29weShtb2RlbCkpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIG9uVGhlc2F1cmlTZXQoKTogdm9pZCB7XHJcbiAgICBsZXQga2V5ID0gJ2NvZC1zaGVsZm1hcmstdGFncyc7XHJcbiAgICBpZiAodGhpcy50aGVzYXVyaSAmJiB0aGlzLnRoZXNhdXJpW2tleV0pIHtcclxuICAgICAgdGhpcy50YWdFbnRyaWVzID0gdGhpcy50aGVzYXVyaVtrZXldLmVudHJpZXM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnRhZ0VudHJpZXMgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICBrZXkgPSAnY29kLXNoZWxmbWFyay1saWJyYXJpZXMnO1xyXG4gICAgaWYgKHRoaXMudGhlc2F1cmkgJiYgdGhpcy50aGVzYXVyaVtrZXldKSB7XHJcbiAgICAgIHRoaXMubGliRW50cmllcyA9IHRoaXMudGhlc2F1cmlba2V5XS5lbnRyaWVzO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5saWJFbnRyaWVzID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldE1vZGVsRnJvbUZvcm0oKTogQ29kU2hlbGZtYXJrc1BhcnQge1xyXG4gICAgbGV0IHBhcnQgPSB0aGlzLm1vZGVsO1xyXG4gICAgaWYgKCFwYXJ0KSB7XHJcbiAgICAgIHBhcnQgPSB7XHJcbiAgICAgICAgaXRlbUlkOiB0aGlzLml0ZW1JZCB8fCAnJyxcclxuICAgICAgICBpZDogJycsXHJcbiAgICAgICAgdHlwZUlkOiBDT0RfU0hFTEZNQVJLU19QQVJUX1RZUEVJRCxcclxuICAgICAgICByb2xlSWQ6IHRoaXMucm9sZUlkLFxyXG4gICAgICAgIHRpbWVDcmVhdGVkOiBuZXcgRGF0ZSgpLFxyXG4gICAgICAgIGNyZWF0b3JJZDogJycsXHJcbiAgICAgICAgdGltZU1vZGlmaWVkOiBuZXcgRGF0ZSgpLFxyXG4gICAgICAgIHVzZXJJZDogJycsXHJcbiAgICAgICAgc2hlbGZtYXJrczogW10sXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBwYXJ0LnNoZWxmbWFya3MgPSB0aGlzLnNoZWxmbWFya3MudmFsdWUgfHwgW107XHJcbiAgICByZXR1cm4gcGFydDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhZGRTaGVsZm1hcmsoKTogdm9pZCB7XHJcbiAgICBjb25zdCBlbnRyeTogQ29kU2hlbGZtYXJrID0ge1xyXG4gICAgICBjaXR5OiAnJyxcclxuICAgICAgbGlicmFyeTogdGhpcy5saWJFbnRyaWVzPy5sZW5ndGggPyB0aGlzLmxpYkVudHJpZXNbMF0uaWQgOiAnJyxcclxuICAgICAgbG9jYXRpb246ICcnLFxyXG4gICAgfTtcclxuICAgIHRoaXMuc2hlbGZtYXJrcy5zZXRWYWx1ZShbLi4udGhpcy5zaGVsZm1hcmtzLnZhbHVlLCBlbnRyeV0pO1xyXG4gICAgdGhpcy5lZGl0U2hlbGZtYXJrKHRoaXMuc2hlbGZtYXJrcy52YWx1ZS5sZW5ndGggLSAxKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBlZGl0U2hlbGZtYXJrKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmIChpbmRleCA8IDApIHtcclxuICAgICAgdGhpcy5fZWRpdGVkSW5kZXggPSAtMTtcclxuICAgICAgdGhpcy50YWJJbmRleCA9IDA7XHJcbiAgICAgIHRoaXMuZWRpdGVkU2hlbGZtYXJrID0gdW5kZWZpbmVkO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fZWRpdGVkSW5kZXggPSBpbmRleDtcclxuICAgICAgdGhpcy5lZGl0ZWRTaGVsZm1hcmsgPSB0aGlzLnNoZWxmbWFya3MudmFsdWVbaW5kZXhdO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLnRhYkluZGV4ID0gMTtcclxuICAgICAgfSwgMzAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblNoZWxmbWFya1NhdmUoZW50cnk6IENvZFNoZWxmbWFyayk6IHZvaWQge1xyXG4gICAgdGhpcy5zaGVsZm1hcmtzLnNldFZhbHVlKFxyXG4gICAgICB0aGlzLnNoZWxmbWFya3MudmFsdWUubWFwKChlOiBDb2RTaGVsZm1hcmssIGk6IG51bWJlcikgPT5cclxuICAgICAgICBpID09PSB0aGlzLl9lZGl0ZWRJbmRleCA/IGVudHJ5IDogZVxyXG4gICAgICApXHJcbiAgICApO1xyXG4gICAgdGhpcy5lZGl0U2hlbGZtYXJrKC0xKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblNoZWxmbWFya0Nsb3NlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5lZGl0U2hlbGZtYXJrKC0xKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBkZWxldGVTaGVsZm1hcmsoaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5fZGlhbG9nU2VydmljZVxyXG4gICAgICAuY29uZmlybSgnQ29uZmlybWF0aW9uJywgJ0RlbGV0ZSBzaGVsZm1hcms/JylcclxuICAgICAgLnBpcGUodGFrZSgxKSlcclxuICAgICAgLnN1YnNjcmliZSgoeWVzKSA9PiB7XHJcbiAgICAgICAgaWYgKHllcykge1xyXG4gICAgICAgICAgY29uc3QgZW50cmllcyA9IFsuLi50aGlzLnNoZWxmbWFya3MudmFsdWVdO1xyXG4gICAgICAgICAgZW50cmllcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgICAgdGhpcy5zaGVsZm1hcmtzLnNldFZhbHVlKGVudHJpZXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbW92ZVNoZWxmbWFya1VwKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmIChpbmRleCA8IDEpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZW50cnkgPSB0aGlzLnNoZWxmbWFya3MudmFsdWVbaW5kZXhdO1xyXG4gICAgY29uc3QgZW50cmllcyA9IFsuLi50aGlzLnNoZWxmbWFya3MudmFsdWVdO1xyXG4gICAgZW50cmllcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgZW50cmllcy5zcGxpY2UoaW5kZXggLSAxLCAwLCBlbnRyeSk7XHJcbiAgICB0aGlzLnNoZWxmbWFya3Muc2V0VmFsdWUoZW50cmllcyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbW92ZVNoZWxmbWFya0Rvd24oaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgaWYgKGluZGV4ICsgMSA+PSB0aGlzLnNoZWxmbWFya3MudmFsdWUubGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IGVudHJ5ID0gdGhpcy5zaGVsZm1hcmtzLnZhbHVlW2luZGV4XTtcclxuICAgIGNvbnN0IGVudHJpZXMgPSBbLi4udGhpcy5zaGVsZm1hcmtzLnZhbHVlXTtcclxuICAgIGVudHJpZXMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIGVudHJpZXMuc3BsaWNlKGluZGV4ICsgMSwgMCwgZW50cnkpO1xyXG4gICAgdGhpcy5zaGVsZm1hcmtzLnNldFZhbHVlKGVudHJpZXMpO1xyXG4gIH1cclxufVxyXG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm0hXCIgKHN1Ym1pdCk9XCJzYXZlKClcIj5cclxuICA8bWF0LWNhcmQ+XHJcbiAgICA8bWF0LWNhcmQtaGVhZGVyPlxyXG4gICAgICA8ZGl2IG1hdC1jYXJkLWF2YXRhcj5cclxuICAgICAgICA8bWF0LWljb24+cGljdHVyZV9pbl9waWN0dXJlPC9tYXQtaWNvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxtYXQtY2FyZC10aXRsZT5TaGVsZm1hcmtzIFBhcnQ8L21hdC1jYXJkLXRpdGxlPlxyXG4gICAgPC9tYXQtY2FyZC1oZWFkZXI+XHJcbiAgICA8bWF0LWNhcmQtY29udGVudD5cclxuICAgICAgPG1hdC10YWItZ3JvdXAgWyhzZWxlY3RlZEluZGV4KV09XCJ0YWJJbmRleFwiPlxyXG4gICAgICAgIDxtYXQtdGFiIGxhYmVsPVwic2hlbGZtYXJrc1wiPlxyXG4gICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZFNoZWxmbWFyaygpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxtYXQtaWNvbj5hZGRfY2lyY2xlPC9tYXQtaWNvbj4gYWRkIHNoZWxmbWFya1xyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPHRhYmxlICpuZ0lmPVwic2hlbGZtYXJrcz8udmFsdWU/Lmxlbmd0aFwiPlxyXG4gICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgPHRoPjwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGg+dGFnPC90aD5cclxuICAgICAgICAgICAgICAgIDx0aD5jaXR5PC90aD5cclxuICAgICAgICAgICAgICAgIDx0aD5saWJyYXJ5PC90aD5cclxuICAgICAgICAgICAgICAgIDx0aD5mdW5kPC90aD5cclxuICAgICAgICAgICAgICAgIDx0aD5sb2NhdGlvbjwvdGg+XHJcbiAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgIDx0clxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwiXHJcbiAgICAgICAgICAgICAgICAgIGxldCBlbnRyeSBvZiBzaGVsZm1hcmtzPy52YWx1ZTtcclxuICAgICAgICAgICAgICAgICAgbGV0IGkgPSBpbmRleDtcclxuICAgICAgICAgICAgICAgICAgbGV0IGZpcnN0ID0gZmlyc3Q7XHJcbiAgICAgICAgICAgICAgICAgIGxldCBsYXN0ID0gbGFzdFxyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJFZGl0IHRoaXMgc2hlbGZtYXJrXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZWRpdFNoZWxmbWFyayhpKVwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+ZWRpdDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIk1vdmUgdGhpcyBzaGVsZm1hcmsgdXBcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmaXJzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1vdmVTaGVsZm1hcmtVcChpKVwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+YXJyb3dfdXB3YXJkPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiTW92ZSB0aGlzIHNoZWxmbWFyayBkb3duXCJcclxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwibGFzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1vdmVTaGVsZm1hcmtEb3duKGkpXCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5hcnJvd19kb3dud2FyZDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJ3YXJuXCJcclxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiRGVsZXRlIHRoaXMgc2hlbGZtYXJrXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlU2hlbGZtYXJrKGkpXCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5yZW1vdmVfY2lyY2xlPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgPHRkPnt7IGVudHJ5LnRhZyB9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQ+e3sgZW50cnkuY2l0eSB9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQ+e3sgZW50cnkubGlicmFyeSB9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQ+e3sgZW50cnkuZnVuZCB9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQ+e3sgZW50cnkubG9jYXRpb24gfX08L3RkPlxyXG4gICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgIDwvbWF0LXRhYj5cclxuXHJcbiAgICAgICAgPG1hdC10YWIgbGFiZWw9XCJzaGVsZm1hcmtcIiAqbmdJZj1cImVkaXRlZFNoZWxmbWFya1wiPlxyXG4gICAgICAgICAgPGNhZG11cy1jb2Qtc2hlbGZtYXJrLWVkaXRvclxyXG4gICAgICAgICAgICBbdGFnRW50cmllc109XCJ0YWdFbnRyaWVzXCJcclxuICAgICAgICAgICAgW2xpYkVudHJpZXNdPVwibGliRW50cmllc1wiXHJcbiAgICAgICAgICAgIFtzaGVsZm1hcmtdPVwiZWRpdGVkU2hlbGZtYXJrXCJcclxuICAgICAgICAgICAgKHNoZWxmbWFya0NoYW5nZSk9XCJvblNoZWxmbWFya1NhdmUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIChlZGl0b3JDbG9zZSk9XCJvblNoZWxmbWFya0Nsb3NlKClcIlxyXG4gICAgICAgICAgPjwvY2FkbXVzLWNvZC1zaGVsZm1hcmstZWRpdG9yPlxyXG4gICAgICAgIDwvbWF0LXRhYj5cclxuICAgICAgPC9tYXQtdGFiLWdyb3VwPlxyXG4gICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gICAgPG1hdC1jYXJkLWFjdGlvbnM+XHJcbiAgICAgIDxjYWRtdXMtY2xvc2Utc2F2ZS1idXR0b25zXHJcbiAgICAgICAgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgW25vU2F2ZV09XCJ1c2VyTGV2ZWwgPCAyXCJcclxuICAgICAgICAoY2xvc2VSZXF1ZXN0KT1cImNsb3NlKClcIlxyXG4gICAgICA+PC9jYWRtdXMtY2xvc2Utc2F2ZS1idXR0b25zPlxyXG4gICAgPC9tYXQtY2FyZC1hY3Rpb25zPlxyXG4gIDwvbWF0LWNhcmQ+XHJcbjwvZm9ybT5cclxuIl19
@@ -17,10 +17,10 @@ export class CodShelfmarksPartFeatureComponent extends EditPartFeatureBase {
17
17
  this.initEditor(['cod-shelfmark-tags', 'cod-shelfmark-libraries']);
18
18
  }
19
19
  }
20
- CodShelfmarksPartFeatureComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: CodShelfmarksPartFeatureComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.MatSnackBar }, { token: i3.EditCodShelfmarksPartQuery }, { token: i4.EditCodShelfmarksPartService }, { token: i5.EditItemQuery }, { token: i5.EditItemService }], target: i0.ɵɵFactoryTarget.Component });
21
- CodShelfmarksPartFeatureComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: CodShelfmarksPartFeatureComponent, selector: "cadmus-cod-shelfmarks-part-feature", usesInheritance: true, ngImport: i0, template: "<cadmus-current-item-bar></cadmus-current-item-bar>\n<cadmus-cod-shelfmarks-part\n [itemId]=\"itemId\"\n [roleId]=\"roleId\"\n [model]=\"$any(part$ | async)\"\n (modelChange)=\"save($event)\"\n [thesauri]=\"(thesauri$ | async) || undefined\"\n (editorClose)=\"close()\"\n (dirtyChange)=\"onDirtyChange($event)\"\n></cadmus-cod-shelfmarks-part>\n", styles: [""], components: [{ type: i6.CurrentItemBarComponent, selector: "cadmus-current-item-bar" }, { type: i7.CodShelfmarksPartComponent, selector: "cadmus-cod-shelfmarks-part" }], pipes: { "async": i8.AsyncPipe } });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: CodShelfmarksPartFeatureComponent, decorators: [{
20
+ CodShelfmarksPartFeatureComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: CodShelfmarksPartFeatureComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.MatSnackBar }, { token: i3.EditCodShelfmarksPartQuery }, { token: i4.EditCodShelfmarksPartService }, { token: i5.EditItemQuery }, { token: i5.EditItemService }], target: i0.ɵɵFactoryTarget.Component });
21
+ CodShelfmarksPartFeatureComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: CodShelfmarksPartFeatureComponent, selector: "cadmus-cod-shelfmarks-part-feature", usesInheritance: true, ngImport: i0, template: "<cadmus-current-item-bar></cadmus-current-item-bar>\r\n<cadmus-cod-shelfmarks-part\r\n [itemId]=\"itemId\"\r\n [roleId]=\"roleId\"\r\n [model]=\"$any(part$ | async)\"\r\n (modelChange)=\"save($event)\"\r\n [thesauri]=\"(thesauri$ | async) || undefined\"\r\n (editorClose)=\"close()\"\r\n (dirtyChange)=\"onDirtyChange($event)\"\r\n></cadmus-cod-shelfmarks-part>\r\n", styles: [""], dependencies: [{ kind: "component", type: i6.CurrentItemBarComponent, selector: "cadmus-current-item-bar" }, { kind: "component", type: i7.CodShelfmarksPartComponent, selector: "cadmus-cod-shelfmarks-part" }, { kind: "pipe", type: i8.AsyncPipe, name: "async" }] });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: CodShelfmarksPartFeatureComponent, decorators: [{
23
23
  type: Component,
24
- args: [{ selector: 'cadmus-cod-shelfmarks-part-feature', template: "<cadmus-current-item-bar></cadmus-current-item-bar>\n<cadmus-cod-shelfmarks-part\n [itemId]=\"itemId\"\n [roleId]=\"roleId\"\n [model]=\"$any(part$ | async)\"\n (modelChange)=\"save($event)\"\n [thesauri]=\"(thesauri$ | async) || undefined\"\n (editorClose)=\"close()\"\n (dirtyChange)=\"onDirtyChange($event)\"\n></cadmus-cod-shelfmarks-part>\n", styles: [""] }]
24
+ args: [{ selector: 'cadmus-cod-shelfmarks-part-feature', template: "<cadmus-current-item-bar></cadmus-current-item-bar>\r\n<cadmus-cod-shelfmarks-part\r\n [itemId]=\"itemId\"\r\n [roleId]=\"roleId\"\r\n [model]=\"$any(part$ | async)\"\r\n (modelChange)=\"save($event)\"\r\n [thesauri]=\"(thesauri$ | async) || undefined\"\r\n (editorClose)=\"close()\"\r\n (dirtyChange)=\"onDirtyChange($event)\"\r\n></cadmus-cod-shelfmarks-part>\r\n" }]
25
25
  }], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.MatSnackBar }, { type: i3.EditCodShelfmarksPartQuery }, { type: i4.EditCodShelfmarksPartService }, { type: i5.EditItemQuery }, { type: i5.EditItemService }]; } });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLXNoZWxmbWFya3MtcGFydC1mZWF0dXJlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cm1pZG9uL2NhZG11cy1wYXJ0LWNvZGljb2xvZ3ktc2hlbGZtYXJrcy9zcmMvbGliL2NvZC1zaGVsZm1hcmtzLXBhcnQtZmVhdHVyZS9jb2Qtc2hlbGZtYXJrcy1wYXJ0LWZlYXR1cmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlybWlkb24vY2FkbXVzLXBhcnQtY29kaWNvbG9neS1zaGVsZm1hcmtzL3NyYy9saWIvY29kLXNoZWxmbWFya3MtcGFydC1mZWF0dXJlL2NvZC1zaGVsZm1hcmtzLXBhcnQtZmVhdHVyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBSWxELE9BQU8sRUFHTCxtQkFBbUIsR0FDcEIsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7OztBQVNoQyxNQUFNLE9BQU8saUNBQ1gsU0FBUSxtQkFBbUI7SUFHM0IsWUFDRSxNQUFjLEVBQ2QsS0FBcUIsRUFDckIsUUFBcUIsRUFDckIsYUFBeUMsRUFDekMsZUFBNkMsRUFDN0MsYUFBNEIsRUFDNUIsZUFBZ0M7UUFFaEMsS0FBSyxDQUNILE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLGFBQWEsRUFDYixlQUFlLEVBQ2YsYUFBYSxFQUNiLGVBQWUsQ0FDaEIsQ0FBQztJQUNKLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLG9CQUFvQixFQUFFLHlCQUF5QixDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDOzs4SEExQlUsaUNBQWlDO2tIQUFqQyxpQ0FBaUMsaUdDakI5QyxrV0FVQTsyRkRPYSxpQ0FBaUM7a0JBTDdDLFNBQVM7K0JBQ0Usb0NBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciwgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuXG5pbXBvcnQge1xuICBFZGl0SXRlbVF1ZXJ5LFxuICBFZGl0SXRlbVNlcnZpY2UsXG4gIEVkaXRQYXJ0RmVhdHVyZUJhc2UsXG59IGZyb20gJ0BteXJtaWRvbi9jYWRtdXMtc3RhdGUnO1xuaW1wb3J0IHsgRWRpdENvZFNoZWxmbWFya3NQYXJ0UXVlcnkgfSBmcm9tICcuL2VkaXQtY29kLXNoZWxmbWFya3MtcGFydC5xdWVyeSc7XG5pbXBvcnQgeyBFZGl0Q29kU2hlbGZtYXJrc1BhcnRTZXJ2aWNlIH0gZnJvbSAnLi9lZGl0LWNvZC1zaGVsZm1hcmtzLXBhcnQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NhZG11cy1jb2Qtc2hlbGZtYXJrcy1wYXJ0LWZlYXR1cmUnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29kLXNoZWxmbWFya3MtcGFydC1mZWF0dXJlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29kLXNoZWxmbWFya3MtcGFydC1mZWF0dXJlLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29kU2hlbGZtYXJrc1BhcnRGZWF0dXJlQ29tcG9uZW50XG4gIGV4dGVuZHMgRWRpdFBhcnRGZWF0dXJlQmFzZVxuICBpbXBsZW1lbnRzIE9uSW5pdFxue1xuICBjb25zdHJ1Y3RvcihcbiAgICByb3V0ZXI6IFJvdXRlcixcbiAgICByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgc25hY2tiYXI6IE1hdFNuYWNrQmFyLFxuICAgIGVkaXRQYXJ0UXVlcnk6IEVkaXRDb2RTaGVsZm1hcmtzUGFydFF1ZXJ5LFxuICAgIGVkaXRQYXJ0U2VydmljZTogRWRpdENvZFNoZWxmbWFya3NQYXJ0U2VydmljZSxcbiAgICBlZGl0SXRlbVF1ZXJ5OiBFZGl0SXRlbVF1ZXJ5LFxuICAgIGVkaXRJdGVtU2VydmljZTogRWRpdEl0ZW1TZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKFxuICAgICAgcm91dGVyLFxuICAgICAgcm91dGUsXG4gICAgICBzbmFja2JhcixcbiAgICAgIGVkaXRQYXJ0UXVlcnksXG4gICAgICBlZGl0UGFydFNlcnZpY2UsXG4gICAgICBlZGl0SXRlbVF1ZXJ5LFxuICAgICAgZWRpdEl0ZW1TZXJ2aWNlXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRFZGl0b3IoWydjb2Qtc2hlbGZtYXJrLXRhZ3MnLCAnY29kLXNoZWxmbWFyay1saWJyYXJpZXMnXSk7XG4gIH1cbn1cbiIsIjxjYWRtdXMtY3VycmVudC1pdGVtLWJhcj48L2NhZG11cy1jdXJyZW50LWl0ZW0tYmFyPlxuPGNhZG11cy1jb2Qtc2hlbGZtYXJrcy1wYXJ0XG4gIFtpdGVtSWRdPVwiaXRlbUlkXCJcbiAgW3JvbGVJZF09XCJyb2xlSWRcIlxuICBbbW9kZWxdPVwiJGFueShwYXJ0JCB8IGFzeW5jKVwiXG4gIChtb2RlbENoYW5nZSk9XCJzYXZlKCRldmVudClcIlxuICBbdGhlc2F1cmldPVwiKHRoZXNhdXJpJCB8IGFzeW5jKSB8fCB1bmRlZmluZWRcIlxuICAoZWRpdG9yQ2xvc2UpPVwiY2xvc2UoKVwiXG4gIChkaXJ0eUNoYW5nZSk9XCJvbkRpcnR5Q2hhbmdlKCRldmVudClcIlxuPjwvY2FkbXVzLWNvZC1zaGVsZm1hcmtzLXBhcnQ+XG4iXX0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLXNoZWxmbWFya3MtcGFydC1mZWF0dXJlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cm1pZG9uL2NhZG11cy1wYXJ0LWNvZGljb2xvZ3ktc2hlbGZtYXJrcy9zcmMvbGliL2NvZC1zaGVsZm1hcmtzLXBhcnQtZmVhdHVyZS9jb2Qtc2hlbGZtYXJrcy1wYXJ0LWZlYXR1cmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlybWlkb24vY2FkbXVzLXBhcnQtY29kaWNvbG9neS1zaGVsZm1hcmtzL3NyYy9saWIvY29kLXNoZWxmbWFya3MtcGFydC1mZWF0dXJlL2NvZC1zaGVsZm1hcmtzLXBhcnQtZmVhdHVyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBSWxELE9BQU8sRUFHTCxtQkFBbUIsR0FDcEIsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7OztBQVNoQyxNQUFNLE9BQU8saUNBQ1gsU0FBUSxtQkFBbUI7SUFHM0IsWUFDRSxNQUFjLEVBQ2QsS0FBcUIsRUFDckIsUUFBcUIsRUFDckIsYUFBeUMsRUFDekMsZUFBNkMsRUFDN0MsYUFBNEIsRUFDNUIsZUFBZ0M7UUFFaEMsS0FBSyxDQUNILE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLGFBQWEsRUFDYixlQUFlLEVBQ2YsYUFBYSxFQUNiLGVBQWUsQ0FDaEIsQ0FBQztJQUNKLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLG9CQUFvQixFQUFFLHlCQUF5QixDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDOzs4SEExQlUsaUNBQWlDO2tIQUFqQyxpQ0FBaUMsaUdDakI5QyxzWEFVQTsyRkRPYSxpQ0FBaUM7a0JBTDdDLFNBQVM7K0JBQ0Usb0NBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyLCBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuXHJcbmltcG9ydCB7XHJcbiAgRWRpdEl0ZW1RdWVyeSxcclxuICBFZGl0SXRlbVNlcnZpY2UsXHJcbiAgRWRpdFBhcnRGZWF0dXJlQmFzZSxcclxufSBmcm9tICdAbXlybWlkb24vY2FkbXVzLXN0YXRlJztcclxuaW1wb3J0IHsgRWRpdENvZFNoZWxmbWFya3NQYXJ0UXVlcnkgfSBmcm9tICcuL2VkaXQtY29kLXNoZWxmbWFya3MtcGFydC5xdWVyeSc7XHJcbmltcG9ydCB7IEVkaXRDb2RTaGVsZm1hcmtzUGFydFNlcnZpY2UgfSBmcm9tICcuL2VkaXQtY29kLXNoZWxmbWFya3MtcGFydC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY2FkbXVzLWNvZC1zaGVsZm1hcmtzLXBhcnQtZmVhdHVyZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvZC1zaGVsZm1hcmtzLXBhcnQtZmVhdHVyZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29kLXNoZWxmbWFya3MtcGFydC1mZWF0dXJlLmNvbXBvbmVudC5jc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvZFNoZWxmbWFya3NQYXJ0RmVhdHVyZUNvbXBvbmVudFxyXG4gIGV4dGVuZHMgRWRpdFBhcnRGZWF0dXJlQmFzZVxyXG4gIGltcGxlbWVudHMgT25Jbml0XHJcbntcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgc25hY2tiYXI6IE1hdFNuYWNrQmFyLFxyXG4gICAgZWRpdFBhcnRRdWVyeTogRWRpdENvZFNoZWxmbWFya3NQYXJ0UXVlcnksXHJcbiAgICBlZGl0UGFydFNlcnZpY2U6IEVkaXRDb2RTaGVsZm1hcmtzUGFydFNlcnZpY2UsXHJcbiAgICBlZGl0SXRlbVF1ZXJ5OiBFZGl0SXRlbVF1ZXJ5LFxyXG4gICAgZWRpdEl0ZW1TZXJ2aWNlOiBFZGl0SXRlbVNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKFxyXG4gICAgICByb3V0ZXIsXHJcbiAgICAgIHJvdXRlLFxyXG4gICAgICBzbmFja2JhcixcclxuICAgICAgZWRpdFBhcnRRdWVyeSxcclxuICAgICAgZWRpdFBhcnRTZXJ2aWNlLFxyXG4gICAgICBlZGl0SXRlbVF1ZXJ5LFxyXG4gICAgICBlZGl0SXRlbVNlcnZpY2VcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmluaXRFZGl0b3IoWydjb2Qtc2hlbGZtYXJrLXRhZ3MnLCAnY29kLXNoZWxmbWFyay1saWJyYXJpZXMnXSk7XHJcbiAgfVxyXG59XHJcbiIsIjxjYWRtdXMtY3VycmVudC1pdGVtLWJhcj48L2NhZG11cy1jdXJyZW50LWl0ZW0tYmFyPlxyXG48Y2FkbXVzLWNvZC1zaGVsZm1hcmtzLXBhcnRcclxuICBbaXRlbUlkXT1cIml0ZW1JZFwiXHJcbiAgW3JvbGVJZF09XCJyb2xlSWRcIlxyXG4gIFttb2RlbF09XCIkYW55KHBhcnQkIHwgYXN5bmMpXCJcclxuICAobW9kZWxDaGFuZ2UpPVwic2F2ZSgkZXZlbnQpXCJcclxuICBbdGhlc2F1cmldPVwiKHRoZXNhdXJpJCB8IGFzeW5jKSB8fCB1bmRlZmluZWRcIlxyXG4gIChlZGl0b3JDbG9zZSk9XCJjbG9zZSgpXCJcclxuICAoZGlydHlDaGFuZ2UpPVwib25EaXJ0eUNoYW5nZSgkZXZlbnQpXCJcclxuPjwvY2FkbXVzLWNvZC1zaGVsZm1hcmtzLXBhcnQ+XHJcbiJdfQ==
@@ -7,9 +7,9 @@ export class EditCodShelfmarksPartQuery extends EditPartQueryBase {
7
7
  super(store);
8
8
  }
9
9
  }
10
- EditCodShelfmarksPartQuery.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: EditCodShelfmarksPartQuery, deps: [{ token: i1.EditCodShelfmarksPartStore }], target: i0.ɵɵFactoryTarget.Injectable });
11
- EditCodShelfmarksPartQuery.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: EditCodShelfmarksPartQuery, providedIn: 'root' });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: EditCodShelfmarksPartQuery, decorators: [{
10
+ EditCodShelfmarksPartQuery.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: EditCodShelfmarksPartQuery, deps: [{ token: i1.EditCodShelfmarksPartStore }], target: i0.ɵɵFactoryTarget.Injectable });
11
+ EditCodShelfmarksPartQuery.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: EditCodShelfmarksPartQuery, providedIn: 'root' });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: EditCodShelfmarksPartQuery, decorators: [{
13
13
  type: Injectable,
14
14
  args: [{ providedIn: 'root' }]
15
15
  }], ctorParameters: function () { return [{ type: i1.EditCodShelfmarksPartStore }]; } });