@myrmidon/cadmus-part-codicology-sheet-labels 0.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 +24 -0
- package/esm2020/lib/cadmus-part-codicology-sheet-labels.module.mjs +156 -0
- package/esm2020/lib/cod-c-col-definition/cod-c-col-definition.component.mjs +95 -0
- package/esm2020/lib/cod-endleaf/cod-endleaf.component.mjs +102 -0
- package/esm2020/lib/cod-label-cell/cod-label-cell.component.mjs +102 -0
- package/esm2020/lib/cod-n-col-definition/cod-n-col-definition.component.mjs +151 -0
- package/esm2020/lib/cod-r-col-definition/cod-r-col-definition.component.mjs +87 -0
- package/esm2020/lib/cod-s-col-definition/cod-s-col-definition.component.mjs +95 -0
- package/esm2020/lib/cod-sheet-labels-part/cell-adapter.pipe.mjs +26 -0
- package/esm2020/lib/cod-sheet-labels-part/cell-type-color.pipe.mjs +35 -0
- package/esm2020/lib/cod-sheet-labels-part/cod-sheet-labels-part.component.mjs +527 -0
- package/esm2020/lib/cod-sheet-labels-part-feature/cod-sheet-labels-part-feature.component.mjs +39 -0
- package/esm2020/lib/cod-sheet-labels-part-feature/edit-cod-sheet-labels-part.query.mjs +16 -0
- package/esm2020/lib/cod-sheet-labels-part-feature/edit-cod-sheet-labels-part.service.mjs +18 -0
- package/esm2020/lib/cod-sheet-labels-part-feature/edit-cod-sheet-labels-part.store.mjs +27 -0
- package/esm2020/lib/cod-sheet-labels-part.mjs +520 -0
- package/esm2020/lib/cod-sheet-table.mjs +486 -0
- package/esm2020/lib/label-generator.mjs +227 -0
- package/esm2020/myrmidon-cadmus-part-codicology-sheet-labels.mjs +5 -0
- package/esm2020/public-api.mjs +16 -0
- package/fesm2015/myrmidon-cadmus-part-codicology-sheet-labels.mjs +2592 -0
- package/fesm2015/myrmidon-cadmus-part-codicology-sheet-labels.mjs.map +1 -0
- package/fesm2020/myrmidon-cadmus-part-codicology-sheet-labels.mjs +2597 -0
- package/fesm2020/myrmidon-cadmus-part-codicology-sheet-labels.mjs.map +1 -0
- package/lib/cadmus-part-codicology-sheet-labels.module.d.ts +37 -0
- package/lib/cod-c-col-definition/cod-c-col-definition.component.d.ts +28 -0
- package/lib/cod-endleaf/cod-endleaf.component.d.ts +33 -0
- package/lib/cod-label-cell/cod-label-cell.component.d.ts +27 -0
- package/lib/cod-n-col-definition/cod-n-col-definition.component.d.ts +44 -0
- package/lib/cod-r-col-definition/cod-r-col-definition.component.d.ts +26 -0
- package/lib/cod-s-col-definition/cod-s-col-definition.component.d.ts +28 -0
- package/lib/cod-sheet-labels-part/cell-adapter.pipe.d.ts +12 -0
- package/lib/cod-sheet-labels-part/cell-type-color.pipe.d.ts +7 -0
- package/lib/cod-sheet-labels-part/cod-sheet-labels-part.component.d.ts +92 -0
- package/lib/cod-sheet-labels-part-feature/cod-sheet-labels-part-feature.component.d.ts +13 -0
- package/lib/cod-sheet-labels-part-feature/edit-cod-sheet-labels-part.query.d.ts +8 -0
- package/lib/cod-sheet-labels-part-feature/edit-cod-sheet-labels-part.service.d.ts +9 -0
- package/lib/cod-sheet-labels-part-feature/edit-cod-sheet-labels-part.store.d.ts +10 -0
- package/lib/cod-sheet-labels-part.d.ts +539 -0
- package/lib/cod-sheet-table.d.ts +153 -0
- package/lib/label-generator.d.ts +55 -0
- package/myrmidon-cadmus-part-codicology-sheet-labels.d.ts +5 -0
- package/package.json +43 -0
- package/public-api.d.ts +12 -0
package/README.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# CadmusPartCodicologySheetLabels
|
|
2
|
+
|
|
3
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
|
|
4
|
+
|
|
5
|
+
## Code scaffolding
|
|
6
|
+
|
|
7
|
+
Run `ng generate component component-name --project cadmus-part-codicology-sheet-labels` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project cadmus-part-codicology-sheet-labels`.
|
|
8
|
+
> Note: Don't forget to add `--project cadmus-part-codicology-sheet-labels` 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-sheet-labels` 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-sheet-labels`, go to the dist folder `cd dist/cadmus-part-codicology-sheet-labels` and run `npm publish`.
|
|
17
|
+
|
|
18
|
+
## Running unit tests
|
|
19
|
+
|
|
20
|
+
Run `ng test cadmus-part-codicology-sheet-labels` 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.
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
5
|
+
import { MatCardModule } from '@angular/material/card';
|
|
6
|
+
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
7
|
+
import { MatExpansionModule } from '@angular/material/expansion';
|
|
8
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
9
|
+
import { MatInputModule } from '@angular/material/input';
|
|
10
|
+
import { MatSelectModule } from '@angular/material/select';
|
|
11
|
+
import { MatTabsModule } from '@angular/material/tabs';
|
|
12
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
13
|
+
import { FlexLayoutModule } from '@angular/flex-layout';
|
|
14
|
+
import { NgToolsModule } from '@myrmidon/ng-tools';
|
|
15
|
+
import { NgMatToolsModule } from '@myrmidon/ng-mat-tools';
|
|
16
|
+
import { CadmusMatPhysicalSizeModule } from '@myrmidon/cadmus-mat-physical-size';
|
|
17
|
+
import { CadmusRefsAssertedChronotopeModule } from '@myrmidon/cadmus-refs-asserted-chronotope';
|
|
18
|
+
import { CadmusRefsHistoricalDateModule } from '@myrmidon/cadmus-refs-historical-date';
|
|
19
|
+
import { CadmusUiFlagsPickerModule } from '@myrmidon/cadmus-ui-flags-picker';
|
|
20
|
+
import { CadmusStateModule } from '@myrmidon/cadmus-state';
|
|
21
|
+
import { CadmusUiModule } from '@myrmidon/cadmus-ui';
|
|
22
|
+
import { CadmusUiPgModule } from '@myrmidon/cadmus-ui-pg';
|
|
23
|
+
import { CodNColDefinitionComponent } from './cod-n-col-definition/cod-n-col-definition.component';
|
|
24
|
+
import { CodCColDefinitionComponent } from './cod-c-col-definition/cod-c-col-definition.component';
|
|
25
|
+
import { CodSColDefinitionComponent } from './cod-s-col-definition/cod-s-col-definition.component';
|
|
26
|
+
import { CodRColDefinitionComponent } from './cod-r-col-definition/cod-r-col-definition.component';
|
|
27
|
+
import { CodEndleafComponent } from './cod-endleaf/cod-endleaf.component';
|
|
28
|
+
import { CodSheetLabelsPartComponent } from './cod-sheet-labels-part/cod-sheet-labels-part.component';
|
|
29
|
+
import { CodLabelCellComponent } from './cod-label-cell/cod-label-cell.component';
|
|
30
|
+
import { CodSheetLabelsPartFeatureComponent } from './cod-sheet-labels-part-feature/cod-sheet-labels-part-feature.component';
|
|
31
|
+
import { CellAdapterPipe } from './cod-sheet-labels-part/cell-adapter.pipe';
|
|
32
|
+
import { CellTypeColorPipe } from './cod-sheet-labels-part/cell-type-color.pipe';
|
|
33
|
+
import * as i0 from "@angular/core";
|
|
34
|
+
export class CadmusPartCodicologySheetLabelsModule {
|
|
35
|
+
}
|
|
36
|
+
CadmusPartCodicologySheetLabelsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: CadmusPartCodicologySheetLabelsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
37
|
+
CadmusPartCodicologySheetLabelsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: CadmusPartCodicologySheetLabelsModule, declarations: [CodNColDefinitionComponent,
|
|
38
|
+
CodCColDefinitionComponent,
|
|
39
|
+
CodSColDefinitionComponent,
|
|
40
|
+
CodRColDefinitionComponent,
|
|
41
|
+
CodEndleafComponent,
|
|
42
|
+
CodSheetLabelsPartComponent,
|
|
43
|
+
CodLabelCellComponent,
|
|
44
|
+
CodSheetLabelsPartFeatureComponent,
|
|
45
|
+
CellAdapterPipe,
|
|
46
|
+
CellTypeColorPipe], imports: [CommonModule,
|
|
47
|
+
FormsModule,
|
|
48
|
+
ReactiveFormsModule,
|
|
49
|
+
// material
|
|
50
|
+
FlexLayoutModule,
|
|
51
|
+
MatButtonModule,
|
|
52
|
+
MatCardModule,
|
|
53
|
+
MatCheckboxModule,
|
|
54
|
+
MatExpansionModule,
|
|
55
|
+
MatIconModule,
|
|
56
|
+
MatInputModule,
|
|
57
|
+
MatSelectModule,
|
|
58
|
+
MatTabsModule,
|
|
59
|
+
MatTooltipModule,
|
|
60
|
+
// Cadmus
|
|
61
|
+
NgToolsModule,
|
|
62
|
+
NgMatToolsModule,
|
|
63
|
+
CadmusStateModule,
|
|
64
|
+
CadmusUiModule,
|
|
65
|
+
CadmusUiPgModule,
|
|
66
|
+
CadmusMatPhysicalSizeModule,
|
|
67
|
+
CadmusRefsAssertedChronotopeModule,
|
|
68
|
+
CadmusRefsHistoricalDateModule,
|
|
69
|
+
CadmusUiFlagsPickerModule], exports: [CodNColDefinitionComponent,
|
|
70
|
+
CodCColDefinitionComponent,
|
|
71
|
+
CodSColDefinitionComponent,
|
|
72
|
+
CodRColDefinitionComponent,
|
|
73
|
+
CodEndleafComponent,
|
|
74
|
+
CodSheetLabelsPartComponent,
|
|
75
|
+
CodLabelCellComponent,
|
|
76
|
+
CodSheetLabelsPartFeatureComponent] });
|
|
77
|
+
CadmusPartCodicologySheetLabelsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: CadmusPartCodicologySheetLabelsModule, imports: [[
|
|
78
|
+
CommonModule,
|
|
79
|
+
FormsModule,
|
|
80
|
+
ReactiveFormsModule,
|
|
81
|
+
// material
|
|
82
|
+
FlexLayoutModule,
|
|
83
|
+
MatButtonModule,
|
|
84
|
+
MatCardModule,
|
|
85
|
+
MatCheckboxModule,
|
|
86
|
+
MatExpansionModule,
|
|
87
|
+
MatIconModule,
|
|
88
|
+
MatInputModule,
|
|
89
|
+
MatSelectModule,
|
|
90
|
+
MatTabsModule,
|
|
91
|
+
MatTooltipModule,
|
|
92
|
+
// Cadmus
|
|
93
|
+
NgToolsModule,
|
|
94
|
+
NgMatToolsModule,
|
|
95
|
+
CadmusStateModule,
|
|
96
|
+
CadmusUiModule,
|
|
97
|
+
CadmusUiPgModule,
|
|
98
|
+
CadmusMatPhysicalSizeModule,
|
|
99
|
+
CadmusRefsAssertedChronotopeModule,
|
|
100
|
+
CadmusRefsHistoricalDateModule,
|
|
101
|
+
CadmusUiFlagsPickerModule,
|
|
102
|
+
]] });
|
|
103
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: CadmusPartCodicologySheetLabelsModule, decorators: [{
|
|
104
|
+
type: NgModule,
|
|
105
|
+
args: [{
|
|
106
|
+
declarations: [
|
|
107
|
+
CodNColDefinitionComponent,
|
|
108
|
+
CodCColDefinitionComponent,
|
|
109
|
+
CodSColDefinitionComponent,
|
|
110
|
+
CodRColDefinitionComponent,
|
|
111
|
+
CodEndleafComponent,
|
|
112
|
+
CodSheetLabelsPartComponent,
|
|
113
|
+
CodLabelCellComponent,
|
|
114
|
+
CodSheetLabelsPartFeatureComponent,
|
|
115
|
+
CellAdapterPipe,
|
|
116
|
+
CellTypeColorPipe,
|
|
117
|
+
],
|
|
118
|
+
imports: [
|
|
119
|
+
CommonModule,
|
|
120
|
+
FormsModule,
|
|
121
|
+
ReactiveFormsModule,
|
|
122
|
+
// material
|
|
123
|
+
FlexLayoutModule,
|
|
124
|
+
MatButtonModule,
|
|
125
|
+
MatCardModule,
|
|
126
|
+
MatCheckboxModule,
|
|
127
|
+
MatExpansionModule,
|
|
128
|
+
MatIconModule,
|
|
129
|
+
MatInputModule,
|
|
130
|
+
MatSelectModule,
|
|
131
|
+
MatTabsModule,
|
|
132
|
+
MatTooltipModule,
|
|
133
|
+
// Cadmus
|
|
134
|
+
NgToolsModule,
|
|
135
|
+
NgMatToolsModule,
|
|
136
|
+
CadmusStateModule,
|
|
137
|
+
CadmusUiModule,
|
|
138
|
+
CadmusUiPgModule,
|
|
139
|
+
CadmusMatPhysicalSizeModule,
|
|
140
|
+
CadmusRefsAssertedChronotopeModule,
|
|
141
|
+
CadmusRefsHistoricalDateModule,
|
|
142
|
+
CadmusUiFlagsPickerModule,
|
|
143
|
+
],
|
|
144
|
+
exports: [
|
|
145
|
+
CodNColDefinitionComponent,
|
|
146
|
+
CodCColDefinitionComponent,
|
|
147
|
+
CodSColDefinitionComponent,
|
|
148
|
+
CodRColDefinitionComponent,
|
|
149
|
+
CodEndleafComponent,
|
|
150
|
+
CodSheetLabelsPartComponent,
|
|
151
|
+
CodLabelCellComponent,
|
|
152
|
+
CodSheetLabelsPartFeatureComponent
|
|
153
|
+
],
|
|
154
|
+
}]
|
|
155
|
+
}] });
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FkbXVzLXBhcnQtY29kaWNvbG9neS1zaGVldC1sYWJlbHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlybWlkb24vY2FkbXVzLXBhcnQtY29kaWNvbG9neS1zaGVldC1sYWJlbHMvc3JjL2xpYi9jYWRtdXMtcGFydC1jb2RpY29sb2d5LXNoZWV0LWxhYmVscy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXhELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFB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ZUFBZTt3QkFDZixpQkFBaUI7cUJBQ2xCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixXQUFXO3dCQUNYLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsU0FBUzt3QkFDVCxhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsMkJBQTJCO3dCQUMzQixrQ0FBa0M7d0JBQ2xDLDhCQUE4Qjt3QkFDOUIseUJBQXlCO3FCQUMxQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3dCQUMxQixtQkFBbUI7d0JBQ25CLDJCQUEyQjt3QkFDM0IscUJBQXFCO3dCQUNyQixrQ0FBa0M7cUJBQ25DO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRDYXJkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBNYXRFeHBhbnNpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9leHBhbnNpb24nO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHsgRmxleExheW91dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2ZsZXgtbGF5b3V0JztcclxuXHJcbmltcG9ydCB7IE5nVG9vbHNNb2R1bGUgfSBmcm9tICdAbXlybWlkb24vbmctdG9vbHMnO1xyXG5pbXBvcnQgeyBOZ01hdFRvb2xzTW9kdWxlIH0gZnJvbSAnQG15cm1pZG9uL25nLW1hdC10b29scyc7XHJcbmltcG9ydCB7IENhZG11c01hdFBoeXNpY2FsU2l6ZU1vZHVsZSB9IGZyb20gJ0BteXJtaWRvbi9jYWRtdXMtbWF0LXBoeXNpY2FsLXNpemUnO1xyXG5pbXBvcnQgeyBDYWRtdXNSZWZzQXNzZXJ0ZWRDaHJvbm90b3BlTW9kdWxlIH0gZnJvbSAnQG15cm1pZG9uL2NhZG11cy1yZWZzLWFzc2VydGVkLWNocm9ub3RvcGUnO1xyXG5pbXBvcnQgeyBDYWRtdXNSZWZzSGlzdG9yaWNhbERhdGVNb2R1bGUgfSBmcm9tICdAbXlybWlkb24vY2FkbXVzLXJlZnMtaGlzdG9yaWNhbC1kYXRlJztcclxuaW1wb3J0IHsgQ2FkbXVzVWlGbGFnc1BpY2tlck1vZHVsZSB9IGZyb20gJ0BteXJtaWRvbi9jYWRtdXMtdWktZmxhZ3MtcGlja2VyJztcclxuaW1wb3J0IHsgQ2FkbXVzU3RhdGVNb2R1bGUgfSBmcm9tICdAbXlybWlkb24vY2FkbXVzLXN0YXRlJztcclxuaW1wb3J0IHsgQ2FkbXVzVWlNb2R1bGUgfSBmcm9tICdAbXlybWlkb24vY2FkbXVzLXVpJztcclxuaW1wb3J0IHsgQ2FkbXVzVWlQZ01vZHVsZSB9IGZyb20gJ0BteXJtaWRvbi9jYWRtdXMtdWktcGcnO1xyXG5cclxuaW1wb3J0IHsgQ29kTkNvbERlZmluaXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvZC1uLWNvbC1kZWZpbml0aW9uL2NvZC1uLWNvbC1kZWZpbml0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvZENDb2xEZWZpbml0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb2QtYy1jb2wtZGVmaW5pdGlvbi9jb2QtYy1jb2wtZGVmaW5pdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb2RTQ29sRGVmaW5pdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29kLXMtY29sLWRlZmluaXRpb24vY29kLXMtY29sLWRlZmluaXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29kUkNvbERlZmluaXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvZC1yLWNvbC1kZWZpbml0aW9uL2NvZC1yLWNvbC1kZWZpbml0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvZEVuZGxlYWZDb21wb25lbnQgfSBmcm9tICcuL2NvZC1lbmRsZWFmL2NvZC1lbmRsZWFmLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvZFNoZWV0TGFiZWxzUGFydENvbXBvbmVudCB9IGZyb20gJy4vY29kLXNoZWV0LWxhYmVscy1wYXJ0L2NvZC1zaGVldC1sYWJlbHMtcGFydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb2RMYWJlbENlbGxDb21wb25lbnQgfSBmcm9tICcuL2NvZC1sYWJlbC1jZWxsL2NvZC1sYWJlbC1jZWxsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvZFNoZWV0TGFiZWxzUGFydEZlYXR1cmVDb21wb25lbnQgfSBmcm9tICcuL2NvZC1zaGVldC1sYWJlbHMtcGFydC1mZWF0dXJlL2NvZC1zaGVldC1sYWJlbHMtcGFydC1mZWF0dXJlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENlbGxBZGFwdGVyUGlwZSB9IGZyb20gJy4vY29kLXNoZWV0LWxhYmVscy1wYXJ0L2NlbGwtYWRhcHRlci5waXBlJztcclxuaW1wb3J0IHsgQ2VsbFR5cGVDb2xvclBpcGUgfSBmcm9tICcuL2NvZC1zaGVldC1sYWJlbHMtcGFydC9jZWxsLXR5cGUtY29sb3IucGlwZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgQ29kTkNvbERlZmluaXRpb25Db21wb25lbnQsXHJcbiAgICBDb2RDQ29sRGVmaW5pdGlvbkNvbXBvbmVudCxcclxuICAgIENvZFNDb2xEZWZpbml0aW9uQ29tcG9uZW50LFxyXG4gICAgQ29kUkNvbERlZmluaXRpb25Db21wb25lbnQsXHJcbiAgICBDb2RFbmRsZWFmQ29tcG9uZW50LFxyXG4gICAgQ29kU2hlZXRMYWJlbHNQYXJ0Q29tcG9uZW50LFxyXG4gICAgQ29kTGFiZWxDZWxsQ29tcG9uZW50LFxyXG4gICAgQ29kU2hlZXRMYWJlbHNQYXJ0RmVhdHVyZUNvbXBvbmVudCxcclxuICAgIENlbGxBZGFwdGVyUGlwZSxcclxuICAgIENlbGxUeXBlQ29sb3JQaXBlLFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgLy8gbWF0ZXJpYWxcclxuICAgIEZsZXhMYXlvdXRNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRDYXJkTW9kdWxlLFxyXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXHJcbiAgICBNYXRFeHBhbnNpb25Nb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBNYXRTZWxlY3RNb2R1bGUsXHJcbiAgICBNYXRUYWJzTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIC8vIENhZG11c1xyXG4gICAgTmdUb29sc01vZHVsZSxcclxuICAgIE5nTWF0VG9vbHNNb2R1bGUsXHJcbiAgICBDYWRtdXNTdGF0ZU1vZHVsZSxcclxuICAgIENhZG11c1VpTW9kdWxlLFxyXG4gICAgQ2FkbXVzVWlQZ01vZHVsZSxcclxuICAgIENhZG11c01hdFBoeXNpY2FsU2l6ZU1vZHVsZSxcclxuICAgIENhZG11c1JlZnNBc3NlcnRlZENocm9ub3RvcGVNb2R1bGUsXHJcbiAgICBDYWRtdXNSZWZzSGlzdG9yaWNhbERhdGVNb2R1bGUsXHJcbiAgICBDYWRtdXNVaUZsYWdzUGlja2VyTW9kdWxlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgQ29kTkNvbERlZmluaXRpb25Db21wb25lbnQsXHJcbiAgICBDb2RDQ29sRGVmaW5pdGlvbkNvbXBvbmVudCxcclxuICAgIENvZFNDb2xEZWZpbml0aW9uQ29tcG9uZW50LFxyXG4gICAgQ29kUkNvbERlZmluaXRpb25Db21wb25lbnQsXHJcbiAgICBDb2RFbmRsZWFmQ29tcG9uZW50LFxyXG4gICAgQ29kU2hlZXRMYWJlbHNQYXJ0Q29tcG9uZW50LFxyXG4gICAgQ29kTGFiZWxDZWxsQ29tcG9uZW50LFxyXG4gICAgQ29kU2hlZXRMYWJlbHNQYXJ0RmVhdHVyZUNvbXBvbmVudFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYWRtdXNQYXJ0Q29kaWNvbG9neVNoZWV0TGFiZWxzTW9kdWxlIHt9XHJcbiJdfQ==
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { Validators, } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
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/checkbox";
|
|
9
|
+
import * as i6 from "@angular/material/button";
|
|
10
|
+
import * as i7 from "@angular/material/icon";
|
|
11
|
+
import * as i8 from "@angular/material/input";
|
|
12
|
+
import * as i9 from "@angular/common";
|
|
13
|
+
import * as i10 from "@angular/material/tooltip";
|
|
14
|
+
export class CodCColDefinitionComponent {
|
|
15
|
+
constructor(formBuilder) {
|
|
16
|
+
this.definitionChange = new EventEmitter();
|
|
17
|
+
this.editorClose = new EventEmitter();
|
|
18
|
+
// form
|
|
19
|
+
this.id = '';
|
|
20
|
+
this.rank = formBuilder.control(0);
|
|
21
|
+
this.position = formBuilder.control(null, [
|
|
22
|
+
Validators.required,
|
|
23
|
+
Validators.maxLength(50),
|
|
24
|
+
]);
|
|
25
|
+
this.isVertical = formBuilder.control(false);
|
|
26
|
+
this.decoration = formBuilder.control(null, Validators.maxLength(1000));
|
|
27
|
+
this.note = formBuilder.control(null, Validators.maxLength(1000));
|
|
28
|
+
this.form = formBuilder.group({
|
|
29
|
+
rank: this.rank,
|
|
30
|
+
position: this.position,
|
|
31
|
+
isVertical: this.isVertical,
|
|
32
|
+
decoration: this.decoration,
|
|
33
|
+
note: this.note,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
get definition() {
|
|
37
|
+
return this._definition;
|
|
38
|
+
}
|
|
39
|
+
set definition(value) {
|
|
40
|
+
this._definition = value;
|
|
41
|
+
this.updateForm(value);
|
|
42
|
+
}
|
|
43
|
+
ngOnInit() {
|
|
44
|
+
if (this._definition) {
|
|
45
|
+
this.updateForm(this._definition);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
updateForm(model) {
|
|
49
|
+
if (!model) {
|
|
50
|
+
this.form.reset();
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
this.id = model.id;
|
|
54
|
+
this.rank.setValue(model.rank || 0);
|
|
55
|
+
this.position.setValue(model.position);
|
|
56
|
+
this.isVertical.setValue(model.isVertical ? true : false);
|
|
57
|
+
this.decoration.setValue(model.decoration);
|
|
58
|
+
this.note.setValue(model.note);
|
|
59
|
+
this.form.markAsPristine();
|
|
60
|
+
}
|
|
61
|
+
getModel() {
|
|
62
|
+
return {
|
|
63
|
+
id: this.id,
|
|
64
|
+
rank: +this.rank.value || 0,
|
|
65
|
+
position: this.position.value?.trim(),
|
|
66
|
+
isVertical: this.isVertical.value ? true : false,
|
|
67
|
+
decoration: this.decoration.value?.trim(),
|
|
68
|
+
note: this.note.value?.trim(),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
cancel() {
|
|
72
|
+
this.editorClose.emit();
|
|
73
|
+
}
|
|
74
|
+
save() {
|
|
75
|
+
if (this.form.invalid) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
this.definitionChange.emit(this.getModel());
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
CodCColDefinitionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: CodCColDefinitionComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
82
|
+
CodCColDefinitionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: CodCColDefinitionComponent, selector: "cadmus-cod-c-col-definition", inputs: { definition: "definition", posEntries: "posEntries" }, outputs: { definitionChange: "definitionChange", editorClose: "editorClose" }, ngImport: i0, template: "<form [formGroup]=\"form\" (submit)=\"save()\">\r\n <div class=\"form-row\">\r\n <!-- rank -->\r\n <mat-form-field style=\"width: 4em\">\r\n <input\r\n matInput\r\n [formControl]=\"rank\"\r\n placeholder=\"rank\"\r\n type=\"number\"\r\n min=\"0\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"form-row\">\r\n <!-- position (bound) -->\r\n <mat-form-field *ngIf=\"posEntries?.length\" class=\"form-col\">\r\n <mat-select [formControl]=\"position\" placeholder=\"position\">\r\n <mat-option *ngFor=\"let e of posEntries\" [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(position).errors?.required &&\r\n (position.dirty || position.touched)\r\n \"\r\n >position required</mat-error\r\n >\r\n </mat-form-field>\r\n <!-- position (free) -->\r\n <mat-form-field *ngIf=\"!posEntries?.length\" class=\"form-col\">\r\n <input matInput [formControl]=\"position\" placeholder=\"position\" />\r\n <mat-error\r\n *ngIf=\"\r\n $any(position).errors?.required &&\r\n (position.dirty || position.touched)\r\n \"\r\n >position required</mat-error\r\n >\r\n <mat-error\r\n *ngIf=\"\r\n $any(position).errors?.maxLength &&\r\n (position.dirty || position.touched)\r\n \"\r\n >position too long</mat-error\r\n >\r\n </mat-form-field>\r\n\r\n <!-- isVertical -->\r\n <mat-checkbox [formControl]=\"isVertical\">vertical</mat-checkbox>\r\n </div>\r\n\r\n <div>\r\n <!-- decoration -->\r\n <mat-form-field class=\"long-text\">\r\n <input matInput [formControl]=\"decoration\" placeholder=\"decoration\" />\r\n <mat-error\r\n *ngIf=\"\r\n $any(decoration).errors?.maxLength &&\r\n (decoration.dirty || decoration.touched)\r\n \"\r\n >decoration too long</mat-error\r\n >\r\n </mat-form-field>\r\n </div>\r\n\r\n <div>\r\n <!-- note -->\r\n <mat-form-field class=\"long-text\">\r\n <input matInput [formControl]=\"note\" placeholder=\"note\" />\r\n <mat-error\r\n *ngIf=\"$any(note).errors?.maxLength && (note.dirty || note.touched)\"\r\n >note too long</mat-error\r\n >\r\n </mat-form-field>\r\n </div>\r\n\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: [".form-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.form-row *{flex:0 0 auto}.long-text{width:100%;max-width:800px}\n"], 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.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i6.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: i7.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: 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.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { 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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.MatError, selector: "mat-error", inputs: ["id"] }, { type: i10.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: CodCColDefinitionComponent, decorators: [{
|
|
84
|
+
type: Component,
|
|
85
|
+
args: [{ selector: 'cadmus-cod-c-col-definition', template: "<form [formGroup]=\"form\" (submit)=\"save()\">\r\n <div class=\"form-row\">\r\n <!-- rank -->\r\n <mat-form-field style=\"width: 4em\">\r\n <input\r\n matInput\r\n [formControl]=\"rank\"\r\n placeholder=\"rank\"\r\n type=\"number\"\r\n min=\"0\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"form-row\">\r\n <!-- position (bound) -->\r\n <mat-form-field *ngIf=\"posEntries?.length\" class=\"form-col\">\r\n <mat-select [formControl]=\"position\" placeholder=\"position\">\r\n <mat-option *ngFor=\"let e of posEntries\" [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(position).errors?.required &&\r\n (position.dirty || position.touched)\r\n \"\r\n >position required</mat-error\r\n >\r\n </mat-form-field>\r\n <!-- position (free) -->\r\n <mat-form-field *ngIf=\"!posEntries?.length\" class=\"form-col\">\r\n <input matInput [formControl]=\"position\" placeholder=\"position\" />\r\n <mat-error\r\n *ngIf=\"\r\n $any(position).errors?.required &&\r\n (position.dirty || position.touched)\r\n \"\r\n >position required</mat-error\r\n >\r\n <mat-error\r\n *ngIf=\"\r\n $any(position).errors?.maxLength &&\r\n (position.dirty || position.touched)\r\n \"\r\n >position too long</mat-error\r\n >\r\n </mat-form-field>\r\n\r\n <!-- isVertical -->\r\n <mat-checkbox [formControl]=\"isVertical\">vertical</mat-checkbox>\r\n </div>\r\n\r\n <div>\r\n <!-- decoration -->\r\n <mat-form-field class=\"long-text\">\r\n <input matInput [formControl]=\"decoration\" placeholder=\"decoration\" />\r\n <mat-error\r\n *ngIf=\"\r\n $any(decoration).errors?.maxLength &&\r\n (decoration.dirty || decoration.touched)\r\n \"\r\n >decoration too long</mat-error\r\n >\r\n </mat-form-field>\r\n </div>\r\n\r\n <div>\r\n <!-- note -->\r\n <mat-form-field class=\"long-text\">\r\n <input matInput [formControl]=\"note\" placeholder=\"note\" />\r\n <mat-error\r\n *ngIf=\"$any(note).errors?.maxLength && (note.dirty || note.touched)\"\r\n >note too long</mat-error\r\n >\r\n </mat-form-field>\r\n </div>\r\n\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: [".form-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.form-row *{flex:0 0 auto}.long-text{width:100%;max-width:800px}\n"] }]
|
|
86
|
+
}], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { definition: [{
|
|
87
|
+
type: Input
|
|
88
|
+
}], posEntries: [{
|
|
89
|
+
type: Input
|
|
90
|
+
}], definitionChange: [{
|
|
91
|
+
type: Output
|
|
92
|
+
}], editorClose: [{
|
|
93
|
+
type: Output
|
|
94
|
+
}] } });
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLWMtY29sLWRlZmluaXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlybWlkb24vY2FkbXVzLXBhcnQtY29kaWNvbG9neS1zaGVldC1sYWJlbHMvc3JjL2xpYi9jb2QtYy1jb2wtZGVmaW5pdGlvbi9jb2QtYy1jb2wtZGVmaW5pdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJtaWRvbi9jYWRtdXMtcGFydC1jb2RpY29sb2d5LXNoZWV0LWxhYmVscy9zcmMvbGliL2NvZC1jLWNvbC1kZWZpbml0aW9uL2NvZC1jLWNvbC1kZWZpbml0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUlMLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7QUFXeEIsTUFBTSxPQUFPLDBCQUEwQjtJQTZCckMsWUFBWSxXQUF3QjtRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFDOUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzNDLE9BQU87UUFDUCxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFO1lBQ3hDLFVBQVUsQ0FBQyxRQUFRO1lBQ25CLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1NBQ3pCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLEdB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QUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDOUMsQ0FBQzs7dUhBNUZVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLGtOQ2pCdkMscTVGQW9HQTsyRkRuRmEsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLDZCQUE2QjtrR0FRNUIsVUFBVTtzQkFEcEIsS0FBSztnQkFXQyxVQUFVO3NCQURoQixLQUFLO2dCQUlDLGdCQUFnQjtzQkFEdEIsTUFBTTtnQkFHQSxXQUFXO3NCQURqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEZvcm1CdWlsZGVyLFxyXG4gIEZvcm1Db250cm9sLFxyXG4gIEZvcm1Hcm91cCxcclxuICBWYWxpZGF0b3JzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IFRoZXNhdXJ1c0VudHJ5IH0gZnJvbSAnQG15cm1pZG9uL2NhZG11cy1jb3JlJztcclxuXHJcbmltcG9ydCB7IENvZENDb2xEZWZpbml0aW9uIH0gZnJvbSAnLi4vY29kLXNoZWV0LWxhYmVscy1wYXJ0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY2FkbXVzLWNvZC1jLWNvbC1kZWZpbml0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29kLWMtY29sLWRlZmluaXRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvZC1jLWNvbC1kZWZpbml0aW9uLmNvbXBvbmVudC5jc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvZENDb2xEZWZpbml0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwcml2YXRlIF9kZWZpbml0aW9uOiBDb2RDQ29sRGVmaW5pdGlvbiB8IHVuZGVmaW5lZDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZ2V0IGRlZmluaXRpb24oKTogQ29kQ0NvbERlZmluaXRpb24gfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RlZmluaXRpb247XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgZGVmaW5pdGlvbih2YWx1ZTogQ29kQ0NvbERlZmluaXRpb24gfCB1bmRlZmluZWQpIHtcclxuICAgIHRoaXMuX2RlZmluaXRpb24gPSB2YWx1ZTtcclxuICAgIHRoaXMudXBkYXRlRm9ybSh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvLyBjb2QtY2F0Y2h3b3Jkcy1wb3NpdGlvbnNcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwb3NFbnRyaWVzOiBUaGVzYXVydXNFbnRyeVtdIHwgdW5kZWZpbmVkO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgZGVmaW5pdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPENvZENDb2xEZWZpbml0aW9uPjtcclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgZWRpdG9yQ2xvc2U6IEV2ZW50RW1pdHRlcjxhbnk+O1xyXG5cclxuICBwdWJsaWMgaWQ6IHN0cmluZztcclxuICBwdWJsaWMgcmFuazogRm9ybUNvbnRyb2w7XHJcbiAgcHVibGljIHBvc2l0aW9uOiBGb3JtQ29udHJvbDtcclxuICBwdWJsaWMgaXNWZXJ0aWNhbDogRm9ybUNvbnRyb2w7XHJcbiAgcHVibGljIGRlY29yYXRpb246IEZvcm1Db250cm9sO1xyXG4gIHB1YmxpYyBub3RlOiBGb3JtQ29udHJvbDtcclxuICBwdWJsaWMgZm9ybTogRm9ybUdyb3VwO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIpIHtcclxuICAgIHRoaXMuZGVmaW5pdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q29kQ0NvbERlZmluaXRpb24+KCk7XHJcbiAgICB0aGlzLmVkaXRvckNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICAvLyBmb3JtXHJcbiAgICB0aGlzLmlkID0gJyc7XHJcbiAgICB0aGlzLnJhbmsgPSBmb3JtQnVpbGRlci5jb250cm9sKDApO1xyXG4gICAgdGhpcy5wb3NpdGlvbiA9IGZvcm1CdWlsZGVyLmNvbnRyb2wobnVsbCwgW1xyXG4gICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxyXG4gICAgICBWYWxpZGF0b3JzLm1heExlbmd0aCg1MCksXHJcbiAgICBdKTtcclxuICAgIHRoaXMuaXNWZXJ0aWNhbCA9IGZvcm1CdWlsZGVyLmNvbnRyb2woZmFsc2UpO1xyXG4gICAgdGhpcy5kZWNvcmF0aW9uID0gZm9ybUJ1aWxkZXIuY29udHJvbChudWxsLCBWYWxpZGF0b3JzLm1heExlbmd0aCgxMDAwKSk7XHJcbiAgICB0aGlzLm5vdGUgPSBmb3JtQnVpbGRlci5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDEwMDApKTtcclxuICAgIHRoaXMuZm9ybSA9IGZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgcmFuazogdGhpcy5yYW5rLFxyXG4gICAgICBwb3NpdGlvbjogdGhpcy5wb3NpdGlvbixcclxuICAgICAgaXNWZXJ0aWNhbDogdGhpcy5pc1ZlcnRpY2FsLFxyXG4gICAgICBkZWNvcmF0aW9uOiB0aGlzLmRlY29yYXRpb24sXHJcbiAgICAgIG5vdGU6IHRoaXMubm90ZSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fZGVmaW5pdGlvbikge1xyXG4gICAgICB0aGlzLnVwZGF0ZUZvcm0odGhpcy5fZGVmaW5pdGlvbik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZUZvcm0obW9kZWw6IENvZENDb2xEZWZpbml0aW9uIHwgdW5kZWZpbmVkKTogdm9pZCB7XHJcbiAgICBpZiAoIW1vZGVsKSB7XHJcbiAgICAgIHRoaXMuZm9ybS5yZXNldCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pZCA9IG1vZGVsLmlkO1xyXG4gICAgdGhpcy5yYW5rLnNldFZhbHVlKG1vZGVsLnJhbmsgfHwgMCk7XHJcbiAgICB0aGlzLnBvc2l0aW9uLnNldFZhbHVlKG1vZGVsLnBvc2l0aW9uKTtcclxuICAgIHRoaXMuaXNWZXJ0aWNhbC5zZXRWYWx1ZShtb2RlbC5pc1ZlcnRpY2FsID8gdHJ1ZSA6IGZhbHNlKTtcclxuICAgIHRoaXMuZGVjb3JhdGlvbi5zZXRWYWx1ZShtb2RlbC5kZWNvcmF0aW9uKTtcclxuICAgIHRoaXMubm90ZS5zZXRWYWx1ZShtb2RlbC5ub3RlKTtcclxuICAgIHRoaXMuZm9ybS5tYXJrQXNQcmlzdGluZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRNb2RlbCgpOiBDb2RDQ29sRGVmaW5pdGlvbiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBpZDogdGhpcy5pZCxcclxuICAgICAgcmFuazogK3RoaXMucmFuay52YWx1ZSB8fCAwLFxyXG4gICAgICBwb3NpdGlvbjogdGhpcy5wb3NpdGlvbi52YWx1ZT8udHJpbSgpLFxyXG4gICAgICBpc1ZlcnRpY2FsOiB0aGlzLmlzVmVydGljYWwudmFsdWUgPyB0cnVlIDogZmFsc2UsXHJcbiAgICAgIGRlY29yYXRpb246IHRoaXMuZGVjb3JhdGlvbi52YWx1ZT8udHJpbSgpLFxyXG4gICAgICBub3RlOiB0aGlzLm5vdGUudmFsdWU/LnRyaW0oKSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2FuY2VsKCk6IHZvaWQge1xyXG4gICAgdGhpcy5lZGl0b3JDbG9zZS5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2F2ZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmRlZmluaXRpb25DaGFuZ2UuZW1pdCh0aGlzLmdldE1vZGVsKCkpO1xyXG4gIH1cclxufVxyXG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiAoc3VibWl0KT1cInNhdmUoKVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJmb3JtLXJvd1wiPlxyXG4gICAgPCEtLSByYW5rIC0tPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkIHN0eWxlPVwid2lkdGg6IDRlbVwiPlxyXG4gICAgICA8aW5wdXRcclxuICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJyYW5rXCJcclxuICAgICAgICBwbGFjZWhvbGRlcj1cInJhbmtcIlxyXG4gICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgIG1pbj1cIjBcIlxyXG4gICAgICAvPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImZvcm0tcm93XCI+XHJcbiAgICA8IS0tIHBvc2l0aW9uIChib3VuZCkgLS0+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJwb3NFbnRyaWVzPy5sZW5ndGhcIiBjbGFzcz1cImZvcm0tY29sXCI+XHJcbiAgICAgIDxtYXQtc2VsZWN0IFtmb3JtQ29udHJvbF09XCJwb3NpdGlvblwiIHBsYWNlaG9sZGVyPVwicG9zaXRpb25cIj5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgZSBvZiBwb3NFbnRyaWVzXCIgW3ZhbHVlXT1cImUuaWRcIj57e1xyXG4gICAgICAgICAgZS52YWx1ZVxyXG4gICAgICAgIH19PC9tYXQtb3B0aW9uPlxyXG4gICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgIDxtYXQtZXJyb3JcclxuICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgJGFueShwb3NpdGlvbikuZXJyb3JzPy5yZXF1aXJlZCAmJlxyXG4gICAgICAgICAgKHBvc2l0aW9uLmRpcnR5IHx8IHBvc2l0aW9uLnRvdWNoZWQpXHJcbiAgICAgICAgXCJcclxuICAgICAgICA+cG9zaXRpb24gcmVxdWlyZWQ8L21hdC1lcnJvclxyXG4gICAgICA+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPCEtLSBwb3NpdGlvbiAoZnJlZSkgLS0+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCIhcG9zRW50cmllcz8ubGVuZ3RoXCIgY2xhc3M9XCJmb3JtLWNvbFwiPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT1cInBvc2l0aW9uXCIgcGxhY2Vob2xkZXI9XCJwb3NpdGlvblwiIC8+XHJcbiAgICAgIDxtYXQtZXJyb3JcclxuICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgJGFueShwb3NpdGlvbikuZXJyb3JzPy5yZXF1aXJlZCAmJlxyXG4gICAgICAgICAgKHBvc2l0aW9uLmRpcnR5IHx8IHBvc2l0aW9uLnRvdWNoZWQpXHJcbiAgICAgICAgXCJcclxuICAgICAgICA+cG9zaXRpb24gcmVxdWlyZWQ8L21hdC1lcnJvclxyXG4gICAgICA+XHJcbiAgICAgIDxtYXQtZXJyb3JcclxuICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgJGFueShwb3NpdGlvbikuZXJyb3JzPy5tYXhMZW5ndGggJiZcclxuICAgICAgICAgIChwb3NpdGlvbi5kaXJ0eSB8fCBwb3NpdGlvbi50b3VjaGVkKVxyXG4gICAgICAgIFwiXHJcbiAgICAgICAgPnBvc2l0aW9uIHRvbyBsb25nPC9tYXQtZXJyb3JcclxuICAgICAgPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiAgICA8IS0tIGlzVmVydGljYWwgLS0+XHJcbiAgICA8bWF0LWNoZWNrYm94IFtmb3JtQ29udHJvbF09XCJpc1ZlcnRpY2FsXCI+dmVydGljYWw8L21hdC1jaGVja2JveD5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdj5cclxuICAgIDwhLS0gZGVjb3JhdGlvbiAtLT5cclxuICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImxvbmctdGV4dFwiPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT1cImRlY29yYXRpb25cIiBwbGFjZWhvbGRlcj1cImRlY29yYXRpb25cIiAvPlxyXG4gICAgICA8bWF0LWVycm9yXHJcbiAgICAgICAgKm5nSWY9XCJcclxuICAgICAgICAgICRhbnkoZGVjb3JhdGlvbikuZXJyb3JzPy5tYXhMZW5ndGggJiZcclxuICAgICAgICAgIChkZWNvcmF0aW9uLmRpcnR5IHx8IGRlY29yYXRpb24udG91Y2hlZClcclxuICAgICAgICBcIlxyXG4gICAgICAgID5kZWNvcmF0aW9uIHRvbyBsb25nPC9tYXQtZXJyb3JcclxuICAgICAgPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdj5cclxuICAgIDwhLS0gbm90ZSAtLT5cclxuICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImxvbmctdGV4dFwiPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT1cIm5vdGVcIiBwbGFjZWhvbGRlcj1cIm5vdGVcIiAvPlxyXG4gICAgICA8bWF0LWVycm9yXHJcbiAgICAgICAgKm5nSWY9XCIkYW55KG5vdGUpLmVycm9ycz8ubWF4TGVuZ3RoICYmIChub3RlLmRpcnR5IHx8IG5vdGUudG91Y2hlZClcIlxyXG4gICAgICAgID5ub3RlIHRvbyBsb25nPC9tYXQtZXJyb3JcclxuICAgICAgPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L2Rpdj5cclxuXHJcbiAgPCEtLSBidXR0b25zIC0tPlxyXG4gIDxkaXY+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICBjb2xvcj1cIndhcm5cIlxyXG4gICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgbWF0VG9vbHRpcD1cIkRpc2NhcmQgY2hhbmdlc1wiXHJcbiAgICAgIChjbGljayk9XCJjYW5jZWwoKVwiXHJcbiAgICA+XHJcbiAgICAgIDxtYXQtaWNvbj5jbGVhcjwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxidXR0b25cclxuICAgICAgdHlwZT1cInN1Ym1pdFwiXHJcbiAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICBtYXRUb29sdGlwPVwiQWNjZXB0IGNoYW5nZXNcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiZm9ybS5pbnZhbGlkIHx8IGZvcm0ucHJpc3RpbmVcIlxyXG4gICAgPlxyXG4gICAgICA8bWF0LWljb24+Y2hlY2tfY2lyY2xlPC9tYXQtaWNvbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Zvcm0+XHJcbiJdfQ==
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { Validators, } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
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 "@myrmidon/cadmus-refs-asserted-chronotope";
|
|
9
|
+
import * as i6 from "@angular/material/button";
|
|
10
|
+
import * as i7 from "@angular/material/icon";
|
|
11
|
+
import * as i8 from "@angular/common";
|
|
12
|
+
import * as i9 from "@angular/material/input";
|
|
13
|
+
import * as i10 from "@angular/material/tooltip";
|
|
14
|
+
export class CodEndleafComponent {
|
|
15
|
+
constructor(formBuilder) {
|
|
16
|
+
this.endleafChange = new EventEmitter();
|
|
17
|
+
this.editorClose = new EventEmitter();
|
|
18
|
+
this.locations = [];
|
|
19
|
+
// form
|
|
20
|
+
this.location = formBuilder.control(null, [
|
|
21
|
+
Validators.required,
|
|
22
|
+
Validators.maxLength(50),
|
|
23
|
+
]);
|
|
24
|
+
this.material = formBuilder.control(null, [
|
|
25
|
+
Validators.required,
|
|
26
|
+
Validators.maxLength(50),
|
|
27
|
+
]);
|
|
28
|
+
this.chronotope = formBuilder.control(null);
|
|
29
|
+
this.form = formBuilder.group({
|
|
30
|
+
location: this.location,
|
|
31
|
+
material: this.material,
|
|
32
|
+
chronotope: this.chronotope,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
get endleaf() {
|
|
36
|
+
return this._endleaf;
|
|
37
|
+
}
|
|
38
|
+
set endleaf(value) {
|
|
39
|
+
this._endleaf = value;
|
|
40
|
+
this.updateForm(value);
|
|
41
|
+
}
|
|
42
|
+
ngOnInit() {
|
|
43
|
+
if (this._endleaf) {
|
|
44
|
+
this.updateForm(this._endleaf);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
updateForm(model) {
|
|
48
|
+
if (!model) {
|
|
49
|
+
this.form.reset();
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
this.location.setValue(model.location);
|
|
53
|
+
this.material.setValue(model.material);
|
|
54
|
+
this.initialChronotope = model.chronotope;
|
|
55
|
+
this.form.markAsPristine();
|
|
56
|
+
}
|
|
57
|
+
onChronotopeChange(chronotope) {
|
|
58
|
+
this.chronotope.setValue(chronotope);
|
|
59
|
+
this.chronotope.markAsDirty();
|
|
60
|
+
}
|
|
61
|
+
getModel() {
|
|
62
|
+
return {
|
|
63
|
+
location: this.location.value?.trim(),
|
|
64
|
+
material: this.material.value?.trim(),
|
|
65
|
+
chronotope: this.chronotope.value,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
cancel() {
|
|
69
|
+
this.editorClose.emit();
|
|
70
|
+
}
|
|
71
|
+
save() {
|
|
72
|
+
if (this.form.invalid) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
this.endleafChange.emit(this.getModel());
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
CodEndleafComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: CodEndleafComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
79
|
+
CodEndleafComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: CodEndleafComponent, selector: "cadmus-cod-endleaf", inputs: { endleaf: "endleaf", matEntries: "matEntries", ctTagEntries: "ctTagEntries", assTagEntries: "assTagEntries", refTypeEntries: "refTypeEntries", refTagEntries: "refTagEntries", locations: "locations" }, outputs: { endleafChange: "endleafChange", editorClose: "editorClose" }, ngImport: i0, template: "<form [formGroup]=\"form\" (submit)=\"save()\">\n <div class=\"form-row\">\n <!-- location -->\n <mat-form-field>\n <mat-select [formControl]=\"location\" placeholder=\"location\">\n <mat-option *ngFor=\"let l of locations\" [value]=\"l\">{{ l }}</mat-option>\n </mat-select>\n <mat-error\n *ngIf=\"\n $any(location).errors?.required &&\n (location.dirty || location.touched)\n \"\n >location required</mat-error\n >\n </mat-form-field>\n\n <!-- material (bound) -->\n <mat-form-field *ngIf=\"matEntries?.length\" class=\"form-col\">\n <mat-select [formControl]=\"material\" placeholder=\"material\">\n <mat-option *ngFor=\"let e of matEntries\" [value]=\"e.id\">{{\n e.value\n }}</mat-option>\n </mat-select>\n <mat-error\n *ngIf=\"\n $any(material).errors?.required &&\n (material.dirty || material.touched)\n \"\n >material required</mat-error\n >\n </mat-form-field>\n <!-- material (free) -->\n <mat-form-field *ngIf=\"!matEntries?.length\" class=\"form-col\">\n <input matInput [formControl]=\"material\" placeholder=\"material\" />\n <mat-error\n *ngIf=\"\n $any(material).errors?.required &&\n (material.dirty || material.touched)\n \"\n >material required</mat-error\n >\n <mat-error\n *ngIf=\"\n $any(material).errors?.maxLength &&\n (material.dirty || material.touched)\n \"\n >material too long</mat-error\n >\n </mat-form-field>\n </div>\n\n <!-- chronotope -->\n <cadmus-refs-asserted-chronotope\n [tagEntries]=\"ctTagEntries\"\n [assTagEntries]=\"assTagEntries\"\n [refTagEntries]=\"refTagEntries\"\n [refTypeEntries]=\"refTypeEntries\"\n [chronotope]=\"initialChronotope\"\n (chronotopeChange)=\"onChronotopeChange($event)\"\n >\n </cadmus-refs-asserted-chronotope>\n\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: [".form-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.form-row *{flex:0 0 auto}.long-text{width:100%;max-width:800px}\n"], 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.AssertedChronotopeComponent, selector: "cadmus-refs-asserted-chronotope", inputs: ["chronotope", "tagEntries", "assTagEntries", "refTypeEntries", "refTagEntries"], outputs: ["chronotopeChange"] }, { type: i6.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: i7.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.MatError, selector: "mat-error", inputs: ["id"] }, { type: i9.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: i10.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
|
|
80
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: CodEndleafComponent, decorators: [{
|
|
81
|
+
type: Component,
|
|
82
|
+
args: [{ selector: 'cadmus-cod-endleaf', template: "<form [formGroup]=\"form\" (submit)=\"save()\">\n <div class=\"form-row\">\n <!-- location -->\n <mat-form-field>\n <mat-select [formControl]=\"location\" placeholder=\"location\">\n <mat-option *ngFor=\"let l of locations\" [value]=\"l\">{{ l }}</mat-option>\n </mat-select>\n <mat-error\n *ngIf=\"\n $any(location).errors?.required &&\n (location.dirty || location.touched)\n \"\n >location required</mat-error\n >\n </mat-form-field>\n\n <!-- material (bound) -->\n <mat-form-field *ngIf=\"matEntries?.length\" class=\"form-col\">\n <mat-select [formControl]=\"material\" placeholder=\"material\">\n <mat-option *ngFor=\"let e of matEntries\" [value]=\"e.id\">{{\n e.value\n }}</mat-option>\n </mat-select>\n <mat-error\n *ngIf=\"\n $any(material).errors?.required &&\n (material.dirty || material.touched)\n \"\n >material required</mat-error\n >\n </mat-form-field>\n <!-- material (free) -->\n <mat-form-field *ngIf=\"!matEntries?.length\" class=\"form-col\">\n <input matInput [formControl]=\"material\" placeholder=\"material\" />\n <mat-error\n *ngIf=\"\n $any(material).errors?.required &&\n (material.dirty || material.touched)\n \"\n >material required</mat-error\n >\n <mat-error\n *ngIf=\"\n $any(material).errors?.maxLength &&\n (material.dirty || material.touched)\n \"\n >material too long</mat-error\n >\n </mat-form-field>\n </div>\n\n <!-- chronotope -->\n <cadmus-refs-asserted-chronotope\n [tagEntries]=\"ctTagEntries\"\n [assTagEntries]=\"assTagEntries\"\n [refTagEntries]=\"refTagEntries\"\n [refTypeEntries]=\"refTypeEntries\"\n [chronotope]=\"initialChronotope\"\n (chronotopeChange)=\"onChronotopeChange($event)\"\n >\n </cadmus-refs-asserted-chronotope>\n\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: [".form-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.form-row *{flex:0 0 auto}.long-text{width:100%;max-width:800px}\n"] }]
|
|
83
|
+
}], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { endleaf: [{
|
|
84
|
+
type: Input
|
|
85
|
+
}], matEntries: [{
|
|
86
|
+
type: Input
|
|
87
|
+
}], ctTagEntries: [{
|
|
88
|
+
type: Input
|
|
89
|
+
}], assTagEntries: [{
|
|
90
|
+
type: Input
|
|
91
|
+
}], refTypeEntries: [{
|
|
92
|
+
type: Input
|
|
93
|
+
}], refTagEntries: [{
|
|
94
|
+
type: Input
|
|
95
|
+
}], locations: [{
|
|
96
|
+
type: Input
|
|
97
|
+
}], endleafChange: [{
|
|
98
|
+
type: Output
|
|
99
|
+
}], editorClose: [{
|
|
100
|
+
type: Output
|
|
101
|
+
}] } });
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLWVuZGxlYWYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlybWlkb24vY2FkbXVzLXBhcnQtY29kaWNvbG9neS1zaGVldC1sYWJlbHMvc3JjL2xpYi9jb2QtZW5kbGVhZi9jb2QtZW5kbGVhZi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJtaWRvbi9jYWRtdXMtcGFydC1jb2RpY29sb2d5LXNoZWV0LWxhYmVscy9zcmMvbGliL2NvZC1lbmRsZWFmL2NvZC1lbmRsZWFmLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUlMLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7QUFZeEIsTUFBTSxPQUFPLG1CQUFtQjtJQTJDOUIsWUFBWSxXQUF3QjtRQUNsQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUFDcEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzNDLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLE9BQU87UUFDUCxJQUFJLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFO1lBQ3hDLFVBQVUsQ0FBQyxRQUFRO1lBQ25CLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1NBQ3pCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFDeEMsVUFBVSxDQUFDLFFBQVE7WUFDbkIsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7U0FDekIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUM1QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtTQUM1QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBM0RELElBQ1csT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQVcsT0FBTyxDQUFDLEtBQTZCO1FBQzlDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQXNERCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ2hDO0lBQ0gsQ0FBQztJQUVPLFVBQVUsQ0FBQyxLQUE2QjtRQUM5QyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNsQixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDO1FBQzFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVNLGtCQUFrQixDQUFDLFVBQTBDO1FBQ2xFLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVPLFFBQVE7UUFDZCxPQUFPO1lBQ0wsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRTtZQUNyQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFO1lBQ3JDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUs7U0FDbEMsQ0FBQztJQUNKLENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDckIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQzs7Z0hBeEdVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLHFWQ2xCaEMsNDZFQW9GQTsyRkRsRWEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLG9CQUFvQjtrR0FRbkIsT0FBTztzQkFEakIsS0FBSztnQkFXQyxVQUFVO3NCQURoQixLQUFLO2dCQUlDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBSUMsYUFBYTtzQkFEbkIsS0FBSztnQkFJQyxjQUFjO3NCQURwQixLQUFLO2dCQUlDLGFBQWE7c0JBRG5CLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixLQUFLO2dCQUlDLGFBQWE7c0JBRG5CLE1BQU07Z0JBR0EsV0FBVztzQkFEakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEZvcm1CdWlsZGVyLFxuICBGb3JtQ29udHJvbCxcbiAgRm9ybUdyb3VwLFxuICBWYWxpZGF0b3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFRoZXNhdXJ1c0VudHJ5IH0gZnJvbSAnQG15cm1pZG9uL2NhZG11cy1jb3JlJztcbmltcG9ydCB7IEFzc2VydGVkQ2hyb25vdG9wZSB9IGZyb20gJ0BteXJtaWRvbi9jYWRtdXMtcmVmcy1hc3NlcnRlZC1jaHJvbm90b3BlJztcblxuaW1wb3J0IHsgQ29kRW5kbGVhZiB9IGZyb20gJy4uL2NvZC1zaGVldC1sYWJlbHMtcGFydCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NhZG11cy1jb2QtZW5kbGVhZicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2QtZW5kbGVhZi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvZC1lbmRsZWFmLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29kRW5kbGVhZkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgX2VuZGxlYWY6IENvZEVuZGxlYWYgfCB1bmRlZmluZWQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBlbmRsZWFmKCk6IENvZEVuZGxlYWYgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9lbmRsZWFmO1xuICB9XG4gIHB1YmxpYyBzZXQgZW5kbGVhZih2YWx1ZTogQ29kRW5kbGVhZiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX2VuZGxlYWYgPSB2YWx1ZTtcbiAgICB0aGlzLnVwZGF0ZUZvcm0odmFsdWUpO1xuICB9XG5cbiAgLy8gY29kLWVuZGxlYWYtbWF0ZXJpYWxzXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtYXRFbnRyaWVzOiBUaGVzYXVydXNFbnRyeVtdIHwgdW5kZWZpbmVkO1xuICAvLyBjaHJvbm90b3BlLXRhZ3NcbiAgQElucHV0KClcbiAgcHVibGljIGN0VGFnRW50cmllczogVGhlc2F1cnVzRW50cnlbXSB8IHVuZGVmaW5lZDtcbiAgLy8gYXNzZXJ0aW9uLXRhZ3NcbiAgQElucHV0KClcbiAgcHVibGljIGFzc1RhZ0VudHJpZXM6IFRoZXNhdXJ1c0VudHJ5W10gfCB1bmRlZmluZWQ7XG4gIC8vIGRvYy1yZWZlcmVuY2UtdHlwZXNcbiAgQElucHV0KClcbiAgcHVibGljIHJlZlR5cGVFbnRyaWVzOiBUaGVzYXVydXNFbnRyeVtdIHwgdW5kZWZpbmVkO1xuICAvLyBkb2MtcmVmZXJlbmNlLXRhZ3NcbiAgQElucHV0KClcbiAgcHVibGljIHJlZlRhZ0VudHJpZXM6IFRoZXNhdXJ1c0VudHJ5W10gfCB1bmRlZmluZWQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGxvY2F0aW9uczogc3RyaW5nW107XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBlbmRsZWFmQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q29kRW5kbGVhZj47XG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZWRpdG9yQ2xvc2U6IEV2ZW50RW1pdHRlcjxhbnk+O1xuXG4gIHB1YmxpYyBsb2NhdGlvbjogRm9ybUNvbnRyb2w7XG4gIHB1YmxpYyBtYXRlcmlhbDogRm9ybUNvbnRyb2w7XG4gIHB1YmxpYyBjaHJvbm90b3BlOiBGb3JtQ29udHJvbDtcbiAgcHVibGljIGZvcm06IEZvcm1Hcm91cDtcblxuICBwdWJsaWMgaW5pdGlhbENocm9ub3RvcGU/OiBBc3NlcnRlZENocm9ub3RvcGU7XG5cbiAgY29uc3RydWN0b3IoZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyKSB7XG4gICAgdGhpcy5lbmRsZWFmQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxDb2RFbmRsZWFmPigpO1xuICAgIHRoaXMuZWRpdG9yQ2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICB0aGlzLmxvY2F0aW9ucyA9IFtdO1xuICAgIC8vIGZvcm1cbiAgICB0aGlzLmxvY2F0aW9uID0gZm9ybUJ1aWxkZXIuY29udHJvbChudWxsLCBbXG4gICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgVmFsaWRhdG9ycy5tYXhMZW5ndGgoNTApLFxuICAgIF0pO1xuICAgIHRoaXMubWF0ZXJpYWwgPSBmb3JtQnVpbGRlci5jb250cm9sKG51bGwsIFtcbiAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICBWYWxpZGF0b3JzLm1heExlbmd0aCg1MCksXG4gICAgXSk7XG4gICAgdGhpcy5jaHJvbm90b3BlID0gZm9ybUJ1aWxkZXIuY29udHJvbChudWxsKTtcbiAgICB0aGlzLmZvcm0gPSBmb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBsb2NhdGlvbjogdGhpcy5sb2NhdGlvbixcbiAgICAgIG1hdGVyaWFsOiB0aGlzLm1hdGVyaWFsLFxuICAgICAgY2hyb25vdG9wZTogdGhpcy5jaHJvbm90b3BlLFxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2VuZGxlYWYpIHtcbiAgICAgIHRoaXMudXBkYXRlRm9ybSh0aGlzLl9lbmRsZWFmKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUZvcm0obW9kZWw6IENvZEVuZGxlYWYgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBpZiAoIW1vZGVsKSB7XG4gICAgICB0aGlzLmZvcm0ucmVzZXQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmxvY2F0aW9uLnNldFZhbHVlKG1vZGVsLmxvY2F0aW9uKTtcbiAgICB0aGlzLm1hdGVyaWFsLnNldFZhbHVlKG1vZGVsLm1hdGVyaWFsKTtcbiAgICB0aGlzLmluaXRpYWxDaHJvbm90b3BlID0gbW9kZWwuY2hyb25vdG9wZTtcbiAgICB0aGlzLmZvcm0ubWFya0FzUHJpc3RpbmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNocm9ub3RvcGVDaGFuZ2UoY2hyb25vdG9wZTogQXNzZXJ0ZWRDaHJvbm90b3BlIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgdGhpcy5jaHJvbm90b3BlLnNldFZhbHVlKGNocm9ub3RvcGUpO1xuICAgIHRoaXMuY2hyb25vdG9wZS5tYXJrQXNEaXJ0eSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNb2RlbCgpOiBDb2RFbmRsZWFmIHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9jYXRpb246IHRoaXMubG9jYXRpb24udmFsdWU/LnRyaW0oKSxcbiAgICAgIG1hdGVyaWFsOiB0aGlzLm1hdGVyaWFsLnZhbHVlPy50cmltKCksXG4gICAgICBjaHJvbm90b3BlOiB0aGlzLmNocm9ub3RvcGUudmFsdWUsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5jZWwoKTogdm9pZCB7XG4gICAgdGhpcy5lZGl0b3JDbG9zZS5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgc2F2ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5lbmRsZWFmQ2hhbmdlLmVtaXQodGhpcy5nZXRNb2RlbCgpKTtcbiAgfVxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgKHN1Ym1pdCk9XCJzYXZlKClcIj5cbiAgPGRpdiBjbGFzcz1cImZvcm0tcm93XCI+XG4gICAgPCEtLSBsb2NhdGlvbiAtLT5cbiAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICA8bWF0LXNlbGVjdCBbZm9ybUNvbnRyb2xdPVwibG9jYXRpb25cIiBwbGFjZWhvbGRlcj1cImxvY2F0aW9uXCI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBsIG9mIGxvY2F0aW9uc1wiIFt2YWx1ZV09XCJsXCI+e3sgbCB9fTwvbWF0LW9wdGlvbj5cbiAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAkYW55KGxvY2F0aW9uKS5lcnJvcnM/LnJlcXVpcmVkICYmXG4gICAgICAgICAgKGxvY2F0aW9uLmRpcnR5IHx8IGxvY2F0aW9uLnRvdWNoZWQpXG4gICAgICAgIFwiXG4gICAgICAgID5sb2NhdGlvbiByZXF1aXJlZDwvbWF0LWVycm9yXG4gICAgICA+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgIDwhLS0gbWF0ZXJpYWwgKGJvdW5kKSAtLT5cbiAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJtYXRFbnRyaWVzPy5sZW5ndGhcIiBjbGFzcz1cImZvcm0tY29sXCI+XG4gICAgICA8bWF0LXNlbGVjdCBbZm9ybUNvbnRyb2xdPVwibWF0ZXJpYWxcIiBwbGFjZWhvbGRlcj1cIm1hdGVyaWFsXCI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBlIG9mIG1hdEVudHJpZXNcIiBbdmFsdWVdPVwiZS5pZFwiPnt7XG4gICAgICAgICAgZS52YWx1ZVxuICAgICAgICB9fTwvbWF0LW9wdGlvbj5cbiAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAkYW55KG1hdGVyaWFsKS5lcnJvcnM/LnJlcXVpcmVkICYmXG4gICAgICAgICAgKG1hdGVyaWFsLmRpcnR5IHx8IG1hdGVyaWFsLnRvdWNoZWQpXG4gICAgICAgIFwiXG4gICAgICAgID5tYXRlcmlhbCByZXF1aXJlZDwvbWF0LWVycm9yXG4gICAgICA+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8IS0tIG1hdGVyaWFsIChmcmVlKSAtLT5cbiAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCIhbWF0RW50cmllcz8ubGVuZ3RoXCIgY2xhc3M9XCJmb3JtLWNvbFwiPlxuICAgICAgPGlucHV0IG1hdElucHV0IFtmb3JtQ29udHJvbF09XCJtYXRlcmlhbFwiIHBsYWNlaG9sZGVyPVwibWF0ZXJpYWxcIiAvPlxuICAgICAgPG1hdC1lcnJvclxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICRhbnkobWF0ZXJpYWwpLmVycm9ycz8ucmVxdWlyZWQgJiZcbiAgICAgICAgICAobWF0ZXJpYWwuZGlydHkgfHwgbWF0ZXJpYWwudG91Y2hlZClcbiAgICAgICAgXCJcbiAgICAgICAgPm1hdGVyaWFsIHJlcXVpcmVkPC9tYXQtZXJyb3JcbiAgICAgID5cbiAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAkYW55KG1hdGVyaWFsKS5lcnJvcnM/Lm1heExlbmd0aCAmJlxuICAgICAgICAgIChtYXRlcmlhbC5kaXJ0eSB8fCBtYXRlcmlhbC50b3VjaGVkKVxuICAgICAgICBcIlxuICAgICAgICA+bWF0ZXJpYWwgdG9vIGxvbmc8L21hdC1lcnJvclxuICAgICAgPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwvZGl2PlxuXG4gIDwhLS0gY2hyb25vdG9wZSAtLT5cbiAgPGNhZG11cy1yZWZzLWFzc2VydGVkLWNocm9ub3RvcGVcbiAgICBbdGFnRW50cmllc109XCJjdFRhZ0VudHJpZXNcIlxuICAgIFthc3NUYWdFbnRyaWVzXT1cImFzc1RhZ0VudHJpZXNcIlxuICAgIFtyZWZUYWdFbnRyaWVzXT1cInJlZlRhZ0VudHJpZXNcIlxuICAgIFtyZWZUeXBlRW50cmllc109XCJyZWZUeXBlRW50cmllc1wiXG4gICAgW2Nocm9ub3RvcGVdPVwiaW5pdGlhbENocm9ub3RvcGVcIlxuICAgIChjaHJvbm90b3BlQ2hhbmdlKT1cIm9uQ2hyb25vdG9wZUNoYW5nZSgkZXZlbnQpXCJcbiAgPlxuICA8L2NhZG11cy1yZWZzLWFzc2VydGVkLWNocm9ub3RvcGU+XG5cbiAgPCEtLSBidXR0b25zIC0tPlxuICA8ZGl2PlxuICAgIDxidXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgY29sb3I9XCJ3YXJuXCJcbiAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgbWF0VG9vbHRpcD1cIkRpc2NhcmQgY2hhbmdlc1wiXG4gICAgICAoY2xpY2spPVwiY2FuY2VsKClcIlxuICAgID5cbiAgICAgIDxtYXQtaWNvbj5jbGVhcjwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICBtYXRUb29sdGlwPVwiQWNjZXB0IGNoYW5nZXNcIlxuICAgICAgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZCB8fCBmb3JtLnByaXN0aW5lXCJcbiAgICA+XG4gICAgICA8bWF0LWljb24+Y2hlY2tfY2lyY2xlPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Zvcm0+XG4iXX0=
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
|
|
2
|
+
import { Validators, } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/forms";
|
|
5
|
+
import * as i2 from "@angular/material/icon";
|
|
6
|
+
import * as i3 from "@angular/material/button";
|
|
7
|
+
import * as i4 from "@angular/material/form-field";
|
|
8
|
+
import * as i5 from "@angular/common";
|
|
9
|
+
import * as i6 from "@angular/material/tooltip";
|
|
10
|
+
import * as i7 from "@angular/material/input";
|
|
11
|
+
export class CodLabelCellComponent {
|
|
12
|
+
constructor(formBuilder) {
|
|
13
|
+
this.editMode = 'none';
|
|
14
|
+
this.cellChange = new EventEmitter();
|
|
15
|
+
// form
|
|
16
|
+
this.value = formBuilder.control(null, Validators.maxLength(50));
|
|
17
|
+
this.note = formBuilder.control(null, Validators.maxLength(500));
|
|
18
|
+
this.form = formBuilder.group({
|
|
19
|
+
value: this.value,
|
|
20
|
+
note: this.note,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
get cell() {
|
|
24
|
+
return this._cell;
|
|
25
|
+
}
|
|
26
|
+
set cell(value) {
|
|
27
|
+
this._cell = value;
|
|
28
|
+
this.updateForm(value);
|
|
29
|
+
}
|
|
30
|
+
ngOnInit() {
|
|
31
|
+
if (this._cell) {
|
|
32
|
+
this.updateForm(this._cell);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
editValue() {
|
|
36
|
+
if (this.editMode !== 'none') {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
this.editMode = 'value';
|
|
40
|
+
setTimeout(() => {
|
|
41
|
+
this.valueElement?.nativeElement.focus();
|
|
42
|
+
this.valueElement?.nativeElement.select();
|
|
43
|
+
}, 500);
|
|
44
|
+
}
|
|
45
|
+
editNote() {
|
|
46
|
+
if (this.editMode !== 'none') {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
this.editMode = 'note';
|
|
50
|
+
setTimeout(() => {
|
|
51
|
+
this.noteElement?.nativeElement.focus();
|
|
52
|
+
this.noteElement?.nativeElement.select();
|
|
53
|
+
}, 500);
|
|
54
|
+
}
|
|
55
|
+
updateForm(cell) {
|
|
56
|
+
if (!cell) {
|
|
57
|
+
this.form.reset();
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
this.value.setValue(cell.value);
|
|
61
|
+
this.note.setValue(cell.note);
|
|
62
|
+
}
|
|
63
|
+
getCell() {
|
|
64
|
+
return {
|
|
65
|
+
rowId: this._cell.rowId,
|
|
66
|
+
id: this._cell.id,
|
|
67
|
+
value: this.value.value?.trim(),
|
|
68
|
+
note: this.note.value?.trim(),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
saveEdit() {
|
|
72
|
+
if (this.form.invalid || !this._cell) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
this.editMode = 'none';
|
|
76
|
+
this._cell = this.getCell();
|
|
77
|
+
this.cellChange.emit(this._cell);
|
|
78
|
+
}
|
|
79
|
+
cancelEdit() {
|
|
80
|
+
this.updateForm(this._cell);
|
|
81
|
+
this.editMode = 'none';
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
CodLabelCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: CodLabelCellComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
85
|
+
CodLabelCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: CodLabelCellComponent, selector: "cadmus-cod-label-cell", inputs: { cell: "cell", color: "color" }, outputs: { cellChange: "cellChange" }, viewQueries: [{ propertyName: "valueElement", first: true, predicate: ["valueInput"], descendants: true }, { propertyName: "noteElement", first: true, predicate: ["noteInput"], descendants: true }], ngImport: i0, template: "<div\n *ngIf=\"cell\"\n class=\"cell\"\n [style.background-color]=\"color || 'transparent'\"\n>\n <!-- display -->\n <div\n *ngIf=\"editMode === 'none'\"\n class=\"form-row-center\"\n >\n <span>{{ cell.value }}</span>\n <span *ngIf=\"cell.note\" [matTooltip]=\"cell.note\">\n <mat-icon>description</mat-icon>\n </span>\n <button\n class=\"muted\"\n type=\"button\"\n mat-icon-button\n matTooltip=\"Edit value\"\n color=\"primary\"\n (click)=\"editValue()\"\n >\n <mat-icon>edit</mat-icon>\n </button>\n <button\n class=\"muted\"\n type=\"button\"\n mat-icon-button\n matTooltip=\"Edit note\"\n (click)=\"editNote()\"\n >\n <mat-icon>edit_note</mat-icon>\n </button>\n </div>\n <!-- edit -->\n <form\n [formGroup]=\"form\"\n (submit)=\"saveEdit()\"\n *ngIf=\"editMode !== 'none'\"\n class=\"form-row\"\n >\n <!-- value -->\n <mat-form-field *ngIf=\"editMode === 'value'\">\n <input\n #valueInput\n matInput\n type=\"text\"\n placeholder=\"value\"\n spellcheck=\"false\"\n [formControl]=\"value\"\n (keydown.esc)=\"cancelEdit()\"\n />\n <mat-error\n *ngIf=\"value.hasError('maxLength') && (value.dirty || value.touched)\"\n >value too long</mat-error\n >\n </mat-form-field>\n <!-- note -->\n <mat-form-field *ngIf=\"editMode === 'note'\">\n <input\n #noteInput\n matInput\n type=\"text\"\n placeholder=\"note\"\n [formControl]=\"note\"\n (keydown.esc)=\"cancelEdit()\"\n />\n <mat-error\n *ngIf=\"note.hasError('maxLength') && (note.dirty || note.touched)\"\n >note too long</mat-error\n >\n </mat-form-field>\n\n <button\n type=\"button\"\n mat-icon-button\n matTooltip=\"Discard edit\"\n color=\"warn\"\n (click)=\"cancelEdit()\"\n >\n <mat-icon>clear</mat-icon>\n </button>\n <button\n type=\"submit\"\n [disabled]=\"form.invalid\"\n mat-icon-button\n matTooltip=\"Save edit\"\n color=\"primary\"\n >\n <mat-icon>check_circle</mat-icon>\n </button>\n </form>\n</div>\n", styles: ["div.cell{margin:2px;padding-left:4px;padding-right:4px;border:1px solid transparent;border-radius:4px}div.cell:hover{margin:2px;padding-left:4px;padding-right:4px;border:1px solid gray;border-radius:4px}.form-row{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.form-row *{flex:0 0 auto}.form-row-center{display:flex;gap:4px;align-items:center;justify-content:center;flex-wrap:wrap}.form-row-center *{flex:0 0 auto}.muted{opacity:20%}.muted:hover{opacity:100%}\n"], components: [{ type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { 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"] }, { type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { 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.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i4.MatError, selector: "mat-error", inputs: ["id"] }] });
|
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: CodLabelCellComponent, decorators: [{
|
|
87
|
+
type: Component,
|
|
88
|
+
args: [{ selector: 'cadmus-cod-label-cell', template: "<div\n *ngIf=\"cell\"\n class=\"cell\"\n [style.background-color]=\"color || 'transparent'\"\n>\n <!-- display -->\n <div\n *ngIf=\"editMode === 'none'\"\n class=\"form-row-center\"\n >\n <span>{{ cell.value }}</span>\n <span *ngIf=\"cell.note\" [matTooltip]=\"cell.note\">\n <mat-icon>description</mat-icon>\n </span>\n <button\n class=\"muted\"\n type=\"button\"\n mat-icon-button\n matTooltip=\"Edit value\"\n color=\"primary\"\n (click)=\"editValue()\"\n >\n <mat-icon>edit</mat-icon>\n </button>\n <button\n class=\"muted\"\n type=\"button\"\n mat-icon-button\n matTooltip=\"Edit note\"\n (click)=\"editNote()\"\n >\n <mat-icon>edit_note</mat-icon>\n </button>\n </div>\n <!-- edit -->\n <form\n [formGroup]=\"form\"\n (submit)=\"saveEdit()\"\n *ngIf=\"editMode !== 'none'\"\n class=\"form-row\"\n >\n <!-- value -->\n <mat-form-field *ngIf=\"editMode === 'value'\">\n <input\n #valueInput\n matInput\n type=\"text\"\n placeholder=\"value\"\n spellcheck=\"false\"\n [formControl]=\"value\"\n (keydown.esc)=\"cancelEdit()\"\n />\n <mat-error\n *ngIf=\"value.hasError('maxLength') && (value.dirty || value.touched)\"\n >value too long</mat-error\n >\n </mat-form-field>\n <!-- note -->\n <mat-form-field *ngIf=\"editMode === 'note'\">\n <input\n #noteInput\n matInput\n type=\"text\"\n placeholder=\"note\"\n [formControl]=\"note\"\n (keydown.esc)=\"cancelEdit()\"\n />\n <mat-error\n *ngIf=\"note.hasError('maxLength') && (note.dirty || note.touched)\"\n >note too long</mat-error\n >\n </mat-form-field>\n\n <button\n type=\"button\"\n mat-icon-button\n matTooltip=\"Discard edit\"\n color=\"warn\"\n (click)=\"cancelEdit()\"\n >\n <mat-icon>clear</mat-icon>\n </button>\n <button\n type=\"submit\"\n [disabled]=\"form.invalid\"\n mat-icon-button\n matTooltip=\"Save edit\"\n color=\"primary\"\n >\n <mat-icon>check_circle</mat-icon>\n </button>\n </form>\n</div>\n", styles: ["div.cell{margin:2px;padding-left:4px;padding-right:4px;border:1px solid transparent;border-radius:4px}div.cell:hover{margin:2px;padding-left:4px;padding-right:4px;border:1px solid gray;border-radius:4px}.form-row{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.form-row *{flex:0 0 auto}.form-row-center{display:flex;gap:4px;align-items:center;justify-content:center;flex-wrap:wrap}.form-row-center *{flex:0 0 auto}.muted{opacity:20%}.muted:hover{opacity:100%}\n"] }]
|
|
89
|
+
}], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { cell: [{
|
|
90
|
+
type: Input
|
|
91
|
+
}], color: [{
|
|
92
|
+
type: Input
|
|
93
|
+
}], cellChange: [{
|
|
94
|
+
type: Output
|
|
95
|
+
}], valueElement: [{
|
|
96
|
+
type: ViewChild,
|
|
97
|
+
args: ['valueInput']
|
|
98
|
+
}], noteElement: [{
|
|
99
|
+
type: ViewChild,
|
|
100
|
+
args: ['noteInput']
|
|
101
|
+
}] } });
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLWxhYmVsLWNlbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlybWlkb24vY2FkbXVzLXBhcnQtY29kaWNvbG9neS1zaGVldC1sYWJlbHMvc3JjL2xpYi9jb2QtbGFiZWwtY2VsbC9jb2QtbGFiZWwtY2VsbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJtaWRvbi9jYWRtdXMtcGFydC1jb2RpY29sb2d5LXNoZWV0LWxhYmVscy9zcmMvbGliL2NvZC1sYWJlbC1jZWxsL2NvZC1sYWJlbC1jZWxsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFJTCxVQUFVLEdBQ1gsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7O0FBU3hCLE1BQU0sT0FBTyxxQkFBcUI7SUE0QmhDLFlBQVksV0FBd0I7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztRQUNuRCxPQUFPO1FBQ1AsSUFBSSxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLElBQUksR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLElBQUksR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQzVCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixJQUFJLEVB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QUs7c0JBRFgsS0FBSztnQkFJQyxVQUFVO3NCQURoQixNQUFNO2dCQUlBLFlBQVk7c0JBRGxCLFNBQVM7dUJBQUMsWUFBWTtnQkFHaEIsV0FBVztzQkFEakIsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEZvcm1CdWlsZGVyLFxuICBGb3JtQ29udHJvbCxcbiAgRm9ybUdyb3VwLFxuICBWYWxpZGF0b3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IENvZExhYmVsQ2VsbCB9IGZyb20gJy4uL2xhYmVsLWdlbmVyYXRvcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NhZG11cy1jb2QtbGFiZWwtY2VsbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2QtbGFiZWwtY2VsbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvZC1sYWJlbC1jZWxsLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29kTGFiZWxDZWxsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSBfY2VsbDogQ29kTGFiZWxDZWxsIHwgdW5kZWZpbmVkO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgY2VsbCgpOiBDb2RMYWJlbENlbGwgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9jZWxsO1xuICB9XG4gIHB1YmxpYyBzZXQgY2VsbCh2YWx1ZTogQ29kTGFiZWxDZWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fY2VsbCA9IHZhbHVlO1xuICAgIHRoaXMudXBkYXRlRm9ybSh2YWx1ZSk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgY29sb3I/OiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjZWxsQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q29kTGFiZWxDZWxsPjtcblxuICBAVmlld0NoaWxkKCd2YWx1ZUlucHV0JylcbiAgcHVibGljIHZhbHVlRWxlbWVudD86IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ25vdGVJbnB1dCcpXG4gIHB1YmxpYyBub3RlRWxlbWVudD86IEVsZW1lbnRSZWY7XG5cbiAgcHVibGljIGVkaXRNb2RlOiAnbm9uZScgfCAndmFsdWUnIHwgJ25vdGUnO1xuICBwdWJsaWMgdmFsdWU6IEZvcm1Db250cm9sO1xuICBwdWJsaWMgbm90ZTogRm9ybUNvbnRyb2w7XG4gIHB1YmxpYyBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgY29uc3RydWN0b3IoZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyKSB7XG4gICAgdGhpcy5lZGl0TW9kZSA9ICdub25lJztcbiAgICB0aGlzLmNlbGxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPENvZExhYmVsQ2VsbD4oKTtcbiAgICAvLyBmb3JtXG4gICAgdGhpcy52YWx1ZSA9IGZvcm1CdWlsZGVyLmNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoNTApKTtcbiAgICB0aGlzLm5vdGUgPSBmb3JtQnVpbGRlci5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDUwMCkpO1xuICAgIHRoaXMuZm9ybSA9IGZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIHZhbHVlOiB0aGlzLnZhbHVlLFxuICAgICAgbm90ZTogdGhpcy5ub3RlLFxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2NlbGwpIHtcbiAgICAgIHRoaXMudXBkYXRlRm9ybSh0aGlzLl9jZWxsKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZWRpdFZhbHVlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmVkaXRNb2RlICE9PSAnbm9uZScpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5lZGl0TW9kZSA9ICd2YWx1ZSc7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnZhbHVlRWxlbWVudD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgdGhpcy52YWx1ZUVsZW1lbnQ/Lm5hdGl2ZUVsZW1lbnQuc2VsZWN0KCk7XG4gICAgfSwgNTAwKTtcbiAgfVxuXG4gIHB1YmxpYyBlZGl0Tm90ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5lZGl0TW9kZSAhPT0gJ25vbmUnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZWRpdE1vZGUgPSAnbm90ZSc7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLm5vdGVFbGVtZW50Py5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICB0aGlzLm5vdGVFbGVtZW50Py5uYXRpdmVFbGVtZW50LnNlbGVjdCgpO1xuICAgIH0sIDUwMCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUZvcm0oY2VsbDogQ29kTGFiZWxDZWxsIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgaWYgKCFjZWxsKSB7XG4gICAgICB0aGlzLmZvcm0ucmVzZXQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy52YWx1ZS5zZXRWYWx1ZShjZWxsLnZhbHVlKTtcbiAgICB0aGlzLm5vdGUuc2V0VmFsdWUoY2VsbC5ub3RlKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2VsbCgpOiBDb2RMYWJlbENlbGwge1xuICAgIHJldHVybiB7XG4gICAgICByb3dJZDogdGhpcy5fY2VsbCEucm93SWQsXG4gICAgICBpZDogdGhpcy5fY2VsbCEuaWQsXG4gICAgICB2YWx1ZTogdGhpcy52YWx1ZS52YWx1ZT8udHJpbSgpLFxuICAgICAgbm90ZTogdGhpcy5ub3RlLnZhbHVlPy50cmltKCksXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlRWRpdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQgfHwgIXRoaXMuX2NlbGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5lZGl0TW9kZSA9ICdub25lJztcbiAgICB0aGlzLl9jZWxsID0gdGhpcy5nZXRDZWxsKCk7XG4gICAgdGhpcy5jZWxsQ2hhbmdlLmVtaXQodGhpcy5fY2VsbCk7XG4gIH1cblxuICBwdWJsaWMgY2FuY2VsRWRpdCgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUZvcm0odGhpcy5fY2VsbCk7XG4gICAgdGhpcy5lZGl0TW9kZSA9ICdub25lJztcbiAgfVxufVxuIiwiPGRpdlxuICAqbmdJZj1cImNlbGxcIlxuICBjbGFzcz1cImNlbGxcIlxuICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJjb2xvciB8fCAndHJhbnNwYXJlbnQnXCJcbj5cbiAgPCEtLSBkaXNwbGF5IC0tPlxuICA8ZGl2XG4gICAgKm5nSWY9XCJlZGl0TW9kZSA9PT0gJ25vbmUnXCJcbiAgICBjbGFzcz1cImZvcm0tcm93LWNlbnRlclwiXG4gID5cbiAgICA8c3Bhbj57eyBjZWxsLnZhbHVlIH19PC9zcGFuPlxuICAgIDxzcGFuICpuZ0lmPVwiY2VsbC5ub3RlXCIgW21hdFRvb2x0aXBdPVwiY2VsbC5ub3RlXCI+XG4gICAgICA8bWF0LWljb24+ZGVzY3JpcHRpb248L21hdC1pY29uPlxuICAgIDwvc3Bhbj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cIm11dGVkXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICBtYXRUb29sdGlwPVwiRWRpdCB2YWx1ZVwiXG4gICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgKGNsaWNrKT1cImVkaXRWYWx1ZSgpXCJcbiAgICA+XG4gICAgICA8bWF0LWljb24+ZWRpdDwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJtdXRlZFwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgbWF0VG9vbHRpcD1cIkVkaXQgbm90ZVwiXG4gICAgICAoY2xpY2spPVwiZWRpdE5vdGUoKVwiXG4gICAgPlxuICAgICAgPG1hdC1pY29uPmVkaXRfbm90ZTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICA8IS0tIGVkaXQgLS0+XG4gIDxmb3JtXG4gICAgW2Zvcm1Hcm91cF09XCJmb3JtXCJcbiAgICAoc3VibWl0KT1cInNhdmVFZGl0KClcIlxuICAgICpuZ0lmPVwiZWRpdE1vZGUgIT09ICdub25lJ1wiXG4gICAgY2xhc3M9XCJmb3JtLXJvd1wiXG4gID5cbiAgICA8IS0tIHZhbHVlIC0tPlxuICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImVkaXRNb2RlID09PSAndmFsdWUnXCI+XG4gICAgICA8aW5wdXRcbiAgICAgICAgI3ZhbHVlSW5wdXRcbiAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICBwbGFjZWhvbGRlcj1cInZhbHVlXCJcbiAgICAgICAgc3BlbGxjaGVjaz1cImZhbHNlXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cInZhbHVlXCJcbiAgICAgICAgKGtleWRvd24uZXNjKT1cImNhbmNlbEVkaXQoKVwiXG4gICAgICAvPlxuICAgICAgPG1hdC1lcnJvclxuICAgICAgICAqbmdJZj1cInZhbHVlLmhhc0Vycm9yKCdtYXhMZW5ndGgnKSAmJiAodmFsdWUuZGlydHkgfHwgdmFsdWUudG91Y2hlZClcIlxuICAgICAgICA+dmFsdWUgdG9vIGxvbmc8L21hdC1lcnJvclxuICAgICAgPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPCEtLSBub3RlIC0tPlxuICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImVkaXRNb2RlID09PSAnbm90ZSdcIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICAjbm90ZUlucHV0XG4gICAgICAgIG1hdElucHV0XG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJub3RlXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cIm5vdGVcIlxuICAgICAgICAoa2V5ZG93bi5lc2MpPVwiY2FuY2VsRWRpdCgpXCJcbiAgICAgIC8+XG4gICAgICA8bWF0LWVycm9yXG4gICAgICAgICpuZ0lmPVwibm90ZS5oYXNFcnJvcignbWF4TGVuZ3RoJykgJiYgKG5vdGUuZGlydHkgfHwgbm90ZS50b3VjaGVkKVwiXG4gICAgICAgID5ub3RlIHRvbyBsb25nPC9tYXQtZXJyb3JcbiAgICAgID5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgIG1hdFRvb2x0aXA9XCJEaXNjYXJkIGVkaXRcIlxuICAgICAgY29sb3I9XCJ3YXJuXCJcbiAgICAgIChjbGljayk9XCJjYW5jZWxFZGl0KClcIlxuICAgID5cbiAgICAgIDxtYXQtaWNvbj5jbGVhcjwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICBbZGlzYWJsZWRdPVwiZm9ybS5pbnZhbGlkXCJcbiAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgbWF0VG9vbHRpcD1cIlNhdmUgZWRpdFwiXG4gICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgID5cbiAgICAgIDxtYXQtaWNvbj5jaGVja19jaXJjbGU8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L2Zvcm0+XG48L2Rpdj5cbiJdfQ==
|