@myrmidon/cadmus-part-general-ui 12.0.2 → 14.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/fesm2022/myrmidon-cadmus-part-general-ui.mjs +177 -181
  2. package/fesm2022/myrmidon-cadmus-part-general-ui.mjs.map +1 -1
  3. package/index.d.ts +4038 -3
  4. package/package.json +14 -14
  5. package/lib/asserted-historical-date/asserted-historical-date.component.d.ts +0 -27
  6. package/lib/asserted-historical-dates-part/asserted-historical-dates-part.component.d.ts +0 -41
  7. package/lib/asserted-historical-dates-part.d.ts +0 -167
  8. package/lib/bib-authors-editor/bib-authors-editor.component.d.ts +0 -23
  9. package/lib/bibliography-entry/bibliography-entry.component.d.ts +0 -59
  10. package/lib/bibliography-part/bibliography-part.component.d.ts +0 -41
  11. package/lib/bibliography-part.d.ts +0 -199
  12. package/lib/categories-part/categories-part.component.d.ts +0 -26
  13. package/lib/categories-part.d.ts +0 -60
  14. package/lib/chronology-fragment/chronology-fragment.component.d.ts +0 -30
  15. package/lib/chronology-fragment.d.ts +0 -105
  16. package/lib/chronotopes-part/chronotopes-part.component.d.ts +0 -41
  17. package/lib/chronotopes-part.d.ts +0 -224
  18. package/lib/comment-editor/comment-editor.component.d.ts +0 -75
  19. package/lib/comment-fragment.d.ts +0 -95
  20. package/lib/comment-part.d.ts +0 -190
  21. package/lib/decorated-counts-part/decorated-counts-part.component.d.ts +0 -27
  22. package/lib/decorated-counts-part.d.ts +0 -78
  23. package/lib/district-location-part/district-location-part.component.d.ts +0 -29
  24. package/lib/district-location-part.d.ts +0 -88
  25. package/lib/doc-references-part/doc-references-part.component.d.ts +0 -27
  26. package/lib/doc-references-part.d.ts +0 -78
  27. package/lib/external-ids-part/external-ids-part.component.d.ts +0 -32
  28. package/lib/external-ids-part.d.ts +0 -78
  29. package/lib/historical-date-part/historical-date-part.component.d.ts +0 -26
  30. package/lib/historical-date-part.d.ts +0 -146
  31. package/lib/historical-event-editor/historical-event-editor.component.d.ts +0 -103
  32. package/lib/historical-events-part/historical-events-part.component.d.ts +0 -75
  33. package/lib/historical-events-part.d.ts +0 -405
  34. package/lib/index-keyword/index-keyword.component.d.ts +0 -24
  35. package/lib/index-keywords-part/index-keywords-part.component.d.ts +0 -34
  36. package/lib/index-keywords-part.d.ts +0 -88
  37. package/lib/keywords-part/keywords-part.component.d.ts +0 -30
  38. package/lib/keywords-part.d.ts +0 -73
  39. package/lib/metadata-part/metadata-part.component.d.ts +0 -40
  40. package/lib/metadata-part.d.ts +0 -82
  41. package/lib/names-part/names-part.component.d.ts +0 -52
  42. package/lib/names-part.d.ts +0 -127
  43. package/lib/note-part/note-part.component.d.ts +0 -34
  44. package/lib/note-part.d.ts +0 -61
  45. package/lib/physical-measurements-part/physical-measurements-part.component.d.ts +0 -28
  46. package/lib/physical-measurements-part.d.ts +0 -78
  47. package/lib/physical-states-part/physical-states-part.component.d.ts +0 -39
  48. package/lib/physical-states-part.d.ts +0 -84
  49. package/lib/pin-links-fragment/pin-links-fragment.component.d.ts +0 -41
  50. package/lib/pin-links-fragment.d.ts +0 -111
  51. package/lib/pin-links-part/pin-links-part.component.d.ts +0 -41
  52. package/lib/pin-links-part.d.ts +0 -139
  53. package/lib/related-entity/related-entity.component.d.ts +0 -44
  54. package/lib/text-tile/text-tile.component.d.ts +0 -34
  55. package/lib/tiled-data/tiled-data.component.d.ts +0 -43
  56. package/lib/tiled-text-part/tiled-text-part.component.d.ts +0 -71
  57. package/lib/tiled-text-part.d.ts +0 -127
  58. package/lib/token-text-part/token-text-part.component.d.ts +0 -35
  59. package/lib/token-text-part.d.ts +0 -85
  60. package/public-api.d.ts +0 -55
package/index.d.ts CHANGED
@@ -1,5 +1,4040 @@
1
+ import { Part, ThesaurusEntry, EditedObject, Fragment } from '@myrmidon/cadmus-core';
2
+ import { AssertedDate, AssertedChronotope } from '@myrmidon/cadmus-refs-asserted-chronotope';
3
+ import * as i0 from '@angular/core';
4
+ import { OnInit, OnDestroy, ElementRef } from '@angular/core';
5
+ import { FormControl, FormGroup, FormBuilder, UntypedFormGroup, FormArray } from '@angular/forms';
6
+ import { Assertion } from '@myrmidon/cadmus-refs-assertion';
7
+ import { HistoricalDateModel } from '@myrmidon/cadmus-refs-historical-date';
8
+ import { DialogService } from '@myrmidon/ngx-mat-tools';
9
+ import { AuthJwtService } from '@myrmidon/auth-jwt-login';
10
+ import { ModelEditorComponentBase } from '@myrmidon/cadmus-ui';
11
+ import { AssertedCompositeId, AssertedId } from '@myrmidon/cadmus-refs-asserted-ids';
12
+ import { DocReference } from '@myrmidon/cadmus-refs-doc-references';
13
+ import { CadmusTextEdService, CadmusTextEdBindings } from '@myrmidon/cadmus-text-ed';
14
+ import { DecoratedCount } from '@myrmidon/cadmus-refs-decorated-counts';
15
+ import { ProperName, AssertedProperName } from '@myrmidon/cadmus-refs-proper-name';
16
+ import { PhysicalMeasurement } from '@myrmidon/cadmus-mat-physical-size';
17
+ import { PhysicalState } from '@myrmidon/cadmus-mat-physical-state';
18
+ import { CdkDragDrop } from '@angular/cdk/drag-drop';
19
+
1
20
  /**
2
- * Generated bundle index. Do not edit.
21
+ * The AssertedHistoricalDates part model.
3
22
  */
