@myrmidon/cadmus-part-codicology-shelfmarks 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -0
- package/esm2020/lib/cadmus-part-codicology-shelfmarks.module.mjs +91 -0
- package/esm2020/lib/cod-shelfmark-editor/cod-shelfmark-editor.component.mjs +100 -0
- package/esm2020/lib/cod-shelfmarks-part/cod-shelfmarks-part.component.mjs +151 -0
- package/esm2020/lib/cod-shelfmarks-part-feature/cod-shelfmarks-part-feature.component.mjs +26 -0
- package/esm2020/lib/cod-shelfmarks-part-feature/edit-cod-shelfmarks-part.query.mjs +16 -0
- package/esm2020/lib/cod-shelfmarks-part-feature/edit-cod-shelfmarks-part.service.mjs +18 -0
- package/esm2020/lib/cod-shelfmarks-part-feature/edit-cod-shelfmarks-part.store.mjs +27 -0
- package/esm2020/lib/cod-shelfmarks-part.mjs +87 -0
- package/esm2020/myrmidon-cadmus-part-codicology-shelfmarks.mjs +5 -0
- package/esm2020/public-api.mjs +9 -0
- package/fesm2015/myrmidon-cadmus-part-codicology-shelfmarks.mjs +492 -0
- package/fesm2015/myrmidon-cadmus-part-codicology-shelfmarks.mjs.map +1 -0
- package/fesm2020/myrmidon-cadmus-part-codicology-shelfmarks.mjs +490 -0
- package/fesm2020/myrmidon-cadmus-part-codicology-shelfmarks.mjs.map +1 -0
- package/lib/cadmus-part-codicology-shelfmarks.module.d.ts +21 -0
- package/lib/cod-shelfmark-editor/cod-shelfmark-editor.component.d.ts +28 -0
- package/lib/cod-shelfmarks-part/cod-shelfmarks-part.component.d.ts +36 -0
- package/lib/cod-shelfmarks-part-feature/cod-shelfmarks-part-feature.component.d.ts +13 -0
- package/lib/cod-shelfmarks-part-feature/edit-cod-shelfmarks-part.query.d.ts +8 -0
- package/lib/cod-shelfmarks-part-feature/edit-cod-shelfmarks-part.service.d.ts +9 -0
- package/lib/cod-shelfmarks-part-feature/edit-cod-shelfmarks-part.store.d.ts +10 -0
- package/lib/cod-shelfmarks-part.d.ts +90 -0
- package/myrmidon-cadmus-part-codicology-shelfmarks.d.ts +5 -0
- package/package.json +43 -0
- package/public-api.d.ts +5 -0
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The type ID used to identify the CodShelfmarksPart type.
|
|
3
|
+
*/
|
|
4
|
+
export const COD_SHELFMARKS_PART_TYPEID = 'it.vedph.codicology.shelfmarks';
|
|
5
|
+
/**
|
|
6
|
+
* JSON schema for the CodShelfmarks part.
|
|
7
|
+
* You can use the JSON schema tool at https://jsonschema.net/.
|
|
8
|
+
*/
|
|
9
|
+
export const COD_SHELFMARKS_PART_SCHEMA = {
|
|
10
|
+
$schema: 'http://json-schema.org/draft-07/schema#',
|
|
11
|
+
$id: 'www.vedph.it/cadmus/parts/codicology/' +
|
|
12
|
+
COD_SHELFMARKS_PART_TYPEID +
|
|
13
|
+
'.json',
|
|
14
|
+
type: 'object',
|
|
15
|
+
title: 'CodShelfmarksPart',
|
|
16
|
+
required: [
|
|
17
|
+
'id',
|
|
18
|
+
'itemId',
|
|
19
|
+
'typeId',
|
|
20
|
+
'timeCreated',
|
|
21
|
+
'creatorId',
|
|
22
|
+
'timeModified',
|
|
23
|
+
'userId',
|
|
24
|
+
'shelfmarks',
|
|
25
|
+
],
|
|
26
|
+
properties: {
|
|
27
|
+
timeCreated: {
|
|
28
|
+
type: 'string',
|
|
29
|
+
pattern: '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d+Z$',
|
|
30
|
+
},
|
|
31
|
+
creatorId: {
|
|
32
|
+
type: 'string',
|
|
33
|
+
},
|
|
34
|
+
timeModified: {
|
|
35
|
+
type: 'string',
|
|
36
|
+
pattern: '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d+Z$',
|
|
37
|
+
},
|
|
38
|
+
userId: {
|
|
39
|
+
type: 'string',
|
|
40
|
+
},
|
|
41
|
+
id: {
|
|
42
|
+
type: 'string',
|
|
43
|
+
pattern: '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$',
|
|
44
|
+
},
|
|
45
|
+
itemId: {
|
|
46
|
+
type: 'string',
|
|
47
|
+
pattern: '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$',
|
|
48
|
+
},
|
|
49
|
+
typeId: {
|
|
50
|
+
type: 'string',
|
|
51
|
+
pattern: '^[a-z][-0-9a-z._]*$',
|
|
52
|
+
},
|
|
53
|
+
roleId: {
|
|
54
|
+
type: ['string', 'null'],
|
|
55
|
+
pattern: '^([a-z][-0-9a-z._]*)?$',
|
|
56
|
+
},
|
|
57
|
+
shelfmarks: {
|
|
58
|
+
type: 'array',
|
|
59
|
+
items: {
|
|
60
|
+
anyOf: [
|
|
61
|
+
{
|
|
62
|
+
type: 'object',
|
|
63
|
+
required: ['city', 'library', 'location'],
|
|
64
|
+
properties: {
|
|
65
|
+
tag: {
|
|
66
|
+
type: 'string',
|
|
67
|
+
},
|
|
68
|
+
city: {
|
|
69
|
+
type: 'string',
|
|
70
|
+
},
|
|
71
|
+
library: {
|
|
72
|
+
type: 'string',
|
|
73
|
+
},
|
|
74
|
+
fund: {
|
|
75
|
+
type: 'string',
|
|
76
|
+
},
|
|
77
|
+
location: {
|
|
78
|
+
type: 'string',
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
],
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
};
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLXNoZWxmbWFya3MtcGFydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cm1pZG9uL2NhZG11cy1wYXJ0LWNvZGljb2xvZ3ktc2hlbGZtYXJrcy9zcmMvbGliL2NvZC1zaGVsZm1hcmtzLXBhcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0JBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsZ0NBQWdDLENBQUM7QUFFM0U7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUc7SUFDeEMsT0FBTyxFQUFFLHlDQUF5QztJQUNsRCxHQUFHLEVBQ0QsdUNBQXVDO1FBQ3ZDLDBCQUEwQjtRQUMxQixPQUFPO0lBQ1QsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVBQUUsbUJBQW1CO0lBQzFCLFFBQVEsRUFBRTtRQUNSLElBQUk7UUFDSixRQUFRO1FBQ1IsUUFBUTtRQUNSLGFBQWE7UUFDYixXQUFXO1FBQ1gsY0FBYztRQUNkLFFBQVE7UUFDUixZQUFZO0tBQ2I7SUFDRCxVQUFVLEVBQUU7UUFDVixXQUFXLEVBQUU7WUFDWCxJQUFJLEVBQUUsUUFBUTtZQUNkLE9BQU8sRUFBRSxtREFBbUQ7U0FDN0Q7UUFDRCxTQUFTLEVBQUU7WUFDVCxJQUFJLEVBQUUsUUFBUTtTQUNmO1FBQ0QsWUFBWSxFQUFFO1lBQ1osSUFBSSxFQUFFLFFBQVE7WUFDZCxPQUFPLEVBQUUsbURBQW1EO1NBQzdEO1FBQ0QsTUFBTSxFQUFFO1lBQ04sSUFBSSxFQUFFLFFBQVE7U0FDZjtRQUNELEVBQUUsRUFBRTtZQUNGLElBQUksRUFBRSxRQUFRO1lBQ2QsT0FBTyxFQUFFLGdFQUFnRTtTQUMxRTtRQUNELE1BQU0sRUFBRTtZQUNOLElBQUksRUFBRSxRQUFRO1lBQ2QsT0FBTyxFQUFFLGdFQUFnRTtTQUMxRTtRQUNELE1BQU0sRUFBRTtZQUNOLElBQUksRUFBRSxRQUFRO1lBQ2QsT0FBTyxFQUFFLHFCQUFxQjtTQUMvQjtRQUNELE1BQU0sRUFBRTtZQUNOLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUM7WUFDeEIsT0FBTyxFQUFFLHdCQUF3QjtTQUNsQztRQUNELFVBQVUsRUFBRTtZQUNWLElBQUksRUFBRSxPQUFPO1lBQ2IsS0FBSyxFQUFFO2dCQUNMLEtBQUssRUFBRTtvQkFDTDt3QkFDRSxJQUFJLEVBQUUsUUFBUTt3QkFDZCxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQzt3QkFDekMsVUFBVSxFQUFFOzRCQUNWLEdBQUcsRUFBRTtnQ0FDSCxJQUFJLEVBQUUsUUFBUTs2QkFDZjs0QkFDRCxJQUFJLEVBQUU7Z0NBQ0osSUFBSSxFQUFFLFFBQVE7NkJBQ2Y7NEJBQ0QsT0FBTyxFQUFFO2dDQUNQLElBQUksRUFBRSxRQUFROzZCQUNmOzRCQUNELElBQUksRUFBRTtnQ0FDSixJQUFJLEVBQUUsUUFBUTs2QkFDZjs0QkFDRCxRQUFRLEVBQUU7Z0NBQ1IsSUFBSSxFQUFFLFFBQVE7NkJBQ2Y7eUJBQ0Y7cUJBQ0Y7aUJBQ0Y7YUFDRjtTQUNGO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGFydCB9IGZyb20gJ0BteXJtaWRvbi9jYWRtdXMtY29yZSc7XHJcblxyXG4vKipcclxuICogQSBtYW51c2NyaXB0J3Mgc2hlbGZtYXJrLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBDb2RTaGVsZm1hcmsge1xyXG4gIHRhZz86IHN0cmluZztcclxuICBjaXR5OiBzdHJpbmc7XHJcbiAgbGlicmFyeTogc3RyaW5nO1xyXG4gIGZ1bmQ/OiBzdHJpbmc7XHJcbiAgbG9jYXRpb246IHN0cmluZztcclxufVxyXG5cclxuLyoqXHJcbiAqIFRoZSBDb2RTaGVsZm1hcmtzIHBhcnQgbW9kZWwuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIENvZFNoZWxmbWFya3NQYXJ0IGV4dGVuZHMgUGFydCB7XHJcbiAgc2hlbGZtYXJrczogQ29kU2hlbGZtYXJrW107XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUaGUgdHlwZSBJRCB1c2VkIHRvIGlkZW50aWZ5IHRoZSBDb2RTaGVsZm1hcmtzUGFydCB0eXBlLlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IENPRF9TSEVMRk1BUktTX1BBUlRfVFlQRUlEID0gJ2l0LnZlZHBoLmNvZGljb2xvZ3kuc2hlbGZtYXJrcyc7XHJcblxyXG4vKipcclxuICogSlNPTiBzY2hlbWEgZm9yIHRoZSBDb2RTaGVsZm1hcmtzIHBhcnQuXHJcbiAqIFlvdSBjYW4gdXNlIHRoZSBKU09OIHNjaGVtYSB0b29sIGF0IGh0dHBzOi8vanNvbnNjaGVtYS5uZXQvLlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IENPRF9TSEVMRk1BUktTX1BBUlRfU0NIRU1BID0ge1xyXG4gICRzY2hlbWE6ICdodHRwOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LTA3L3NjaGVtYSMnLFxyXG4gICRpZDpcclxuICAgICd3d3cudmVkcGguaXQvY2FkbXVzL3BhcnRzL2NvZGljb2xvZ3kvJyArXHJcbiAgICBDT0RfU0hFTEZNQVJLU19QQVJUX1RZUEVJRCArXHJcbiAgICAnLmpzb24nLFxyXG4gIHR5cGU6ICdvYmplY3QnLFxyXG4gIHRpdGxlOiAnQ29kU2hlbGZtYXJrc1BhcnQnLFxyXG4gIHJlcXVpcmVkOiBbXHJcbiAgICAnaWQnLFxyXG4gICAgJ2l0ZW1JZCcsXHJcbiAgICAndHlwZUlkJyxcclxuICAgICd0aW1lQ3JlYXRlZCcsXHJcbiAgICAnY3JlYXRvcklkJyxcclxuICAgICd0aW1lTW9kaWZpZWQnLFxyXG4gICAgJ3VzZXJJZCcsXHJcbiAgICAnc2hlbGZtYXJrcycsXHJcbiAgXSxcclxuICBwcm9wZXJ0aWVzOiB7XHJcbiAgICB0aW1lQ3JlYXRlZDoge1xyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgcGF0dGVybjogJ15cXFxcZHs0fS1cXFxcZHsyfS1cXFxcZHsyfVRcXFxcZHsyfTpcXFxcZHsyfTpcXFxcZHsyfS5cXFxcZCtaJCcsXHJcbiAgICB9LFxyXG4gICAgY3JlYXRvcklkOiB7XHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgfSxcclxuICAgIHRpbWVNb2RpZmllZDoge1xyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgcGF0dGVybjogJ15cXFxcZHs0fS1cXFxcZHsyfS1cXFxcZHsyfVRcXFxcZHsyfTpcXFxcZHsyfTpcXFxcZHsyfS5cXFxcZCtaJCcsXHJcbiAgICB9LFxyXG4gICAgdXNlcklkOiB7XHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgfSxcclxuICAgIGlkOiB7XHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBwYXR0ZXJuOiAnXlswLTlhLWZdezh9LVswLTlhLWZdezR9LVswLTlhLWZdezR9LVswLTlhLWZdezR9LVswLTlhLWZdezEyfSQnLFxyXG4gICAgfSxcclxuICAgIGl0ZW1JZDoge1xyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgcGF0dGVybjogJ15bMC05YS1mXXs4fS1bMC05YS1mXXs0fS1bMC05YS1mXXs0fS1bMC05YS1mXXs0fS1bMC05YS1mXXsxMn0kJyxcclxuICAgIH0sXHJcbiAgICB0eXBlSWQ6IHtcclxuICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgIHBhdHRlcm46ICdeW2Etel1bLTAtOWEtei5fXSokJyxcclxuICAgIH0sXHJcbiAgICByb2xlSWQ6IHtcclxuICAgICAgdHlwZTogWydzdHJpbmcnLCAnbnVsbCddLFxyXG4gICAgICBwYXR0ZXJuOiAnXihbYS16XVstMC05YS16Ll9dKik/JCcsXHJcbiAgICB9LFxyXG4gICAgc2hlbGZtYXJrczoge1xyXG4gICAgICB0eXBlOiAnYXJyYXknLFxyXG4gICAgICBpdGVtczoge1xyXG4gICAgICAgIGFueU9mOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxyXG4gICAgICAgICAgICByZXF1aXJlZDogWydjaXR5JywgJ2xpYnJhcnknLCAnbG9jYXRpb24nXSxcclxuICAgICAgICAgICAgcHJvcGVydGllczoge1xyXG4gICAgICAgICAgICAgIHRhZzoge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICBjaXR5OiB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIGxpYnJhcnk6IHtcclxuICAgICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgZnVuZDoge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICBsb2NhdGlvbjoge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXSxcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgfSxcclxufTtcclxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXlybWlkb24tY2FkbXVzLXBhcnQtY29kaWNvbG9neS1zaGVsZm1hcmtzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlybWlkb24vY2FkbXVzLXBhcnQtY29kaWNvbG9neS1zaGVsZm1hcmtzL3NyYy9teXJtaWRvbi1jYWRtdXMtcGFydC1jb2RpY29sb2d5LXNoZWxmbWFya3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of cadmus-part-codicology-shelfmarks
|
|
3
|
+
*/
|
|
4
|
+
export * from './lib/cod-shelfmarks-part';
|
|
5
|
+
export * from './lib/cod-shelfmarks-part/cod-shelfmarks-part.component';
|
|
6
|
+
export * from './lib/cod-shelfmark-editor/cod-shelfmark-editor.component';
|
|
7
|
+
export * from './lib/cod-shelfmarks-part-feature/cod-shelfmarks-part-feature.component';
|
|
8
|
+
export * from './lib/cadmus-part-codicology-shelfmarks.module';
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL215cm1pZG9uL2NhZG11cy1wYXJ0LWNvZGljb2xvZ3ktc2hlbGZtYXJrcy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMseUVBQXlFLENBQUM7QUFDeEYsY0FBYyxnREFBZ0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgY2FkbXVzLXBhcnQtY29kaWNvbG9neS1zaGVsZm1hcmtzXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29kLXNoZWxmbWFya3MtcGFydCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2Qtc2hlbGZtYXJrcy1wYXJ0L2NvZC1zaGVsZm1hcmtzLXBhcnQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvZC1zaGVsZm1hcmstZWRpdG9yL2NvZC1zaGVsZm1hcmstZWRpdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2Qtc2hlbGZtYXJrcy1wYXJ0LWZlYXR1cmUvY29kLXNoZWxmbWFya3MtcGFydC1mZWF0dXJlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWRtdXMtcGFydC1jb2RpY29sb2d5LXNoZWxmbWFya3MubW9kdWxlJztcbiJdfQ==
|
|
@@ -0,0 +1,492 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { EventEmitter, Component, Input, Output, Injectable, NgModule } from '@angular/core';
|
|
3
|
+
import { take } from 'rxjs/operators';
|
|
4
|
+
import { NgToolsValidators, deepCopy } from '@myrmidon/ng-tools';
|
|
5
|
+
import * as i9$1 from '@myrmidon/cadmus-ui';
|
|
6
|
+
import { ModelEditorComponentBase, CadmusUiModule } from '@myrmidon/cadmus-ui';
|
|
7
|
+
import * as i1$1 from '@myrmidon/auth-jwt-login';
|
|
8
|
+
import * as i1 from '@angular/forms';
|
|
9
|
+
import { Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
10
|
+
import * as i3$1 from '@myrmidon/ng-mat-tools';
|
|
11
|
+
import * as i4$1 from '@angular/material/card';
|
|
12
|
+
import { MatCardModule } from '@angular/material/card';
|
|
13
|
+
import * as i6 from '@angular/material/icon';
|
|
14
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
15
|
+
import * as i6$1 from '@angular/material/tabs';
|
|
16
|
+
import { MatTabsModule } from '@angular/material/tabs';
|
|
17
|
+
import * as i5 from '@angular/material/button';
|
|
18
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
19
|
+
import * as i2 from '@angular/material/form-field';
|
|
20
|
+
import * as i3 from '@angular/material/select';
|
|
21
|
+
import { MatSelectModule } from '@angular/material/select';
|
|
22
|
+
import * as i4 from '@angular/material/core';
|
|
23
|
+
import * as i7 from '@angular/common';
|
|
24
|
+
import { CommonModule } from '@angular/common';
|
|
25
|
+
import * as i8 from '@angular/material/input';
|
|
26
|
+
import { MatInputModule } from '@angular/material/input';
|
|
27
|
+
import * as i9 from '@angular/material/tooltip';
|
|
28
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
29
|
+
import * as i5$1 from '@myrmidon/cadmus-state';
|
|
30
|
+
import { EditPartQueryBase, EditPartServiceBase, EditPartFeatureBase, CadmusStateModule } from '@myrmidon/cadmus-state';
|
|
31
|
+
import * as i1$2 from '@angular/router';
|
|
32
|
+
import * as i2$2 from '@angular/material/snack-bar';
|
|
33
|
+
import { __decorate } from 'tslib';
|
|
34
|
+
import { Store, StoreConfig } from '@datorama/akita';
|
|
35
|
+
import * as i2$1 from '@myrmidon/cadmus-api';
|
|
36
|
+
import * as i6$2 from '@myrmidon/cadmus-ui-pg';
|
|
37
|
+
import { CadmusUiPgModule } from '@myrmidon/cadmus-ui-pg';
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* The type ID used to identify the CodShelfmarksPart type.
|
|
41
|
+
*/
|
|
42
|
+
const COD_SHELFMARKS_PART_TYPEID = 'it.vedph.codicology.shelfmarks';
|
|
43
|
+
/**
|
|
44
|
+
* JSON schema for the CodShelfmarks part.
|
|
45
|
+
* You can use the JSON schema tool at https://jsonschema.net/.
|
|
46
|
+
*/
|
|
47
|
+
const COD_SHELFMARKS_PART_SCHEMA = {
|
|
48
|
+
$schema: 'http://json-schema.org/draft-07/schema#',
|
|
49
|
+
$id: 'www.vedph.it/cadmus/parts/codicology/' +
|
|
50
|
+
COD_SHELFMARKS_PART_TYPEID +
|
|
51
|
+
'.json',
|
|
52
|
+
type: 'object',
|
|
53
|
+
title: 'CodShelfmarksPart',
|
|
54
|
+
required: [
|
|
55
|
+
'id',
|
|
56
|
+
'itemId',
|
|
57
|
+
'typeId',
|
|
58
|
+
'timeCreated',
|
|
59
|
+
'creatorId',
|
|
60
|
+
'timeModified',
|
|
61
|
+
'userId',
|
|
62
|
+
'shelfmarks',
|
|
63
|
+
],
|
|
64
|
+
properties: {
|
|
65
|
+
timeCreated: {
|
|
66
|
+
type: 'string',
|
|
67
|
+
pattern: '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d+Z$',
|
|
68
|
+
},
|
|
69
|
+
creatorId: {
|
|
70
|
+
type: 'string',
|
|
71
|
+
},
|
|
72
|
+
timeModified: {
|
|
73
|
+
type: 'string',
|
|
74
|
+
pattern: '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d+Z$',
|
|
75
|
+
},
|
|
76
|
+
userId: {
|
|
77
|
+
type: 'string',
|
|
78
|
+
},
|
|
79
|
+
id: {
|
|
80
|
+
type: 'string',
|
|
81
|
+
pattern: '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$',
|
|
82
|
+
},
|
|
83
|
+
itemId: {
|
|
84
|
+
type: 'string',
|
|
85
|
+
pattern: '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$',
|
|
86
|
+
},
|
|
87
|
+
typeId: {
|
|
88
|
+
type: 'string',
|
|
89
|
+
pattern: '^[a-z][-0-9a-z._]*$',
|
|
90
|
+
},
|
|
91
|
+
roleId: {
|
|
92
|
+
type: ['string', 'null'],
|
|
93
|
+
pattern: '^([a-z][-0-9a-z._]*)?$',
|
|
94
|
+
},
|
|
95
|
+
shelfmarks: {
|
|
96
|
+
type: 'array',
|
|
97
|
+
items: {
|
|
98
|
+
anyOf: [
|
|
99
|
+
{
|
|
100
|
+
type: 'object',
|
|
101
|
+
required: ['city', 'library', 'location'],
|
|
102
|
+
properties: {
|
|
103
|
+
tag: {
|
|
104
|
+
type: 'string',
|
|
105
|
+
},
|
|
106
|
+
city: {
|
|
107
|
+
type: 'string',
|
|
108
|
+
},
|
|
109
|
+
library: {
|
|
110
|
+
type: 'string',
|
|
111
|
+
},
|
|
112
|
+
fund: {
|
|
113
|
+
type: 'string',
|
|
114
|
+
},
|
|
115
|
+
location: {
|
|
116
|
+
type: 'string',
|
|
117
|
+
},
|
|
118
|
+
},
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
},
|
|
123
|
+
},
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
class CodShelfmarkEditorComponent {
|
|
127
|
+
constructor(formBuilder) {
|
|
128
|
+
this.shelfmarkChange = new EventEmitter();
|
|
129
|
+
this.editorClose = new EventEmitter();
|
|
130
|
+
// form
|
|
131
|
+
this.tag = formBuilder.control(null, Validators.maxLength(50));
|
|
132
|
+
this.city = formBuilder.control(null, [
|
|
133
|
+
Validators.required,
|
|
134
|
+
Validators.maxLength(50),
|
|
135
|
+
]);
|
|
136
|
+
this.library = formBuilder.control(null, [
|
|
137
|
+
Validators.required,
|
|
138
|
+
Validators.maxLength(50),
|
|
139
|
+
]);
|
|
140
|
+
this.fund = formBuilder.control(null, Validators.maxLength(50));
|
|
141
|
+
this.location = formBuilder.control(null, Validators.maxLength(50));
|
|
142
|
+
this.form = formBuilder.group({
|
|
143
|
+
tag: this.tag,
|
|
144
|
+
city: this.city,
|
|
145
|
+
library: this.library,
|
|
146
|
+
fund: this.fund,
|
|
147
|
+
location: this.location,
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
get shelfmark() {
|
|
151
|
+
return this._shelfmark;
|
|
152
|
+
}
|
|
153
|
+
set shelfmark(value) {
|
|
154
|
+
this._shelfmark = value;
|
|
155
|
+
this.updateForm(value);
|
|
156
|
+
}
|
|
157
|
+
ngOnInit() {
|
|
158
|
+
if (this._shelfmark) {
|
|
159
|
+
this.updateForm(this._shelfmark);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
updateForm(model) {
|
|
163
|
+
if (!model) {
|
|
164
|
+
this.form.reset();
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
this.tag.setValue(model.tag);
|
|
168
|
+
this.city.setValue(model.city);
|
|
169
|
+
this.library.setValue(model.library);
|
|
170
|
+
this.fund.setValue(model.fund);
|
|
171
|
+
this.location.setValue(model.location);
|
|
172
|
+
this.form.markAsPristine();
|
|
173
|
+
}
|
|
174
|
+
getModel() {
|
|
175
|
+
var _a, _b, _c, _d, _e;
|
|
176
|
+
return {
|
|
177
|
+
tag: (_a = this.tag.value) === null || _a === void 0 ? void 0 : _a.trim(),
|
|
178
|
+
city: (_b = this.city.value) === null || _b === void 0 ? void 0 : _b.trim(),
|
|
179
|
+
library: (_c = this.library.value) === null || _c === void 0 ? void 0 : _c.trim(),
|
|
180
|
+
fund: (_d = this.fund.value) === null || _d === void 0 ? void 0 : _d.trim(),
|
|
181
|
+
location: (_e = this.location.value) === null || _e === void 0 ? void 0 : _e.trim(),
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
cancel() {
|
|
185
|
+
this.editorClose.emit();
|
|
186
|
+
}
|
|
187
|
+
save() {
|
|
188
|
+
if (this.form.invalid) {
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
const model = this.getModel();
|
|
192
|
+
if (!model) {
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
this.shelfmarkChange.emit(model);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
CodShelfmarkEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: CodShelfmarkEditorComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
199
|
+
CodShelfmarkEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: CodShelfmarkEditorComponent, selector: "cadmus-cod-shelfmark-editor", inputs: { shelfmark: "shelfmark", tagEntries: "tagEntries", libEntries: "libEntries" }, outputs: { shelfmarkChange: "shelfmarkChange", editorClose: "editorClose" }, ngImport: i0, template: "<form [formGroup]=\"form\" (submit)=\"save()\">\n <div>\n <!-- tag (bound) -->\n <mat-form-field *ngIf=\"tagEntries?.length\" style=\"width: 8em\">\n <mat-select [formControl]=\"tag\" placeholder=\"tag\">\n <mat-option *ngFor=\"let e of tagEntries\" [value]=\"e.id\">{{\n e.value\n }}</mat-option>\n </mat-select>\n </mat-form-field>\n <!-- tag (free) -->\n <mat-form-field *ngIf=\"!tagEntries?.length\">\n <input matInput [formControl]=\"tag\" placeholder=\"tag\" />\n <mat-error\n *ngIf=\"$any(tag).errors?.maxLength && (tag.dirty || tag.touched)\"\n >tag too long</mat-error\n >\n </mat-form-field>\n <!-- city -->\n \n <mat-form-field>\n <input matInput [formControl]=\"city\" placeholder=\"city\" />\n <mat-error\n *ngIf=\"$any(city).errors?.required && (city.dirty || city.touched)\"\n >city required</mat-error\n >\n <mat-error\n *ngIf=\"$any(city).errors?.maxLength && (city.dirty || city.touched)\"\n >city too long</mat-error\n >\n </mat-form-field>\n </div>\n <div>\n <!-- library (bound) -->\n <mat-form-field *ngIf=\"libEntries?.length\" style=\"width: 8em\">\n <mat-select [formControl]=\"library\" placeholder=\"library\">\n <mat-option *ngFor=\"let e of libEntries\" [value]=\"e.id\">{{\n e.value\n }}</mat-option>\n </mat-select>\n <mat-error\n *ngIf=\"\n $any(library).errors?.required && (library.dirty || library.touched)\n \"\n >library required</mat-error\n >\n </mat-form-field>\n <!-- library (free) -->\n <mat-form-field *ngIf=\"!libEntries?.length\">\n <input matInput [formControl]=\"library\" placeholder=\"library\" />\n <mat-error\n *ngIf=\"\n $any(library).errors?.required && (library.dirty || library.touched)\n \"\n >library required</mat-error\n >\n <mat-error\n *ngIf=\"\n $any(library).errors?.maxLength && (library.dirty || library.touched)\n \"\n >library too long</mat-error\n >\n </mat-form-field>\n <!-- fund -->\n \n <mat-form-field>\n <input matInput [formControl]=\"fund\" placeholder=\"fund\" />\n <mat-error\n *ngIf=\"$any(fund).errors?.maxLength && (fund.dirty || fund.touched)\"\n >fund too long</mat-error\n >\n </mat-form-field>\n <!-- location -->\n \n <mat-form-field>\n <input matInput [formControl]=\"location\" placeholder=\"location\" />\n <mat-error\n *ngIf=\"\n $any(location).errors?.required &&\n (location.dirty || location.touched)\n \"\n >location required</mat-error\n >\n <mat-error\n *ngIf=\"\n $any(location).errors?.maxLength &&\n (location.dirty || location.touched)\n \"\n >location too long</mat-error\n >\n </mat-form-field>\n </div>\n <!-- buttons -->\n <div>\n <button\n type=\"button\"\n color=\"warn\"\n mat-icon-button\n matTooltip=\"Discard changes\"\n (click)=\"cancel()\"\n >\n <mat-icon>clear</mat-icon>\n </button>\n <button\n type=\"submit\"\n color=\"primary\"\n mat-icon-button\n matTooltip=\"Accept changes\"\n [disabled]=\"form.invalid || form.pristine\"\n >\n <mat-icon>check_circle</mat-icon>\n </button>\n </div>\n</form>\n", styles: [""], components: [{ type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i3.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2.MatError, selector: "mat-error", inputs: ["id"] }, { type: i9.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
|
|
200
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: CodShelfmarkEditorComponent, decorators: [{
|
|
201
|
+
type: Component,
|
|
202
|
+
args: [{ selector: 'cadmus-cod-shelfmark-editor', template: "<form [formGroup]=\"form\" (submit)=\"save()\">\n <div>\n <!-- tag (bound) -->\n <mat-form-field *ngIf=\"tagEntries?.length\" style=\"width: 8em\">\n <mat-select [formControl]=\"tag\" placeholder=\"tag\">\n <mat-option *ngFor=\"let e of tagEntries\" [value]=\"e.id\">{{\n e.value\n }}</mat-option>\n </mat-select>\n </mat-form-field>\n <!-- tag (free) -->\n <mat-form-field *ngIf=\"!tagEntries?.length\">\n <input matInput [formControl]=\"tag\" placeholder=\"tag\" />\n <mat-error\n *ngIf=\"$any(tag).errors?.maxLength && (tag.dirty || tag.touched)\"\n >tag too long</mat-error\n >\n </mat-form-field>\n <!-- city -->\n \n <mat-form-field>\n <input matInput [formControl]=\"city\" placeholder=\"city\" />\n <mat-error\n *ngIf=\"$any(city).errors?.required && (city.dirty || city.touched)\"\n >city required</mat-error\n >\n <mat-error\n *ngIf=\"$any(city).errors?.maxLength && (city.dirty || city.touched)\"\n >city too long</mat-error\n >\n </mat-form-field>\n </div>\n <div>\n <!-- library (bound) -->\n <mat-form-field *ngIf=\"libEntries?.length\" style=\"width: 8em\">\n <mat-select [formControl]=\"library\" placeholder=\"library\">\n <mat-option *ngFor=\"let e of libEntries\" [value]=\"e.id\">{{\n e.value\n }}</mat-option>\n </mat-select>\n <mat-error\n *ngIf=\"\n $any(library).errors?.required && (library.dirty || library.touched)\n \"\n >library required</mat-error\n >\n </mat-form-field>\n <!-- library (free) -->\n <mat-form-field *ngIf=\"!libEntries?.length\">\n <input matInput [formControl]=\"library\" placeholder=\"library\" />\n <mat-error\n *ngIf=\"\n $any(library).errors?.required && (library.dirty || library.touched)\n \"\n >library required</mat-error\n >\n <mat-error\n *ngIf=\"\n $any(library).errors?.maxLength && (library.dirty || library.touched)\n \"\n >library too long</mat-error\n >\n </mat-form-field>\n <!-- fund -->\n \n <mat-form-field>\n <input matInput [formControl]=\"fund\" placeholder=\"fund\" />\n <mat-error\n *ngIf=\"$any(fund).errors?.maxLength && (fund.dirty || fund.touched)\"\n >fund too long</mat-error\n >\n </mat-form-field>\n <!-- location -->\n \n <mat-form-field>\n <input matInput [formControl]=\"location\" placeholder=\"location\" />\n <mat-error\n *ngIf=\"\n $any(location).errors?.required &&\n (location.dirty || location.touched)\n \"\n >location required</mat-error\n >\n <mat-error\n *ngIf=\"\n $any(location).errors?.maxLength &&\n (location.dirty || location.touched)\n \"\n >location too long</mat-error\n >\n </mat-form-field>\n </div>\n <!-- buttons -->\n <div>\n <button\n type=\"button\"\n color=\"warn\"\n mat-icon-button\n matTooltip=\"Discard changes\"\n (click)=\"cancel()\"\n >\n <mat-icon>clear</mat-icon>\n </button>\n <button\n type=\"submit\"\n color=\"primary\"\n mat-icon-button\n matTooltip=\"Accept changes\"\n [disabled]=\"form.invalid || form.pristine\"\n >\n <mat-icon>check_circle</mat-icon>\n </button>\n </div>\n</form>\n", styles: [""] }]
|
|
203
|
+
}], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { shelfmark: [{
|
|
204
|
+
type: Input
|
|
205
|
+
}], tagEntries: [{
|
|
206
|
+
type: Input
|
|
207
|
+
}], libEntries: [{
|
|
208
|
+
type: Input
|
|
209
|
+
}], shelfmarkChange: [{
|
|
210
|
+
type: Output
|
|
211
|
+
}], editorClose: [{
|
|
212
|
+
type: Output
|
|
213
|
+
}] } });
|
|
214
|
+
|
|
215
|
+
/**
|
|
216
|
+
* CodShelfmarksPart editor component.
|
|
217
|
+
* Thesauri: cod-shelfmark-tags, cod-shelfmark-libraries (all optional).
|
|
218
|
+
*/
|
|
219
|
+
class CodShelfmarksPartComponent extends ModelEditorComponentBase {
|
|
220
|
+
constructor(authService, formBuilder, _dialogService) {
|
|
221
|
+
super(authService);
|
|
222
|
+
this._dialogService = _dialogService;
|
|
223
|
+
this._editedIndex = -1;
|
|
224
|
+
this.tabIndex = 0;
|
|
225
|
+
// form
|
|
226
|
+
this.shelfmarks = formBuilder.control([], NgToolsValidators.strictMinLengthValidator(1));
|
|
227
|
+
this.form = formBuilder.group({
|
|
228
|
+
entries: this.shelfmarks,
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
ngOnInit() {
|
|
232
|
+
this.initEditor();
|
|
233
|
+
}
|
|
234
|
+
updateForm(model) {
|
|
235
|
+
if (!model) {
|
|
236
|
+
this.form.reset();
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
239
|
+
this.shelfmarks.setValue(model.shelfmarks || []);
|
|
240
|
+
this.form.markAsPristine();
|
|
241
|
+
}
|
|
242
|
+
onModelSet(model) {
|
|
243
|
+
this.updateForm(deepCopy(model));
|
|
244
|
+
}
|
|
245
|
+
onThesauriSet() {
|
|
246
|
+
let key = 'cod-shelfmark-tags';
|
|
247
|
+
if (this.thesauri && this.thesauri[key]) {
|
|
248
|
+
this.tagEntries = this.thesauri[key].entries;
|
|
249
|
+
}
|
|
250
|
+
else {
|
|
251
|
+
this.tagEntries = undefined;
|
|
252
|
+
}
|
|
253
|
+
key = 'cod-shelfmark-libraries';
|
|
254
|
+
if (this.thesauri && this.thesauri[key]) {
|
|
255
|
+
this.libEntries = this.thesauri[key].entries;
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
this.libEntries = undefined;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
getModelFromForm() {
|
|
262
|
+
let part = this.model;
|
|
263
|
+
if (!part) {
|
|
264
|
+
part = {
|
|
265
|
+
itemId: this.itemId || '',
|
|
266
|
+
id: '',
|
|
267
|
+
typeId: COD_SHELFMARKS_PART_TYPEID,
|
|
268
|
+
roleId: this.roleId,
|
|
269
|
+
timeCreated: new Date(),
|
|
270
|
+
creatorId: '',
|
|
271
|
+
timeModified: new Date(),
|
|
272
|
+
userId: '',
|
|
273
|
+
shelfmarks: [],
|
|
274
|
+
};
|
|
275
|
+
}
|
|
276
|
+
part.shelfmarks = this.shelfmarks.value || [];
|
|
277
|
+
return part;
|
|
278
|
+
}
|
|
279
|
+
addShelfmark() {
|
|
280
|
+
var _a;
|
|
281
|
+
const entry = {
|
|
282
|
+
city: '',
|
|
283
|
+
library: ((_a = this.libEntries) === null || _a === void 0 ? void 0 : _a.length) ? this.libEntries[0].id : '',
|
|
284
|
+
location: '',
|
|
285
|
+
};
|
|
286
|
+
this.shelfmarks.setValue([...this.shelfmarks.value, entry]);
|
|
287
|
+
this.editShelfmark(this.shelfmarks.value.length - 1);
|
|
288
|
+
}
|
|
289
|
+
editShelfmark(index) {
|
|
290
|
+
if (index < 0) {
|
|
291
|
+
this._editedIndex = -1;
|
|
292
|
+
this.tabIndex = 0;
|
|
293
|
+
this.editedShelfmark = undefined;
|
|
294
|
+
}
|
|
295
|
+
else {
|
|
296
|
+
this._editedIndex = index;
|
|
297
|
+
this.editedShelfmark = this.shelfmarks.value[index];
|
|
298
|
+
setTimeout(() => {
|
|
299
|
+
this.tabIndex = 1;
|
|
300
|
+
}, 300);
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
onShelfmarkSave(entry) {
|
|
304
|
+
this.shelfmarks.setValue(this.shelfmarks.value.map((e, i) => i === this._editedIndex ? entry : e));
|
|
305
|
+
this.editShelfmark(-1);
|
|
306
|
+
}
|
|
307
|
+
onShelfmarkClose() {
|
|
308
|
+
this.editShelfmark(-1);
|
|
309
|
+
}
|
|
310
|
+
deleteShelfmark(index) {
|
|
311
|
+
this._dialogService
|
|
312
|
+
.confirm('Confirmation', 'Delete shelfmark?')
|
|
313
|
+
.pipe(take(1))
|
|
314
|
+
.subscribe((yes) => {
|
|
315
|
+
if (yes) {
|
|
316
|
+
const entries = [...this.shelfmarks.value];
|
|
317
|
+
entries.splice(index, 1);
|
|
318
|
+
this.shelfmarks.setValue(entries);
|
|
319
|
+
}
|
|
320
|
+
});
|
|
321
|
+
}
|
|
322
|
+
moveShelfmarkUp(index) {
|
|
323
|
+
if (index < 1) {
|
|
324
|
+
return;
|
|
325
|
+
}
|
|
326
|
+
const entry = this.shelfmarks.value[index];
|
|
327
|
+
const entries = [...this.shelfmarks.value];
|
|
328
|
+
entries.splice(index, 1);
|
|
329
|
+
entries.splice(index - 1, 0, entry);
|
|
330
|
+
this.shelfmarks.setValue(entries);
|
|
331
|
+
}
|
|
332
|
+
moveShelfmarkDown(index) {
|
|
333
|
+
if (index + 1 >= this.shelfmarks.value.length) {
|
|
334
|
+
return;
|
|
335
|
+
}
|
|
336
|
+
const entry = this.shelfmarks.value[index];
|
|
337
|
+
const entries = [...this.shelfmarks.value];
|
|
338
|
+
entries.splice(index, 1);
|
|
339
|
+
entries.splice(index + 1, 0, entry);
|
|
340
|
+
this.shelfmarks.setValue(entries);
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
CodShelfmarksPartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: CodShelfmarksPartComponent, deps: [{ token: i1$1.AuthJwtService }, { token: i1.FormBuilder }, { token: i3$1.DialogService }], target: i0.ɵɵFactoryTarget.Component });
|
|
344
|
+
CodShelfmarksPartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: CodShelfmarksPartComponent, selector: "cadmus-cod-shelfmarks-part", usesInheritance: true, ngImport: i0, template: "<form [formGroup]=\"form!\" (submit)=\"save()\">\n <mat-card>\n <mat-card-header>\n <div mat-card-avatar>\n <mat-icon>picture_in_picture</mat-icon>\n </div>\n <mat-card-title>Shelfmarks Part</mat-card-title>\n </mat-card-header>\n <mat-card-content>\n <mat-tab-group [(selectedIndex)]=\"tabIndex\">\n <mat-tab label=\"shelfmarks\">\n <div>\n <button\n type=\"button\"\n mat-icon-button\n color=\"primary\"\n (click)=\"addShelfmark()\"\n >\n <mat-icon>add_circle</mat-icon> add shelfmark\n </button>\n </div>\n <table *ngIf=\"shelfmarks?.value?.length\">\n <thead>\n <tr>\n <th></th>\n <th>tag</th>\n <th>city</th>\n <th>library</th>\n <th>fund</th>\n <th>location</th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"\n let entry of shelfmarks?.value;\n let i = index;\n let first = first;\n let last = last\n \"\n >\n <td>\n <button\n type=\"button\"\n mat-icon-button\n color=\"primary\"\n matTooltip=\"Edit this shelfmark\"\n (click)=\"editShelfmark(i)\"\n >\n <mat-icon>edit</mat-icon>\n </button>\n <button\n type=\"button\"\n mat-icon-button\n matTooltip=\"Move this shelfmark up\"\n [disabled]=\"first\"\n (click)=\"moveShelfmarkUp(i)\"\n >\n <mat-icon>arrow_upward</mat-icon>\n </button>\n <button\n type=\"button\"\n mat-icon-button\n matTooltip=\"Move this shelfmark down\"\n [disabled]=\"last\"\n (click)=\"moveShelfmarkDown(i)\"\n >\n <mat-icon>arrow_downward</mat-icon>\n </button>\n <button\n type=\"button\"\n mat-icon-button\n color=\"warn\"\n matTooltip=\"Delete this shelfmark\"\n (click)=\"deleteShelfmark(i)\"\n >\n <mat-icon>remove_circle</mat-icon>\n </button>\n </td>\n <td>{{ entry.tag }}</td>\n <td>{{ entry.city }}</td>\n <td>{{ entry.library }}</td>\n <td>{{ entry.fund }}</td>\n <td>{{ entry.location }}</td>\n </tr>\n </tbody>\n </table>\n </mat-tab>\n\n <mat-tab label=\"shelfmark\" *ngIf=\"editedShelfmark\">\n <cadmus-cod-shelfmark-editor\n [tagEntries]=\"tagEntries\"\n [libEntries]=\"libEntries\"\n [shelfmark]=\"editedShelfmark\"\n (shelfmarkChange)=\"onShelfmarkSave($event)\"\n (editorClose)=\"onShelfmarkClose()\"\n ></cadmus-cod-shelfmark-editor>\n </mat-tab>\n </mat-tab-group>\n </mat-card-content>\n <mat-card-actions>\n <cadmus-close-save-buttons\n [form]=\"form\"\n [noSave]=\"userLevel < 2\"\n (closeRequest)=\"close()\"\n ></cadmus-close-save-buttons>\n </mat-card-actions>\n </mat-card>\n</form>\n", styles: ["th{font-weight:400;color:silver}\n"], components: [{ type: i4$1.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i4$1.MatCardHeader, selector: "mat-card-header" }, { type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i6$1.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { type: i6$1.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: CodShelfmarkEditorComponent, selector: "cadmus-cod-shelfmark-editor", inputs: ["shelfmark", "tagEntries", "libEntries"], outputs: ["shelfmarkChange", "editorClose"] }, { type: i9$1.CloseSaveButtonsComponent, selector: "cadmus-close-save-buttons", inputs: ["form", "noSave"], outputs: ["closeRequest"] }], directives: [{ type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i4$1.MatCardAvatar, selector: "[mat-card-avatar], [matCardAvatar]" }, { type: i4$1.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { type: i4$1.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i9.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i4$1.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }] });
|
|
345
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: CodShelfmarksPartComponent, decorators: [{
|
|
346
|
+
type: Component,
|
|
347
|
+
args: [{ selector: 'cadmus-cod-shelfmarks-part', template: "<form [formGroup]=\"form!\" (submit)=\"save()\">\n <mat-card>\n <mat-card-header>\n <div mat-card-avatar>\n <mat-icon>picture_in_picture</mat-icon>\n </div>\n <mat-card-title>Shelfmarks Part</mat-card-title>\n </mat-card-header>\n <mat-card-content>\n <mat-tab-group [(selectedIndex)]=\"tabIndex\">\n <mat-tab label=\"shelfmarks\">\n <div>\n <button\n type=\"button\"\n mat-icon-button\n color=\"primary\"\n (click)=\"addShelfmark()\"\n >\n <mat-icon>add_circle</mat-icon> add shelfmark\n </button>\n </div>\n <table *ngIf=\"shelfmarks?.value?.length\">\n <thead>\n <tr>\n <th></th>\n <th>tag</th>\n <th>city</th>\n <th>library</th>\n <th>fund</th>\n <th>location</th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"\n let entry of shelfmarks?.value;\n let i = index;\n let first = first;\n let last = last\n \"\n >\n <td>\n <button\n type=\"button\"\n mat-icon-button\n color=\"primary\"\n matTooltip=\"Edit this shelfmark\"\n (click)=\"editShelfmark(i)\"\n >\n <mat-icon>edit</mat-icon>\n </button>\n <button\n type=\"button\"\n mat-icon-button\n matTooltip=\"Move this shelfmark up\"\n [disabled]=\"first\"\n (click)=\"moveShelfmarkUp(i)\"\n >\n <mat-icon>arrow_upward</mat-icon>\n </button>\n <button\n type=\"button\"\n mat-icon-button\n matTooltip=\"Move this shelfmark down\"\n [disabled]=\"last\"\n (click)=\"moveShelfmarkDown(i)\"\n >\n <mat-icon>arrow_downward</mat-icon>\n </button>\n <button\n type=\"button\"\n mat-icon-button\n color=\"warn\"\n matTooltip=\"Delete this shelfmark\"\n (click)=\"deleteShelfmark(i)\"\n >\n <mat-icon>remove_circle</mat-icon>\n </button>\n </td>\n <td>{{ entry.tag }}</td>\n <td>{{ entry.city }}</td>\n <td>{{ entry.library }}</td>\n <td>{{ entry.fund }}</td>\n <td>{{ entry.location }}</td>\n </tr>\n </tbody>\n </table>\n </mat-tab>\n\n <mat-tab label=\"shelfmark\" *ngIf=\"editedShelfmark\">\n <cadmus-cod-shelfmark-editor\n [tagEntries]=\"tagEntries\"\n [libEntries]=\"libEntries\"\n [shelfmark]=\"editedShelfmark\"\n (shelfmarkChange)=\"onShelfmarkSave($event)\"\n (editorClose)=\"onShelfmarkClose()\"\n ></cadmus-cod-shelfmark-editor>\n </mat-tab>\n </mat-tab-group>\n </mat-card-content>\n <mat-card-actions>\n <cadmus-close-save-buttons\n [form]=\"form\"\n [noSave]=\"userLevel < 2\"\n (closeRequest)=\"close()\"\n ></cadmus-close-save-buttons>\n </mat-card-actions>\n </mat-card>\n</form>\n", styles: ["th{font-weight:400;color:silver}\n"] }]
|
|
348
|
+
}], ctorParameters: function () { return [{ type: i1$1.AuthJwtService }, { type: i1.FormBuilder }, { type: i3$1.DialogService }]; } });
|
|
349
|
+
|
|
350
|
+
let EditCodShelfmarksPartStore = class EditCodShelfmarksPartStore extends Store {
|
|
351
|
+
constructor() {
|
|
352
|
+
super({});
|
|
353
|
+
}
|
|
354
|
+
setDirty(value) {
|
|
355
|
+
this.update({ dirty: value });
|
|
356
|
+
}
|
|
357
|
+
setSaving(value) {
|
|
358
|
+
this.update({ saving: value });
|
|
359
|
+
}
|
|
360
|
+
};
|
|
361
|
+
EditCodShelfmarksPartStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: EditCodShelfmarksPartStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
362
|
+
EditCodShelfmarksPartStore.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: EditCodShelfmarksPartStore, providedIn: 'root' });
|
|
363
|
+
EditCodShelfmarksPartStore = __decorate([
|
|
364
|
+
StoreConfig({ name: COD_SHELFMARKS_PART_TYPEID })
|
|
365
|
+
], EditCodShelfmarksPartStore);
|
|
366
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: EditCodShelfmarksPartStore, decorators: [{
|
|
367
|
+
type: Injectable,
|
|
368
|
+
args: [{ providedIn: 'root' }]
|
|
369
|
+
}], ctorParameters: function () { return []; } });
|
|
370
|
+
|
|
371
|
+
class EditCodShelfmarksPartQuery extends EditPartQueryBase {
|
|
372
|
+
constructor(store) {
|
|
373
|
+
super(store);
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
EditCodShelfmarksPartQuery.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: EditCodShelfmarksPartQuery, deps: [{ token: EditCodShelfmarksPartStore }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
377
|
+
EditCodShelfmarksPartQuery.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: EditCodShelfmarksPartQuery, providedIn: 'root' });
|
|
378
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: EditCodShelfmarksPartQuery, decorators: [{
|
|
379
|
+
type: Injectable,
|
|
380
|
+
args: [{ providedIn: 'root' }]
|
|
381
|
+
}], ctorParameters: function () { return [{ type: EditCodShelfmarksPartStore }]; } });
|
|
382
|
+
|
|
383
|
+
class EditCodShelfmarksPartService extends EditPartServiceBase {
|
|
384
|
+
constructor(editPartStore, itemService, thesaurusService) {
|
|
385
|
+
super(itemService, thesaurusService);
|
|
386
|
+
this.store = editPartStore;
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
EditCodShelfmarksPartService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: EditCodShelfmarksPartService, deps: [{ token: EditCodShelfmarksPartStore }, { token: i2$1.ItemService }, { token: i2$1.ThesaurusService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
390
|
+
EditCodShelfmarksPartService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: EditCodShelfmarksPartService, providedIn: 'root' });
|
|
391
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: EditCodShelfmarksPartService, decorators: [{
|
|
392
|
+
type: Injectable,
|
|
393
|
+
args: [{ providedIn: 'root' }]
|
|
394
|
+
}], ctorParameters: function () { return [{ type: EditCodShelfmarksPartStore }, { type: i2$1.ItemService }, { type: i2$1.ThesaurusService }]; } });
|
|
395
|
+
|
|
396
|
+
class CodShelfmarksPartFeatureComponent extends EditPartFeatureBase {
|
|
397
|
+
constructor(router, route, snackbar, editPartQuery, editPartService, editItemQuery, editItemService) {
|
|
398
|
+
super(router, route, snackbar, editPartQuery, editPartService, editItemQuery, editItemService);
|
|
399
|
+
}
|
|
400
|
+
ngOnInit() {
|
|
401
|
+
this.initEditor(['cod-shelfmark-tags', 'cod-shelfmark-libraries']);
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
CodShelfmarksPartFeatureComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: CodShelfmarksPartFeatureComponent, deps: [{ token: i1$2.Router }, { token: i1$2.ActivatedRoute }, { token: i2$2.MatSnackBar }, { token: EditCodShelfmarksPartQuery }, { token: EditCodShelfmarksPartService }, { token: i5$1.EditItemQuery }, { token: i5$1.EditItemService }], target: i0.ɵɵFactoryTarget.Component });
|
|
405
|
+
CodShelfmarksPartFeatureComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: CodShelfmarksPartFeatureComponent, selector: "cadmus-cod-shelfmarks-part-feature", usesInheritance: true, ngImport: i0, template: "<cadmus-current-item-bar></cadmus-current-item-bar>\n<cadmus-cod-shelfmarks-part\n [itemId]=\"itemId\"\n [roleId]=\"roleId\"\n [model]=\"$any(part$ | async)\"\n (modelChange)=\"save($event)\"\n [thesauri]=\"(thesauri$ | async) || undefined\"\n (editorClose)=\"close()\"\n (dirtyChange)=\"onDirtyChange($event)\"\n></cadmus-cod-shelfmarks-part>\n", styles: [""], components: [{ type: i6$2.CurrentItemBarComponent, selector: "cadmus-current-item-bar" }, { type: CodShelfmarksPartComponent, selector: "cadmus-cod-shelfmarks-part" }], pipes: { "async": i7.AsyncPipe } });
|
|
406
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: CodShelfmarksPartFeatureComponent, decorators: [{
|
|
407
|
+
type: Component,
|
|
408
|
+
args: [{ selector: 'cadmus-cod-shelfmarks-part-feature', template: "<cadmus-current-item-bar></cadmus-current-item-bar>\n<cadmus-cod-shelfmarks-part\n [itemId]=\"itemId\"\n [roleId]=\"roleId\"\n [model]=\"$any(part$ | async)\"\n (modelChange)=\"save($event)\"\n [thesauri]=\"(thesauri$ | async) || undefined\"\n (editorClose)=\"close()\"\n (dirtyChange)=\"onDirtyChange($event)\"\n></cadmus-cod-shelfmarks-part>\n", styles: [""] }]
|
|
409
|
+
}], ctorParameters: function () { return [{ type: i1$2.Router }, { type: i1$2.ActivatedRoute }, { type: i2$2.MatSnackBar }, { type: EditCodShelfmarksPartQuery }, { type: EditCodShelfmarksPartService }, { type: i5$1.EditItemQuery }, { type: i5$1.EditItemService }]; } });
|
|
410
|
+
|
|
411
|
+
class CadmusPartCodicologyShelfmarksModule {
|
|
412
|
+
}
|
|
413
|
+
CadmusPartCodicologyShelfmarksModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: CadmusPartCodicologyShelfmarksModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
414
|
+
CadmusPartCodicologyShelfmarksModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: CadmusPartCodicologyShelfmarksModule, declarations: [CodShelfmarksPartComponent,
|
|
415
|
+
CodShelfmarkEditorComponent,
|
|
416
|
+
CodShelfmarksPartFeatureComponent], imports: [CommonModule,
|
|
417
|
+
FormsModule,
|
|
418
|
+
ReactiveFormsModule,
|
|
419
|
+
// material
|
|
420
|
+
MatButtonModule,
|
|
421
|
+
MatCardModule,
|
|
422
|
+
MatIconModule,
|
|
423
|
+
MatInputModule,
|
|
424
|
+
MatSelectModule,
|
|
425
|
+
MatTabsModule,
|
|
426
|
+
MatTooltipModule,
|
|
427
|
+
// Cadmus
|
|
428
|
+
CadmusStateModule,
|
|
429
|
+
CadmusUiModule,
|
|
430
|
+
CadmusUiPgModule], exports: [CodShelfmarksPartComponent,
|
|
431
|
+
CodShelfmarkEditorComponent,
|
|
432
|
+
CodShelfmarksPartFeatureComponent] });
|
|
433
|
+
CadmusPartCodicologyShelfmarksModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: CadmusPartCodicologyShelfmarksModule, imports: [[
|
|
434
|
+
CommonModule,
|
|
435
|
+
FormsModule,
|
|
436
|
+
ReactiveFormsModule,
|
|
437
|
+
// material
|
|
438
|
+
MatButtonModule,
|
|
439
|
+
MatCardModule,
|
|
440
|
+
MatIconModule,
|
|
441
|
+
MatInputModule,
|
|
442
|
+
MatSelectModule,
|
|
443
|
+
MatTabsModule,
|
|
444
|
+
MatTooltipModule,
|
|
445
|
+
// Cadmus
|
|
446
|
+
CadmusStateModule,
|
|
447
|
+
CadmusUiModule,
|
|
448
|
+
CadmusUiPgModule,
|
|
449
|
+
]] });
|
|
450
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: CadmusPartCodicologyShelfmarksModule, decorators: [{
|
|
451
|
+
type: NgModule,
|
|
452
|
+
args: [{
|
|
453
|
+
declarations: [
|
|
454
|
+
CodShelfmarksPartComponent,
|
|
455
|
+
CodShelfmarkEditorComponent,
|
|
456
|
+
CodShelfmarksPartFeatureComponent,
|
|
457
|
+
],
|
|
458
|
+
imports: [
|
|
459
|
+
CommonModule,
|
|
460
|
+
FormsModule,
|
|
461
|
+
ReactiveFormsModule,
|
|
462
|
+
// material
|
|
463
|
+
MatButtonModule,
|
|
464
|
+
MatCardModule,
|
|
465
|
+
MatIconModule,
|
|
466
|
+
MatInputModule,
|
|
467
|
+
MatSelectModule,
|
|
468
|
+
MatTabsModule,
|
|
469
|
+
MatTooltipModule,
|
|
470
|
+
// Cadmus
|
|
471
|
+
CadmusStateModule,
|
|
472
|
+
CadmusUiModule,
|
|
473
|
+
CadmusUiPgModule,
|
|
474
|
+
],
|
|
475
|
+
exports: [
|
|
476
|
+
CodShelfmarksPartComponent,
|
|
477
|
+
CodShelfmarkEditorComponent,
|
|
478
|
+
CodShelfmarksPartFeatureComponent,
|
|
479
|
+
],
|
|
480
|
+
}]
|
|
481
|
+
}] });
|
|
482
|
+
|
|
483
|
+
/*
|
|
484
|
+
* Public API Surface of cadmus-part-codicology-shelfmarks
|
|
485
|
+
*/
|
|
486
|
+
|
|
487
|
+
/**
|
|
488
|
+
* Generated bundle index. Do not edit.
|
|
489
|
+
*/
|
|
490
|
+
|
|
491
|
+
export { COD_SHELFMARKS_PART_SCHEMA, COD_SHELFMARKS_PART_TYPEID, CadmusPartCodicologyShelfmarksModule, CodShelfmarkEditorComponent, CodShelfmarksPartComponent, CodShelfmarksPartFeatureComponent };
|
|
492
|
+
//# sourceMappingURL=myrmidon-cadmus-part-codicology-shelfmarks.mjs.map
|