4
- /// <amd-module name="@myrmidon/cadmus-part-general-ui" />
5
- export * from './public-api';
23
+ interface AssertedHistoricalDatesPart extends Part {
24
+ dates: AssertedDate[];
25
+ }
26
+ /**
27
+ * The type ID used to identify the AssertedHistoricalDatesPart type.
28
+ */
29
+ declare const ASSERTED_HISTORICAL_DATES_PART_TYPEID = "it.vedph.asserted-historical-dates";
30
+ /**
31
+ * JSON schema for the AssertedHistoricalDates part.
32
+ * You can use the JSON schema tool at https://jsonschema.net/.
33
+ */
34
+ declare const ASSERTED_HISTORICAL_DATES_PART_SCHEMA: {
35
+ $schema: string;
36
+ $id: string;
37
+ type: string;
38
+ title: string;
39
+ required: string[];
40
+ properties: {
41
+ timeCreated: {
42
+ type: string;
43
+ pattern: string;
44
+ };
45
+ creatorId: {
46
+ type: string;
47
+ };
48
+ timeModified: {
49
+ type: string;
50
+ pattern: string;
51
+ };
52
+ userId: {
53
+ type: string;
54
+ };
55
+ id: {
56
+ type: string;
57
+ pattern: string;
58
+ };
59
+ itemId: {
60
+ type: string;
61
+ pattern: string;
62
+ };
63
+ typeId: {
64
+ type: string;
65
+ pattern: string;
66
+ };
67
+ roleId: {
68
+ type: string[];
69
+ pattern: string;
70
+ };
71
+ dates: {
72
+ type: string;
73
+ items: {
74
+ anyOf: {
75
+ type: string;
76
+ required: string[];
77
+ properties: {
78
+ tag: {
79
+ type: string;
80
+ };
81
+ a: {
82
+ type: string;
83
+ required: string[];
84
+ properties: {
85
+ value: {
86
+ type: string;
87
+ };
88
+ isCentury: {
89
+ type: string;
90
+ };
91
+ isSpan: {
92
+ type: string;
93
+ };
94
+ isApproximate: {
95
+ type: string;
96
+ };
97
+ isDubious: {
98
+ type: string;
99
+ };
100
+ day: {
101
+ type: string;
102
+ };
103
+ month: {
104
+ type: string;
105
+ };
106
+ hint: {
107
+ type: string[];
108
+ };
109
+ };
110
+ };
111
+ b: {
112
+ type: string;
113
+ required: string[];
114
+ properties: {
115
+ value: {
116
+ type: string;
117
+ };
118
+ isCentury: {
119
+ type: string;
120
+ };
121
+ isSpan: {
122
+ type: string;
123
+ };
124
+ isApproximate: {
125
+ type: string;
126
+ };
127
+ isDubious: {
128
+ type: string;
129
+ };
130
+ day: {
131
+ type: string;
132
+ };
133
+ month: {
134
+ type: string;
135
+ };
136
+ hint: {
137
+ type: string[];
138
+ };
139
+ };
140
+ };
141
+ assertion: {
142
+ type: string;
143
+ required: string[];
144
+ properties: {
145
+ tag: {
146
+ type: string;
147
+ };
148
+ rank: {
149
+ type: string;
150
+ };
151
+ note: {
152
+ type: string;
153
+ };
154
+ references: {
155
+ type: string;
156
+ items: {
157
+ anyOf: {
158
+ type: string;
159
+ required: string[];
160
+ properties: {
161
+ type: {
162
+ type: string;
163
+ };
164
+ tag: {
165
+ type: string;
166
+ };
167
+ citation: {
168
+ type: string;
169
+ };
170
+ note: {
171
+ type: string;
172
+ };
173
+ };
174
+ }[];
175
+ };
176
+ };
177
+ };
178
+ };
179
+ };
180
+ }[];
181
+ };
182
+ };
183
+ };
184
+ };
185
+
186
+ declare class AssertedHistoricalDateComponent {
187
+ readonly date: i0.ModelSignal<AssertedDate | undefined>;
188
+ readonly dateCancel: i0.OutputEmitterRef<void>;
189
+ tag: FormControl<string | null>;
190
+ hd: FormControl<HistoricalDateModel | null>;
191
+ assertion: FormControl<Assertion | null>;
192
+ form: FormGroup;
193
+ tagEntries: i0.InputSignal<ThesaurusEntry[] | undefined>;
194
+ assertionTagEntries: i0.InputSignal<ThesaurusEntry[] | undefined>;
195
+ docReferenceTypeEntries: i0.InputSignal<ThesaurusEntry[] | undefined>;
196
+ docReferenceTagEntries: i0.InputSignal<ThesaurusEntry[] | undefined>;
197
+ constructor(formBuilder: FormBuilder);
198
+ private updateForm;
199
+ private getDate;
200
+ onAssertionChange(assertion: Assertion | undefined): void;
201
+ onDateChange(date?: HistoricalDateModel): void;
202
+ cancel(): void;
203
+ save(): void;
204
+ static ɵfac: i0.ɵɵFactoryDeclaration<AssertedHistoricalDateComponent, never>;
205
+ static ɵcmp: i0.ɵɵComponentDeclaration<AssertedHistoricalDateComponent, "cadmus-asserted-historical-date", never, { "date": { "alias": "date"; "required": false; "isSignal": true; }; "tagEntries": { "alias": "tagEntries"; "required": false; "isSignal": true; }; "assertionTagEntries": { "alias": "assertionTagEntries"; "required": false; "isSignal": true; }; "docReferenceTypeEntries": { "alias": "docReferenceTypeEntries"; "required": false; "isSignal": true; }; "docReferenceTagEntries": { "alias": "docReferenceTagEntries"; "required": false; "isSignal": true; }; }, { "date": "dateChange"; "dateCancel": "dateCancel"; }, never, never, true, never>;
206
+ }
207
+
208
+ /**
209
+ * Asserted historical parts editor.
210
+ * Thesauri: asserted-historical-dates-tags, assertion-tags,
211
+ * doc-reference-types, doc-reference-tags.
212
+ */
213
+ declare class AssertedHistoricalDatesPartComponent extends ModelEditorComponentBase<AssertedHistoricalDatesPart> implements OnInit {
214
+ private _dialogService;
215
+ maxDateCount: number;
216
+ editedIndex: number;
217
+ edited: AssertedDate | undefined;
218
+ tagEntries?: ThesaurusEntry[];
219
+ assertionTagEntries?: ThesaurusEntry[];
220
+ docReferenceTypeEntries?: ThesaurusEntry[];
221
+ docReferenceTagEntries?: ThesaurusEntry[];
222
+ dates: FormControl<AssertedDate[]>;
223
+ constructor(authService: AuthJwtService, formBuilder: FormBuilder, _dialogService: DialogService);
224
+ ngOnInit(): void;
225
+ protected buildForm(formBuilder: FormBuilder): FormGroup | UntypedFormGroup;
226
+ private updateThesauri;
227
+ private updateForm;
228
+ protected onDataSet(data?: EditedObject<AssertedHistoricalDatesPart>): void;
229
+ protected getValue(): AssertedHistoricalDatesPart;
230
+ addDate(): void;
231
+ editDate(entry: AssertedDate, index: number): void;
232
+ closeDate(): void;
233
+ saveDate(entry: AssertedDate): void;
234
+ deleteDate(index: number): void;
235
+ moveDateUp(index: number): void;
236
+ moveDateDown(index: number): void;
237
+ static ɵfac: i0.ɵɵFactoryDeclaration<AssertedHistoricalDatesPartComponent, never>;
238
+ static ɵcmp: i0.ɵɵComponentDeclaration<AssertedHistoricalDatesPartComponent, "cadmus-asserted-historical-dates-part", never, {}, {}, never, never, true, never>;
239
+ }
240
+
241
+ interface Keyword {
242
+ language: string;
243
+ value: string;
244
+ }
245
+ /**
246
+ * The Keywords part model.
247
+ */
248
+ interface KeywordsPart extends Part {
249
+ keywords: Keyword[];
250
+ }
251
+ /**
252
+ * The type ID used to identify the KeywordsPart type.
253
+ */
254
+ declare const KEYWORDS_PART_TYPEID = "it.vedph.keywords";
255
+ /**
256
+ * JSON schema for the Keywords part. This is used in the editor demo.
257
+ * You can use the JSON schema tool at https://jsonschema.net/.
258
+ */
259
+ declare const KEYWORDS_PART_SCHEMA: {
260
+ $schema: string;
261
+ $id: string;
262
+ type: string;
263
+ title: string;
264
+ required: string[];
265
+ properties: {
266
+ timeCreated: {
267
+ type: string;
268
+ pattern: string;
269
+ };
270
+ creatorId: {
271
+ type: string;
272
+ };
273
+ timeModified: {
274
+ type: string;
275
+ pattern: string;
276
+ };
277
+ userId: {
278
+ type: string;
279
+ };
280
+ id: {
281
+ type: string;
282
+ pattern: string;
283
+ };
284
+ itemId: {
285
+ type: string;
286
+ pattern: string;
287
+ };
288
+ typeId: {
289
+ type: string;
290
+ pattern: string;
291
+ };
292
+ roleId: {
293
+ type: string[];
294
+ pattern: string;
295
+ };
296
+ keywords: {
297
+ type: string;
298
+ items: {
299
+ type: string;
300
+ required: string[];
301
+ properties: {
302
+ language: {
303
+ type: string;
304
+ };
305
+ value: {
306
+ type: string;
307
+ };
308
+ };
309
+ };
310
+ };
311
+ };
312
+ };
313
+
314
+ interface BibAuthor {
315
+ firstName?: string;
316
+ lastName: string;
317
+ roleId?: string;
318
+ }
319
+ interface BibEntry {
320
+ key?: string;
321
+ typeId: string;
322
+ tag?: string;
323
+ authors?: BibAuthor[];
324
+ title: string;
325
+ language: string;
326
+ container?: string;
327
+ contributors?: BibAuthor[];
328
+ edition?: number;
329
+ number?: string;
330
+ publisher?: string;
331
+ yearPub?: number;
332
+ placePub?: string;
333
+ location?: string;
334
+ accessDate?: Date;
335
+ firstPage?: number;
336
+ lastPage?: number;
337
+ keywords?: Keyword[];
338
+ note?: string;
339
+ }
340
+ /**
341
+ * The bibliography part model.
342
+ */
343
+ interface BibliographyPart extends Part {
344
+ entries: BibEntry[];
345
+ }
346
+ /**
347
+ * The type ID used to identify the BibliographyPart type.
348
+ */
349
+ declare const BIBLIOGRAPHY_PART_TYPEID = "it.vedph.bibliography";
350
+ /**
351
+ * JSON schema for the Bibliography part. This is used in the editor demo.
352
+ * You can use the JSON schema tool at https://jsonschema.net/.
353
+ */
354
+ declare const BIBLIOGRAPHY_PART_SCHEMA: {
355
+ $schema: string;
356
+ $id: string;
357
+ type: string;
358
+ title: string;
359
+ required: string[];
360
+ properties: {
361
+ timeCreated: {
362
+ type: string;
363
+ pattern: string;
364
+ };
365
+ creatorId: {
366
+ type: string;
367
+ };
368
+ timeModified: {
369
+ type: string;
370
+ pattern: string;
371
+ };
372
+ userId: {
373
+ type: string;
374
+ };
375
+ id: {
376
+ type: string;
377
+ pattern: string;
378
+ };
379
+ itemId: {
380
+ type: string;
381
+ pattern: string;
382
+ };
383
+ key: {
384
+ type: string;
385
+ };
386
+ typeId: {
387
+ type: string;
388
+ pattern: string;
389
+ };
390
+ tag: {
391
+ type: string;
392
+ };
393
+ roleId: {
394
+ type: string[];
395
+ pattern: string;
396
+ };
397
+ entries: {
398
+ type: string;
399
+ items: {
400
+ anyOf: {
401
+ type: string;
402
+ required: string[];
403
+ properties: {
404
+ typeId: {
405
+ type: string;
406
+ pattern: string;
407
+ };
408
+ authors: {
409
+ type: string;
410
+ items: {
411
+ anyOf: {
412
+ type: string;
413
+ required: string[];
414
+ properties: {
415
+ firstName: {
416
+ type: string;
417
+ };
418
+ lastName: {
419
+ type: string;
420
+ };
421
+ roleId: {
422
+ type: string;
423
+ };
424
+ };
425
+ }[];
426
+ };
427
+ };
428
+ title: {
429
+ type: string;
430
+ };
431
+ language: {
432
+ type: string;
433
+ };
434
+ container: {
435
+ type: string;
436
+ };
437
+ contributors: {
438
+ type: string[];
439
+ items: {
440
+ anyOf: {
441
+ type: string;
442
+ required: string[];
443
+ properties: {
444
+ firstName: {
445
+ type: string;
446
+ };
447
+ lastName: {
448
+ type: string;
449
+ };
450
+ roleId: {
451
+ type: string;
452
+ };
453
+ };
454
+ }[];
455
+ };
456
+ };
457
+ edition: {
458
+ type: string;
459
+ };
460
+ number: {
461
+ type: string;
462
+ };
463
+ publisher: {
464
+ type: string;
465
+ };
466
+ yearPub: {
467
+ type: string;
468
+ };
469
+ placePub: {
470
+ type: string;
471
+ };
472
+ location: {
473
+ type: string;
474
+ };
475
+ accessDate: {
476
+ type: string;
477
+ pattern: string;
478
+ };
479
+ firstPage: {
480
+ title: string;
481
+ };
482
+ lastPage: {
483
+ type: string;
484
+ };
485
+ keywords: {
486
+ type: string[];
487
+ items: {
488
+ anyOf: {
489
+ type: string;
490
+ required: string[];
491
+ properties: {
492
+ language: {
493
+ type: string;
494
+ };
495
+ value: {
496
+ type: string;
497
+ };
498
+ };
499
+ }[];
500
+ };
501
+ };
502
+ note: {
503
+ type: string;
504
+ };
505
+ };
506
+ }[];
507
+ };
508
+ };
509
+ };
510
+ };
511
+
512
+ declare class BibAuthorsEditorComponent implements OnInit {
513
+ private _formBuilder;
514
+ readonly parentForm: i0.InputSignal<FormGroup<any>>;
515
+ readonly controlName: i0.InputSignal<string>;
516
+ readonly roleEntries: i0.InputSignal<ThesaurusEntry[] | undefined>;
517
+ authors?: FormArray;
518
+ constructor(_formBuilder: FormBuilder);
519
+ ngOnInit(): void;
520
+ private getAuthorGroup;
521
+ addAuthor(item?: BibAuthor): void;
522
+ addAuthorBelow(index: number): void;
523
+ removeAuthor(index: number): void;
524
+ moveAuthorUp(index: number): void;
525
+ moveAuthorDown(index: number): void;
526
+ clearAuthors(): void;
527
+ static ɵfac: i0.ɵɵFactoryDeclaration<BibAuthorsEditorComponent, never>;
528
+ static ɵcmp: i0.ɵɵComponentDeclaration<BibAuthorsEditorComponent, "cadmus-bib-authors-editor", never, { "parentForm": { "alias": "parentForm"; "required": true; "isSignal": true; }; "controlName": { "alias": "controlName"; "required": false; "isSignal": true; }; "roleEntries": { "alias": "roleEntries"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
529
+ }
530
+
531
+ /**
532
+ * Bibliography entry editor used by BibliographyPartComponent to edit a single
533
+ * entry in the bibliography part.
534
+ */
535
+ declare class BibliographyEntryComponent implements OnInit, OnDestroy {
536
+ private _formBuilder;
537
+ private _sub?;
538
+ readonly entry: i0.ModelSignal<BibEntry | undefined>;
539
+ readonly langEntries: i0.InputSignal<ThesaurusEntry[] | undefined>;
540
+ readonly typeEntries: i0.InputSignal<ThesaurusEntry[] | undefined>;
541
+ readonly tagEntries: i0.InputSignal<ThesaurusEntry[] | undefined>;
542
+ readonly roleEntries: i0.InputSignal<ThesaurusEntry[] | undefined>;
543
+ readonly editorClose: i0.OutputEmitterRef<void>;
544
+ key: FormControl<string | null>;
545
+ type: FormControl<string | null>;
546
+ tag: FormControl<string | null>;
547
+ language: FormControl<string | null>;
548
+ authors: FormArray;
549
+ title: FormControl<string | null>;
550
+ note: FormControl<string | null>;
551
+ contributors: FormArray;
552
+ container: FormControl<string | null>;
553
+ edition: FormControl<number | null>;
554
+ number: FormControl<string | null>;
555
+ publisher: FormControl<string | null>;
556
+ placePub: FormControl<string | null>;
557
+ yearPub: FormControl<number | null>;
558
+ location: FormControl<string | null>;
559
+ accessDate: FormControl<Date | null>;
560
+ firstPage: FormControl<number | null>;
561
+ lastPage: FormControl<number | null>;
562
+ keywords: Keyword[];
563
+ keyLanguage: FormControl<string | null>;
564
+ keyValue: FormControl<string | null>;
565
+ keyForm: FormGroup;
566
+ form: FormGroup;
567
+ constructor(_formBuilder: FormBuilder);
568
+ ngOnInit(): void;
569
+ ngOnDestroy(): void;
570
+ private getAuthorGroup;
571
+ private setAuthors;
572
+ private updateForm;
573
+ private getAuthors;
574
+ private getEntry;
575
+ addKeyword(): void;
576
+ deleteKeyword(index: number): void;
577
+ moveKeywordUp(index: number): void;
578
+ moveKeywordDown(index: number): void;
579
+ cancel(): void;
580
+ save(): void;
581
+ static ɵfac: i0.ɵɵFactoryDeclaration<BibliographyEntryComponent, never>;
582
+ static ɵcmp: i0.ɵɵComponentDeclaration<BibliographyEntryComponent, "cadmus-bibliography-entry", never, { "entry": { "alias": "entry"; "required": false; "isSignal": true; }; "langEntries": { "alias": "langEntries"; "required": false; "isSignal": true; }; "typeEntries": { "alias": "typeEntries"; "required": false; "isSignal": true; }; "tagEntries": { "alias": "tagEntries"; "required": false; "isSignal": true; }; "roleEntries": { "alias": "roleEntries"; "required": false; "isSignal": true; }; }, { "entry": "entryChange"; "editorClose": "editorClose"; }, never, never, true, never>;
583
+ }
584
+
585
+ /**
586
+ * Bibliography part editor.
587
+ * Thesauri: bibliography-languages, bibliography-types (optional),
588
+ * bibliography-tags (optional), bibliography-author-roles (optional).
589
+ */
590
+ declare class BibliographyPartComponent extends ModelEditorComponentBase<BibliographyPart> implements OnInit {
591
+ private _dialogService;
592
+ private _editedEntryIndex;
593
+ editedEntry?: BibEntry;
594
+ langEntries: ThesaurusEntry[] | undefined;
595
+ roleEntries: ThesaurusEntry[] | undefined;
596
+ tagEntries: ThesaurusEntry[] | undefined;
597
+ typeEntries: ThesaurusEntry[] | undefined;
598
+ entries: FormControl<BibEntry[]>;
599
+ constructor(authService: AuthJwtService, formBuilder: FormBuilder, _dialogService: DialogService);
600
+ ngOnInit(): void;
601
+ protected buildForm(formBuilder: FormBuilder): FormGroup | UntypedFormGroup;
602
+ private updateThesauri;
603
+ private updateForm;
604
+ protected onDataSet(data?: EditedObject<BibliographyPart>): void;
605
+ entryTypeToString(id?: string): string;
606
+ protected getValue(): BibliographyPart;
607
+ addEntry(): void;
608
+ editEntry(entry: BibEntry, index: number): void;
609
+ closeEntry(): void;
610
+ saveEntry(entry: BibEntry): void;
611
+ removeEntry(index: number): void;
612
+ moveEntryUp(index: number): void;
613
+ moveEntryDown(index: number): void;
614
+ getAuthors(authors: BibAuthor[]): string;
615
+ static ɵfac: i0.ɵɵFactoryDeclaration<BibliographyPartComponent, never>;
616
+ static ɵcmp: i0.ɵɵComponentDeclaration<BibliographyPartComponent, "cadmus-bibliography-part", never, {}, {}, never, never, true, never>;
617
+ }
618
+
619
+ /**
620
+ * The Categories part model.
621
+ */
622
+ interface CategoriesPart extends Part {
623
+ categories: string[];
624
+ }
625
+ /**
626
+ * The type ID used to identify the CategoriesPart type.
627
+ */
628
+ declare const CATEGORIES_PART_TYPEID = "it.vedph.categories";
629
+ /**
630
+ * JSON schema for the Categories part. This is used in the editor demo.
631
+ * You can use the JSON schema tool at https://jsonschema.net/.
632
+ */
633
+ declare const CATEGORIES_PART_SCHEMA: {
634
+ $schema: string;
635
+ $id: string;
636
+ type: string;
637
+ title: string;
638
+ required: string[];
639
+ properties: {
640
+ timeCreated: {
641
+ type: string;
642
+ pattern: string;
643
+ };
644
+ creatorId: {
645
+ type: string;
646
+ };
647
+ timeModified: {
648
+ type: string;
649
+ pattern: string;
650
+ };
651
+ userId: {
652
+ type: string;
653
+ };
654
+ id: {
655
+ type: string;
656
+ pattern: string;
657
+ };
658
+ itemId: {
659
+ type: string;
660
+ pattern: string;
661
+ };
662
+ typeId: {
663
+ type: string;
664
+ pattern: string;
665
+ };
666
+ roleId: {
667
+ type: string[];
668
+ pattern: string;
669
+ };
670
+ categories: {
671
+ type: string;
672
+ items: {
673
+ type: string;
674
+ };
675
+ };
676
+ };
677
+ };
678
+
679
+ /**
680
+ * Categories component editor.
681
+ * Thesaurus: categories (required).
682
+ */
683
+ declare class CategoriesPartComponent extends ModelEditorComponentBase<CategoriesPart> implements OnInit {
684
+ categories: FormControl<ThesaurusEntry[]>;
685
+ entries?: ThesaurusEntry[];
686
+ constructor(authService: AuthJwtService, formBuilder: FormBuilder);
687
+ ngOnInit(): void;
688
+ protected buildForm(formBuilder: FormBuilder): FormGroup | UntypedFormGroup;
689
+ private updateForm;
690
+ protected getValue(): CategoriesPart;
691
+ protected onDataSet(data?: EditedObject<CategoriesPart>): void;
692
+ onEntryChange(entry: ThesaurusEntry): void;
693
+ removeCategory(index: number): void;
694
+ renderLabel(label: string): string;
695
+ static ɵfac: i0.ɵɵFactoryDeclaration<CategoriesPartComponent, never>;
696
+ static ɵcmp: i0.ɵɵComponentDeclaration<CategoriesPartComponent, "cadmus-categories-part", never, {}, {}, never, never, true, never>;
697
+ }
698
+
699
+ /**
700
+ * The chronology layer fragment server model.
701
+ */
702
+ interface ChronologyFragment extends Fragment {
703
+ date: HistoricalDateModel;
704
+ label?: string;
705
+ tag?: string;
706
+ eventId?: string;
707
+ }
708
+ declare const CHRONOLOGY_FRAGMENT_TYPEID = "fr.it.vedph.chronology";
709
+ declare const CHRONOLOGY_FRAGMENT_SCHEMA: {
710
+ definitions: {};
711
+ $schema: string;
712
+ $id: string;
713
+ type: string;
714
+ title: string;
715
+ required: string[];
716
+ properties: {
717
+ location: {
718
+ $id: string;
719
+ type: string;
720
+ };
721
+ baseText: {
722
+ $id: string;
723
+ type: string;
724
+ };
725
+ date: {
726
+ type: string;
727
+ required: string[];
728
+ properties: {
729
+ a: {
730
+ type: string;
731
+ required: string[];
732
+ properties: {
733
+ value: {
734
+ type: string;
735
+ };
736
+ isCentury: {
737
+ type: string;
738
+ };
739
+ isSpan: {
740
+ type: string;
741
+ };
742
+ isApproximate: {
743
+ type: string;
744
+ };
745
+ isDubious: {
746
+ type: string;
747
+ };
748
+ day: {
749
+ type: string;
750
+ };
751
+ month: {
752
+ type: string;
753
+ };
754
+ hint: {
755
+ type: string[];
756
+ };
757
+ };
758
+ };
759
+ b: {
760
+ type: string;
761
+ required: string[];
762
+ properties: {
763
+ value: {
764
+ type: string;
765
+ };
766
+ isCentury: {
767
+ type: string;
768
+ };
769
+ isSpan: {
770
+ type: string;
771
+ };
772
+ isApproximate: {
773
+ type: string;
774
+ };
775
+ isDubious: {
776
+ type: string;
777
+ };
778
+ day: {
779
+ type: string;
780
+ };
781
+ month: {
782
+ type: string;
783
+ };
784
+ hint: {
785
+ type: string[];
786
+ };
787
+ };
788
+ };
789
+ };
790
+ label: {
791
+ type: string;
792
+ };
793
+ tag: {
794
+ type: string;
795
+ };
796
+ eventId: {
797
+ type: string;
798
+ };
799
+ };
800
+ };
801
+ };
802
+
803
+ /**
804
+ * Chronology fragment editor component.
805
+ * Thesauri: "chronology-tags" when you want to use a closed set of tags.
806
+ */
807
+ declare class ChronologyFragmentComponent extends ModelEditorComponentBase<ChronologyFragment> implements OnInit {
808
+ tagEntries?: ThesaurusEntry[];
809
+ initialDate: HistoricalDateModel | undefined;
810
+ date: FormControl<HistoricalDateModel | null>;
811
+ tag: FormControl<string | null>;
812
+ label: FormControl<string | null>;
813
+ eventId: FormControl<string | null>;
814
+ constructor(authService: AuthJwtService, formBuilder: FormBuilder);
815
+ ngOnInit(): void;
816
+ protected buildForm(formBuilder: FormBuilder): FormGroup | UntypedFormGroup;
817
+ private updateThesauri;
818
+ private updateForm;
819
+ protected onDataSet(data?: EditedObject<ChronologyFragment>): void;
820
+ onDateChange(date: HistoricalDateModel): void;
821
+ protected getValue(): ChronologyFragment;
822
+ static ɵfac: i0.ɵɵFactoryDeclaration<ChronologyFragmentComponent, never>;
823
+ static ɵcmp: i0.ɵɵComponentDeclaration<ChronologyFragmentComponent, "cadmus-chronology-fragment", never, {}, {}, never, never, true, never>;
824
+ }
825
+
826
+ /**
827
+ * The chronotopes part model.
828
+ */
829
+ interface ChronotopesPart extends Part {
830
+ chronotopes: AssertedChronotope[];
831
+ }
832
+ /**
833
+ * The type ID used to identify the ChronotopesPart type.
834
+ */
835
+ declare const CHRONOTOPES_PART_TYPEID = "it.vedph.chronotopes";
836
+ /**
837
+ * JSON schema for the Chronotopes part.
838
+ * You can use the JSON schema tool at https://jsonschema.net/.
839
+ */
840
+ declare const Chronotopes_PART_SCHEMA: {
841
+ $schema: string;
842
+ $id: string;
843
+ type: string;
844
+ title: string;
845
+ required: string[];
846
+ properties: {
847
+ timeCreated: {
848
+ type: string;
849
+ pattern: string;
850
+ };
851
+ creatorId: {
852
+ type: string;
853
+ };
854
+ timeModified: {
855
+ type: string;
856
+ pattern: string;
857
+ };
858
+ userId: {
859
+ type: string;
860
+ };
861
+ id: {
862
+ type: string;
863
+ pattern: string;
864
+ };
865
+ itemId: {
866
+ type: string;
867
+ pattern: string;
868
+ };
869
+ typeId: {
870
+ type: string;
871
+ pattern: string;
872
+ };
873
+ roleId: {
874
+ type: string[];
875
+ pattern: string;
876
+ };
877
+ chronotopes: {
878
+ type: string;
879
+ items: {
880
+ anyOf: {
881
+ type: string;
882
+ properties: {
883
+ chronotope: {
884
+ place: {
885
+ type: string;
886
+ required: string[];
887
+ properties: {
888
+ tag: {
889
+ type: string;
890
+ };
891
+ value: {
892
+ type: string;
893
+ };
894
+ assertion: {
895
+ type: string;
896
+ required: string[];
897
+ properties: {
898
+ tag: {
899
+ type: string;
900
+ };
901
+ rank: {
902
+ type: string;
903
+ };
904
+ note: {
905
+ type: string;
906
+ };
907
+ references: {
908
+ type: string;
909
+ items: {
910
+ anyOf: {
911
+ type: string;
912
+ required: string[];
913
+ properties: {
914
+ type: {
915
+ type: string;
916
+ };
917
+ tag: {
918
+ type: string;
919
+ };
920
+ citation: {
921
+ type: string;
922
+ };
923
+ note: {
924
+ type: string;
925
+ };
926
+ };
927
+ }[];
928
+ };
929
+ };
930
+ };
931
+ };
932
+ };
933
+ };
934
+ date: {
935
+ type: string;
936
+ required: string[];
937
+ properties: {
938
+ tag: {
939
+ type: string;
940
+ };
941
+ a: {
942
+ type: string;
943
+ required: string[];
944
+ properties: {
945
+ value: {
946
+ type: string;
947
+ };
948
+ isCentury: {
949
+ type: string;
950
+ };
951
+ isSpan: {
952
+ type: string;
953
+ };
954
+ isApproximate: {
955
+ type: string;
956
+ };
957
+ isDubious: {
958
+ type: string;
959
+ };
960
+ day: {
961
+ type: string;
962
+ };
963
+ month: {
964
+ type: string;
965
+ };
966
+ hint: {
967
+ type: string[];
968
+ };
969
+ };
970
+ };
971
+ b: {
972
+ type: string;
973
+ required: string[];
974
+ properties: {
975
+ value: {
976
+ type: string;
977
+ };
978
+ isCentury: {
979
+ type: string;
980
+ };
981
+ isSpan: {
982
+ type: string;
983
+ };
984
+ isApproximate: {
985
+ type: string;
986
+ };
987
+ isDubious: {
988
+ type: string;
989
+ };
990
+ day: {
991
+ type: string;
992
+ };
993
+ month: {
994
+ type: string;
995
+ };
996
+ hint: {
997
+ type: string[];
998
+ };
999
+ };
1000
+ };
1001
+ assertion: {
1002
+ type: string;
1003
+ required: string[];
1004
+ properties: {
1005
+ tag: {
1006
+ type: string;
1007
+ };
1008
+ rank: {
1009
+ type: string;
1010
+ };
1011
+ note: {
1012
+ type: string;
1013
+ };
1014
+ references: {
1015
+ type: string;
1016
+ items: {
1017
+ anyOf: {
1018
+ type: string;
1019
+ required: string[];
1020
+ properties: {
1021
+ type: {
1022
+ type: string;
1023
+ };
1024
+ tag: {
1025
+ type: string;
1026
+ };
1027
+ citation: {
1028
+ type: string;
1029
+ };
1030
+ note: {
1031
+ type: string;
1032
+ };
1033
+ };
1034
+ }[];
1035
+ };
1036
+ };
1037
+ };
1038
+ };
1039
+ };
1040
+ };
1041
+ };
1042
+ };
1043
+ }[];
1044
+ };
1045
+ };
1046
+ };
1047
+ };
1048
+
1049
+ /**
1050
+ * Chronotopes part editor component.
1051
+ * Thesauri: chronotope-place-tags, chronotope-assertion-tags,
1052
+ * doc-reference-types, doc-reference-tags (all optional).
1053
+ */
1054
+ declare class ChronotopesPartComponent extends ModelEditorComponentBase<ChronotopesPart> implements OnInit {
1055
+ private _dialogService;
1056
+ private _editedChronotopeIndex;
1057
+ editedChronotope: AssertedChronotope | undefined;
1058
+ tagEntries: ThesaurusEntry[] | undefined;
1059
+ assTagEntries?: ThesaurusEntry[];
1060
+ refTypeEntries: ThesaurusEntry[] | undefined;
1061
+ refTagEntries: ThesaurusEntry[] | undefined;
1062
+ chronotopes: FormControl<AssertedChronotope[]>;
1063
+ constructor(authService: AuthJwtService, formBuilder: FormBuilder, _dialogService: DialogService);
1064
+ ngOnInit(): void;
1065
+ protected buildForm(formBuilder: FormBuilder): FormGroup | UntypedFormGroup;
1066
+ private updateThesauri;
1067
+ private updateForm;
1068
+ protected onDataSet(data?: EditedObject<ChronotopesPart>): void;
1069
+ protected getValue(): ChronotopesPart;
1070
+ addChronotope(): void;
1071
+ editChronotope(chronotope: AssertedChronotope, index: number): void;
1072
+ onChronotopeChange(chronotope: AssertedChronotope): void;
1073
+ saveChronotope(): void;
1074
+ closeChronotope(): void;
1075
+ deleteChronotope(index: number): void;
1076
+ moveChronotopeUp(index: number): void;
1077
+ moveChronotopeDown(index: number): void;
1078
+ static ɵfac: i0.ɵɵFactoryDeclaration<ChronotopesPartComponent, never>;
1079
+ static ɵcmp: i0.ɵɵComponentDeclaration<ChronotopesPartComponent, "cadmus-chronotopes-part", never, {}, {}, never, never, true, never>;
1080
+ }
1081
+
1082
+ /**
1083
+ * Index keyword.
1084
+ */
1085
+ interface IndexKeyword {
1086
+ indexId?: string;
1087
+ language: string;
1088
+ value: string;
1089
+ note?: string;
1090
+ tag?: string;
1091
+ }
1092
+ /**
1093
+ * Index keywords part.
1094
+ */
1095
+ interface IndexKeywordsPart extends Part {
1096
+ keywords: IndexKeyword[];
1097
+ }
1098
+ /**
1099
+ * The type ID used to identify the IndexKeywordsPart type.
1100
+ */
1101
+ declare const INDEX_KEYWORDS_PART_TYPEID = "it.vedph.index-keywords";
1102
+ /**
1103
+ * JSON schema for the index keywords part. This is used in the editor demo.
1104
+ * You can use the JSON schema tool at https://jsonschema.net/.
1105
+ */
1106
+ declare const INDEX_KEYWORDS_PART_SCHEMA: {
1107
+ $schema: string;
1108
+ $id: string;
1109
+ type: string;
1110
+ title: string;
1111
+ required: string[];
1112
+ properties: {
1113
+ timeCreated: {
1114
+ type: string;
1115
+ pattern: string;
1116
+ };
1117
+ creatorId: {
1118
+ type: string;
1119
+ };
1120
+ timeModified: {
1121
+ type: string;
1122
+ pattern: string;
1123
+ };
1124
+ userId: {
1125
+ type: string;
1126
+ };
1127
+ id: {
1128
+ type: string;
1129
+ pattern: string;
1130
+ };
1131
+ itemId: {
1132
+ type: string;
1133
+ pattern: string;
1134
+ };
1135
+ typeId: {
1136
+ type: string;
1137
+ pattern: string;
1138
+ };
1139
+ roleId: {
1140
+ type: string[];
1141
+ pattern: string;
1142
+ };
1143
+ keywords: {
1144
+ type: string;
1145
+ items: {
1146
+ type: string;
1147
+ required: string[];
1148
+ properties: {
1149
+ indexId: {
1150
+ type: string;
1151
+ };
1152
+ language: {
1153
+ type: string;
1154
+ };
1155
+ value: {
1156
+ type: string;
1157
+ };
1158
+ note: {
1159
+ type: string;
1160
+ };
1161
+ tag: {
1162
+ type: string;
1163
+ };
1164
+ };
1165
+ };
1166
+ };
1167
+ };
1168
+ };
1169
+
1170
+ /**
1171
+ * A comment.
1172
+ */
1173
+ interface Comment {
1174
+ tag?: string;
1175
+ text: string;
1176
+ references?: DocReference[];
1177
+ links?: AssertedCompositeId[];
1178
+ categories?: string[];
1179
+ keywords?: IndexKeyword[];
1180
+ }
1181
+ /**
1182
+ * The Comment part model.
1183
+ */
1184
+ interface CommentPart extends Part, Comment {
1185
+ }
1186
+ /**
1187
+ * The type ID used to identify the CommentPart type.
1188
+ */
1189
+ declare const COMMENT_PART_TYPEID = "it.vedph.comment";
1190
+ /**
1191
+ * JSON schema for the Comment part. This is used in the editor demo.
1192
+ * You can use the JSON schema tool at https://jsonschema.net/.
1193
+ */
1194
+ declare const COMMENT_PART_SCHEMA: {
1195
+ $schema: string;
1196
+ $id: string;
1197
+ type: string;
1198
+ title: string;
1199
+ required: string[];
1200
+ properties: {
1201
+ location: {
1202
+ $id: string;
1203
+ type: string;
1204
+ };
1205
+ baseText: {
1206
+ $id: string;
1207
+ type: string;
1208
+ };
1209
+ text: {
1210
+ type: string;
1211
+ };
1212
+ tag: {
1213
+ type: string[];
1214
+ };
1215
+ references: {
1216
+ type: string;
1217
+ items: {
1218
+ anyOf: {
1219
+ type: string;
1220
+ required: string[];
1221
+ properties: {
1222
+ type: {
1223
+ type: string;
1224
+ };
1225
+ tag: {
1226
+ type: string;
1227
+ };
1228
+ citation: {
1229
+ type: string;
1230
+ };
1231
+ note: {
1232
+ type: string;
1233
+ };
1234
+ };
1235
+ }[];
1236
+ };
1237
+ };
1238
+ links: {
1239
+ type: string;
1240
+ items: {
1241
+ type: string;
1242
+ default: {};
1243
+ required: string[];
1244
+ properties: {
1245
+ target: {
1246
+ type: string;
1247
+ required: string[];
1248
+ properties: {
1249
+ gid: {
1250
+ type: string;
1251
+ };
1252
+ label: {
1253
+ type: string;
1254
+ };
1255
+ itemId: {
1256
+ type: string;
1257
+ };
1258
+ partId: {
1259
+ type: string;
1260
+ };
1261
+ partTypeId: {
1262
+ type: string;
1263
+ };
1264
+ roleId: {
1265
+ type: string;
1266
+ };
1267
+ name: {
1268
+ type: string;
1269
+ };
1270
+ value: {
1271
+ type: string;
1272
+ };
1273
+ };
1274
+ };
1275
+ scope: {
1276
+ type: string;
1277
+ };
1278
+ tag: {
1279
+ type: string;
1280
+ };
1281
+ assertion: {
1282
+ type: string;
1283
+ required: string[];
1284
+ properties: {
1285
+ tag: {
1286
+ type: string;
1287
+ };
1288
+ rank: {
1289
+ type: string;
1290
+ };
1291
+ note: {
1292
+ type: string;
1293
+ };
1294
+ references: {
1295
+ type: string;
1296
+ items: {
1297
+ anyOf: {
1298
+ type: string;
1299
+ required: string[];
1300
+ properties: {
1301
+ type: {
1302
+ type: string;
1303
+ };
1304
+ tag: {
1305
+ type: string;
1306
+ };
1307
+ citation: {
1308
+ type: string;
1309
+ };
1310
+ note: {
1311
+ type: string;
1312
+ };
1313
+ };
1314
+ }[];
1315
+ };
1316
+ };
1317
+ };
1318
+ };
1319
+ };
1320
+ };
1321
+ };
1322
+ categories: {
1323
+ type: string;
1324
+ items: {
1325
+ anyOf: {
1326
+ type: string;
1327
+ }[];
1328
+ };
1329
+ };
1330
+ keywords: {
1331
+ type: string;
1332
+ items: {
1333
+ type: string;
1334
+ required: string[];
1335
+ properties: {
1336
+ indexId: {
1337
+ type: string;
1338
+ };
1339
+ language: {
1340
+ type: string;
1341
+ };
1342
+ value: {
1343
+ type: string;
1344
+ };
1345
+ note: {
1346
+ type: string;
1347
+ };
1348
+ tag: {
1349
+ type: string;
1350
+ };
1351
+ };
1352
+ };
1353
+ };
1354
+ };
1355
+ };
1356
+
1357
+ /**
1358
+ * The comment layer fragment server model.
1359
+ */
1360
+ interface CommentFragment extends Fragment, Comment {
1361
+ }
1362
+ declare const COMMENT_FRAGMENT_TYPEID = "fr.it.vedph.comment";
1363
+ declare const COMMENT_FRAGMENT_SCHEMA: {
1364
+ definitions: {};
1365
+ $schema: string;
1366
+ $id: string;
1367
+ type: string;
1368
+ title: string;
1369
+ required: string[];
1370
+ properties: {
1371
+ location: {
1372
+ $id: string;
1373
+ type: string;
1374
+ };
1375
+ baseText: {
1376
+ $id: string;
1377
+ type: string;
1378
+ };
1379
+ text: {
1380
+ type: string;
1381
+ };
1382
+ tag: {
1383
+ type: string[];
1384
+ };
1385
+ references: {
1386
+ type: string;
1387
+ items: {
1388
+ anyOf: {
1389
+ type: string;
1390
+ required: string[];
1391
+ properties: {
1392
+ type: {
1393
+ type: string;
1394
+ };
1395
+ tag: {
1396
+ type: string;
1397
+ };
1398
+ citation: {
1399
+ type: string;
1400
+ };
1401
+ note: {
1402
+ type: string;
1403
+ };
1404
+ };
1405
+ }[];
1406
+ };
1407
+ };
1408
+ externalIds: {
1409
+ type: string;
1410
+ items: {
1411
+ anyOf: {
1412
+ type: string;
1413
+ }[];
1414
+ };
1415
+ };
1416
+ categories: {
1417
+ type: string;
1418
+ items: {
1419
+ anyOf: {
1420
+ type: string;
1421
+ }[];
1422
+ };
1423
+ };
1424
+ keywords: {
1425
+ type: string;
1426
+ items: {
1427
+ type: string;
1428
+ required: string[];
1429
+ properties: {
1430
+ indexId: {
1431
+ type: string;
1432
+ };
1433
+ language: {
1434
+ type: string;
1435
+ };
1436
+ value: {
1437
+ type: string;
1438
+ };
1439
+ note: {
1440
+ type: string;
1441
+ };
1442
+ tag: {
1443
+ type: string;
1444
+ };
1445
+ };
1446
+ };
1447
+ };
1448
+ };
1449
+ };
1450
+
1451
+ /**
1452
+ * Comment part/fragment editor component.
1453
+ * Thesauri: comment-tags, doc-reference-tags, doc-reference-types, comment-categories,
1454
+ * languages, keyword-indexes, keyword-tags, comment-id-scopes, comment-id-tags,
1455
+ * assertion-tags, pin-link-settings.
1456
+ */
1457
+ declare class CommentEditorComponent extends ModelEditorComponentBase<CommentPart | CommentFragment> implements OnInit, OnDestroy {
1458
+ private _editService;
1459
+ private _editorBindings?;
1460
+ private readonly _disposables;
1461
+ private _editorModel?;
1462
+ private _editor?;
1463
+ tag: FormControl<string | null>;
1464
+ text: FormControl<string | null>;
1465
+ references: FormControl<DocReference[]>;
1466
+ links: FormControl<AssertedCompositeId[]>;
1467
+ categories: FormControl<ThesaurusEntry[]>;
1468
+ keywords: FormArray;
1469
+ comTagEntries: ThesaurusEntry[] | undefined;
1470
+ refTagEntries: ThesaurusEntry[] | undefined;
1471
+ refTypeEntries: ThesaurusEntry[] | undefined;
1472
+ catEntries: ThesaurusEntry[] | undefined;
1473
+ langEntries: ThesaurusEntry[] | undefined;
1474
+ idxEntries: ThesaurusEntry[] | undefined;
1475
+ keyTagEntries: ThesaurusEntry[] | undefined;
1476
+ idScopeEntries: ThesaurusEntry[] | undefined;
1477
+ idTagEntries: ThesaurusEntry[] | undefined;
1478
+ assTagEntries: ThesaurusEntry[] | undefined;
1479
+ setTagEntries?: ThesaurusEntry[];
1480
+ pinByTypeMode?: boolean;
1481
+ canSwitchMode?: boolean;
1482
+ canEditTarget?: boolean;
1483
+ constructor(authService: AuthJwtService, formBuilder: FormBuilder, _editService: CadmusTextEdService, _editorBindings?: CadmusTextEdBindings | undefined);
1484
+ ngOnInit(): void;
1485
+ ngOnDestroy(): void;
1486
+ private applyEdit;
1487
+ onCreateEditor(editor: monaco.editor.IEditor): void;
1488
+ protected buildForm(formBuilder: FormBuilder): FormGroup | UntypedFormGroup;
1489
+ /**
1490
+ * Load settings from thesaurus entries.
1491
+ *
1492
+ * @param entries The thesaurus entries if any.
1493
+ */
1494
+ private loadSettings;
1495
+ private updateThesauri;
1496
+ private updateForm;
1497
+ protected onDataSet(data?: EditedObject<CommentPart | CommentFragment>): void;
1498
+ private updateComment;
1499
+ protected getValue(): CommentPart | CommentFragment;
1500
+ onReferencesChange(references: DocReference[]): void;
1501
+ onIdsChange(ids: AssertedCompositeId[]): void;
1502
+ onCategoryChange(entry: ThesaurusEntry): void;
1503
+ removeCategory(index: number): void;
1504
+ renderLabel(label: string): string;
1505
+ private getKeywordGroup;
1506
+ addKeyword(keyword?: IndexKeyword): void;
1507
+ removeKeyword(index: number): void;
1508
+ moveKeywordUp(index: number): void;
1509
+ moveKeywordDown(index: number): void;
1510
+ private getKeywords;
1511
+ static ɵfac: i0.ɵɵFactoryDeclaration<CommentEditorComponent, [null, null, null, { optional: true; }]>;
1512
+ static ɵcmp: i0.ɵɵComponentDeclaration<CommentEditorComponent, "cadmus-comment-editor", never, {}, {}, never, never, true, never>;
1513
+ }
1514
+
1515
+ /**
1516
+ * The DecoratedCounts part model.
1517
+ */
1518
+ interface DecoratedCountsPart extends Part {
1519
+ counts: DecoratedCount[];
1520
+ }
1521
+ /**
1522
+ * The type ID used to identify the DecoratedCountsPart type.
1523
+ */
1524
+ declare const DECORATED_COUNTS_PART_TYPEID = "it.vedph.decorated-counts";
1525
+ /**
1526
+ * JSON schema for the DecoratedCounts part.
1527
+ * You can use the JSON schema tool at https://jsonschema.net/.
1528
+ */
1529
+ declare const DECORATED_COUNTS_PART_SCHEMA: {
1530
+ $schema: string;
1531
+ $id: string;
1532
+ type: string;
1533
+ title: string;
1534
+ required: string[];
1535
+ properties: {
1536
+ timeCreated: {
1537
+ type: string;
1538
+ pattern: string;
1539
+ };
1540
+ creatorId: {
1541
+ type: string;
1542
+ };
1543
+ timeModified: {
1544
+ type: string;
1545
+ pattern: string;
1546
+ };
1547
+ userId: {
1548
+ type: string;
1549
+ };
1550
+ id: {
1551
+ type: string;
1552
+ pattern: string;
1553
+ };
1554
+ itemId: {
1555
+ type: string;
1556
+ pattern: string;
1557
+ };
1558
+ typeId: {
1559
+ type: string;
1560
+ pattern: string;
1561
+ };
1562
+ roleId: {
1563
+ type: string[];
1564
+ pattern: string;
1565
+ };
1566
+ counts: {
1567
+ type: string;
1568
+ items: {
1569
+ anyOf: {
1570
+ type: string;
1571
+ required: string[];
1572
+ properties: {
1573
+ id: {
1574
+ type: string;
1575
+ };
1576
+ tag: {
1577
+ type: string;
1578
+ };
1579
+ value: {
1580
+ type: string;
1581
+ };
1582
+ note: {
1583
+ type: string;
1584
+ };
1585
+ };
1586
+ }[];
1587
+ };
1588
+ };
1589
+ };
1590
+ };
1591
+
1592
+ /**
1593
+ * Decorated counts part editor component.
1594
+ * Thesauri: decorated-count-ids, decorated-count-tags (all optional).
1595
+ */
1596
+ declare class DecoratedCountsPartComponent extends ModelEditorComponentBase<DecoratedCountsPart> implements OnInit {
1597
+ counts: FormControl<DecoratedCount[]>;
1598
+ idEntries: ThesaurusEntry[] | undefined;
1599
+ tagEntries: ThesaurusEntry[] | undefined;
1600
+ constructor(authService: AuthJwtService, formBuilder: FormBuilder);
1601
+ ngOnInit(): void;
1602
+ protected buildForm(formBuilder: FormBuilder): FormGroup | UntypedFormGroup;
1603
+ private updateThesauri;
1604
+ private updateForm;
1605
+ protected onDataSet(data?: EditedObject<DecoratedCountsPart>): void;
1606
+ protected getValue(): DecoratedCountsPart;
1607
+ onCountsChange(counts: DecoratedCount[]): void;
1608
+ static ɵfac: i0.ɵɵFactoryDeclaration<DecoratedCountsPartComponent, never>;
1609
+ static ɵcmp: i0.ɵɵComponentDeclaration<DecoratedCountsPartComponent, "cadmus-decorated-counts-part", never, {}, {}, never, never, true, never>;
1610
+ }
1611
+
1612
+ /**
1613
+ * The DistrictLocation part model.
1614
+ */
1615
+ interface DistrictLocationPart extends Part {
1616
+ place: ProperName;
1617
+ note?: string;
1618
+ }
1619
+ /**
1620
+ * The type ID used to identify the DistrictLocationPart type.
1621
+ */
1622
+ declare const DISTRICT_LOCATION_PART_TYPEID = "it.vedph.district-location";
1623
+ /**
1624
+ * JSON schema for the DistrictLocation part.
1625
+ * You can use the JSON schema tool at https://jsonschema.net/.
1626
+ */
1627
+ declare const DISTRICT_LOCATION_PART_SCHEMA: {
1628
+ $schema: string;
1629
+ $id: string;
1630
+ type: string;
1631
+ title: string;
1632
+ required: string[];
1633
+ properties: {
1634
+ timeCreated: {
1635
+ type: string;
1636
+ pattern: string;
1637
+ };
1638
+ creatorId: {
1639
+ type: string;
1640
+ };
1641
+ timeModified: {
1642
+ type: string;
1643
+ pattern: string;
1644
+ };
1645
+ userId: {
1646
+ type: string;
1647
+ };
1648
+ id: {
1649
+ type: string;
1650
+ pattern: string;
1651
+ };
1652
+ itemId: {
1653
+ type: string;
1654
+ pattern: string;
1655
+ };
1656
+ typeId: {
1657
+ type: string;
1658
+ pattern: string;
1659
+ };
1660
+ roleId: {
1661
+ type: string[];
1662
+ pattern: string;
1663
+ };
1664
+ place: {
1665
+ type: string;
1666
+ required: string[];
1667
+ properties: {
1668
+ language: {
1669
+ type: string;
1670
+ };
1671
+ tag: {
1672
+ type: string;
1673
+ };
1674
+ pieces: {
1675
+ type: string;
1676
+ items: {
1677
+ anyOf: {
1678
+ type: string;
1679
+ required: string[];
1680
+ properties: {
1681
+ type: {
1682
+ type: string;
1683
+ };
1684
+ value: {
1685
+ type: string;
1686
+ };
1687
+ };
1688
+ }[];
1689
+ };
1690
+ };
1691
+ note: {
1692
+ type: string;
1693
+ };
1694
+ };
1695
+ };
1696
+ };
1697
+ };
1698
+
1699
+ /**
1700
+ * DistrictLocation part editor component.
1701
+ * Thesauri: district-name-piece-types (required), district-name-lang-entries.
1702
+ */
1703
+ declare class DistrictLocationPartComponent extends ModelEditorComponentBase<DistrictLocationPart> implements OnInit {
1704
+ place: FormControl<ProperName | null>;
1705
+ note: FormControl<string | null>;
1706
+ initialName?: ProperName | null;
1707
+ typeEntries?: ThesaurusEntry[];
1708
+ langEntries?: ThesaurusEntry[];
1709
+ constructor(authService: AuthJwtService, formBuilder: FormBuilder);
1710
+ ngOnInit(): void;
1711
+ protected buildForm(formBuilder: FormBuilder): FormGroup | UntypedFormGroup;
1712
+ private updateThesauri;
1713
+ private updateForm;
1714
+ onNameChange(name: ProperName | undefined): void;
1715
+ protected onDataSet(data?: EditedObject<DistrictLocationPart>): void;
1716
+ protected getValue(): DistrictLocationPart;
1717
+ static ɵfac: i0.ɵɵFactoryDeclaration<DistrictLocationPartComponent, never>;
1718
+ static ɵcmp: i0.ɵɵComponentDeclaration<DistrictLocationPartComponent, "cadmus-district-location-part", never, {}, {}, never, never, true, never>;
1719
+ }
1720
+
1721
+ /**
1722
+ * The document references part model.
1723
+ */
1724
+ interface DocReferencesPart extends Part {
1725
+ references: DocReference[];
1726
+ }
1727
+ /**
1728
+ * The type ID used to identify the DocReferencesPart type.
1729
+ */
1730
+ declare const DOC_REFERENCES_PART_TYPEID = "it.vedph.doc-references";
1731
+ /**
1732
+ * JSON schema for the DocReferences part. This is used in the editor demo.
1733
+ * You can use the JSON schema tool at https://jsonschema.net/.
1734
+ */
1735
+ declare const DOC_REFERENCES_PART_SCHEMA: {
1736
+ $schema: string;
1737
+ $id: string;
1738
+ type: string;
1739
+ title: string;
1740
+ required: string[];
1741
+ properties: {
1742
+ timeCreated: {
1743
+ type: string;
1744
+ pattern: string;
1745
+ };
1746
+ creatorId: {
1747
+ type: string;
1748
+ };
1749
+ timeModified: {
1750
+ type: string;
1751
+ pattern: string;
1752
+ };
1753
+ userId: {
1754
+ type: string;
1755
+ };
1756
+ id: {
1757
+ type: string;
1758
+ pattern: string;
1759
+ };
1760
+ itemId: {
1761
+ type: string;
1762
+ pattern: string;
1763
+ };
1764
+ typeId: {
1765
+ type: string;
1766
+ pattern: string;
1767
+ };
1768
+ roleId: {
1769
+ type: string[];
1770
+ pattern: string;
1771
+ };
1772
+ references: {
1773
+ type: string;
1774
+ items: {
1775
+ anyOf: {
1776
+ type: string;
1777
+ required: string[];
1778
+ properties: {
1779
+ type: {
1780
+ type: string;
1781
+ };
1782
+ tag: {
1783
+ type: string;
1784
+ };
1785
+ citation: {
1786
+ type: string;
1787
+ };
1788
+ note: {
1789
+ type: string;
1790
+ };
1791
+ };
1792
+ }[];
1793
+ };
1794
+ };
1795
+ };
1796
+ };
1797
+
1798
+ /**
1799
+ * Document references part editor.
1800
+ * Thesauri: doc-reference-tags, doc-reference-types (all optional).
1801
+ */
1802
+ declare class DocReferencesPartComponent extends ModelEditorComponentBase<DocReferencesPart> implements OnInit {
1803
+ references: FormControl<DocReference[]>;
1804
+ typeEntries: ThesaurusEntry[] | undefined;
1805
+ tagEntries: ThesaurusEntry[] | undefined;
1806
+ constructor(authService: AuthJwtService, formBuilder: FormBuilder);
1807
+ ngOnInit(): void;
1808
+ protected buildForm(formBuilder: FormBuilder): FormGroup | UntypedFormGroup;
1809
+ private updateThesauri;
1810
+ private updateForm;
1811
+ protected onDataSet(data?: EditedObject<DocReferencesPart>): void;
1812
+ protected getValue(): DocReferencesPart;
1813
+ onReferencesChange(references: DocReference[]): void;
1814
+ static ɵfac: i0.ɵɵFactoryDeclaration<DocReferencesPartComponent, never>;
1815
+ static ɵcmp: i0.ɵɵComponentDeclaration<DocReferencesPartComponent, "cadmus-doc-references-part", never, {}, {}, never, never, true, never>;
1816
+ }
1817
+
1818
+ /**
1819
+ * The external ids part model.
1820
+ */
1821
+ interface ExternalIdsPart extends Part {
1822
+ ids: AssertedId[];
1823
+ }
1824
+ /**
1825
+ * The type ID used to identify the ExternalIdsPart type.
1826
+ */
1827
+ declare const EXTERNAL_IDS_PART_TYPEID = "it.vedph.external-ids";
1828
+ /**
1829
+ * JSON schema for the external IDs part. This is used in the editor demo.
1830
+ * You can use the JSON schema tool at https://jsonschema.net/.
1831
+ */
1832
+ declare const EXTERNAL_IDS_PART_SCHEMA: {
1833
+ $schema: string;
1834
+ $id: string;
1835
+ type: string;
1836
+ title: string;
1837
+ required: string[];
1838
+ properties: {
1839
+ timeCreated: {
1840
+ type: string;
1841
+ pattern: string;
1842
+ };
1843
+ creatorId: {
1844
+ type: string;
1845
+ };
1846
+ timeModified: {
1847
+ type: string;
1848
+ pattern: string;
1849
+ };
1850
+ userId: {
1851
+ type: string;
1852
+ };
1853
+ id: {
1854
+ type: string;
1855
+ pattern: string;
1856
+ };
1857
+ itemId: {
1858
+ type: string;
1859
+ pattern: string;
1860
+ };
1861
+ typeId: {
1862
+ type: string;
1863
+ pattern: string;
1864
+ };
1865
+ roleId: {
1866
+ type: string[];
1867
+ pattern: string;
1868
+ };
1869
+ ids: {
1870
+ type: string;
1871
+ items: {
1872
+ anyOf: {
1873
+ type: string;
1874
+ required: string[];
1875
+ properties: {
1876
+ value: {
1877
+ type: string;
1878
+ };
1879
+ type: {
1880
+ type: string;
1881
+ };
1882
+ tag: {
1883
+ type: string;
1884
+ };
1885
+ note: {
1886
+ type: string;
1887
+ };
1888
+ };
1889
+ }[];
1890
+ };
1891
+ };
1892
+ };
1893
+ };
1894
+
1895
+ /**
1896
+ * External IDs part editor component. This is just a collection of asserted
1897
+ * IDs.
1898
+ * Thesauri: external-id-types, external-id-tags, assertion-tags,
1899
+ * doc-reference-types, doc-reference-tags (all optional).
1900
+ */
1901
+ declare class ExternalIdsPartComponent extends ModelEditorComponentBase<ExternalIdsPart> implements OnInit {
1902
+ ids: FormControl<AssertedId[]>;
1903
+ idScopeEntries: ThesaurusEntry[] | undefined;
1904
+ idTagEntries: ThesaurusEntry[] | undefined;
1905
+ assTagEntries: ThesaurusEntry[] | undefined;
1906
+ refTypeEntries: ThesaurusEntry[] | undefined;
1907
+ refTagEntries: ThesaurusEntry[] | undefined;
1908
+ constructor(authService: AuthJwtService, formBuilder: FormBuilder);
1909
+ ngOnInit(): void;
1910
+ protected buildForm(formBuilder: FormBuilder): FormGroup | UntypedFormGroup;
1911
+ private updateThesauri;
1912
+ private updateForm;
1913
+ protected onDataSet(data?: EditedObject<ExternalIdsPart>): void;
1914
+ protected getValue(): ExternalIdsPart;
1915
+ onIdsChange(ids: AssertedId[]): void;
1916
+ static ɵfac: i0.ɵɵFactoryDeclaration<ExternalIdsPartComponent, never>;
1917
+ static ɵcmp: i0.ɵɵComponentDeclaration<ExternalIdsPartComponent, "cadmus-refs-external-ids-part", never, {}, {}, never, never, true, never>;
1918
+ }
1919
+
1920
+ /**
1921
+ * The historical events part model.
1922
+ */
1923
+ interface HistoricalEventsPart extends Part {
1924
+ events: HistoricalEvent[];
1925
+ }
1926
+ /**
1927
+ * Any entity related to an event in the EventsPart.
1928
+ */
1929
+ interface RelatedEntity {
1930
+ relation: string;
1931
+ id: AssertedCompositeId;
1932
+ }
1933
+ /**
1934
+ * An event in the EventsPart.
1935
+ */
1936
+ interface HistoricalEvent {
1937
+ eid: string;
1938
+ type: string;
1939
+ tag?: string;
1940
+ chronotopes?: AssertedChronotope[];
1941
+ assertion?: Assertion;
1942
+ description?: string;
1943
+ relatedEntities?: RelatedEntity[];
1944
+ note?: string;
1945
+ }
1946
+ /**
1947
+ * The type ID used to identify the EventsPart type.
1948
+ */
1949
+ declare const HISTORICAL_EVENTS_PART_TYPEID = "it.vedph.historical-events";
1950
+ /**
1951
+ * JSON schema for the Events part.
1952
+ * You can use the JSON schema tool at https://jsonschema.net/.
1953
+ */
1954
+ declare const HISTORICAL_EVENTS_PART_SCHEMA: {
1955
+ $schema: string;
1956
+ $id: string;
1957
+ type: string;
1958
+ title: string;
1959
+ required: string[];
1960
+ properties: {
1961
+ timeCreated: {
1962
+ type: string;
1963
+ pattern: string;
1964
+ };
1965
+ creatorId: {
1966
+ type: string;
1967
+ };
1968
+ timeModified: {
1969
+ type: string;
1970
+ pattern: string;
1971
+ };
1972
+ userId: {
1973
+ type: string;
1974
+ };
1975
+ id: {
1976
+ type: string;
1977
+ pattern: string;
1978
+ };
1979
+ itemId: {
1980
+ type: string;
1981
+ pattern: string;
1982
+ };
1983
+ typeId: {
1984
+ type: string;
1985
+ pattern: string;
1986
+ };
1987
+ roleId: {
1988
+ type: string[];
1989
+ pattern: string;
1990
+ };
1991
+ events: {
1992
+ type: string;
1993
+ items: {
1994
+ anyOf: {
1995
+ type: string;
1996
+ required: string[];
1997
+ properties: {
1998
+ eid: {
1999
+ type: string;
2000
+ };
2001
+ type: {
2002
+ type: string;
2003
+ };
2004
+ tag: {
2005
+ type: string;
2006
+ };
2007
+ chronotopes: {
2008
+ type: string;
2009
+ items: {
2010
+ anyOf: {
2011
+ place: {
2012
+ type: string;
2013
+ required: string[];
2014
+ properties: {
2015
+ tag: {
2016
+ type: string;
2017
+ };
2018
+ value: {
2019
+ type: string;
2020
+ };
2021
+ assertion: {
2022
+ type: string;
2023
+ required: string[];
2024
+ properties: {
2025
+ tag: {
2026
+ type: string;
2027
+ };
2028
+ rank: {
2029
+ type: string;
2030
+ };
2031
+ note: {
2032
+ type: string;
2033
+ };
2034
+ references: {
2035
+ type: string;
2036
+ items: {
2037
+ anyOf: {
2038
+ type: string;
2039
+ required: string[];
2040
+ properties: {
2041
+ type: {
2042
+ type: string;
2043
+ };
2044
+ tag: {
2045
+ type: string;
2046
+ };
2047
+ citation: {
2048
+ type: string;
2049
+ };
2050
+ note: {
2051
+ type: string;
2052
+ };
2053
+ };
2054
+ }[];
2055
+ };
2056
+ };
2057
+ };
2058
+ };
2059
+ };
2060
+ };
2061
+ date: {
2062
+ type: string;
2063
+ required: string[];
2064
+ properties: {
2065
+ tag: {
2066
+ type: string;
2067
+ };
2068
+ date: {
2069
+ type: string;
2070
+ required: string[];
2071
+ properties: {
2072
+ a: {
2073
+ type: string;
2074
+ required: string[];
2075
+ properties: {
2076
+ value: {
2077
+ type: string;
2078
+ };
2079
+ isCentury: {
2080
+ type: string;
2081
+ };
2082
+ isSpan: {
2083
+ type: string;
2084
+ };
2085
+ isApproximate: {
2086
+ type: string;
2087
+ };
2088
+ isDubious: {
2089
+ type: string;
2090
+ };
2091
+ day: {
2092
+ type: string;
2093
+ };
2094
+ month: {
2095
+ type: string;
2096
+ };
2097
+ hint: {
2098
+ type: string[];
2099
+ };
2100
+ };
2101
+ };
2102
+ b: {
2103
+ type: string;
2104
+ required: string[];
2105
+ properties: {
2106
+ value: {
2107
+ type: string;
2108
+ };
2109
+ isCentury: {
2110
+ type: string;
2111
+ };
2112
+ isSpan: {
2113
+ type: string;
2114
+ };
2115
+ isApproximate: {
2116
+ type: string;
2117
+ };
2118
+ isDubious: {
2119
+ type: string;
2120
+ };
2121
+ day: {
2122
+ type: string;
2123
+ };
2124
+ month: {
2125
+ type: string;
2126
+ };
2127
+ hint: {
2128
+ type: string[];
2129
+ };
2130
+ };
2131
+ };
2132
+ };
2133
+ };
2134
+ assertion: {
2135
+ type: string;
2136
+ required: string[];
2137
+ properties: {
2138
+ tag: {
2139
+ type: string;
2140
+ };
2141
+ rank: {
2142
+ type: string;
2143
+ };
2144
+ note: {
2145
+ type: string;
2146
+ };
2147
+ references: {
2148
+ type: string;
2149
+ items: {
2150
+ anyOf: {
2151
+ type: string;
2152
+ required: string[];
2153
+ properties: {
2154
+ type: {
2155
+ type: string;
2156
+ };
2157
+ tag: {
2158
+ type: string;
2159
+ };
2160
+ citation: {
2161
+ type: string;
2162
+ };
2163
+ note: {
2164
+ type: string;
2165
+ };
2166
+ };
2167
+ }[];
2168
+ };
2169
+ };
2170
+ };
2171
+ };
2172
+ };
2173
+ };
2174
+ }[];
2175
+ };
2176
+ };
2177
+ assertion: {
2178
+ type: string;
2179
+ required: string[];
2180
+ properties: {
2181
+ tag: {
2182
+ type: string;
2183
+ };
2184
+ rank: {
2185
+ type: string;
2186
+ };
2187
+ note: {
2188
+ type: string;
2189
+ };
2190
+ references: {
2191
+ type: string;
2192
+ items: {
2193
+ anyOf: {
2194
+ type: string;
2195
+ required: string[];
2196
+ properties: {
2197
+ type: {
2198
+ type: string;
2199
+ };
2200
+ tag: {
2201
+ type: string;
2202
+ };
2203
+ citation: {
2204
+ type: string;
2205
+ };
2206
+ note: {
2207
+ type: string;
2208
+ };
2209
+ };
2210
+ }[];
2211
+ };
2212
+ };
2213
+ };
2214
+ };
2215
+ description: {
2216
+ type: string;
2217
+ };
2218
+ relatedEntities: {
2219
+ type: string;
2220
+ items: {
2221
+ anyOf: {
2222
+ type: string;
2223
+ required: string[];
2224
+ properties: {
2225
+ relation: {
2226
+ type: string;
2227
+ };
2228
+ id: {
2229
+ type: string;
2230
+ required: string[];
2231
+ properties: {
2232
+ target: {
2233
+ type: string;
2234
+ required: string[];
2235
+ properties: {
2236
+ gid: {
2237
+ type: string;
2238
+ };
2239
+ label: {
2240
+ type: string;
2241
+ };
2242
+ itemId: {
2243
+ type: string;
2244
+ };
2245
+ partId: {
2246
+ type: string;
2247
+ };
2248
+ partTypeId: {
2249
+ type: string;
2250
+ };
2251
+ roleId: {
2252
+ type: string;
2253
+ };
2254
+ name: {
2255
+ type: string;
2256
+ };
2257
+ value: {
2258
+ type: string;
2259
+ };
2260
+ };
2261
+ scope: {
2262
+ type: string;
2263
+ };
2264
+ tag: {
2265
+ type: string;
2266
+ };
2267
+ assertion: {
2268
+ type: string;
2269
+ required: string[];
2270
+ properties: {
2271
+ tag: {
2272
+ type: string;
2273
+ };
2274
+ rank: {
2275
+ type: string;
2276
+ };
2277
+ note: {
2278
+ type: string;
2279
+ };
2280
+ references: {
2281
+ type: string;
2282
+ items: {
2283
+ anyOf: {
2284
+ type: string;
2285
+ required: string[];
2286
+ properties: {
2287
+ type: {
2288
+ type: string;
2289
+ };
2290
+ tag: {
2291
+ type: string;
2292
+ };
2293
+ citation: {
2294
+ type: string;
2295
+ };
2296
+ note: {
2297
+ type: string;
2298
+ };
2299
+ };
2300
+ }[];
2301
+ };
2302
+ };
2303
+ };
2304
+ };
2305
+ };
2306
+ };
2307
+ };
2308
+ };
2309
+ }[];
2310
+ };
2311
+ };
2312
+ note: {
2313
+ type: string;
2314
+ };
2315
+ };
2316
+ }[];
2317
+ };
2318
+ };
2319
+ };
2320
+ };
2321
+
2322
+ /**
2323
+ * Historical event editor.
2324
+ */
2325
+ declare class HistoricalEventEditorComponent {
2326
+ private _editedEntityIndex;
2327
+ /**
2328
+ * The event being edited.
2329
+ */
2330
+ readonly event: i0.ModelSignal<HistoricalEvent | undefined>;
2331
+ /**
2332
+ * Thesaurus event-types (hierarchical).
2333
+ */
2334
+ readonly eventTypeEntries: i0.InputSignal<ThesaurusEntry[] | undefined>;
2335
+ /**
2336
+ * Thesaurus event-tags.
2337
+ */
2338
+ readonly eventTagEntries: i0.InputSignal<ThesaurusEntry[] | undefined>;
2339
+ /**
2340
+ * Thesaurus event-relations (pseudo-hierarchical; the
2341
+ * separator used is : rather than .).
2342
+ */
2343
+ readonly relationEntries: i0.InputSignal<ThesaurusEntry[] | undefined>;
2344
+ /**
2345
+ * Thesaurus chronotope-tags.
2346
+ */
2347
+ readonly ctTagEntries: i0.InputSignal<ThesaurusEntry[] | undefined>;
2348
+ /**
2349
+ * Thesaurus asserted-id-scopes.
2350
+ */
2351
+ readonly idScopeEntries: i0.InputSignal<ThesaurusEntry[] | undefined>;
2352
+ /**
2353
+ * Thesaurus asserted-id-tags.
2354
+ */
2355
+ readonly idTagEntries: i0.InputSignal<ThesaurusEntry[] | undefined>;
2356
+ /**
2357
+ * Thesaurus assertion-tags.
2358
+ */
2359
+ readonly assTagEntries: i0.InputSignal<ThesaurusEntry[] | undefined>;
2360
+ /**
2361
+ * Thesaurus doc-reference-tags.
2362
+ */
2363
+ readonly refTagEntries: i0.InputSignal<ThesaurusEntry[] | undefined>;
2364
+ /**
2365
+ * Thesaurus doc-reference-types.
2366
+ */
2367
+ readonly refTypeEntries: i0.InputSignal<ThesaurusEntry[] | undefined>;
2368
+ readonly setTagEntries: i0.InputSignal<ThesaurusEntry[] | undefined>;
2369
+ /**
2370
+ * The number of event type portions to cut from the event type ID when
2371
+ * building the prefix used to filter the corresponding relations IDs.
2372
+ * By default this is 0, i.e. the whole type ID (plus a final :) is
2373
+ * used as prefix. For instance, the ID "person.birth" generates prefix
2374
+ * "person:birth:". The portions of an ID are defined by splitting it at
2375
+ * each dot: so, should this property be 1, we would split the ID into
2376
+ * "person" and "birth", remove the last 1 tail(s), thus getting "person",
2377
+ * join back the portions and append a final colon, generating "person:".
2378
+ */
2379
+ readonly eventTypeTailCut: i0.InputSignal<number>;
2380
+ readonly pinByTypeMode: i0.InputSignal<boolean | undefined>;
2381
+ readonly canSwitchMode: i0.InputSignal<boolean | undefined>;
2382
+ readonly canEditTarget: i0.InputSignal<boolean | undefined>;
2383
+ /**
2384
+ * True to disable ID lookup via scoped pin lookup.
2385
+ */
2386
+ readonly noLookup: i0.InputSignal<boolean | undefined>;
2387
+ readonly editorClose: i0.OutputEmitterRef<void>;
2388
+ eid: FormControl<string | null>;
2389
+ type: FormControl<string | null>;
2390
+ tag: FormControl<string | null>;
2391
+ description: FormControl<string | null>;
2392
+ note: FormControl<string | null>;
2393
+ relatedEntities: FormControl<RelatedEntity[]>;
2394
+ chronotopes: FormControl<AssertedChronotope[]>;
2395
+ hasAssertion: FormControl<boolean>;
2396
+ assertion: FormControl<Assertion | null>;
2397
+ form: FormGroup;
2398
+ currentRelEntries: ThesaurusEntry[];
2399
+ editedEntity?: RelatedEntity;
2400
+ constructor(formBuilder: FormBuilder);
2401
+ renderLabel(label: string): string;
2402
+ private updateRelEntries;
2403
+ private getTypeEntryPrefix;
2404
+ onTypeEntryChange(entry: ThesaurusEntry): void;
2405
+ private updateForm;
2406
+ private getModel;
2407
+ onChronotopesChange(chronotope: AssertedChronotope[]): void;
2408
+ onAssertionChange(assertion: Assertion | undefined): void;
2409
+ addEntity(): void;
2410
+ editEntity(entity: RelatedEntity, index: number): void;
2411
+ onEntityChange(entity: RelatedEntity): void;
2412
+ closeEntity(): void;
2413
+ deleteEntity(index: number): void;
2414
+ cancel(): void;
2415
+ save(): void;
2416
+ static ɵfac: i0.ɵɵFactoryDeclaration<HistoricalEventEditorComponent, never>;
2417
+ static ɵcmp: i0.ɵɵComponentDeclaration<HistoricalEventEditorComponent, "cadmus-historical-event-editor", never, { "event": { "alias": "event"; "required": false; "isSignal": true; }; "eventTypeEntries": { "alias": "eventTypeEntries"; "required": false; "isSignal": true; }; "eventTagEntries": { "alias": "eventTagEntries"; "required": false; "isSignal": true; }; "relationEntries": { "alias": "relationEntries"; "required": false; "isSignal": true; }; "ctTagEntries": { "alias": "ctTagEntries"; "required": false; "isSignal": true; }; "idScopeEntries": { "alias": "idScopeEntries"; "required": false; "isSignal": true; }; "idTagEntries": { "alias": "idTagEntries"; "required": false; "isSignal": true; }; "assTagEntries": { "alias": "assTagEntries"; "required": false; "isSignal": true; }; "refTagEntries": { "alias": "refTagEntries"; "required": false; "isSignal": true; }; "refTypeEntries": { "alias": "refTypeEntries"; "required": false; "isSignal": true; }; "setTagEntries": { "alias": "setTagEntries"; "required": false; "isSignal": true; }; "eventTypeTailCut": { "alias": "eventTypeTailCut"; "required": false; "isSignal": true; }; "pinByTypeMode": { "alias": "pinByTypeMode"; "required": false; "isSignal": true; }; "canSwitchMode": { "alias": "canSwitchMode"; "required": false; "isSignal": true; }; "canEditTarget": { "alias": "canEditTarget"; "required": false; "isSignal": true; }; "noLookup": { "alias": "noLookup"; "required": false; "isSignal": true; }; }, { "event": "eventChange"; "editorClose": "editorClose"; }, never, never, true, never>;
2418
+ }
2419
+
2420
+ /**
2421
+ * The HistoricalDate part model.
2422
+ */
2423
+ interface HistoricalDatePart extends Part {
2424
+ date: HistoricalDateModel;
2425
+ references?: DocReference[];
2426
+ }
2427
+ /**
2428
+ * The type ID used to identify the HistoricalDatePart type.
2429
+ */
2430
+ declare const HISTORICAL_DATE_PART_TYPEID = "it.vedph.historical-date";
2431
+ /**
2432
+ * JSON schema for the HistoricalDate part. This is used in the editor demo.
2433
+ * You can use the JSON schema tool at https://jsonschema.net/.
2434
+ */
2435
+ declare const HISTORICAL_DATE_PART_SCHEMA: {
2436
+ $schema: string;
2437
+ $id: string;
2438
+ type: string;
2439
+ title: string;
2440
+ required: string[];
2441
+ properties: {
2442
+ timeCreated: {
2443
+ type: string;
2444
+ pattern: string;
2445
+ };
2446
+ creatorId: {
2447
+ type: string;
2448
+ };
2449
+ timeModified: {
2450
+ type: string;
2451
+ pattern: string;
2452
+ };
2453
+ userId: {
2454
+ type: string;
2455
+ };
2456
+ id: {
2457
+ type: string;
2458
+ pattern: string;
2459
+ };
2460
+ itemId: {
2461
+ type: string;
2462
+ pattern: string;
2463
+ };
2464
+ typeId: {
2465
+ type: string;
2466
+ pattern: string;
2467
+ };
2468
+ roleId: {
2469
+ type: string[];
2470
+ pattern: string;
2471
+ };
2472
+ date: {
2473
+ type: string;
2474
+ required: string[];
2475
+ properties: {
2476
+ a: {
2477
+ type: string;
2478
+ required: string[];
2479
+ properties: {
2480
+ value: {
2481
+ type: string;
2482
+ };
2483
+ isCentury: {
2484
+ type: string;
2485
+ };
2486
+ isSpan: {
2487
+ type: string;
2488
+ };
2489
+ isApproximate: {
2490
+ type: string;
2491
+ };
2492
+ isDubious: {
2493
+ type: string;
2494
+ };
2495
+ day: {
2496
+ type: string;
2497
+ };
2498
+ month: {
2499
+ type: string;
2500
+ };
2501
+ hint: {
2502
+ type: string[];
2503
+ };
2504
+ };
2505
+ };
2506
+ b: {
2507
+ type: string;
2508
+ required: string[];
2509
+ properties: {
2510
+ value: {
2511
+ type: string;
2512
+ };
2513
+ isCentury: {
2514
+ type: string;
2515
+ };
2516
+ isSpan: {
2517
+ type: string;
2518
+ };
2519
+ isApproximate: {
2520
+ type: string;
2521
+ };
2522
+ isDubious: {
2523
+ type: string;
2524
+ };
2525
+ day: {
2526
+ type: string;
2527
+ };
2528
+ month: {
2529
+ type: string;
2530
+ };
2531
+ hint: {
2532
+ type: string[];
2533
+ };
2534
+ };
2535
+ };
2536
+ };
2537
+ };
2538
+ references: {
2539
+ type: string;
2540
+ items: {
2541
+ anyOf: {
2542
+ type: string;
2543
+ required: string[];
2544
+ properties: {
2545
+ type: {
2546
+ type: string;
2547
+ };
2548
+ tag: {
2549
+ type: string;
2550
+ };
2551
+ citation: {
2552
+ type: string;
2553
+ };
2554
+ note: {
2555
+ type: string;
2556
+ };
2557
+ };
2558
+ }[];
2559
+ };
2560
+ };
2561
+ };
2562
+ };
2563
+
2564
+ declare class HistoricalDatePartComponent extends ModelEditorComponentBase<HistoricalDatePart> implements OnInit {
2565
+ references: FormControl<DocReference[]>;
2566
+ date: FormControl<HistoricalDateModel>;
2567
+ typeEntries: ThesaurusEntry[] | undefined;
2568
+ tagEntries: ThesaurusEntry[] | undefined;
2569
+ constructor(authService: AuthJwtService, formBuilder: FormBuilder);
2570
+ ngOnInit(): void;
2571
+ protected buildForm(formBuilder: FormBuilder): FormGroup | UntypedFormGroup;
2572
+ private updateForm;
2573
+ private updateThesauri;
2574
+ protected onDataSet(data?: EditedObject<HistoricalDatePart>): void;
2575
+ protected getValue(): HistoricalDatePart;
2576
+ onDateChange(date: HistoricalDateModel): void;
2577
+ onReferencesChange(references: DocReference[]): void;
2578
+ static ɵfac: i0.ɵɵFactoryDeclaration<HistoricalDatePartComponent, never>;
2579
+ static ɵcmp: i0.ɵɵComponentDeclaration<HistoricalDatePartComponent, "cadmus-historical-date-part", never, {}, {}, never, never, true, never>;
2580
+ }
2581
+
2582
+ /**
2583
+ * Historical events part.
2584
+ * Thesauri: event-types, event-tags, event-relations, chronotope-tags,
2585
+ * asserted-id-scopes, asserted-id-tags, assertion-tags, doc-reference-tags,
2586
+ * doc-reference-types, pin-link-scopes, pin-link-tags, pin-link-settings.
2587
+ */
2588
+ declare class HistoricalEventsPartComponent extends ModelEditorComponentBase<HistoricalEventsPart> implements OnInit {
2589
+ private _dialogService;
2590
+ editedEventIndex: number;
2591
+ editedEvent: HistoricalEvent | undefined;
2592
+ pinByTypeMode?: boolean;
2593
+ canSwitchMode?: boolean;
2594
+ canEditTarget?: boolean;
2595
+ /**
2596
+ * Thesaurus event-types.
2597
+ */
2598
+ eventTypeEntries: ThesaurusEntry[] | undefined;
2599
+ /**
2600
+ * Thesaurus event-tags.
2601
+ */
2602
+ eventTagEntries: ThesaurusEntry[] | undefined;
2603
+ /**
2604
+ * Thesaurus event-relations.
2605
+ */
2606
+ relationEntries: ThesaurusEntry[] | undefined;
2607
+ /**
2608
+ * Thesaurus chronotope-tags.
2609
+ */
2610
+ ctTagEntries: ThesaurusEntry[] | undefined;
2611
+ /**
2612
+ * Thesaurus assertion-tags.
2613
+ */
2614
+ assTagEntries: ThesaurusEntry[] | undefined;
2615
+ /**
2616
+ * Thesaurus doc-reference-tags.
2617
+ */
2618
+ refTagEntries: ThesaurusEntry[] | undefined;
2619
+ /**
2620
+ * Thesaurus doc-reference-types.
2621
+ */
2622
+ refTypeEntries: ThesaurusEntry[] | undefined;
2623
+ idScopeEntries?: ThesaurusEntry[];
2624
+ idTagEntries?: ThesaurusEntry[];
2625
+ events: FormControl<HistoricalEvent[]>;
2626
+ constructor(authService: AuthJwtService, formBuilder: FormBuilder, _dialogService: DialogService);
2627
+ ngOnInit(): void;
2628
+ protected buildForm(formBuilder: FormBuilder): FormGroup | UntypedFormGroup;
2629
+ /**
2630
+ * Load settings from thesaurus entries.
2631
+ *
2632
+ * @param entries The thesaurus entries if any.
2633
+ */
2634
+ private loadSettings;
2635
+ private updateThesauri;
2636
+ private updateForm;
2637
+ protected onDataSet(data?: EditedObject<HistoricalEventsPart>): void;
2638
+ protected getValue(): HistoricalEventsPart;
2639
+ closeEvent(): void;
2640
+ addEvent(): void;
2641
+ editEvent(event: HistoricalEvent, index: number): void;
2642
+ onEventSave(event: HistoricalEvent): void;
2643
+ deleteEvent(index: number): void;
2644
+ moveEventUp(index: number): void;
2645
+ moveEventDown(index: number): void;
2646
+ static ɵfac: i0.ɵɵFactoryDeclaration<HistoricalEventsPartComponent, never>;
2647
+ static ɵcmp: i0.ɵɵComponentDeclaration<HistoricalEventsPartComponent, "cadmus-historical-events-part", never, {}, {}, never, never, true, never>;
2648
+ }
2649
+
2650
+ /**
2651
+ * Related entity component to edit the entity related to a historical event.
2652
+ */
2653
+ declare class RelatedEntityComponent {
2654
+ readonly entity: i0.ModelSignal<RelatedEntity | undefined>;
2655
+ readonly relationEntries: i0.InputSignal<ThesaurusEntry[] | undefined>;
2656
+ readonly idScopeEntries: i0.InputSignal<ThesaurusEntry[] | undefined>;
2657
+ /**
2658
+ * Thesaurus asserted-id-tags.
2659
+ */
2660
+ readonly idTagEntries: i0.InputSignal<ThesaurusEntry[] | undefined>;
2661
+ /**
2662
+ * Thesaurus assertion-tags.
2663
+ */
2664
+ readonly assTagEntries: i0.InputSignal<ThesaurusEntry[] | undefined>;
2665
+ /**
2666
+ * Thesaurus doc-reference-tags.
2667
+ */
2668
+ readonly refTagEntries: i0.InputSignal<ThesaurusEntry[] | undefined>;
2669
+ /**
2670
+ * Thesaurus doc-reference-types.
2671
+ */
2672
+ readonly refTypeEntries: i0.InputSignal<ThesaurusEntry[] | undefined>;
2673
+ readonly pinByTypeMode: i0.InputSignal<boolean | undefined>;
2674
+ readonly canSwitchMode: i0.InputSignal<boolean | undefined>;
2675
+ readonly canEditTarget: i0.InputSignal<boolean | undefined>;
2676
+ readonly editorClose: i0.OutputEmitterRef<void>;
2677
+ relation: FormControl<string | null>;
2678
+ id: FormControl<AssertedCompositeId | null>;
2679
+ form: FormGroup;
2680
+ constructor(formBuilder: FormBuilder);
2681
+ private updateForm;
2682
+ private getEntity;
2683
+ onIdChange(id: AssertedCompositeId): void;
2684
+ cancel(): void;
2685
+ save(): void;
2686
+ static ɵfac: i0.ɵɵFactoryDeclaration<RelatedEntityComponent, never>;
2687
+ static ɵcmp: i0.ɵɵComponentDeclaration<RelatedEntityComponent, "cadmus-related-entity", never, { "entity": { "alias": "entity"; "required": false; "isSignal": true; }; "relationEntries": { "alias": "relationEntries"; "required": false; "isSignal": true; }; "idScopeEntries": { "alias": "idScopeEntries"; "required": false; "isSignal": true; }; "idTagEntries": { "alias": "idTagEntries"; "required": false; "isSignal": true; }; "assTagEntries": { "alias": "assTagEntries"; "required": false; "isSignal": true; }; "refTagEntries": { "alias": "refTagEntries"; "required": false; "isSignal": true; }; "refTypeEntries": { "alias": "refTypeEntries"; "required": false; "isSignal": true; }; "pinByTypeMode": { "alias": "pinByTypeMode"; "required": false; "isSignal": true; }; "canSwitchMode": { "alias": "canSwitchMode"; "required": false; "isSignal": true; }; "canEditTarget": { "alias": "canEditTarget"; "required": false; "isSignal": true; }; }, { "entity": "entityChange"; "editorClose": "editorClose"; }, never, never, true, never>;
2688
+ }
2689
+
2690
+ declare class IndexKeywordComponent {
2691
+ readonly keyword: i0.ModelSignal<IndexKeyword | undefined>;
2692
+ readonly idxEntries: i0.InputSignal<ThesaurusEntry[] | undefined>;
2693
+ readonly tagEntries: i0.InputSignal<ThesaurusEntry[] | undefined>;
2694
+ readonly langEntries: i0.InputSignal<ThesaurusEntry[] | undefined>;
2695
+ readonly editorClose: i0.OutputEmitterRef<void>;
2696
+ indexId: FormControl<string | null>;
2697
+ language: FormControl<string | null>;
2698
+ value: FormControl<string | null>;
2699
+ note: FormControl<string | null>;
2700
+ tag: FormControl<string | null>;
2701
+ form: FormGroup;
2702
+ constructor(formBuilder: FormBuilder);
2703
+ private updateForm;
2704
+ private getKeyword;
2705
+ cancel(): void;
2706
+ submit(): void;
2707
+ static ɵfac: i0.ɵɵFactoryDeclaration<IndexKeywordComponent, never>;
2708
+ static ɵcmp: i0.ɵɵComponentDeclaration<IndexKeywordComponent, "cadmus-index-keyword", never, { "keyword": { "alias": "keyword"; "required": false; "isSignal": true; }; "idxEntries": { "alias": "idxEntries"; "required": false; "isSignal": true; }; "tagEntries": { "alias": "tagEntries"; "required": false; "isSignal": true; }; "langEntries": { "alias": "langEntries"; "required": false; "isSignal": true; }; }, { "keyword": "keywordChange"; "editorClose": "editorClose"; }, never, never, true, never>;
2709
+ }
2710
+
2711
+ /**
2712
+ * Index keywords part editor.
2713
+ * Thesauri: languages, keyword-indexes, keyword-tags.
2714
+ */
2715
+ declare class IndexKeywordsPartComponent extends ModelEditorComponentBase<IndexKeywordsPart> implements OnInit {
2716
+ editedKeyword?: IndexKeyword;
2717
+ idxEntries: ThesaurusEntry[] | undefined;
2718
+ langEntries: ThesaurusEntry[] | undefined;
2719
+ tagEntries: ThesaurusEntry[] | undefined;
2720
+ keywords: FormControl<IndexKeyword[]>;
2721
+ constructor(authService: AuthJwtService, formBuilder: FormBuilder);
2722
+ ngOnInit(): void;
2723
+ protected buildForm(formBuilder: FormBuilder): FormGroup | UntypedFormGroup;
2724
+ private updateThesauri;
2725
+ private compareKeywords;
2726
+ private updateForm;
2727
+ protected onDataSet(data?: EditedObject<IndexKeywordsPart>): void;
2728
+ protected getValue(): IndexKeywordsPart;
2729
+ private addKeyword;
2730
+ addNewKeyword(): void;
2731
+ deleteKeyword(keyword: IndexKeyword): void;
2732
+ editKeyword(keyword: IndexKeyword): void;
2733
+ onKeywordClose(): void;
2734
+ onKeywordChange(keyword: IndexKeyword): void;
2735
+ static ɵfac: i0.ɵɵFactoryDeclaration<IndexKeywordsPartComponent, never>;
2736
+ static ɵcmp: i0.ɵɵComponentDeclaration<IndexKeywordsPartComponent, "cadmus-index-keywords-part", never, {}, {}, never, never, true, never>;
2737
+ }
2738
+
2739
+ /**
2740
+ * Keywords editor component.
2741
+ * Thesauri: languages.
2742
+ */
2743
+ declare class KeywordsPartComponent extends ModelEditorComponentBase<KeywordsPart> implements OnInit {
2744
+ keywords: FormControl<Keyword[]>;
2745
+ newLanguage: FormControl<string | null>;
2746
+ newValue: FormControl<string | null>;
2747
+ newForm: FormGroup;
2748
+ langEntries?: ThesaurusEntry[];
2749
+ constructor(authService: AuthJwtService, formBuilder: FormBuilder);
2750
+ ngOnInit(): void;
2751
+ protected buildForm(formBuilder: FormBuilder): FormGroup | UntypedFormGroup;
2752
+ private updateThesauri;
2753
+ private compareKeywords;
2754
+ private updateForm;
2755
+ protected onDataSet(data?: EditedObject<KeywordsPart>): void;
2756
+ protected getValue(): KeywordsPart;
2757
+ addKeyword(): void;
2758
+ deleteKeyword(keyword: Keyword): void;
2759
+ static ɵfac: i0.ɵɵFactoryDeclaration<KeywordsPartComponent, never>;
2760
+ static ɵcmp: i0.ɵɵComponentDeclaration<KeywordsPartComponent, "cadmus-keywords-part", never, {}, {}, never, never, true, never>;
2761
+ }
2762
+
2763
+ /**
2764
+ * The metadata part model.
2765
+ */
2766
+ interface MetadataPart extends Part {
2767
+ metadata: Metadatum[];
2768
+ }
2769
+ /**
2770
+ * A metadata entry in MetadataPart.
2771
+ */
2772
+ interface Metadatum {
2773
+ type?: string;
2774
+ name: string;
2775
+ value: string;
2776
+ }
2777
+ /**
2778
+ * The type ID used to identify the MetadataPart type.
2779
+ */
2780
+ declare const METADATA_PART_TYPEID = "it.vedph.metadata";
2781
+ /**
2782
+ * JSON schema for the metadata part.
2783
+ * You can use the JSON schema tool at https://jsonschema.net/.
2784
+ */
2785
+ declare const METADATA_PART_SCHEMA: {
2786
+ $schema: string;
2787
+ $id: string;
2788
+ type: string;
2789
+ title: string;
2790
+ required: string[];
2791
+ properties: {
2792
+ timeCreated: {
2793
+ type: string;
2794
+ pattern: string;
2795
+ };
2796
+ creatorId: {
2797
+ type: string;
2798
+ };
2799
+ timeModified: {
2800
+ type: string;
2801
+ pattern: string;
2802
+ };
2803
+ userId: {
2804
+ type: string;
2805
+ };
2806
+ id: {
2807
+ type: string;
2808
+ pattern: string;
2809
+ };
2810
+ itemId: {
2811
+ type: string;
2812
+ pattern: string;
2813
+ };
2814
+ typeId: {
2815
+ type: string;
2816
+ pattern: string;
2817
+ };
2818
+ roleId: {
2819
+ type: string[];
2820
+ pattern: string;
2821
+ };
2822
+ metadata: {
2823
+ type: string;
2824
+ items: {
2825
+ anyOf: {
2826
+ type: string;
2827
+ required: string[];
2828
+ properties: {
2829
+ type: {
2830
+ type: string;
2831
+ };
2832
+ name: {
2833
+ type: string;
2834
+ };
2835
+ value: {
2836
+ type: string;
2837
+ };
2838
+ };
2839
+ }[];
2840
+ };
2841
+ };
2842
+ };
2843
+ };
2844
+
2845
+ /**
2846
+ * Metadata part editor component.
2847
+ * Thesauri: metadata-types (optional).
2848
+ */
2849
+ declare class MetadataPartComponent extends ModelEditorComponentBase<MetadataPart> implements OnInit, OnDestroy {
2850
+ private _subs;
2851
+ metadata: FormArray;
2852
+ /**
2853
+ * metadata-types thesaurus entries.
2854
+ */
2855
+ typeEntries: ThesaurusEntry[] | undefined;
2856
+ /**
2857
+ * metadata-names thesaurus entries.
2858
+ */
2859
+ nameEntries: ThesaurusEntry[] | undefined;
2860
+ constructor(authService: AuthJwtService, formBuilder: FormBuilder);
2861
+ ngOnInit(): void;
2862
+ protected buildForm(formBuilder: FormBuilder): FormGroup | UntypedFormGroup;
2863
+ private unsubscribe;
2864
+ ngOnDestroy(): void;
2865
+ private updateThesauri;
2866
+ private updateForm;
2867
+ protected onDataSet(data?: EditedObject<MetadataPart>): void;
2868
+ protected getValue(): MetadataPart;
2869
+ private getMetadatumGroup;
2870
+ addMetadatum(item?: Metadatum): void;
2871
+ removeMetadatum(index: number): void;
2872
+ moveMetadatumUp(index: number): void;
2873
+ moveMetadatumDown(index: number): void;
2874
+ private getMetadata;
2875
+ static ɵfac: i0.ɵɵFactoryDeclaration<MetadataPartComponent, never>;
2876
+ static ɵcmp: i0.ɵɵComponentDeclaration<MetadataPartComponent, "cadmus-metadata-part", never, {}, {}, never, never, true, never>;
2877
+ }
2878
+
2879
+ /**
2880
+ * The names part model.
2881
+ */
2882
+ interface NamesPart extends Part {
2883
+ names: AssertedProperName[];
2884
+ }
2885
+ /**
2886
+ * The type ID used to identify the NamesPart type.
2887
+ */
2888
+ declare const NAMES_PART_TYPEID = "it.vedph.names";
2889
+ /**
2890
+ * JSON schema for the names part.
2891
+ * You can use the JSON schema tool at https://jsonschema.net/.
2892
+ */
2893
+ declare const NAMES_PART_SCHEMA: {
2894
+ $schema: string;
2895
+ $id: string;
2896
+ type: string;
2897
+ title: string;
2898
+ required: string[];
2899
+ properties: {
2900
+ timeCreated: {
2901
+ type: string;
2902
+ pattern: string;
2903
+ };
2904
+ creatorId: {
2905
+ type: string;
2906
+ };
2907
+ timeModified: {
2908
+ type: string;
2909
+ pattern: string;
2910
+ };
2911
+ userId: {
2912
+ type: string;
2913
+ };
2914
+ id: {
2915
+ type: string;
2916
+ pattern: string;
2917
+ };
2918
+ itemId: {
2919
+ type: string;
2920
+ pattern: string;
2921
+ };
2922
+ typeId: {
2923
+ type: string;
2924
+ pattern: string;
2925
+ };
2926
+ roleId: {
2927
+ type: string[];
2928
+ pattern: string;
2929
+ };
2930
+ names: {
2931
+ type: string;
2932
+ items: {
2933
+ anyOf: {
2934
+ type: string;
2935
+ required: string[];
2936
+ properties: {
2937
+ language: {
2938
+ type: string;
2939
+ };
2940
+ tag: {
2941
+ type: string;
2942
+ };
2943
+ pieces: {
2944
+ type: string;
2945
+ items: {
2946
+ anyOf: {
2947
+ type: string;
2948
+ required: string[];
2949
+ properties: {
2950
+ type: {
2951
+ type: string;
2952
+ };
2953
+ value: {
2954
+ type: string;
2955
+ };
2956
+ };
2957
+ }[];
2958
+ };
2959
+ };
2960
+ assertion: {
2961
+ type: string;
2962
+ required: string[];
2963
+ properties: {
2964
+ tag: {
2965
+ type: string;
2966
+ };
2967
+ rank: {
2968
+ type: string;
2969
+ };
2970
+ note: {
2971
+ type: string;
2972
+ };
2973
+ references: {
2974
+ type: string;
2975
+ items: {
2976
+ anyOf: {
2977
+ type: string;
2978
+ required: string[];
2979
+ properties: {
2980
+ type: {
2981
+ type: string;
2982
+ };
2983
+ tag: {
2984
+ type: string;
2985
+ };
2986
+ citation: {
2987
+ type: string;
2988
+ };
2989
+ note: {
2990
+ type: string;
2991
+ };
2992
+ };
2993
+ }[];
2994
+ };
2995
+ };
2996
+ };
2997
+ };
2998
+ };
2999
+ }[];
3000
+ };
3001
+ };
3002
+ };
3003
+ };
3004
+
3005
+ /**
3006
+ * Names part editor component.
3007
+ * Thesauri: name-languages, name-tags, name-piece-types, assertion-tags,
3008
+ * doc-reference-types, doc-reference-tags (all optional).
3009
+ */
3010
+ declare class NamesPartComponent extends ModelEditorComponentBase<NamesPart> implements OnInit {
3011
+ private _dialogService;
3012
+ private _updatingForm?;
3013
+ editedIndex: number;
3014
+ editedName: AssertedProperName | undefined;
3015
+ /**
3016
+ * The optional thesaurus proper name languages entries (name-languages).
3017
+ */
3018
+ langEntries: ThesaurusEntry[] | undefined;
3019
+ /**
3020
+ * The optional thesaurus name's tag entries (name-tags).
3021
+ */
3022
+ tagEntries: ThesaurusEntry[] | undefined;
3023
+ /**
3024
+ * The optional thesaurus name piece's type entries (name-piece-types).
3025
+ */
3026
+ typeEntries: ThesaurusEntry[] | undefined;
3027
+ assTagEntries?: ThesaurusEntry[];
3028
+ refTypeEntries: ThesaurusEntry[] | undefined;
3029
+ refTagEntries: ThesaurusEntry[] | undefined;
3030
+ names: FormControl<AssertedProperName[]>;
3031
+ constructor(authService: AuthJwtService, formBuilder: FormBuilder, _dialogService: DialogService);
3032
+ ngOnInit(): void;
3033
+ protected buildForm(formBuilder: FormBuilder): FormGroup | UntypedFormGroup;
3034
+ private updateThesauri;
3035
+ private updateForm;
3036
+ protected onDataSet(data?: EditedObject<NamesPart>): void;
3037
+ protected getValue(): NamesPart;
3038
+ addName(): void;
3039
+ editName(index: number): void;
3040
+ onNameChange(name: AssertedProperName | undefined): void;
3041
+ onNameClose(): void;
3042
+ deleteName(index: number): void;
3043
+ moveNameUp(index: number): void;
3044
+ moveNameDown(index: number): void;
3045
+ static ɵfac: i0.ɵɵFactoryDeclaration<NamesPartComponent, never>;
3046
+ static ɵcmp: i0.ɵɵComponentDeclaration<NamesPartComponent, "cadmus-names-part", never, {}, {}, never, never, true, never>;
3047
+ }
3048
+
3049
+ /**
3050
+ * Note part.
3051
+ */
3052
+ interface NotePart extends Part {
3053
+ text: string;
3054
+ tag?: string;
3055
+ }
3056
+ /**
3057
+ * The type ID used to identify the NotePart type.
3058
+ */
3059
+ declare const NOTE_PART_TYPEID = "it.vedph.note";
3060
+ /**
3061
+ * JSON schema for the note part. This is used in the editor demo.
3062
+ * You can use the JSON schema tool at https://jsonschema.net/.
3063
+ */
3064
+ declare const NOTE_PART_SCHEMA: {
3065
+ $schema: string;
3066
+ $id: string;
3067
+ type: string;
3068
+ title: string;
3069
+ required: string[];
3070
+ properties: {
3071
+ timeCreated: {
3072
+ type: string;
3073
+ pattern: string;
3074
+ };
3075
+ creatorId: {
3076
+ type: string;
3077
+ };
3078
+ timeModified: {
3079
+ type: string;
3080
+ pattern: string;
3081
+ };
3082
+ userId: {
3083
+ type: string;
3084
+ };
3085
+ id: {
3086
+ type: string;
3087
+ pattern: string;
3088
+ };
3089
+ itemId: {
3090
+ type: string;
3091
+ pattern: string;
3092
+ };
3093
+ typeId: {
3094
+ type: string;
3095
+ pattern: string;
3096
+ };
3097
+ roleId: {
3098
+ type: string[];
3099
+ pattern: string;
3100
+ };
3101
+ text: {
3102
+ type: string;
3103
+ };
3104
+ tag: {
3105
+ type: string[];
3106
+ };
3107
+ };
3108
+ };
3109
+
3110
+ /**
3111
+ * Note part editor component.
3112
+ * Thesauri: optionally "note-tags", when you want to use a closed set of tags.
3113
+ */
3114
+ declare class NotePartComponent extends ModelEditorComponentBase<NotePart> implements OnInit, OnDestroy {
3115
+ private _editService;
3116
+ private _editorBindings?;
3117
+ private readonly _disposables;
3118
+ private _editorModel?;
3119
+ private _editor?;
3120
+ tag: FormControl<string | null>;
3121
+ text: FormControl<string | null>;
3122
+ tagEntries?: ThesaurusEntry[];
3123
+ constructor(authService: AuthJwtService, formBuilder: FormBuilder, _editService: CadmusTextEdService, _editorBindings?: CadmusTextEdBindings | undefined);
3124
+ ngOnInit(): void;
3125
+ ngOnDestroy(): void;
3126
+ private applyEdit;
3127
+ onCreateEditor(editor: monaco.editor.IEditor): void;
3128
+ protected buildForm(formBuilder: FormBuilder): FormGroup | UntypedFormGroup;
3129
+ private updateThesauri;
3130
+ private updateForm;
3131
+ protected onDataSet(data?: EditedObject<NotePart>): void;
3132
+ protected getValue(): NotePart;
3133
+ static ɵfac: i0.ɵɵFactoryDeclaration<NotePartComponent, [null, null, null, { optional: true; }]>;
3134
+ static ɵcmp: i0.ɵɵComponentDeclaration<NotePartComponent, "cadmus-note-part", never, {}, {}, never, never, true, never>;
3135
+ }
3136
+
3137
+ /**
3138
+ * The PhysicalMeasurements part model.
3139
+ */
3140
+ interface PhysicalMeasurementsPart extends Part {
3141
+ measurements: PhysicalMeasurement[];
3142
+ }
3143
+ /**
3144
+ * The type ID used to identify the PhysicalMeasurementsPart type.
3145
+ */
3146
+ declare const PHYSICAL_MEASUREMENTS_PART_TYPEID = "it.vedph.physical-measurements";
3147
+ /**
3148
+ * JSON schema for the PhysicalMeasurements part.
3149
+ * You can use the JSON schema tool at https://jsonschema.net/.
3150
+ */
3151
+ declare const PHYSICAL_MEASUREMENTS_PART_SCHEMA: {
3152
+ $schema: string;
3153
+ $id: string;
3154
+ type: string;
3155
+ title: string;
3156
+ required: string[];
3157
+ properties: {
3158
+ timeCreated: {
3159
+ type: string;
3160
+ pattern: string;
3161
+ };
3162
+ creatorId: {
3163
+ type: string;
3164
+ };
3165
+ timeModified: {
3166
+ type: string;
3167
+ pattern: string;
3168
+ };
3169
+ userId: {
3170
+ type: string;
3171
+ };
3172
+ id: {
3173
+ type: string;
3174
+ pattern: string;
3175
+ };
3176
+ itemId: {
3177
+ type: string;
3178
+ pattern: string;
3179
+ };
3180
+ typeId: {
3181
+ type: string;
3182
+ pattern: string;
3183
+ };
3184
+ roleId: {
3185
+ type: string[];
3186
+ pattern: string;
3187
+ };
3188
+ measurements: {
3189
+ type: string;
3190
+ items: {
3191
+ anyOf: {
3192
+ type: string;
3193
+ required: string[];
3194
+ properties: {
3195
+ name: {
3196
+ type: string;
3197
+ };
3198
+ tag: {
3199
+ type: string;
3200
+ };
3201
+ value: {
3202
+ type: string;
3203
+ };
3204
+ unit: {
3205
+ type: string;
3206
+ };
3207
+ };
3208
+ }[];
3209
+ };
3210
+ };
3211
+ };
3212
+ };
3213
+
3214
+ /**
3215
+ * PhysicalMeasurements part editor component.
3216
+ * Thesauri: physical-size-units, physical-size-dim-tags, physical-size-set-names (all optional).
3217
+ */
3218
+ declare class PhysicalMeasurementsPartComponent extends ModelEditorComponentBase<PhysicalMeasurementsPart> implements OnInit {
3219
+ measurements: FormControl<PhysicalMeasurement[]>;
3220
+ unitEntries?: ThesaurusEntry[];
3221
+ dimTagEntries?: ThesaurusEntry[];
3222
+ nameEntries?: ThesaurusEntry[];
3223
+ constructor(authService: AuthJwtService, formBuilder: FormBuilder);
3224
+ ngOnInit(): void;
3225
+ protected buildForm(formBuilder: FormBuilder): FormGroup | UntypedFormGroup;
3226
+ private updateThesauri;
3227
+ private updateForm;
3228
+ protected onDataSet(data?: EditedObject<PhysicalMeasurementsPart>): void;
3229
+ protected getValue(): PhysicalMeasurementsPart;
3230
+ onMeasurementsChange(measurements: PhysicalMeasurement[]): void;
3231
+ static ɵfac: i0.ɵɵFactoryDeclaration<PhysicalMeasurementsPartComponent, never>;
3232
+ static ɵcmp: i0.ɵɵComponentDeclaration<PhysicalMeasurementsPartComponent, "cadmus-physical-measurements-part", never, {}, {}, never, never, true, never>;
3233
+ }
3234
+
3235
+ /**
3236
+ * The PhysicalStates part model.
3237
+ */
3238
+ interface PhysicalStatesPart extends Part {
3239
+ states: PhysicalState[];
3240
+ }
3241
+ /**
3242
+ * The type ID used to identify the PhysicalStatesPart type.
3243
+ */
3244
+ declare const PHYSICAL_STATES_PART_TYPEID = "it.vedph.physical-states";
3245
+ /**
3246
+ * JSON schema for the PhysicalStates part.
3247
+ * You can use the JSON schema tool at https://jsonschema.net/.
3248
+ */
3249
+ declare const PHYSICAL_STATES_PART_SCHEMA: {
3250
+ $schema: string;
3251
+ $id: string;
3252
+ type: string;
3253
+ title: string;
3254
+ required: string[];
3255
+ properties: {
3256
+ timeCreated: {
3257
+ type: string;
3258
+ pattern: string;
3259
+ };
3260
+ creatorId: {
3261
+ type: string;
3262
+ };
3263
+ timeModified: {
3264
+ type: string;
3265
+ pattern: string;
3266
+ };
3267
+ userId: {
3268
+ type: string;
3269
+ };
3270
+ id: {
3271
+ type: string;
3272
+ pattern: string;
3273
+ };
3274
+ itemId: {
3275
+ type: string;
3276
+ pattern: string;
3277
+ };
3278
+ typeId: {
3279
+ type: string;
3280
+ pattern: string;
3281
+ };
3282
+ roleId: {
3283
+ type: string[];
3284
+ pattern: string;
3285
+ };
3286
+ states: {
3287
+ type: string;
3288
+ items: {
3289
+ anyOf: {
3290
+ type: string;
3291
+ required: string[];
3292
+ properties: {
3293
+ type: {
3294
+ type: string;
3295
+ };
3296
+ features: {
3297
+ type: string;
3298
+ items: {
3299
+ type: string;
3300
+ };
3301
+ };
3302
+ date: {
3303
+ type: string;
3304
+ };
3305
+ reporter: {
3306
+ type: string;
3307
+ };
3308
+ note: {
3309
+ type: string;
3310
+ };
3311
+ };
3312
+ }[];
3313
+ };
3314
+ };
3315
+ };
3316
+ };
3317
+
3318
+ /**
3319
+ * PhysicalStatesPart editor component.
3320
+ * Thesauri: physical-states (optional), physical-state-features (optional),
3321
+ * physical-state-reporters (optional).
3322
+ */
3323
+ declare class PhysicalStatesPartComponent extends ModelEditorComponentBase<PhysicalStatesPart> implements OnInit {
3324
+ private _dialogService;
3325
+ editedIndex: number;
3326
+ edited: PhysicalState | undefined;
3327
+ stateEntries?: ThesaurusEntry[];
3328
+ featEntries?: ThesaurusEntry[];
3329
+ reporterEntries?: ThesaurusEntry[];
3330
+ entries: FormControl<PhysicalState[]>;
3331
+ constructor(authService: AuthJwtService, formBuilder: FormBuilder, _dialogService: DialogService);
3332
+ ngOnInit(): void;
3333
+ protected buildForm(formBuilder: FormBuilder): FormGroup | UntypedFormGroup;
3334
+ private updateThesauri;
3335
+ private updateForm;
3336
+ protected onDataSet(data?: EditedObject<PhysicalStatesPart>): void;
3337
+ protected getValue(): PhysicalStatesPart;
3338
+ addState(): void;
3339
+ editState(entry: PhysicalState, index: number): void;
3340
+ closeState(): void;
3341
+ saveState(entry: PhysicalState): void;
3342
+ deleteState(index: number): void;
3343
+ moveStateUp(index: number): void;
3344
+ moveStateDown(index: number): void;
3345
+ static ɵfac: i0.ɵɵFactoryDeclaration<PhysicalStatesPartComponent, never>;
3346
+ static ɵcmp: i0.ɵɵComponentDeclaration<PhysicalStatesPartComponent, "cadmus-physical-states-part", never, {}, {}, never, never, true, never>;
3347
+ }
3348
+
3349
+ /**
3350
+ * The PinLinks part model.
3351
+ */
3352
+ interface PinLinksPart extends Part {
3353
+ links: AssertedCompositeId[];
3354
+ }
3355
+ /**
3356
+ * The type ID used to identify the PinLinksPart type.
3357
+ */
3358
+ declare const PIN_LINKS_PART_TYPEID = "it.vedph.pin-links";
3359
+ /**
3360
+ * JSON schema for the PinLinks part.
3361
+ * You can use the JSON schema tool at https://jsonschema.net/.
3362
+ */
3363
+ declare const PIN_LINKS_PART_SCHEMA: {
3364
+ $schema: string;
3365
+ $id: string;
3366
+ type: string;
3367
+ title: string;
3368
+ required: string[];
3369
+ properties: {
3370
+ timeCreated: {
3371
+ type: string;
3372
+ pattern: string;
3373
+ };
3374
+ creatorId: {
3375
+ type: string;
3376
+ };
3377
+ timeModified: {
3378
+ type: string;
3379
+ pattern: string;
3380
+ };
3381
+ userId: {
3382
+ type: string;
3383
+ };
3384
+ id: {
3385
+ type: string;
3386
+ pattern: string;
3387
+ };
3388
+ itemId: {
3389
+ type: string;
3390
+ pattern: string;
3391
+ };
3392
+ typeId: {
3393
+ type: string;
3394
+ pattern: string;
3395
+ };
3396
+ roleId: {
3397
+ type: string[];
3398
+ pattern: string;
3399
+ };
3400
+ links: {
3401
+ type: string;
3402
+ items: {
3403
+ type: string;
3404
+ default: {};
3405
+ required: string[];
3406
+ properties: {
3407
+ target: {
3408
+ type: string;
3409
+ required: string[];
3410
+ properties: {
3411
+ gid: {
3412
+ type: string;
3413
+ };
3414
+ label: {
3415
+ type: string;
3416
+ };
3417
+ itemId: {
3418
+ type: string;
3419
+ };
3420
+ partId: {
3421
+ type: string;
3422
+ };
3423
+ partTypeId: {
3424
+ type: string;
3425
+ };
3426
+ roleId: {
3427
+ type: string;
3428
+ };
3429
+ name: {
3430
+ type: string;
3431
+ };
3432
+ value: {
3433
+ type: string;
3434
+ };
3435
+ };
3436
+ };
3437
+ scope: {
3438
+ type: string;
3439
+ };
3440
+ tag: {
3441
+ type: string;
3442
+ };
3443
+ assertion: {
3444
+ type: string;
3445
+ required: string[];
3446
+ properties: {
3447
+ tag: {
3448
+ type: string;
3449
+ };
3450
+ rank: {
3451
+ type: string;
3452
+ };
3453
+ note: {
3454
+ type: string;
3455
+ };
3456
+ references: {
3457
+ type: string;
3458
+ items: {
3459
+ anyOf: {
3460
+ type: string;
3461
+ required: string[];
3462
+ properties: {
3463
+ type: {
3464
+ type: string;
3465
+ };
3466
+ tag: {
3467
+ type: string;
3468
+ };
3469
+ citation: {
3470
+ type: string;
3471
+ };
3472
+ note: {
3473
+ type: string;
3474
+ };
3475
+ };
3476
+ }[];
3477
+ };
3478
+ };
3479
+ };
3480
+ };
3481
+ };
3482
+ };
3483
+ };
3484
+ };
3485
+ };
3486
+
3487
+ /**
3488
+ * PinLinksPart editor component.
3489
+ * Thesauri: pin-link-scopes, pin-link-tags, pin-link-assertion-tags,
3490
+ * pin-link-docref-types, pin-link-docref-tags, pin-link-settings.
3491
+ */
3492
+ declare class PinLinksPartComponent extends ModelEditorComponentBase<PinLinksPart> implements OnInit {
3493
+ links: FormControl<AssertedCompositeId[]>;
3494
+ pinByTypeMode?: boolean;
3495
+ canSwitchMode?: boolean;
3496
+ canEditTarget?: boolean;
3497
+ idScopeEntries?: ThesaurusEntry[];
3498
+ idTagEntries?: ThesaurusEntry[];
3499
+ assTagEntries?: ThesaurusEntry[];
3500
+ refTypeEntries?: ThesaurusEntry[];
3501
+ refTagEntries?: ThesaurusEntry[];
3502
+ setTagEntries?: ThesaurusEntry[];
3503
+ constructor(authService: AuthJwtService, formBuilder: FormBuilder);
3504
+ ngOnInit(): void;
3505
+ protected buildForm(formBuilder: FormBuilder): FormGroup | UntypedFormGroup;
3506
+ /**
3507
+ * Load settings from thesaurus entries.
3508
+ *
3509
+ * @param entries The thesaurus entries if any.
3510
+ */
3511
+ private loadSettings;
3512
+ private updateThesauri;
3513
+ private updateForm;
3514
+ protected onDataSet(data?: EditedObject<PinLinksPart>): void;
3515
+ protected getValue(): PinLinksPart;
3516
+ onIdsChange(ids: AssertedCompositeId[]): void;
3517
+ static ɵfac: i0.ɵɵFactoryDeclaration<PinLinksPartComponent, never>;
3518
+ static ɵcmp: i0.ɵɵComponentDeclaration<PinLinksPartComponent, "cadmus-pin-links-part", never, {}, {}, never, never, true, never>;
3519
+ }
3520
+
3521
+ /**
3522
+ * The pin-based links layer fragment server model.
3523
+ */
3524
+ interface PinLinksFragment extends Fragment {
3525
+ links: AssertedCompositeId[];
3526
+ }
3527
+ declare const PIN_LINKS_FRAGMENT_TYPEID = "fr.it.vedph.pin-links";
3528
+ declare const PIN_LINKS_FRAGMENT_SCHEMA: {
3529
+ definitions: {};
3530
+ $schema: string;
3531
+ $id: string;
3532
+ type: string;
3533
+ title: string;
3534
+ required: string[];
3535
+ properties: {
3536
+ location: {
3537
+ $id: string;
3538
+ type: string;
3539
+ };
3540
+ baseText: {
3541
+ $id: string;
3542
+ type: string;
3543
+ };
3544
+ links: {
3545
+ type: string;
3546
+ items: {
3547
+ type: string;
3548
+ default: {};
3549
+ required: string[];
3550
+ properties: {
3551
+ target: {
3552
+ type: string;
3553
+ required: string[];
3554
+ properties: {
3555
+ gid: {
3556
+ type: string;
3557
+ };
3558
+ label: {
3559
+ type: string;
3560
+ };
3561
+ itemId: {
3562
+ type: string;
3563
+ };
3564
+ partId: {
3565
+ type: string;
3566
+ };
3567
+ partTypeId: {
3568
+ type: string;
3569
+ };
3570
+ roleId: {
3571
+ type: string;
3572
+ };
3573
+ name: {
3574
+ type: string;
3575
+ };
3576
+ value: {
3577
+ type: string;
3578
+ };
3579
+ };
3580
+ };
3581
+ scope: {
3582
+ type: string;
3583
+ };
3584
+ tag: {
3585
+ type: string;
3586
+ };
3587
+ assertion: {
3588
+ type: string;
3589
+ required: string[];
3590
+ properties: {
3591
+ tag: {
3592
+ type: string;
3593
+ };
3594
+ rank: {
3595
+ type: string;
3596
+ };
3597
+ note: {
3598
+ type: string;
3599
+ };
3600
+ references: {
3601
+ type: string;
3602
+ items: {
3603
+ anyOf: {
3604
+ type: string;
3605
+ required: string[];
3606
+ properties: {
3607
+ type: {
3608
+ type: string;
3609
+ };
3610
+ tag: {
3611
+ type: string;
3612
+ };
3613
+ citation: {
3614
+ type: string;
3615
+ };
3616
+ note: {
3617
+ type: string;
3618
+ };
3619
+ };
3620
+ }[];
3621
+ };
3622
+ };
3623
+ };
3624
+ };
3625
+ };
3626
+ };
3627
+ };
3628
+ };
3629
+ };
3630
+
3631
+ /**
3632
+ * Pin-based links fragment editor component.
3633
+ * Thesauri: pin-link-scopes, pin-link-tags, pin-link-assertion-tags,
3634
+ * pin-link-docref-types, pin-link-docref-tags, pin-link-settings.
3635
+ */
3636
+ declare class PinLinksFragmentComponent extends ModelEditorComponentBase<PinLinksFragment> implements OnInit {
3637
+ links: FormControl<AssertedCompositeId[]>;
3638
+ pinByTypeMode?: boolean;
3639
+ canSwitchMode?: boolean;
3640
+ canEditTarget?: boolean;
3641
+ idScopeEntries?: ThesaurusEntry[];
3642
+ idTagEntries?: ThesaurusEntry[];
3643
+ assTagEntries?: ThesaurusEntry[];
3644
+ refTypeEntries?: ThesaurusEntry[];
3645
+ refTagEntries?: ThesaurusEntry[];
3646
+ setTagEntries?: ThesaurusEntry[];
3647
+ constructor(authService: AuthJwtService, formBuilder: FormBuilder);
3648
+ ngOnInit(): void;
3649
+ protected buildForm(formBuilder: FormBuilder): FormGroup | UntypedFormGroup;
3650
+ /**
3651
+ * Load settings from thesaurus entries.
3652
+ *
3653
+ * @param entries The thesaurus entries if any.
3654
+ */
3655
+ private loadSettings;
3656
+ private updateThesauri;
3657
+ private updateForm;
3658
+ protected onDataSet(data?: EditedObject<PinLinksFragment>): void;
3659
+ protected getValue(): PinLinksFragment;
3660
+ onIdsChange(ids: AssertedCompositeId[]): void;
3661
+ static ɵfac: i0.ɵɵFactoryDeclaration<PinLinksFragmentComponent, never>;
3662
+ static ɵcmp: i0.ɵɵComponentDeclaration<PinLinksFragmentComponent, "cadmus-pin-links-fragment", never, {}, {}, never, never, true, never>;
3663
+ }
3664
+
3665
+ /**
3666
+ * The name of the text tile part data representing its text.
3667
+ */
3668
+ declare const TEXT_TILE_TEXT_DATA_NAME = "text";
3669
+ /**
3670
+ * A tile in a tiled text row.
3671
+ */
3672
+ interface TextTile {
3673
+ x: number;
3674
+ data?: {
3675
+ [key: string]: any;
3676
+ };
3677
+ }
3678
+ /**
3679
+ * A row in the tiled text part.
3680
+ */
3681
+ interface TextTileRow {
3682
+ y: number;
3683
+ tiles: TextTile[];
3684
+ data?: {
3685
+ [key: string]: any;
3686
+ };
3687
+ }
3688
+ /**
3689
+ * The tiled text part model.
3690
+ */
3691
+ interface TiledTextPart extends Part {
3692
+ citation?: string;
3693
+ rows: TextTileRow[];
3694
+ }
3695
+ /**
3696
+ * The type ID used to identify the TiledTextPart type.
3697
+ */
3698
+ declare const TILED_TEXT_PART_TYPEID = "it.vedph.tiled-text";
3699
+ /**
3700
+ * JSON schema for the tiled text part. This is used in the editor demo.
3701
+ * You can use the JSON schema tool at https://jsonschema.net/.
3702
+ */
3703
+ declare const TILEDTEXTPART_SCHEMA: {
3704
+ $schema: string;
3705
+ $id: string;
3706
+ type: string;
3707
+ title: string;
3708
+ required: string[];
3709
+ properties: {
3710
+ timeCreated: {
3711
+ type: string;
3712
+ pattern: string;
3713
+ };
3714
+ creatorId: {
3715
+ type: string;
3716
+ };
3717
+ timeModified: {
3718
+ type: string;
3719
+ pattern: string;
3720
+ };
3721
+ userId: {
3722
+ type: string;
3723
+ };
3724
+ id: {
3725
+ type: string;
3726
+ pattern: string;
3727
+ };
3728
+ itemId: {
3729
+ type: string;
3730
+ pattern: string;
3731
+ };
3732
+ typeId: {
3733
+ type: string;
3734
+ pattern: string;
3735
+ };
3736
+ roleId: {
3737
+ type: string[];
3738
+ pattern: string;
3739
+ };
3740
+ citation: {
3741
+ type: string[];
3742
+ };
3743
+ rows: {
3744
+ type: string;
3745
+ items: {
3746
+ type: string;
3747
+ required: string[];
3748
+ properties: {
3749
+ y: {
3750
+ type: string;
3751
+ minimum: number;
3752
+ };
3753
+ tiles: {
3754
+ type: string;
3755
+ items: {
3756
+ type: string;
3757
+ required: string[];
3758
+ properties: {
3759
+ x: {
3760
+ type: string;
3761
+ minimum: number;
3762
+ };
3763
+ data: {
3764
+ type: string;
3765
+ patternProperties: {
3766
+ '^.*$': {
3767
+ anyOf: {
3768
+ type: string;
3769
+ }[];
3770
+ };
3771
+ };
3772
+ };
3773
+ };
3774
+ };
3775
+ };
3776
+ };
3777
+ data: {
3778
+ type: string;
3779
+ patternProperties: {
3780
+ '^.*$': {
3781
+ anyOf: {
3782
+ type: string;
3783
+ }[];
3784
+ };
3785
+ };
3786
+ };
3787
+ };
3788
+ };
3789
+ };
3790
+ };
3791
+
3792
+ declare class TextTileComponent implements OnInit, OnDestroy {
3793
+ private _sub?;
3794
+ private _checkedChangeFrozen?;
3795
+ textElement?: ElementRef;
3796
+ readonly selected: i0.InputSignal<boolean | undefined>;
3797
+ readonly checkable: i0.InputSignal<boolean | undefined>;
3798
+ readonly readonly: i0.InputSignal<boolean | undefined>;
3799
+ readonly color: i0.InputSignal<string | undefined>;
3800
+ readonly checked: i0.ModelSignal<boolean>;
3801
+ readonly tile: i0.ModelSignal<TextTile | undefined>;
3802
+ readonly editData: i0.OutputEmitterRef<TextTile>;
3803
+ editedText: FormControl<string | null>;
3804
+ checker: FormControl<boolean>;
3805
+ form: FormGroup;
3806
+ text?: string;
3807
+ editing?: boolean;
3808
+ constructor(formBuilder: FormBuilder);
3809
+ ngOnInit(): void;
3810
+ ngOnDestroy(): void;
3811
+ private updateForm;
3812
+ requestDataEdit(): void;
3813
+ toggleCheckedNonEdit(): void;
3814
+ edit(): void;
3815
+ requestEditData(): void;
3816
+ cancel(): void;
3817
+ private getTile;
3818
+ save(): void;
3819
+ static ɵfac: i0.ɵɵFactoryDeclaration<TextTileComponent, never>;
3820
+ static ɵcmp: i0.ɵɵComponentDeclaration<TextTileComponent, "cadmus-text-tile", never, { "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "checkable": { "alias": "checkable"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "tile": { "alias": "tile"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; "tile": "tileChange"; "editData": "editData"; }, never, never, true, never>;
3821
+ }
3822
+
3823
+ interface Data$1 {
3824
+ [key: string]: any;
3825
+ }
3826
+ interface DataKey {
3827
+ value: string;
3828
+ visible: boolean;
3829
+ }
3830
+ declare class TiledDataComponent implements OnInit, OnDestroy {
3831
+ private _formBuilder;
3832
+ private _dialogService;
3833
+ private _sub?;
3834
+ private _hiddenData;
3835
+ keys: DataKey[];
3836
+ readonly title: i0.InputSignal<string | undefined>;
3837
+ readonly data: i0.ModelSignal<Data$1>;
3838
+ readonly hiddenKeys: i0.InputSignal<string[]>;
3839
+ readonly cancel: i0.OutputEmitterRef<void>;
3840
+ keyFilter: FormControl<string | null>;
3841
+ filterForm: FormGroup;
3842
+ newKey: FormControl<string | null>;
3843
+ newValue: FormControl<string | null>;
3844
+ newForm: FormGroup;
3845
+ form: FormGroup;
3846
+ constructor(_formBuilder: FormBuilder, _dialogService: DialogService);
3847
+ ngOnInit(): void;
3848
+ ngOnDestroy(): void;
3849
+ private matchesFilter;
3850
+ isVisibleKey(key: string): boolean;
3851
+ private updateForm;
3852
+ private updateDataVisibility;
3853
+ private getData;
3854
+ deleteDatum(key: DataKey): void;
3855
+ addDatum(): void;
3856
+ close(): void;
3857
+ save(): void;
3858
+ static ɵfac: i0.ɵɵFactoryDeclaration<TiledDataComponent, never>;
3859
+ static ɵcmp: i0.ɵɵComponentDeclaration<TiledDataComponent, "cadmus-tiled-data", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "hiddenKeys": { "alias": "hiddenKeys"; "required": false; "isSignal": true; }; }, { "data": "dataChange"; "cancel": "cancel"; }, never, never, true, never>;
3860
+ }
3861
+
3862
+ interface Data {
3863
+ [key: string]: any;
3864
+ }
3865
+ declare class TiledTextPartComponent extends ModelEditorComponentBase<TiledTextPart> implements OnInit {
3866
+ private _dialogService;
3867
+ private _editedDataTile?;
3868
+ private _editedDataRow?;
3869
+ selectedTile?: TextTile;
3870
+ citation: FormControl<string | null>;
3871
+ rows: FormControl<TextTileRow[]>;
3872
+ editedData?: Data;
3873
+ editedDataTitle?: string;
3874
+ currentTabIndex: number;
3875
+ constructor(authService: AuthJwtService, formBuilder: FormBuilder, _dialogService: DialogService);
3876
+ ngOnInit(): void;
3877
+ protected buildForm(formBuilder: FormBuilder): FormGroup | UntypedFormGroup;
3878
+ private updateForm;
3879
+ protected onDataSet(data?: EditedObject<TiledTextPart>): void;
3880
+ /**
3881
+ * Recalculate the coordinates of all the tiles in this set,
3882
+ * according to the tiles position.
3883
+ */
3884
+ private adjustCoords;
3885
+ protected getValue(): TiledTextPart;
3886
+ /**
3887
+ * Append a new row at the bottom.
3888
+ */
3889
+ addRow(): void;
3890
+ /**
3891
+ * Append a new tile at the end of the specified row.
3892
+ * @param row The row to add the tile to.
3893
+ */
3894
+ addTile(row: TextTileRow): void;
3895
+ /**
3896
+ * Delete the selected tile, if any.
3897
+ */
3898
+ deleteSelectedTile(): void;
3899
+ /**
3900
+ * Delete the row at the specified index.
3901
+ * @param rowIndex The row's index.
3902
+ */
3903
+ deleteRow(rowIndex: number): void;
3904
+ /**
3905
+ * Move the row at the specified index up.
3906
+ * @param rowIndex The row index.
3907
+ */
3908
+ moveRowUp(rowIndex: number): void;
3909
+ /**
3910
+ * Move the row at the specified index down.
3911
+ * @param rowIndex The row index.
3912
+ */
3913
+ moveRowDown(rowIndex: number): void;
3914
+ drop(event: CdkDragDrop<TextTile[]>, row: TextTileRow): void;
3915
+ onTileChange(tile: TextTile): void;
3916
+ editRowData(row: TextTileRow): void;
3917
+ editTileData(tile: TextTile): void;
3918
+ closeDataEditor(): void;
3919
+ saveEditedData(data: Data): void;
3920
+ getTileCoords(tile?: TextTile): string;
3921
+ static ɵfac: i0.ɵɵFactoryDeclaration<TiledTextPartComponent, never>;
3922
+ static ɵcmp: i0.ɵɵComponentDeclaration<TiledTextPartComponent, "cadmus-tiled-text-part", never, {}, {}, never, never, true, never>;
3923
+ }
3924
+
3925
+ /**
3926
+ * A single line in a TokenTextPart.
3927
+ */
3928
+ interface TokenTextLine {
3929
+ y: number;
3930
+ text: string;
3931
+ }
3932
+ /**
3933
+ * Token-based text part.
3934
+ */
3935
+ interface TokenTextPart extends Part {
3936
+ citation?: string;
3937
+ lines: TokenTextLine[];
3938
+ }
3939
+ /**
3940
+ * The type ID used to identify the TokenTextPart type.
3941
+ */
3942
+ declare const TOKEN_TEXT_PART_TYPEID = "it.vedph.token-text";
3943
+ /**
3944
+ * JSON schema for the TookenTextPart. This is used in the editor demo.
3945
+ * You can use the JSON schema tool at https://jsonschema.net/.
3946
+ */
3947
+ declare const TOKEN_TEXT_PART_SCHEMA: {
3948
+ $schema: string;
3949
+ $id: string;
3950
+ type: string;
3951
+ title: string;
3952
+ required: string[];
3953
+ properties: {
3954
+ timeCreated: {
3955
+ type: string;
3956
+ pattern: string;
3957
+ };
3958
+ creatorId: {
3959
+ type: string;
3960
+ };
3961
+ timeModified: {
3962
+ type: string;
3963
+ pattern: string;
3964
+ };
3965
+ userId: {
3966
+ type: string;
3967
+ };
3968
+ id: {
3969
+ type: string;
3970
+ pattern: string;
3971
+ };
3972
+ itemId: {
3973
+ type: string;
3974
+ pattern: string;
3975
+ };
3976
+ typeId: {
3977
+ type: string;
3978
+ pattern: string;
3979
+ };
3980
+ roleId: {
3981
+ type: string[];
3982
+ pattern: string;
3983
+ };
3984
+ citation: {
3985
+ type: string[];
3986
+ };
3987
+ lines: {
3988
+ $id: string;
3989
+ type: string;
3990
+ title: string;
3991
+ items: {
3992
+ $id: string;
3993
+ type: string;
3994
+ required: string[];
3995
+ properties: {
3996
+ y: {
3997
+ $id: string;
3998
+ type: string;
3999
+ };
4000
+ text: {
4001
+ $id: string;
4002
+ type: string;
4003
+ };
4004
+ };
4005
+ };
4006
+ };
4007
+ };
4008
+ };
4009
+
4010
+ /**
4011
+ * Editor component for base text, as referenced by token-based layers.
4012
+ * Thesauri: none.
4013
+ */
4014
+ declare class TokenTextPartComponent extends ModelEditorComponentBase<TokenTextPart> implements OnInit, OnDestroy {
4015
+ private _dialogService;
4016
+ private readonly _disposables;
4017
+ private _editorModel?;
4018
+ private _editor?;
4019
+ citation: FormControl<string | null>;
4020
+ text: FormControl<string | null>;
4021
+ transform: FormControl<string | null>;
4022
+ constructor(authService: AuthJwtService, formBuilder: FormBuilder, _dialogService: DialogService);
4023
+ ngOnInit(): void;
4024
+ ngOnDestroy(): void;
4025
+ onCreateEditor(editor: monaco.editor.IEditor): void;
4026
+ protected buildForm(formBuilder: FormBuilder): FormGroup | UntypedFormGroup;
4027
+ private getTextFromModel;
4028
+ private getLinesFromText;
4029
+ private updateForm;
4030
+ protected onDataSet(data?: EditedObject<TokenTextPart>): void;
4031
+ protected getValue(): TokenTextPart;
4032
+ private normalizeWs;
4033
+ private splitAtStops;
4034
+ applyTransform(): void;
4035
+ static ɵfac: i0.ɵɵFactoryDeclaration<TokenTextPartComponent, never>;
4036
+ static ɵcmp: i0.ɵɵComponentDeclaration<TokenTextPartComponent, "cadmus-token-text-part", never, {}, {}, never, never, true, never>;
4037
+ }
4038
+
4039
+ export { ASSERTED_HISTORICAL_DATES_PART_SCHEMA, ASSERTED_HISTORICAL_DATES_PART_TYPEID, AssertedHistoricalDateComponent, AssertedHistoricalDatesPartComponent, BIBLIOGRAPHY_PART_SCHEMA, BIBLIOGRAPHY_PART_TYPEID, BibAuthorsEditorComponent, BibliographyEntryComponent, BibliographyPartComponent, CATEGORIES_PART_SCHEMA, CATEGORIES_PART_TYPEID, CHRONOLOGY_FRAGMENT_SCHEMA, CHRONOLOGY_FRAGMENT_TYPEID, CHRONOTOPES_PART_TYPEID, COMMENT_FRAGMENT_SCHEMA, COMMENT_FRAGMENT_TYPEID, COMMENT_PART_SCHEMA, COMMENT_PART_TYPEID, CategoriesPartComponent, ChronologyFragmentComponent, ChronotopesPartComponent, Chronotopes_PART_SCHEMA, CommentEditorComponent, DECORATED_COUNTS_PART_SCHEMA, DECORATED_COUNTS_PART_TYPEID, DISTRICT_LOCATION_PART_SCHEMA, DISTRICT_LOCATION_PART_TYPEID, DOC_REFERENCES_PART_SCHEMA, DOC_REFERENCES_PART_TYPEID, DecoratedCountsPartComponent, DistrictLocationPartComponent, DocReferencesPartComponent, EXTERNAL_IDS_PART_SCHEMA, EXTERNAL_IDS_PART_TYPEID, ExternalIdsPartComponent, HISTORICAL_DATE_PART_SCHEMA, HISTORICAL_DATE_PART_TYPEID, HISTORICAL_EVENTS_PART_SCHEMA, HISTORICAL_EVENTS_PART_TYPEID, HistoricalDatePartComponent, HistoricalEventEditorComponent, HistoricalEventsPartComponent, INDEX_KEYWORDS_PART_SCHEMA, INDEX_KEYWORDS_PART_TYPEID, IndexKeywordComponent, IndexKeywordsPartComponent, KEYWORDS_PART_SCHEMA, KEYWORDS_PART_TYPEID, KeywordsPartComponent, METADATA_PART_SCHEMA, METADATA_PART_TYPEID, MetadataPartComponent, NAMES_PART_SCHEMA, NAMES_PART_TYPEID, NOTE_PART_SCHEMA, NOTE_PART_TYPEID, NamesPartComponent, NotePartComponent, PHYSICAL_MEASUREMENTS_PART_SCHEMA, PHYSICAL_MEASUREMENTS_PART_TYPEID, PHYSICAL_STATES_PART_SCHEMA, PHYSICAL_STATES_PART_TYPEID, PIN_LINKS_FRAGMENT_SCHEMA, PIN_LINKS_FRAGMENT_TYPEID, PIN_LINKS_PART_SCHEMA, PIN_LINKS_PART_TYPEID, PhysicalMeasurementsPartComponent, PhysicalStatesPartComponent, PinLinksFragmentComponent, PinLinksPartComponent, RelatedEntityComponent, TEXT_TILE_TEXT_DATA_NAME, TILEDTEXTPART_SCHEMA, TILED_TEXT_PART_TYPEID, TOKEN_TEXT_PART_SCHEMA, TOKEN_TEXT_PART_TYPEID, TextTileComponent, TiledDataComponent, TiledTextPartComponent, TokenTextPartComponent };
4040
+ export type { AssertedHistoricalDatesPart, BibAuthor, BibEntry, BibliographyPart, CategoriesPart, ChronologyFragment, ChronotopesPart, Comment, CommentFragment, CommentPart, DecoratedCountsPart, DistrictLocationPart, DocReferencesPart, ExternalIdsPart, HistoricalDatePart, HistoricalEvent, HistoricalEventsPart, IndexKeyword, IndexKeywordsPart, Keyword, KeywordsPart, MetadataPart, Metadatum, NamesPart, NotePart, PhysicalMeasurementsPart, PhysicalStatesPart, PinLinksFragment, PinLinksPart, RelatedEntity, TextTile, TextTileRow, TiledTextPart, TokenTextLine, TokenTextPart };