@myrmidon/cadmus-part-general-pg
Version:
Cadmus - general parts wrappers.
1 lines • 166 kB
Source Map (JSON)
{"version":3,"file":"myrmidon-cadmus-part-general-pg.mjs","sources":["../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/asserted-historical-date-feature/asserted-historical-date-feature.component.ts","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/asserted-historical-date-feature/asserted-historical-date-feature.component.html","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/bibliography-part-feature/bibliography-part-feature.component.ts","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/bibliography-part-feature/bibliography-part-feature.component.html","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/categories-part-feature/categories-part-feature.component.ts","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/categories-part-feature/categories-part-feature.component.html","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/chronology-fragment-feature/chronology-fragment-feature.component.ts","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/chronology-fragment-feature/chronology-fragment-feature.component.html","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/chronotopes-part-feature/chronotopes-part-feature.component.ts","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/chronotopes-part-feature/chronotopes-part-feature.component.html","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/comment-fragment-feature/comment-fragment-feature.component.ts","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/comment-fragment-feature/comment-fragment-feature.component.html","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/comment-part-feature/comment-part-feature.component.ts","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/comment-part-feature/comment-part-feature.component.html","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/decorated-counts-part-feature/decorated-counts-part-feature.component.ts","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/decorated-counts-part-feature/decorated-counts-part-feature.component.html","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/district-location-part-feature/district-location-part-feature.component.ts","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/district-location-part-feature/district-location-part-feature.component.html","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/doc-references-part-feature/doc-references-part-feature.component.ts","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/doc-references-part-feature/doc-references-part-feature.component.html","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/external-ids-part-feature/external-ids-part-feature.component.ts","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/external-ids-part-feature/external-ids-part-feature.component.html","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/historical-date-part-feature/historical-date-part-feature.component.ts","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/historical-date-part-feature/historical-date-part-feature.component.html","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/historical-events-part-feature/historical-events-part-feature.component.ts","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/historical-events-part-feature/historical-events-part-feature.component.html","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/index-keywords-part-feature/index-keywords-part-feature.component.ts","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/index-keywords-part-feature/index-keywords-part-feature.component.html","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/keywords-part-feature/keywords-part-feature.component.ts","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/keywords-part-feature/keywords-part-feature.component.html","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/metadata-part-feature/metadata-part-feature.component.ts","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/metadata-part-feature/metadata-part-feature.component.html","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/names-part-feature/names-part-feature.component.ts","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/names-part-feature/names-part-feature.component.html","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/note-part-feature/note-part-feature.component.ts","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/note-part-feature/note-part-feature.component.html","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/physical-measurements-part-feature/physical-measurements-part-feature.component.ts","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/physical-measurements-part-feature/physical-measurements-part-feature.component.html","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/physical-states-part-feature/physical-states-part-feature.component.ts","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/physical-states-part-feature/physical-states-part-feature.component.html","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/pin-links-fragment-feature/pin-links-fragment-feature.component.ts","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/pin-links-fragment-feature/pin-links-fragment-feature.component.html","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/pin-links-part-feature/pin-links-part-feature.component.ts","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/pin-links-part-feature/pin-links-part-feature.component.html","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/tiled-text-layer-part-feature/tiled-text-layer-view.ts","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/tiled-text-layer-part-feature/tiled-text-layer-part-feature.component.ts","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/tiled-text-layer-part-feature/tiled-text-layer-part-feature.component.html","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/tiled-text-part-feature/tiled-text-part-feature.component.ts","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/tiled-text-part-feature/tiled-text-part-feature.component.html","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/token-text-layer-part-feature/token-text-layer-part-feature.component.ts","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/token-text-layer-part-feature/token-text-layer-part-feature.component.html","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/token-text-part-feature/token-text-part-feature.component.ts","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/token-text-part-feature/token-text-part-feature.component.html","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/cadmus-part-general-pg.module.ts","../../../../projects/myrmidon/cadmus-part-general-pg/src/public-api.ts","../../../../projects/myrmidon/cadmus-part-general-pg/src/myrmidon-cadmus-part-general-pg.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\r\nimport { AssertedHistoricalDatesPartComponent } from '@myrmidon/cadmus-part-general-ui';\r\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\r\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-ui-pg';\r\n\r\n@Component({\r\n selector: 'cadmus-asserted-historical-date-feature',\r\n imports: [CurrentItemBarComponent, AssertedHistoricalDatesPartComponent],\r\n templateUrl: './asserted-historical-date-feature.component.html',\r\n styleUrl: './asserted-historical-date-feature.component.css',\r\n})\r\nexport class AssertedHistoricalDateFeatureComponent\r\n extends EditPartFeatureBase\r\n implements OnInit\r\n{\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n snackbar: MatSnackBar,\r\n itemService: ItemService,\r\n thesaurusService: ThesaurusService,\r\n editorService: PartEditorService\r\n ) {\r\n super(\r\n router,\r\n route,\r\n snackbar,\r\n itemService,\r\n thesaurusService,\r\n editorService\r\n );\r\n }\r\n\r\n protected override getReqThesauriIds(): string[] {\r\n return [\r\n 'asserted-historical-dates-tags',\r\n 'assertion-tags',\r\n 'doc-reference-types',\r\n 'doc-reference-tags',\r\n ];\r\n }\r\n}\r\n","<cadmus-current-item-bar />\r\n<cadmus-asserted-historical-dates-part\r\n [identity]=\"identity\"\r\n [data]=\"$any(data)\"\r\n (dataChange)=\"save($event!.value!)\"\r\n (editorClose)=\"close()\"\r\n (dirtyChange)=\"onDirtyChange($event)\"\r\n/>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\r\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\r\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-ui-pg';\r\nimport { BibliographyPartComponent } from '@myrmidon/cadmus-part-general-ui';\r\n\r\n@Component({\r\n selector: 'cadmus-bibliography-part-feature',\r\n imports: [CurrentItemBarComponent, BibliographyPartComponent],\r\n templateUrl: './bibliography-part-feature.component.html',\r\n styleUrls: ['./bibliography-part-feature.component.css'],\r\n})\r\nexport class BibliographyPartFeatureComponent\r\n extends EditPartFeatureBase\r\n implements OnInit\r\n{\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n snackbar: MatSnackBar,\r\n itemService: ItemService,\r\n thesaurusService: ThesaurusService,\r\n editorService: PartEditorService\r\n ) {\r\n super(\r\n router,\r\n route,\r\n snackbar,\r\n itemService,\r\n thesaurusService,\r\n editorService\r\n );\r\n }\r\n\r\n protected override getReqThesauriIds(): string[] {\r\n return [\r\n 'bibliography-languages',\r\n 'bibliography-types',\r\n 'bibliography-tags',\r\n 'bibliography-author-roles',\r\n ];\r\n }\r\n}\r\n","<cadmus-current-item-bar/>\r\n<cadmus-bibliography-part\r\n [identity]=\"identity\"\r\n [data]=\"$any(data)\"\r\n (dataChange)=\"save($event!.value!)\"\r\n (editorClose)=\"close()\"\r\n (dirtyChange)=\"onDirtyChange($event)\"\r\n/>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\r\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-ui-pg';\r\nimport { CategoriesPartComponent } from '@myrmidon/cadmus-part-general-ui';\r\n\r\n@Component({\r\n selector: 'cadmus-categories-part-feature',\r\n imports: [CurrentItemBarComponent, CategoriesPartComponent],\r\n templateUrl: './categories-part-feature.component.html',\r\n styleUrls: ['./categories-part-feature.component.css'],\r\n})\r\nexport class CategoriesPartFeatureComponent\r\n extends EditPartFeatureBase\r\n implements OnInit\r\n{\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n snackbar: MatSnackBar,\r\n itemService: ItemService,\r\n thesaurusService: ThesaurusService,\r\n editorService: PartEditorService\r\n ) {\r\n super(\r\n router,\r\n route,\r\n snackbar,\r\n itemService,\r\n thesaurusService,\r\n editorService\r\n );\r\n this.roleIdInThesauri = true;\r\n }\r\n\r\n protected override getReqThesauriIds(): string[] {\r\n return ['categories'];\r\n }\r\n}\r\n","<cadmus-current-item-bar/>\r\n<cadmus-categories-part\r\n [identity]=\"identity\"\r\n [data]=\"$any(data)\"\r\n (dataChange)=\"save($event!.value!)\"\r\n (editorClose)=\"close()\"\r\n (dirtyChange)=\"onDirtyChange($event)\"\r\n/>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\nimport {\r\n EditFragmentFeatureBase,\r\n FragmentEditorService,\r\n} from '@myrmidon/cadmus-state';\r\nimport { LibraryRouteService } from '@myrmidon/cadmus-core';\r\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-ui-pg';\r\nimport { DecoratedTokenTextComponent } from '@myrmidon/cadmus-ui';\r\nimport { ChronologyFragmentComponent } from '@myrmidon/cadmus-part-general-ui';\r\n\r\n@Component({\r\n selector: 'cadmus-chronology-fragment-feature',\r\n imports: [\r\n CurrentItemBarComponent,\r\n DecoratedTokenTextComponent,\r\n ChronologyFragmentComponent,\r\n ],\r\n templateUrl: './chronology-fragment-feature.component.html',\r\n styleUrls: ['./chronology-fragment-feature.component.css'],\r\n})\r\nexport class ChronologyFragmentFeatureComponent\r\n extends EditFragmentFeatureBase\r\n implements OnInit\r\n{\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n snackbar: MatSnackBar,\r\n editorService: FragmentEditorService,\r\n libraryRouteService: LibraryRouteService\r\n ) {\r\n super(router, route, snackbar, editorService, libraryRouteService);\r\n }\r\n\r\n protected override getReqThesauriIds(): string[] {\r\n return ['chronology-tags'];\r\n }\r\n}\r\n","<cadmus-current-item-bar/>\r\n<div class=\"base-text\">\r\n <cadmus-decorated-token-text\r\n [baseText]=\"data?.baseText || ''\"\r\n [locations]=\"frLoc ? [frLoc] : []\"\r\n />\r\n</div>\r\n<cadmus-chronology-fragment\r\n [data]=\"$any(data)\"\r\n (dataChange)=\"save($event!.value!)\"\r\n (editorClose)=\"close()\"\r\n (dirtyChange)=\"onDirtyChange($event)\"\r\n/>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\r\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\r\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-ui-pg';\r\nimport { ChronotopesPartComponent } from '@myrmidon/cadmus-part-general-ui';\r\n\r\n@Component({\r\n selector: 'cadmus-chronotopes-part-feature',\r\n templateUrl: './chronotopes-part-feature.component.html',\r\n styleUrls: ['./chronotopes-part-feature.component.css'],\r\n imports: [CurrentItemBarComponent, ChronotopesPartComponent],\r\n})\r\nexport class ChronotopesPartFeatureComponent\r\n extends EditPartFeatureBase\r\n implements OnInit\r\n{\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n snackbar: MatSnackBar,\r\n itemService: ItemService,\r\n thesaurusService: ThesaurusService,\r\n editorService: PartEditorService\r\n ) {\r\n super(\r\n router,\r\n route,\r\n snackbar,\r\n itemService,\r\n thesaurusService,\r\n editorService\r\n );\r\n }\r\n\r\n protected override getReqThesauriIds(): string[] {\r\n return [\r\n 'chronotope-place-tags',\r\n 'chronotope-assertion-tags',\r\n 'doc-reference-types',\r\n 'doc-reference-tags',\r\n ];\r\n }\r\n}\r\n","<cadmus-current-item-bar/>\r\n<cadmus-chronotopes-part\r\n [identity]=\"identity\"\r\n [data]=\"$any(data)\"\r\n (dataChange)=\"save($event!.value!)\"\r\n (editorClose)=\"close()\"\r\n (dirtyChange)=\"onDirtyChange($event)\"\r\n/>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\nimport {\r\n EditFragmentFeatureBase,\r\n FragmentEditorService,\r\n} from '@myrmidon/cadmus-state';\r\nimport { LibraryRouteService } from '@myrmidon/cadmus-core';\r\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-ui-pg';\r\nimport { DecoratedTokenTextComponent } from '@myrmidon/cadmus-ui';\r\nimport { CommentEditorComponent } from '@myrmidon/cadmus-part-general-ui';\r\n\r\n@Component({\r\n selector: 'cadmus-comment-fragment-feature',\r\n templateUrl: './comment-fragment-feature.component.html',\r\n styleUrls: ['./comment-fragment-feature.component.css'],\r\n imports: [\r\n CurrentItemBarComponent,\r\n DecoratedTokenTextComponent,\r\n CommentEditorComponent,\r\n ],\r\n})\r\nexport class CommentFragmentFeatureComponent\r\n extends EditFragmentFeatureBase\r\n implements OnInit\r\n{\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n snackbar: MatSnackBar,\r\n editorService: FragmentEditorService,\r\n libraryRouteService: LibraryRouteService\r\n ) {\r\n super(router, route, snackbar, editorService, libraryRouteService);\r\n }\r\n\r\n protected override getReqThesauriIds(): string[] {\r\n return [\r\n 'comment-tags',\r\n 'doc-reference-tags',\r\n 'doc-reference-types',\r\n 'comment-categories',\r\n 'languages',\r\n 'keyword-indexes',\r\n 'keyword-tags',\r\n 'comment-id-scopes',\r\n 'comment-id-tags',\r\n 'assertion-tags',\r\n 'pin-link-settings',\r\n ];\r\n }\r\n}\r\n","<cadmus-current-item-bar />\r\n<div class=\"base-text\">\r\n <cadmus-decorated-token-text\r\n [baseText]=\"data?.baseText || ''\"\r\n [locations]=\"frLoc ? [frLoc] : []\"\r\n />\r\n</div>\r\n<cadmus-comment-editor\r\n [data]=\"$any(data)\"\r\n (dataChange)=\"save($any($event!.value!))\"\r\n (editorClose)=\"close()\"\r\n (dirtyChange)=\"onDirtyChange($event)\"\r\n/>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\r\nimport { CommentEditorComponent } from '@myrmidon/cadmus-part-general-ui';\r\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-ui-pg';\r\n\r\n@Component({\r\n selector: 'cadmus-comment-part-feature',\r\n templateUrl: './comment-part-feature.component.html',\r\n styleUrls: ['./comment-part-feature.component.css'],\r\n imports: [CurrentItemBarComponent, CommentEditorComponent],\r\n})\r\nexport class CommentPartFeatureComponent\r\n extends EditPartFeatureBase\r\n implements OnInit\r\n{\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n snackbar: MatSnackBar,\r\n itemService: ItemService,\r\n thesaurusService: ThesaurusService,\r\n editorService: PartEditorService\r\n ) {\r\n super(\r\n router,\r\n route,\r\n snackbar,\r\n itemService,\r\n thesaurusService,\r\n editorService\r\n );\r\n this.roleIdInThesauri = true;\r\n }\r\n\r\n protected override getReqThesauriIds(): string[] {\r\n return [\r\n 'comment-tags',\r\n 'doc-reference-tags',\r\n 'doc-reference-types',\r\n 'comment-categories',\r\n 'languages',\r\n 'keyword-indexes',\r\n 'keyword-tags',\r\n 'comment-id-scopes',\r\n 'comment-id-tags',\r\n 'assertion-tags',\r\n 'pin-link-settings',\r\n ];\r\n }\r\n}\r\n","<cadmus-current-item-bar/>\r\n<cadmus-comment-editor\r\n [identity]=\"identity\"\r\n [data]=\"$any(data)\"\r\n (dataChange)=\"save($any($event!.value!))\"\r\n (editorClose)=\"close()\"\r\n (dirtyChange)=\"onDirtyChange($event)\"\r\n/>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\r\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\r\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-ui-pg';\r\nimport { DecoratedCountsPartComponent } from '@myrmidon/cadmus-part-general-ui';\r\n\r\n@Component({\r\n selector: 'cadmus-decorated-counts-part-feature',\r\n templateUrl: './decorated-counts-part-feature.component.html',\r\n styleUrl: './decorated-counts-part-feature.component.scss',\r\n imports: [CurrentItemBarComponent, DecoratedCountsPartComponent],\r\n})\r\nexport class DecoratedCountsPartFeatureComponent\r\n extends EditPartFeatureBase\r\n implements OnInit\r\n{\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n snackbar: MatSnackBar,\r\n itemService: ItemService,\r\n thesaurusService: ThesaurusService,\r\n editorService: PartEditorService\r\n ) {\r\n super(\r\n router,\r\n route,\r\n snackbar,\r\n itemService,\r\n thesaurusService,\r\n editorService\r\n );\r\n this.roleIdInThesauri = true;\r\n }\r\n\r\n protected override getReqThesauriIds(): string[] {\r\n return ['decorated-count-ids', 'decorated-count-tags'];\r\n }\r\n}\r\n","<cadmus-current-item-bar />\r\n<cadmus-decorated-counts-part\r\n [identity]=\"identity\"\r\n [data]=\"$any(data)\"\r\n (dataChange)=\"save($event!.value!)\"\r\n (editorClose)=\"close()\"\r\n (dirtyChange)=\"onDirtyChange($event)\"\r\n/>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\r\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\r\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-ui-pg';\r\nimport { DistrictLocationPartComponent } from '@myrmidon/cadmus-part-general-ui';\r\n\r\n@Component({\r\n selector: 'cadmus-district-location-part-feature',\r\n templateUrl: './district-location-part-feature.component.html',\r\n styleUrl: './district-location-part-feature.component.scss',\r\n imports: [CurrentItemBarComponent, DistrictLocationPartComponent],\r\n})\r\nexport class DistrictLocationPartFeatureComponent\r\n extends EditPartFeatureBase\r\n implements OnInit\r\n{\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n snackbar: MatSnackBar,\r\n itemService: ItemService,\r\n thesaurusService: ThesaurusService,\r\n editorService: PartEditorService\r\n ) {\r\n super(\r\n router,\r\n route,\r\n snackbar,\r\n itemService,\r\n thesaurusService,\r\n editorService\r\n );\r\n }\r\n\r\n protected override getReqThesauriIds(): string[] {\r\n return ['district-name-piece-types', 'district-name-lang-entries'];\r\n }\r\n}\r\n","<cadmus-current-item-bar/>\r\n<cadmus-district-location-part\r\n [identity]=\"identity\"\r\n [data]=\"$any(data)\"\r\n (dataChange)=\"save($event!.value!)\"\r\n (editorClose)=\"close()\"\r\n (dirtyChange)=\"onDirtyChange($event)\"\r\n/>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\r\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\r\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-ui-pg';\r\nimport { DocReferencesPartComponent } from '@myrmidon/cadmus-part-general-ui';\r\n\r\n@Component({\r\n selector: 'cadmus-doc-references-part-feature',\r\n templateUrl: './doc-references-part-feature.component.html',\r\n styleUrls: ['./doc-references-part-feature.component.css'],\r\n imports: [CurrentItemBarComponent, DocReferencesPartComponent],\r\n})\r\nexport class DocReferencesPartFeatureComponent\r\n extends EditPartFeatureBase\r\n implements OnInit\r\n{\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n snackbar: MatSnackBar,\r\n itemService: ItemService,\r\n thesaurusService: ThesaurusService,\r\n editorService: PartEditorService\r\n ) {\r\n super(\r\n router,\r\n route,\r\n snackbar,\r\n itemService,\r\n thesaurusService,\r\n editorService\r\n );\r\n }\r\n\r\n protected override getReqThesauriIds(): string[] {\r\n return ['doc-reference-tags', 'doc-reference-types'];\r\n }\r\n}\r\n","<cadmus-current-item-bar/>\r\n<cadmus-doc-references-part\r\n [identity]=\"identity\"\r\n [data]=\"$any(data)\"\r\n (dataChange)=\"save($event!.value!)\"\r\n (editorClose)=\"close()\"\r\n (dirtyChange)=\"onDirtyChange($event)\"\r\n/>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\r\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\r\n\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-ui-pg';\r\nimport { ExternalIdsPartComponent } from '@myrmidon/cadmus-part-general-ui';\r\n\r\n@Component({\r\n selector: 'cadmus-refs-external-ids-part-feature',\r\n templateUrl: './external-ids-part-feature.component.html',\r\n styleUrls: ['./external-ids-part-feature.component.css'],\r\n imports: [CurrentItemBarComponent, ExternalIdsPartComponent],\r\n})\r\nexport class ExternalIdsPartFeatureComponent\r\n extends EditPartFeatureBase\r\n implements OnInit\r\n{\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n snackbar: MatSnackBar,\r\n itemService: ItemService,\r\n thesaurusService: ThesaurusService,\r\n editorService: PartEditorService\r\n ) {\r\n super(\r\n router,\r\n route,\r\n snackbar,\r\n itemService,\r\n thesaurusService,\r\n editorService\r\n );\r\n this.roleIdInThesauri = true;\r\n }\r\n\r\n protected override getReqThesauriIds(): string[] {\r\n return [\r\n 'external-id-scopes',\r\n 'external-id-tags',\r\n 'assertion-tags',\r\n 'doc-reference-types',\r\n 'doc-reference-tags',\r\n ];\r\n }\r\n}\r\n","<cadmus-current-item-bar/>\r\n<cadmus-refs-external-ids-part\r\n [identity]=\"identity\"\r\n [data]=\"$any(data)\"\r\n (dataChange)=\"save($event!.value!)\"\r\n (editorClose)=\"close()\"\r\n (dirtyChange)=\"onDirtyChange($event)\"\r\n/>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\r\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\r\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-ui-pg';\r\nimport { HistoricalDatePartComponent } from '@myrmidon/cadmus-part-general-ui';\r\n\r\n@Component({\r\n selector: 'cadmus-historical-date-part-feature',\r\n templateUrl: './historical-date-part-feature.component.html',\r\n styleUrls: ['./historical-date-part-feature.component.css'],\r\n imports: [CurrentItemBarComponent, HistoricalDatePartComponent],\r\n})\r\nexport class HistoricalDatePartFeatureComponent\r\n extends EditPartFeatureBase\r\n implements OnInit\r\n{\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n snackbar: MatSnackBar,\r\n itemService: ItemService,\r\n thesaurusService: ThesaurusService,\r\n editorService: PartEditorService\r\n ) {\r\n super(\r\n router,\r\n route,\r\n snackbar,\r\n itemService,\r\n thesaurusService,\r\n editorService\r\n );\r\n }\r\n\r\n protected override getReqThesauriIds(): string[] {\r\n return ['doc-reference-tags', 'doc-reference-types'];\r\n }\r\n}\r\n","<cadmus-current-item-bar/>\r\n<cadmus-historical-date-part\r\n [identity]=\"identity\"\r\n [data]=\"$any(data)\"\r\n (dataChange)=\"save($event!.value!)\"\r\n (editorClose)=\"close()\"\r\n (dirtyChange)=\"onDirtyChange($event)\"\r\n/>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\r\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\r\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-ui-pg';\r\nimport { HistoricalEventsPartComponent } from '@myrmidon/cadmus-part-general-ui';\r\n\r\n@Component({\r\n selector: 'cadmus-historical-events-part-feature',\r\n templateUrl: './historical-events-part-feature.component.html',\r\n styleUrls: ['./historical-events-part-feature.component.css'],\r\n imports: [CurrentItemBarComponent, HistoricalEventsPartComponent],\r\n})\r\nexport class HistoricalEventsPartFeatureComponent\r\n extends EditPartFeatureBase\r\n implements OnInit\r\n{\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n snackbar: MatSnackBar,\r\n itemService: ItemService,\r\n thesaurusService: ThesaurusService,\r\n editorService: PartEditorService\r\n ) {\r\n super(\r\n router,\r\n route,\r\n snackbar,\r\n itemService,\r\n thesaurusService,\r\n editorService\r\n );\r\n this.roleIdInThesauri = true;\r\n }\r\n\r\n protected override getReqThesauriIds(): string[] {\r\n return [\r\n 'event-types',\r\n 'event-tags',\r\n 'event-relations',\r\n 'chronotope-tags',\r\n 'assertion-tags',\r\n 'doc-reference-tags',\r\n 'doc-reference-types',\r\n 'pin-link-scopes',\r\n 'pin-link-tags',\r\n 'pin-link-settings',\r\n ];\r\n }\r\n}\r\n","<cadmus-current-item-bar/>\r\n<cadmus-historical-events-part\r\n [identity]=\"identity\"\r\n [data]=\"$any(data)\"\r\n (dataChange)=\"save($event!.value!)\"\r\n (editorClose)=\"close()\"\r\n (dirtyChange)=\"onDirtyChange($event)\"\r\n/>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\r\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\r\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-ui-pg';\r\nimport { IndexKeywordsPartComponent } from '@myrmidon/cadmus-part-general-ui';\r\n\r\n@Component({\r\n selector: 'cadmus-index-keywords-part-feature',\r\n templateUrl: './index-keywords-part-feature.component.html',\r\n styleUrls: ['./index-keywords-part-feature.component.css'],\r\n imports: [CurrentItemBarComponent, IndexKeywordsPartComponent],\r\n})\r\nexport class IndexKeywordsPartFeatureComponent\r\n extends EditPartFeatureBase\r\n implements OnInit\r\n{\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n snackbar: MatSnackBar,\r\n itemService: ItemService,\r\n thesaurusService: ThesaurusService,\r\n editorService: PartEditorService\r\n ) {\r\n super(\r\n router,\r\n route,\r\n snackbar,\r\n itemService,\r\n thesaurusService,\r\n editorService\r\n );\r\n }\r\n\r\n protected override getReqThesauriIds(): string[] {\r\n return ['languages', 'keyword-indexes', 'keyword-tags'];\r\n }\r\n}\r\n","<cadmus-current-item-bar/>\r\n<cadmus-index-keywords-part\r\n [identity]=\"identity\"\r\n [data]=\"$any(data)\"\r\n (dataChange)=\"save($event!.value!)\"\r\n (editorClose)=\"close()\"\r\n (dirtyChange)=\"onDirtyChange($event)\"\r\n/>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\r\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\r\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-ui-pg';\r\nimport { KeywordsPartComponent } from '@myrmidon/cadmus-part-general-ui';\r\n\r\n@Component({\r\n selector: 'cadmus-keywords-part-feature',\r\n templateUrl: './keywords-part-feature.component.html',\r\n styleUrls: ['./keywords-part-feature.component.css'],\r\n imports: [CurrentItemBarComponent, KeywordsPartComponent],\r\n})\r\nexport class KeywordsPartFeatureComponent\r\n extends EditPartFeatureBase\r\n implements OnInit\r\n{\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n snackbar: MatSnackBar,\r\n itemService: ItemService,\r\n thesaurusService: ThesaurusService,\r\n editorService: PartEditorService\r\n ) {\r\n super(\r\n router,\r\n route,\r\n snackbar,\r\n itemService,\r\n thesaurusService,\r\n editorService\r\n );\r\n }\r\n\r\n protected override getReqThesauriIds(): string[] {\r\n return ['languages'];\r\n }\r\n}\r\n","<cadmus-current-item-bar/>\r\n<cadmus-keywords-part\r\n [identity]=\"identity\"\r\n [data]=\"$any(data)\"\r\n (dataChange)=\"save($event!.value!)\"\r\n (editorClose)=\"close()\"\r\n (dirtyChange)=\"onDirtyChange($event)\"\r\n/>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\r\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\r\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-ui-pg';\r\nimport { MetadataPartComponent } from '@myrmidon/cadmus-part-general-ui';\r\n\r\n@Component({\r\n selector: 'cadmus-metadata-part-feature',\r\n templateUrl: './metadata-part-feature.component.html',\r\n styleUrls: ['./metadata-part-feature.component.css'],\r\n imports: [CurrentItemBarComponent, MetadataPartComponent],\r\n})\r\nexport class MetadataPartFeatureComponent\r\n extends EditPartFeatureBase\r\n implements OnInit\r\n{\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n snackbar: MatSnackBar,\r\n itemService: ItemService,\r\n thesaurusService: ThesaurusService,\r\n editorService: PartEditorService\r\n ) {\r\n super(\r\n router,\r\n route,\r\n snackbar,\r\n itemService,\r\n thesaurusService,\r\n editorService\r\n );\r\n }\r\n\r\n protected override getReqThesauriIds(): string[] {\r\n return ['metadata-types', 'metadata-names'];\r\n }\r\n}\r\n","<cadmus-current-item-bar/>\r\n<cadmus-metadata-part\r\n [identity]=\"identity\"\r\n [data]=\"$any(data)\"\r\n (dataChange)=\"save($event!.value!)\"\r\n (editorClose)=\"close()\"\r\n (dirtyChange)=\"onDirtyChange($event)\"\r\n/>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\r\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\r\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-ui-pg';\r\nimport { NamesPartComponent } from '@myrmidon/cadmus-part-general-ui';\r\n\r\n@Component({\r\n selector: 'cadmus-names-part-feature',\r\n templateUrl: './names-part-feature.component.html',\r\n styleUrls: ['./names-part-feature.component.css'],\r\n imports: [CurrentItemBarComponent, NamesPartComponent],\r\n})\r\nexport class NamesPartFeatureComponent\r\n extends EditPartFeatureBase\r\n implements OnInit\r\n{\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n snackbar: MatSnackBar,\r\n itemService: ItemService,\r\n thesaurusService: ThesaurusService,\r\n editorService: PartEditorService\r\n ) {\r\n super(\r\n router,\r\n route,\r\n snackbar,\r\n itemService,\r\n thesaurusService,\r\n editorService\r\n );\r\n this.roleIdInThesauri = true;\r\n }\r\n\r\n protected override getReqThesauriIds(): string[] {\r\n return [\r\n 'name-languages',\r\n 'name-tags',\r\n 'name-piece-types',\r\n 'assertion-tags',\r\n 'doc-reference-types',\r\n 'doc-reference-tags',\r\n ];\r\n }\r\n}\r\n","<cadmus-current-item-bar/>\r\n<cadmus-names-part\r\n [identity]=\"identity\"\r\n [data]=\"$any(data)\"\r\n (dataChange)=\"save($event!.value!)\"\r\n (editorClose)=\"close()\"\r\n (dirtyChange)=\"onDirtyChange($event)\"\r\n/>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\r\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\r\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-ui-pg';\r\nimport { NotePartComponent } from '@myrmidon/cadmus-part-general-ui';\r\n\r\n@Component({\r\n selector: 'cadmus-note-part-feature',\r\n templateUrl: './note-part-feature.component.html',\r\n styleUrls: ['./note-part-feature.component.css'],\r\n imports: [CurrentItemBarComponent, NotePartComponent],\r\n})\r\nexport class NotePartFeatureComponent\r\n extends EditPartFeatureBase\r\n implements OnInit\r\n{\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n snackbar: MatSnackBar,\r\n itemService: ItemService,\r\n thesaurusService: ThesaurusService,\r\n editorService: PartEditorService\r\n ) {\r\n super(\r\n router,\r\n route,\r\n snackbar,\r\n itemService,\r\n thesaurusService,\r\n editorService\r\n );\r\n this.roleIdInThesauri = true;\r\n }\r\n\r\n protected override getReqThesauriIds(): string[] {\r\n return ['note-tags'];\r\n }\r\n}\r\n","<cadmus-current-item-bar/>\r\n<cadmus-note-part\r\n [identity]=\"identity\"\r\n [data]=\"$any(data)\"\r\n (dataChange)=\"save($event!.value!)\"\r\n (editorClose)=\"close()\"\r\n (dirtyChange)=\"onDirtyChange($event)\"\r\n/>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\r\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\r\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-ui-pg';\r\nimport { PhysicalMeasurementsPartComponent } from '@myrmidon/cadmus-part-general-ui';\r\n\r\n@Component({\r\n selector: 'cadmus-physical-measurements-part-feature',\r\n templateUrl: './physical-measurements-part-feature.component.html',\r\n styleUrl: './physical-measurements-part-feature.component.scss',\r\n imports: [CurrentItemBarComponent, PhysicalMeasurementsPartComponent],\r\n})\r\nexport class PhysicalMeasurementsPartFeatureComponent\r\n extends EditPartFeatureBase\r\n implements OnInit\r\n{\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n snackbar: MatSnackBar,\r\n itemService: ItemService,\r\n thesaurusService: ThesaurusService,\r\n editorService: PartEditorService\r\n ) {\r\n super(\r\n router,\r\n route,\r\n snackbar,\r\n itemService,\r\n thesaurusService,\r\n editorService\r\n );\r\n this.roleIdInThesauri = true;\r\n }\r\n\r\n protected override getReqThesauriIds(): string[] {\r\n return [\r\n 'physical-size-units',\r\n 'physical-size-dim-tags',\r\n 'physical-size-set-names',\r\n ];\r\n }\r\n}\r\n","<cadmus-current-item-bar/>\r\n<cadmus-physical-measurements-part\r\n [identity]=\"identity\"\r\n [data]=\"$any(data)\"\r\n (dataChange)=\"save($event!.value!)\"\r\n (editorClose)=\"close()\"\r\n (dirtyChange)=\"onDirtyChange($event)\"\r\n/>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\r\nimport { PhysicalStatesPartComponent } from '@myrmidon/cadmus-part-general-ui';\r\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\r\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-ui-pg';\r\n\r\n@Component({\r\n selector: 'cadmus-physical-states-part-feature',\r\n templateUrl: './physical-states-part-feature.component.html',\r\n styleUrl: './physical-states-part-feature.component.scss',\r\n imports: [CurrentItemBarComponent, PhysicalStatesPartComponent],\r\n})\r\nexport class PhysicalStatesPartFeatureComponent\r\n extends EditPartFeatureBase\r\n implements OnInit\r\n{\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n snackbar: MatSnackBar,\r\n itemService: ItemService,\r\n thesaurusService: ThesaurusService,\r\n editorService: PartEditorService\r\n ) {\r\n super(\r\n router,\r\n route,\r\n snackbar,\r\n itemService,\r\n thesaurusService,\r\n editorService\r\n );\r\n }\r\n\r\n protected override getReqThesauriIds(): string[] {\r\n return [\r\n 'physical-states',\r\n 'physical-state-features',\r\n 'physical-state-reporters',\r\n ];\r\n }\r\n}\r\n","<cadmus-current-item-bar/>\r\n<cadmus-physical-states-part\r\n [identity]=\"identity\"\r\n [data]=\"$any(data)\"\r\n (dataChange)=\"save($event!.value!)\"\r\n (editorClose)=\"close()\"\r\n (dirtyChange)=\"onDirtyChange($event)\"\r\n/>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\nimport { LibraryRouteService } from '@myrmidon/cadmus-core';\r\nimport {\r\n EditFragmentFeatureBase,\r\n FragmentEditorService,\r\n} from '@myrmidon/cadmus-state';\r\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-ui-pg';\r\nimport { PinLinksFragmentComponent } from '@myrmidon/cadmus-part-general-ui';\r\nimport { DecoratedTokenTextComponent } from '@myrmidon/cadmus-ui';\r\n\r\n@Component({\r\n selector: 'cadmus-pin-links-fragment-feature',\r\n templateUrl: './pin-links-fragment-feature.component.html',\r\n styleUrls: ['./pin-links-fragment-feature.component.css'],\r\n imports: [\r\n CurrentItemBarComponent,\r\n DecoratedTokenTextComponent,\r\n PinLinksFragmentComponent,\r\n ],\r\n})\r\nexport class PinLinksFragmentFeatureComponent\r\n extends EditFragmentFeatureBase\r\n implements OnInit\r\n{\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n snackbar: MatSnackBar,\r\n editorService: FragmentEditorService,\r\n libraryRouteService: LibraryRouteService\r\n ) {\r\n super(router, route, snackbar, editorService, libraryRouteService);\r\n }\r\n\r\n protected override getReqThesauriIds(): string[] {\r\n return [\r\n 'pin-link-scopes',\r\n 'pin-link-tags',\r\n 'pin-link-assertion-tags',\r\n 'pin-link-docref-types',\r\n 'pin-link-docref-tags',\r\n 'pin-link-settings',\r\n ];\r\n }\r\n}\r\n","<cadmus-current-item-bar/>\r\n<div class=\"base-text\">\r\n <cadmus-decorated-token-text\r\n [baseText]=\"data?.baseText || ''\"\r\n [locations]=\"frLoc ? [frLoc] : []\"\r\n />\r\n</div>\r\n<cadmus-pin-links-fragment\r\n [identity]=\"identity\"\r\n [data]=\"$any(data)\"\r\n (dataChange)=\"save($event!.value!)\"\r\n (editorClose)=\"close()\"\r\n (dirtyChange)=\"onDirtyChange($event)\"\r\n/>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\r\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\r\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-ui-pg';\r\nimport { PinLinksPartComponent } from '@myrmidon/cadmus-part-general-ui';\r\n\r\n@Component({\r\n selector: 'cadmus-pin-links-part-feature',\r\n templateUrl: './pin-links-part-feature.component.html',\r\n styleUrls: ['./pin-links-part-feature.component.css'],\r\n imports: [CurrentItemBarComponent, PinLinksPartComponent],\r\n})\r\nexport class PinLinksPartFeatureComponent\r\n extends EditPartFeatureBase\r\n implements OnInit\r\n{\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n snackbar: MatSnackBar,\r\n itemService: ItemService,\r\n thesaurusService: ThesaurusService,\r\n editorService: PartEditorService\r\n ) {\r\n super(\r\n router,\r\n route,\r\n snackbar,\r\n itemService,\r\n thesaurusService,\r\n editorService\r\n );\r\n }\r\n\r\n protected override getReqThesauriIds(): string[] {\r\n return [\r\n 'pin-link-scopes',\r\n 'pin-link-tags',\r\n 'pin-link-assertion-tags',\r\n 'pin-link-docref-types',\r\n 'pin-link-docref-tags',\r\n 'pin-link-settings',\r\n ];\r\n }\r\n}\r\n","<cadmus-current-item-bar/>\r\n<cadmus-pin-links-part\r\n [identity]=\"identity\"\r\n [data]=\"$any(data)\"\r\n (dataChange)=\"save($event!.value!)\"\r\n (editorClose)=\"close()\"\r\n (dirtyChange)=\"onDirtyChange($event)\"\r\n/>\r\n","import { TokenLocation, TokenPoint } from '@myrmidon/cadmus-core';\r\nimport { TextTileRow, TextTile } from '@myrmidon/cadmus-part-general-ui';\r\n\r\n/**\r\n * The layer view model for a text tile.\r\n */\r\nexport interface TextTileLayerView {\r\n checked: boolean;\r\n frIndex: number;\r\n model: TextTile;\r\n}\r\n\r\n/**\r\n * The layer view model for a row of text tiles.\r\n */\r\nexport interface TextTileRowLayerView {\r\n tiles: TextTileLayerView[];\r\n}\r\n\r\n/**\r\n * The layer view model for a tiled text.\r\n */\r\nexport class TiledTextLayerView {\r\n private _rows: TextTileRowLayerView[];\r\n\r\n /**\r\n * Create a new view from the specified tiled text.\r\n * @param rows The tiled text rows.\r\n */\r\n constructor(rows: TextTileRow[]) {\r\n // setup rows to reflect the text\r\n this._rows = [];\r\n\r\n if (rows) {\r\n // for each row\r\n for (let i = 0; i < rows.length; i++) {\r\n this._rows[i] = {\r\n tiles: [],\r\n };\r\n // for each tile in row\r\n for (let j = 0; j < (rows[i].tiles ? rows[i].tiles.length : 0); j++) {\r\n this._rows[i].tiles[j] = {\r\n checked: false,\r\n frIndex: -1,\r\n model: rows[i].tiles[j],\r\n };\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * The internal rows view models.\r\n */\r\n public get rows(): TextTileRowLayerView[] {\r\n return this._rows;\r\n }\r\n\r\n /**\r\n * Get the tile at the specified coordinates.\r\n *\r\n * @param y The tile's y coordinate.\r\n * @param x The tile's x coordinate.\r\n */\r\n public getTileAt(y: number, x: number): TextTileLayerView {\r\n return this._rows[y - 1].tiles[x - 1];\r\n }\r\n\r\n /**\r\n * Set the view state of all the tiles.\r\n *\r\n * @param state The state values to set in each tile's state.\r\n * @param setChecked True to set the checked property of states.\r\n * @param setFrIndex True to set the frIndex property of states.\r\n */\r\n public setAllTilesViewState(state: {\r\n checked?: boolean;\r\n frIndex?: number;\r\n }): void {\r\n const hasChecked = state.hasOwnProperty('checked');\r\n const hasFrIndex = state.hasOwnProperty('frIndex');\r\n if (!hasChecked && !hasFrIndex) {\r\n return;\r\n }\r\n\r\n // for each row\r\n for (let i = 0; i < this._rows.length; i++) {\r\n const row = this._rows[i];\r\n\r\n // for each tile in row\r\n for (let j = 0; j < row.tiles.length; j++) {\r\n const tile = row.tiles[j];\r\n\r\n row.tiles[j] = {\r\n checked: (hasChecked ? state.checked : tile.checked) ? true : false,\r\n frIndex: hasFrIndex ? state.frIndex || -1 : tile.frIndex,\r\n model: tile.model,\r\n };\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Set the fragment index of each tile in this view. This is equal to the\r\n * index to the fragment including the tile, when the tile is inside that\r\n * fragment, or to -1, when the tile is outside any fragment. Fragment indexes\r\n * refer to their locations, as received by this function.\r\n *\r\n * @param locations Fragments locations.\r\n */\r\n public setFragmentLocations(locations: TokenLocation[]): void {\r\n // reset all the tiles fragment indexes\r\n this.setAllTilesViewState({ frIndex: -1 });\r\n\r\n // for each fragment's location\r\n for (let i = 0; i < locations.length; i++) {\r\n const loc = locations[i];\r\n\r\n if (loc.secondary) {\r\n // range\r\n for (let y = loc.primary.y; y <= loc.secondary.y; y++) {\r\n const row = this._rows[y - 1];\r\n for (\r\n let x = y === loc.primary.y ? loc.primary.x : 1;\r\n y === loc.secondary.y\r\n ? x <= loc.secondary.x\r\n : x <= row.tiles.length;\r\n x++\r\n ) {\r\n const tile = row.tiles[x - 1];\r\n row.tiles[x - 1] = {\r\n checked: tile.checked,\r\n frIndex: i,\r\n model: tile.model,\r\n };\r\n }\r\n }\r\n } else {\r\n // point\r\n const tile = this.getTileAt(loc.primary.y, loc.primary.x);\r\n if (tile) {\r\n this._rows[loc.primary.y - 1].tiles[loc.primary.x - 1] = {\r\n checked: tile.checked,\r\n frIndex: i,\r\n model: tile.model,\r\n };\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Find the coordinates of the first tile having the specified checked state,\r\n * starting from the specified coordinates.\r\n *\r\n * @param y The y coordinates to start from.\r\n * @param x The x coordinates to start from.\r\n * @param checked True to find checked tiles, false to find unchecked tiles.\r\n * @param reverse True to find in reverse direction.\r\n * @returns The coordinates, or null if not found.\r\n */\r\n public findFirstCheckedCoords(\r\n y: number,\r\n x: number,\r\n checked: boolean,\r\n reverse = false\r\n ): { y: number; x: number } | null {\r\n if (reverse) {\r\n let xstart = x;\r\n while (true) {\r\n for (let xi = xstart; xi >= 1; xi--) {\r\n if (this.getTileAt(y, xi).checked === checked) {\r\n return {\r\n y,\r\n x: xi,\r\n };\r\n }\r\n }\r\n if (--y > 0) {\r\n xstart = this._rows[y - 1].tiles.length;\r\n } else {\r\n break;\r\n }\r\n }\r\n } else {\r\n let xstart = x;\r\n while (true) {\r\n for (let xi = xstart; xi <= this._rows[y - 1].tiles.length; xi++) {\r\n if (this.getTileAt(y, xi).checked === checked) {\r\n return {\r\n y,\r\n x: xi,\r\n };\r\n }\r\n }\r\n if (++y <= this._rows.length) {\r\n xstart = 1;\r\n } else {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * \"Linearly\" set the checked state in the specified range of checked tiles.\r\n *\r\n * @param y1 The start y coordinate.\r\n * @param x1 The start x coordinate.\r\n * @param y2 The end y coordinate (included).\r\n * @param x2 The end x coordinate (included).\r\n * @param checked The state to be set.\r\n */\r\n public linearSetCheck(\r\n y1: number,\r\n x1: number,\r\n y2: number,\r\n x2: number,\r\n checked: boolean\r\n ): void {\r\n for (let y = y1; y <= y2; y++) {\r\n const row = this._rows[y - 1];\r\n for (\r\n let x = y === y1 ? x1 : 1;\r\n y === y2 ? x <= x2 : x <= row.tiles.length;\r\n x++\r\n ) {\r\n const tile = row.tiles[x - 1];\r\n row.tiles[x - 1] = {\r\n frIndex: tile.frIndex,\r\n checked,\r\n model: tile.model,\r\n };\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Get the coordinates of the next tile starting from the specified origin\r\n * tile. The next tile is the tile to the right of the origin tile in the\r\n * same row, or the first tile of the next row (if any) when the origin is\r\n * the last tile in its row.\r\n *\r\n * @param y The y coordinate of the origin tile.\r\n * @param x The x coordinate of the origin tile.\r\n * @returns The coordinates, or null if no other tiles after origin.\r\n */\r\n public getNextTileCoords(\r\n y: number,\r\n x: number\r\n ): { y: number; x: number } | null {\r\n if (x < this._rows[y - 1].tiles.length) {\r\n return {\r\n y,\r\n x: x + 1,\r\n };\r\n }\r\n y++;\r\n while (y <= this._rows.length) {\r\n if (this._rows[y - 1].tiles.length > 0) {\r\n return {\r\n y,\r\n x: 1,\r\n };\r\n }\r\n y++;\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Get the coordinates of the previous tile starting from the specified origin\r\n * tile. The previous tile is the tile to the left of the origin tile in the\r\n * same row, or the last tile of the previous row (if any) when the origin is\r\n * the first tile in its row.\r\n *\r\n * @param y The y coordinate of the origin tile.\r\n * @param x The x coordinate of the origin tile.\r\n * @returns The coordinates, or null if no other tiles before origin.\r\n */\r\n public getPrevTileCoords(\r\n y: number,\r\n x: number\r\n ): { y: number; x: number } | null {\r\n if (x > 1) {\r\n return {\r\n y,\r\n x: x - 1,\r\n };\r\n }\r\n y--;\r\n while (y > 0) {\r\n if (this._rows[y - 1].tiles.length > 0) {\r\n return {\r\n y,\r\n x: this._rows[y - 1].tiles.length,\r\n };\r\n }\r\n y--;\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * \"Linearly\" toggle the tiles according to the specified toggle action\r\n * in the specified set of tiles rows. When users toggle a tile from unchecked\r\n * to checked, and any other tile was checked, the checked state must be\r\n * extended so that all the tiles between the newly checked tile and the old\r\n * one(s) are checked, so that they form a continuous \"line\", eventually\r\n * spanning rows. The same inversely applies when un-checking tiles. This\r\n * ensures that users can select a single range of tiles by toggling at any\r\n * of its ends.\r\n *\r\n * @param y The y coordinate of the tile which was toggled.\r\n * @param x The x coordinate of the tile which was toggled.\r\n * @param checked The new checked state after toggling the tile.\r\n */\r\n public toggleLinearTileCheck(y: number, x: number, checked: boolean): void {\r\n // if it was checked, it was toggled from unchecked\r\n if (checked) {\r\n // find 1st next checked:\r\n let yx = this.findFirstCheckedCoords(y, x, true);\r\n\r\n // found: extend from it to y,x\r\n if (yx) {\r\n this.linearSetCheck(yx.y, yx.x, y, x, true);\r\n return;\r\n }\r\n\r\n // not found: find 1st prev checked:\r\n yx = this.findFirstCheckedCoords(y, x, true, true);\r\n\r\n // found: extend from it to y,x\r\n if (yx) {\r\n this.linearSetCheck(yx.y, yx.x, y, x, true);\r\n return;\r\n }\r\n // not found: check y,x\r\n const tile = this.getTileAt(y, x);\r\n this._rows[y - 1].tiles[x - 1] = {\r\n checked: true,\r\n frIndex: tile.frIndex,\r\n model: tile.model,\r\n };\r\n } else {\r\n // it was toggled from checked:\r\n // find 1st prev non-checked and set origin (y1,x1) equal to 1 if not found,\r\n // else to the tile next to the one found. Then uncheck all from origin\r\n // to y,x.\r\n let y1: number;\r\n let x1: number;\r\n const yx = this.findFirstCheckedCoords(y, x, false, true);\r\n if (yx) {\r\n const next = this.getNextTileCoords(yx.y, yx.x);\r\n if (!next) {\r\n y1 = y;\r\n x1 = x;\r\n } else {\r\n y1 = next.y;\r\n x1 = next.x;\r\n }\r\n this.linearSetCheck(y1, x1, yx.y, yx.x, false);\r\n } else {\r\n y1 = 1;\r\n x1 = 1;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Get the location of the checked tiles, if any. As tiles are checked\r\n * only as an uninterrupted sequence, there can be only 0 or 1 location\r\n * in a set.\r\n *\r\n * @returns The location, or null if no tiles are checked.\r\n */\r\n public getCheckedLocation(): TokenLocation | null {\r\n const start = this.findFirstCheckedCoords(1, 1, true);\r\n if (!start) {\r\n return null;\r\n }\r\n const end = this.findFirstCheckedCoords(start.y, start.x, false);\r\n if (!end || (end.y === start.y && end.x === start.x)) {\r\n return null;\r\n }\r\n const last = this.getPrevTileCoords(end.y, end.x);\r\n return !last || (last.y === start.y && last.x === start.x)\r\n ? new TokenLocation(new TokenPoint(start.y, start.x))\r\n : new TokenLocation(\r\n new TokenPoint(start.y, start.x),\r\n new TokenPoint(last.y, last.x)\r\n );\r\n }\r\n\r\n /**\r\n * Get the location of the checked tiles, together with the index to the\r\n * fragment including them (or a part of them). Should the tiles be included\r\n * in more than 1 fragment, no fragment will be returned.\r\n *\r\n * @returns Object with fragment=fragment index or -1, and location=location\r\n * of checked tiles; or null if no checked tile.\r\n */\r\n public getCheckedLocationAndFragment(): {\r\n fragment: number;\r\n location: TokenLocation;\r\n } | null {\r\n const loc = this.getCheckedLocation();\r\n if (!loc) {\r\n return null;\r\n }\r\n let y2: number;\r\n let x2: number;\r\n if (loc.secondary) {\r\n y2 = loc.secondary.y;\r\n x2 = loc.secondary.x;\r\n } else {\r\n y2 = loc.primary.y;\r\n x2 = loc.primary.x;\r\n }\r\n\r\n let fr = -1;\r\n for (let y = loc.primary.y; y <= y2; y++) {\r\n const row = this._rows[y - 1];\r\n for (\r\n let x = y === loc.primary.y ? loc.primary.x : 1;\r\n x <= (y === y2 ? x2 : row.tiles.length);\r\n x++\r\n ) {\r\n if (row.tiles[x - 1].frIndex > -1) {\r\n if (fr > -1) {\r\n if (fr !== row.tiles[x - 1].frIndex) {\r\n return {\r\n fragment: -1,\r\n location: loc,\r\n };\r\n }\r\n } else {\r\n fr = row.tiles[x - 1].frIndex;\r\n }\r\n }\r\n }\r\n }\r\n return {\r\n fragment: fr,\r\n location: loc,\r\n };\r\n }\r\n}\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { AsyncPipe } from '@angular/common';\r\nimport { map, Observable, Subscription } from 'rxjs';\r\n\r\nimport {\r\n MatCard,\r\n MatCardHeader,\r\n MatCardAvatar,\r\n MatCardTitle,\r\n MatCardActions,\r\n MatCardContent,\r\n} from '@angular/material/card';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatIconButton, MatButton } from '@angular/material/button';\r\nimport { MatTooltip } from '@angular/material/tooltip';\r\nimport { MatToolbar } from '@angular/material/toolbar';\r\nimport { MatProgressBar } from '@angular/material/progress-bar';\r\nimport {\r\n MatExpansionPanel,\r\n MatExpansionPanelHeader,\r\n MatExpansionPanelTitle,\r\n MatExpansionPanelDescription,\r\n} from '@angular/material/expansion';\r\n\r\nimport { DialogService } from '@myrmidon/ngx-mat-tools';\r\n\r\nimport { LayerHintsComponent } from '@myrmidon/cadmus-ui';\r\nimport {\r\n TokenLocation,\r\n LibraryRouteService,\r\n ComponentCanDeactivate,\r\n LayerHint,\r\n} from '@myrmidon/cadmus-core';\r\nimport { UserLevelService } from '@myrmidon/cadmus-api';\r\nimport {\r\n TextTileComponent,\r\n TextTileRow,\r\n TiledTextPart,\r\n} from '@myrmidon/cadmus-part-general-ui';\r\nimport { EditedItemRepository } from '@myrmidon/cadmus-item-editor';\r\nimport { EditedLayerRepository } from '@myrmidon/cadmus-state';\r\n\r\nimport { TiledTextLayerView, TextTileLayerView } from './tiled-text-layer-view';\r\nimport {\r\n CurrentItemBarComponent,\r\n CurrentLayerPartBarComponent,\r\n} from '@myrmidon/cadmus-ui-pg';\r\n\r\n/**\r\n * Tiled text layer part editor.\r\n * This editor allows picking any layer and see all the text tiles included\r\n * in a fragment with a color highlight. Users can check any number of tiles\r\n * not belonging to any fragment in the selected layer, and add a new fragment\r\n * in the selected layer; or check any number of tiles belonging to a fragment\r\n * of the selected layer, and edit or delete it.\r\n * Tiles are thus colorized by the UI to render the fragments extent; and freely\r\n * checked by users to select the fragments to operate with.\r\n * All the checked tiles must follow each other, in one or more rows. Users can\r\n * just check the first and the last of a sequence to get the whole sequence\r\n * checked.\r\n */\r\n@Component({\r\n selector: 'cadmus-tiled-text-layer-part-feature',\r\n templateUrl: './tiled-text-layer-part-feature.component.html',\r\n styleUrls: ['./tiled-text-layer-part-feature.component.css'],\r\n imports: [\r\n MatCard,\r\n MatCardHeader,\r\n MatCardAvatar,\r\n MatIcon,\r\n MatCardTitle,\r\n MatIconButton,\r\n MatTooltip,\r\n MatCardActions,\r\n MatToolbar,\r\n MatCardContent,\r\n MatProgressBar,\r\n MatButton,\r\n MatExpansionPanel,\r\n MatExpansionPanelHeader,\r\n MatExpansionPanelTitle,\r\n MatExpansionPanelDescription,\r\n AsyncPipe,\r\n CurrentItemBarComponent,\r\n CurrentLayerPartBarComponent,\r\n LayerHintsComponent,\r\n TextTileComponent,\r\n ],\r\n})\r\nexport class TiledTextLayerPartFeatureComponent\r\n implements OnInit, OnDestroy, ComponentCanDeactivate\r\n{\r\n private _sub?: Subscription;\r\n public view?: TiledTextLayerView;\r\n public selectedTile?: TextTileLayerView;\r\n\r\n public itemId: string;\r\n public partId?: string;\r\n public roleId?: string;\r\n\r\n public loading$: Observable<boolean>;\r\n public saving$: Observable<boolean>;\r\n\r\n public baseText$: Observable<string | undefined>;\r\n public locations$: Observable<TokenLocation[]>;\r\n public rows$: Observable<TextTileRow[]>;\r\n public breakChance$: Observable<number | undefined>;\r\n public layerHints$: Observable<LayerHint[]>;\r\n\r\n public pickedLocation?: string;\r\n public userLevel: number;\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n private _router: Router,\r\n private _repository: EditedLayerRepository,\r\n private _libraryRouteService: LibraryRouteService,\r\n private _editedItemRepository: EditedItemRepository,\r\n private _dialogService: DialogService,\r\n userLevelService: UserLevelService\r\n ) {\r\n this.itemId = route.snapshot.params['iid'];\r\n this.partId = route.snapshot.params['pid'];\r\n if (this.partId === 'new') {\r\n this.partId = undefined;\r\n }\r\n this.roleId = route.snapshot.queryParams['rid'];\r\n if (this.roleId === 'default') {\r\n this.roleId = undefined;\r\n }\r\n this.userLevel = userLevelService.getCurrentUserLevel();\r\n\r\n // layers part\r\n this.loading$ = this._repository.loading$;\r\n this.saving$ = this._repository.saving$;\r\n\r\n this.baseText$ = this._repository.baseText$;\r\n this.locations$ = this._repository.locations$;\r\n this.breakChance$ = this._repository.breakChance$;\r\n this.layerHints$ = this._repository.layerHints$;\r\n\r\n // base text: connect rows to the base text part\r\n this.rows$ = this._repository.baseTextPart$.pipe(\r\n map((part) => (part as TiledTextPart)?.rows)\r\n );\r\n }\r\n\r\n public canDeactivate(): boolean {\r\n return true;\r\n }\r\n\r\n public ngOnInit(): void {\r\n // when the base text changes, load all the fragments locations\r\n // and setup their UI state\r\n this._sub = this.rows$.subscribe((rows) => {\r\n this.view = rows ? new TiledTextLayerView(rows) : undefined;\r\n this.view?.setFragmentLocations(this._repository.getLocations());\r\n });\r\n\r\n // ensure that the container item is loaded\r\n this._editedItemRepository.ensureItemLoaded(this.itemId);\r\n\r\n // load the layer part\r\n this._repository.reset();\r\n if (this.partId) {\r\n this._repository.load(this.itemId, this.partId);\r\n }\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this._sub?.unsubscribe();\r\n }\r\n\r\n public refreshBreakChance(): void {\r\n this._repository.refreshBreakChance();\r\n }\r\n\r\n public onTileChecked(y: number, x: number, checked: boolean): void {\r\n if (this.view) {\r\n this.view.toggleLinearTileCheck(y, x, checked);\r\n }\r\n }\r\n\r\n private getSelectedTileCoords(): { y: number; x: number } | null {\r\n if (!this.selectedTile || !this.view) {\r\n return null;\r\n }\r\n for (let i = 0; i < this.view.rows.length; i++) {\r\n const j = this.view.rows[i].tiles.indexOf(this.selectedTile);\r\n if (j > -1) {\r\n return { y: i + 1, x: j + 1 };\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n public selectPrevTile(): void {\r\n if (!this.view) {\r\n return;\r\n }\r\n let yx = this.getSelectedTileCoords();\r\n if (yx) {\r\n yx = this.view.getPrevTileCoords(yx.y, yx.x);\r\n if (yx) {\r\n this.selectedTile = this.view.rows[yx.y - 1].tiles[yx.x - 1];\r\n }\r\n }\r\n }\r\n\r\n public selectNextTile(): void {\r\n if (!this.view) {\r\n return;\r\n }\r\n let yx = this.getSelectedTileCoords();\r\n if (yx) {\r\n yx = this.view.getNextTileCoords(yx.y, yx.x);\r\n if (yx) {\r\n this.selectedTile = this.view.rows[yx.y - 1].tiles[yx.x - 1];\r\n }\r\n }\r\n }\r\n\r\n public deleteFragment(): void {\r\n if (!this.view) {\r\n return;\r\n }\r\n const lf = this.view.getCheckedLocationAndFragment();\r\n if (!lf || lf.fragment === -1) {\r\n return;\r\n }\r\n\r\n const locations = this._repository.getLocations();\r\n const loc = locations[lf.fragment];\r\n this._dialogService\r\n .confirm('Delete Fragment', `Delete the fragment at ${loc}?`)\r\n .subscribe((ok: boolean) => {\r\n if (ok) {\r\n // find the fragment and remove it from the part\r\n const i = this._repository.getPart()?.fragments.findIndex((p) => {\r\n return TokenLocation.parse(p.location)?.overlaps(loc);\r\n });\r\n if (i === -1) {\r\n return;\r\n }\r\n this._repository.deleteFragment(loc);\r\n }\r\n });\r\n }\r\n\r\n public deleteFragmentFromHint(hint: LayerHint): void {\r\n const loc = TokenLocation.parse(hint.location);\r\n if (loc) {\r\n this._repository.deleteFragment(loc);\r\n }\r\n }\r\n\r\n private navigateToFragmentEditor(loc: string): void {\r\n const part = this._repository.getPart();\r\n if (!part) {\r\n return;\r\n }\r\n\r\n const { route, rid } = this._libraryRouteService.buildFragmentEditorRoute(\r\n this._editedItemRepository.getFacet()!.partDefinitions,\r\n part.itemId,\r\n part.id,\r\n part.typeId,\r\n part.roleId,\r\n loc\r\n );\r\n\r\n // navigate to the editor\r\n this._router.navigate(\r\n [route],\r\n rid\r\n ? {\r\n queryParams: {\r\n rid: part.roleId,\r\n },\r\n }\r\n : {}\r\n );\r\n }\r\n\r\n public editFragment(): void {\r\n if (!this.view) {\r\n return;\r\n }\r\n const lf = this.view.getCheckedLocationAndFragment();\r\n if (!lf || lf.fragment === -1) {\r\n return;\r\n }\r\n const locations = this._repository.getLocations();\r\n this.navigateToFragmentEditor(locations[lf.fragment].toString());\r\n }\r\n\r\n public editFragmentFromHint(hint: LayerHint): void {\r\n this.navigateToFragmentEditor(hint.location);\r\n }\r\n\r\n public moveFragmentFromHint(hint: LayerHint): void {\r\n if (\r\n !this.pickedLocation ||\r\n this.pickedLocation === hint.location ||\r\n !this.partId\r\n ) {\r\n return;\r\n }\r\n this._repository.applyLayerPatches(this.partId, [\r\n `mov ${hint.location} ${this.pickedLocation}`,\r\n ]);\r\n }\r\n\r\n public addFragment(): void {\r\n if (!this.view) {\r\n return;\r\n }\r\n const lf = this.view.getCheckedLocationAndFragment();\r\n if (!lf || lf.fragment > -1) {\r\n return;\r\n }\r\n this.navigateToFragmentEditor(lf.location.toString());\r\n }\r\n\r\n public pickLocation(): void {\r\n if (!this.view) {\r\n return;\r\n }\r\n const lf = this.view.getCheckedLocationAndFragment();\r\n if (!lf) {\r\n return;\r\n }\r\n const locations = this._repository.getLocations();\r\n this.pickedLocation = (\r\n lf.fragment === -1 ? lf.location : locations[lf.fragment]\r\n ).toString();\r\n }\r\n\r\n public clearTileChecks(): void {\r\n if (!this.view) {\r\n return;\r\n }\r\n this.view.setAllTilesViewState({ checked: false });\r\n this.pickedLocation = undefined;\r\n }\r\n\r\n public applyLayerPatches(patches: string[]): void {\r\n if (this.partId) {\r\n this._repository.applyLayerPatches(this.partId, patches);\r\n }\r\n }\r\n\r\n public close(): void {\r\n this._router.navigate(['/items', this.itemId]);\r\n }\r\n}\r\n","<cadmus-current-item-bar></cadmus-current-item-bar>\r\n<mat-card appearance=\"outlined\">\r\n <mat-card-header>\r\n <div mat-card-avatar>\r\n <mat-icon>view_headline</mat-icon>\r\n </div>\r\n <mat-card-title>\r\n Tiles-Based Text Layers\r\n <button type=\"button\" mat-icon-button (click)=\"refreshBreakChance()\">\r\n @switch (breakChance$ | async) { @case (-1) {\r\n <mat-icon matTooltip=\"Checking...\">refresh</mat-icon>\r\n } @case (0) {\r\n <mat-icon matTooltip=\"Valid\">check_circle</mat-icon>\r\n } @case (1) {\r\n <mat-icon matTooltip=\"Potentially broken\" class=\"mat-warn\"\r\n >warning</mat-icon\r\n >\r\n } @case (2) {\r\n <mat-icon matTooltip=\"Broken\" class=\"mat-warn\">error</mat-icon>\r\n } }\r\n </button>\r\n </mat-card-title>\r\n <cadmus-current-layer-part-bar />\r\n </mat-card-header>\r\n @if (!(loading$ | async) && !(saving$ | async)) {\r\n <mat-card-actions>\r\n <mat-toolbar>\r\n <button\r\n mat-icon-button\r\n type=\"button\"\r\n (click)=\"editFragment()\"\r\n matTooltip=\"Edit the selected fragment\"\r\n >\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n <button\r\n mat-icon-button\r\n type=\"button\"\r\n (click)=\"deleteFragment()\"\r\n matTooltip=\"Delete the selected fragment\"\r\n >\r\n <mat-icon class=\"mat-warn\">delete</mat-icon>\r\n </button>\r\n <button\r\n mat-icon-button\r\n type=\"button\"\r\n (click)=\"pickLocation()\"\r\n matTooltip=\"Pick the selection location for a new fragment\"\r\n >\r\n <mat-icon>info</mat-icon>\r\n </button>\r\n <button\r\n mat-icon-button\r\n type=\"button\"\r\n (click)=\"clearTileChecks()\"\r\n matTooltip=\"Clear any selection\"\r\n >\r\n <mat-icon class=\"mat-warn\">clear</mat-icon>\r\n </button>\r\n <button\r\n mat-icon-button\r\n type=\"button\"\r\n (click)=\"addFragment()\"\r\n matTooltip=\"Add a new fragment at selection\"\r\n >\r\n <mat-icon class=\"mat-primary\">add_circle</mat-icon>\r\n </button>\r\n <span>{{ pickedLocation }}</span>\r\n </mat-toolbar>\r\n </mat-card-actions>\r\n }\r\n\r\n <mat-card-content>\r\n @if (loading$ | async) {\r\n <mat-progress-bar mode=\"indeterminate\" />\r\n }\r\n\r\n <!-- rows -->\r\n @if (view) {\r\n <div>\r\n @for (row of view.rows; track row; let iy = $index) {\r\n <div class=\"tile-row\" style=\"display: flex; flex-flow: row wrap\">\r\n <span class=\"row-nr\">{{ iy + 1 }}</span>\r\n <!-- tile -->\r\n @for (tile of row.tiles || []; track tile; let ix = $index) {\r\n <cadmus-text-tile\r\n [tile]=\"tile.model\"\r\n [readonly]=\"true\"\r\n [selected]=\"tile === selectedTile\"\r\n [checkable]=\"true\"\r\n [checked]=\"tile.checked\"\r\n [color]=\"tile.frIndex > -1 ? 'yellow' : 'transparent'\"\r\n style=\"flex: 0 0 auto\"\r\n (click)=\"selectedTile = tile\"\r\n (checkedChange)=\"onTileChecked(iy + 1, ix + 1, $event)\"\r\n (keydown.control.arrowleft)=\"selectPrevTile()\"\r\n (keydown.control.arrowright)=\"selectNextTile()\"\r\n />\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </mat-card-content>\r\n\r\n <div>\r\n <button\r\n type=\"button\"\r\n mat-flat-button\r\n class=\"mat-warn\"\r\n matTooltip=\"Close this editor\"\r\n (click)=\"close()\"\r\n >\r\n <mat-icon>cancel</mat-icon>\r\n close\r\n </button>\r\n </div>\r\n @if (layerHints$ | async; as layerHints) {\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>Layer hints</mat-panel-title>\r\n <mat-panel-description>{{ layerHints.length }}</mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <cadmus-layer-hints\r\n [hints]=\"layerHints\"\r\n [disabled]=\"(loading$ | async) || (saving$ | async) ? true : false\"\r\n [readonly]=\"userLevel < 2\"\r\n [targetLocation]=\"pickedLocation\"\r\n (requestEdit)=\"editFragmentFromHint($event)\"\r\n (requestDelete)=\"deleteFragmentFromHint($event)\"\r\n (requestMove)=\"moveFragmentFromHint($event)\"\r\n (requestPatch)=\"applyLayerPatches($event)\"\r\n />\r\n </mat-expansion-panel>\r\n }\r\n</mat-card>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\r\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\r\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-ui-pg';\r\nimport { TiledTextPartComponent } from '@myrmidon/cadmus-part-general-ui';\r\n\r\n@Component({\r\n selector: 'cadmus-tiled-text-part-feature',\r\n templateUrl: './tiled-text-part-feature.component.html',\r\n styleUrls: ['./tiled-text-part-feature.component.css'],\r\n imports: [CurrentItemBarComponent, TiledTextPartComponent],\r\n})\r\nexport class TiledTextPartFeatureComponent\r\n extends EditPartFeatureBase\r\n implements OnInit\r\n{\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n snackbar: MatSnackBar,\r\n itemService: ItemService,\r\n thesaurusService: ThesaurusService,\r\n editorService: PartEditorService\r\n ) {\r\n super(\r\n router,\r\n route,\r\n snackbar,\r\n itemService,\r\n thesaurusService,\r\n editorService\r\n );\r\n }\r\n}\r\n","<cadmus-current-item-bar/>\r\n<cadmus-tiled-text-part\r\n [identity]=\"identity\"\r\n [data]=\"$any(data)\"\r\n (dataChange)=\"save($event!.value!)\"\r\n (editorClose)=\"close()\"\r\n (dirtyChange)=\"onDirtyChange($event)\"\r\n/>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AsyncPipe } from '@angular/common';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport {\r\n MatCard,\r\n MatCardHeader,\r\n MatCardAvatar,\r\n MatCardTitle,\r\n MatCardActions,\r\n MatCardContent,\r\n} from '@angular/material/card';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatIconButton, MatButton } from '@angular/material/button';\r\nimport { MatTooltip } from '@angular/material/tooltip';\r\nimport { MatToolbar } from '@angular/material/toolbar';\r\nimport { MatProgressBar } from '@angular/material/progress-bar';\r\nimport {\r\n MatExpansionPanel,\r\n MatExpansionPanelHeader,\r\n MatExpansionPanelTitle,\r\n MatExpansionPanelDescription,\r\n} from '@angular/material/expansion';\r\n\r\nimport { DialogService } from '@myrmidon/ngx-mat-tools';\r\n\r\nimport {\r\n TokenLocation,\r\n LibraryRouteService,\r\n TextLayerService,\r\n ComponentCanDeactivate,\r\n LayerHint,\r\n} from '@myrmidon/cadmus-core';\r\nimport { EditedLayerRepository } from '@myrmidon/cadmus-state';\r\nimport { UserLevelService } from '@myrmidon/cadmus-api';\r\nimport { EditedItemRepository } from '@myrmidon/cadmus-item-editor';\r\nimport {\r\n DecoratedTokenTextComponent,\r\n LayerHintsComponent,\r\n} from '@myrmidon/cadmus-ui';\r\nimport { CurrentItemBarComponent, CurrentLayerPartBarComponent } from '@myrmidon/cadmus-ui-pg';\r\n\r\n/**\r\n * Token-based text layer part feature editor. This is a special type of editor,\r\n * rather than being a simple wrapper like the others; it is used for editing\r\n * any text layer (using token-based coordinates), whatever the type of its\r\n * fragments. Being a sort of portal for accessing a fragments editor, it has\r\n * no save capability: the single fragments are edited and saved as needed.\r\n */\r\n@Component({\r\n selector: 'cadmus-token-text-layer-part-feature',\r\n templateUrl: './token-text-layer-part-feature.component.html',\r\n styleUrls: ['./token-text-layer-part-feature.component.css'],\r\n imports: [\r\n MatCard,\r\n MatCardHeader,\r\n MatCardAvatar,\r\n MatIcon,\r\n MatCardTitle,\r\n MatIconButton,\r\n MatTooltip,\r\n MatCardActions,\r\n MatToolbar,\r\n MatCardContent,\r\n MatProgressBar,\r\n MatButton,\r\n MatExpansionPanel,\r\n MatExpansionPanelHeader,\r\n MatExpansionPanelTitle,\r\n MatExpansionPanelDescription,\r\n AsyncPipe,\r\n LayerHintsComponent,\r\n CurrentItemBarComponent,\r\n CurrentLayerPartBarComponent,\r\n DecoratedTokenTextComponent,\r\n ],\r\n})\r\nexport class TokenTextLayerPartFeatureComponent\r\n implements OnInit, ComponentCanDeactivate\r\n{\r\n public itemId: string;\r\n public partId?: string;\r\n public roleId?: string;\r\n\r\n public loading$: Observable<boolean>;\r\n public saving$: Observable<boolean>;\r\n public baseText$: Observable<string | undefined>;\r\n public locations$: Observable<TokenLocation[] | undefined>;\r\n public breakChance$: Observable<number>;\r\n public layerHints$: Observable<LayerHint[]>;\r\n\r\n public pickedLocation?: string;\r\n public userLevel: number;\r\n\r\n public textSize: number;\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n private _router: Router,\r\n private _repository: EditedLayerRepository,\r\n private _textLayerService: TextLayerService,\r\n private _libraryRouteService: LibraryRouteService,\r\n private _editedItemRepository: EditedItemRepository,\r\n private _dialogService: DialogService,\r\n userLevelService: UserLevelService\r\n ) {\r\n this.textSize = 14;\r\n this.itemId = route.snapshot.params['iid'];\r\n this.partId = route.snapshot.params['pid'];\r\n if (this.partId === 'new') {\r\n this.partId = undefined;\r\n }\r\n this.roleId = route.snapshot.queryParams['rid'];\r\n if (this.roleId === 'default') {\r\n this.roleId = undefined;\r\n }\r\n this.userLevel = userLevelService.getCurrentUserLevel();\r\n\r\n this.loading$ = this._repository.loading$;\r\n this.saving$ = this._repository.saving$;\r\n this.baseText$ = this._repository.baseText$;\r\n this.locations$ = this._repository.locations$;\r\n this.breakChance$ = this._repository.breakChance$;\r\n this.layerHints$ = this._repository.layerHints$;\r\n }\r\n\r\n public canDeactivate(): boolean {\r\n return true;\r\n }\r\n\r\n public makeLarger(): void {\r\n const size = this.textSize + 2;\r\n if (size > 24) {\r\n return;\r\n }\r\n this.textSize = size;\r\n }\r\n\r\n public makeSmaller(): void {\r\n const size = this.textSize - 2;\r\n if (size < 12) {\r\n return;\r\n }\r\n this.textSize = size;\r\n }\r\n\r\n public ngOnInit(): void {\r\n // ensure the container item is loaded\r\n this._editedItemRepository.ensureItemLoaded(this.itemId);\r\n\r\n // load the layer part data\r\n this._repository.reset();\r\n if (this.partId) {\r\n this._repository.load(this.itemId, this.partId);\r\n }\r\n }\r\n\r\n public deleteFragment() {\r\n const range = this._textLayerService.getSelectedRange();\r\n if (!range) {\r\n return;\r\n }\r\n const location = this._textLayerService.getSelectedLocationForEdit(range);\r\n if (!location) {\r\n return;\r\n }\r\n\r\n this._dialogService\r\n .confirm('Delete Fragment', `Delete the fragment at ${location}?`)\r\n .subscribe((ok: boolean) => {\r\n if (ok) {\r\n // find the fragment and remove it from the part\r\n const i = this._repository.getPart()?.fragments.findIndex((p) => {\r\n return TokenLocation.parse(p.location)?.overlaps(location);\r\n });\r\n if (i === -1) {\r\n return;\r\n }\r\n this._repository.deleteFragment(location);\r\n }\r\n });\r\n }\r\n\r\n public deleteFragmentFromHint(hint: LayerHint): void {\r\n const loc = TokenLocation.parse(hint.location);\r\n if (loc) {\r\n this._repository.deleteFragment(loc);\r\n }\r\n }\r\n\r\n public refreshBreakChance(): void {\r\n this._repository.refreshBreakChance();\r\n }\r\n\r\n private navigateToFragmentEditor(loc: string): void {\r\n const part = this._repository.getPart();\r\n if (!part) {\r\n return;\r\n }\r\n\r\n const { route, rid } = this._libraryRouteService.buildFragmentEditorRoute(\r\n this._editedItemRepository.getFacet()!.partDefinitions,\r\n part.itemId,\r\n part.id,\r\n part.typeId,\r\n part.roleId,\r\n loc\r\n );\r\n\r\n // navigate to the editor\r\n this._router.navigate(\r\n [route],\r\n rid\r\n ? {\r\n queryParams: {\r\n rid: part.roleId,\r\n },\r\n }\r\n : {}\r\n );\r\n }\r\n\r\n public editFragment(): void {\r\n const range = this._textLayerService.getSelectedRange();\r\n if (!range) {\r\n return;\r\n }\r\n const location = this._textLayerService.getSelectedLocationForEdit(range);\r\n if (location) {\r\n this.navigateToFragmentEditor(location.toString());\r\n }\r\n }\r\n\r\n public editFragmentFromHint(hint: LayerHint): void {\r\n this.navigateToFragmentEditor(hint.location);\r\n }\r\n\r\n public addFragment(): void {\r\n const range = this._textLayerService.getSelectedRange();\r\n if (!range) {\r\n return;\r\n }\r\n const location = this._textLayerService.getSelectedLocationForNew(\r\n range,\r\n this._repository.getBaseText() || ''\r\n );\r\n if (location) {\r\n this.navigateToFragmentEditor(location.toString());\r\n }\r\n }\r\n\r\n public moveFragmentFromHint(hint: LayerHint): void {\r\n if (\r\n !this.pickedLocation ||\r\n this.pickedLocation === hint.location ||\r\n !this.partId\r\n ) {\r\n return;\r\n }\r\n this._repository.applyLayerPatches(this.partId, [\r\n `mov ${hint.location} ${this.pickedLocation}`,\r\n ]);\r\n }\r\n\r\n public applyLayerPatches(patches: string[]): void {\r\n if (this.partId) {\r\n this._repository.applyLayerPatches(this.partId, patches);\r\n }\r\n }\r\n\r\n public pickLocation(): void {\r\n const range = this._textLayerService.getSelectedRange();\r\n if (!range) {\r\n return;\r\n }\r\n const location = this._textLayerService.getSelectedLocationForNew(\r\n range,\r\n this._repository.getBaseText() || ''\r\n );\r\n if (location) {\r\n this.pickedLocation = location.toString();\r\n }\r\n }\r\n\r\n public close(): void {\r\n this._router.navigate(['/items', this.itemId]);\r\n }\r\n}\r\n","<cadmus-current-item-bar></cadmus-current-item-bar>\r\n<mat-card appearance=\"outlined\">\r\n <mat-card-header>\r\n <div mat-card-avatar>\r\n <mat-icon>view_headline</mat-icon>\r\n </div>\r\n <mat-card-title>\r\n Token-Based Text Layers\r\n <button type=\"button\" mat-icon-button (click)=\"refreshBreakChance()\">\r\n @switch (breakChance$ | async) { @case (-1) {\r\n <mat-icon matTooltip=\"Checking...\">refresh</mat-icon>\r\n } @case (0) {\r\n <mat-icon matTooltip=\"Valid\">check_circle</mat-icon>\r\n } @case (1) {\r\n <mat-icon matTooltip=\"Potentially broken\" class=\"mat-warn\"\r\n >warning</mat-icon\r\n >\r\n } @case (2) {\r\n <mat-icon matTooltip=\"Broken\" class=\"mat-warn\">error</mat-icon>\r\n } }\r\n </button>\r\n </mat-card-title>\r\n <cadmus-current-layer-part-bar/>\r\n </mat-card-header>\r\n @if (!(loading$ | async)) {\r\n <mat-card-actions>\r\n <mat-toolbar>\r\n <button\r\n mat-icon-button\r\n type=\"button\"\r\n (click)=\"editFragment()\"\r\n matTooltip=\"Edit the selected fragment\"\r\n >\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n <button\r\n mat-icon-button\r\n type=\"button\"\r\n (click)=\"deleteFragment()\"\r\n matTooltip=\"Delete the selected fragment\"\r\n >\r\n <mat-icon class=\"mat-warn\">delete</mat-icon>\r\n </button>\r\n <button\r\n mat-icon-button\r\n type=\"button\"\r\n matTooltip=\"Larger text\"\r\n (click)=\"makeLarger()\"\r\n [disabled]=\"textSize >= 24\"\r\n >\r\n <mat-icon>format_size</mat-icon>\r\n </button>\r\n <button\r\n mat-icon-button\r\n type=\"button\"\r\n matTooltip=\"Smaller text\"\r\n (click)=\"makeSmaller()\"\r\n [disabled]=\"textSize <= 12\"\r\n >\r\n <mat-icon>text_fields</mat-icon>\r\n </button>\r\n <button\r\n mat-icon-button\r\n type=\"button\"\r\n (click)=\"pickLocation()\"\r\n matTooltip=\"Pick the selection location for a new fragment\"\r\n >\r\n <mat-icon>info</mat-icon>\r\n </button>\r\n <button\r\n mat-icon-button\r\n type=\"button\"\r\n (click)=\"addFragment()\"\r\n matTooltip=\"Add a new fragment at selection\"\r\n >\r\n <mat-icon class=\"mat-primary\">add_circle</mat-icon>\r\n </button>\r\n <span>{{ pickedLocation }}</span>\r\n </mat-toolbar>\r\n </mat-card-actions>\r\n }\r\n <mat-card-content fxLayout=\"row\">\r\n @if (loading$ | async) {\r\n <mat-progress-bar mode=\"indeterminate\"/>\r\n }\r\n\r\n <div [style.font-size]=\"textSize + 'px'\">\r\n @if (baseText$ | async; as baseText) {\r\n <cadmus-decorated-token-text\r\n [baseText]=\"baseText\"\r\n [locations]=\"(locations$ | async) || []\"\r\n />\r\n }\r\n </div>\r\n </mat-card-content>\r\n <div>\r\n <button\r\n type=\"button\"\r\n mat-flat-button\r\n class=\"mat-warn\"\r\n matTooltip=\"Close this editor\"\r\n (click)=\"close()\"\r\n >\r\n <mat-icon>cancel</mat-icon>\r\n close\r\n </button>\r\n </div>\r\n @if (layerHints$ | async; as layerHints) {\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>Layer hints</mat-panel-title>\r\n <mat-panel-description>{{ layerHints.length }}</mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <cadmus-layer-hints\r\n [hints]=\"layerHints\"\r\n [disabled]=\"(loading$ | async) || (saving$ | async) ? true : false\"\r\n [readonly]=\"userLevel < 2\"\r\n [targetLocation]=\"pickedLocation\"\r\n (requestEdit)=\"editFragmentFromHint($event)\"\r\n (requestDelete)=\"deleteFragmentFromHint($event)\"\r\n (requestMove)=\"moveFragmentFromHint($event)\"\r\n (requestPatch)=\"applyLayerPatches($event)\"\r\n />\r\n </mat-expansion-panel>\r\n }\r\n</mat-card>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\r\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\r\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-ui-pg';\r\nimport { TokenTextPartComponent } from '@myrmidon/cadmus-part-general-ui';\r\n\r\n@Component({\r\n selector: 'cadmus-token-text-part-feature',\r\n templateUrl: './token-text-part-feature.component.html',\r\n styleUrls: ['./token-text-part-feature.component.css'],\r\n imports: [CurrentItemBarComponent, TokenTextPartComponent],\r\n})\r\nexport class TokenTextPartFeatureComponent\r\n extends EditPartFeatureBase\r\n implements OnInit\r\n{\r\n constructor(\r\n router: Router,\r\n route: ActivatedRoute,\r\n snackbar: MatSnackBar,\r\n itemService: ItemService,\r\n thesaurusService: ThesaurusService,\r\n editorService: PartEditorService\r\n ) {\r\n super(\r\n router,\r\n route,\r\n snackbar,\r\n itemService,\r\n thesaurusService,\r\n editorService\r\n );\r\n }\r\n}\r\n","<cadmus-current-item-bar/>\r\n<cadmus-token-text-part\r\n [identity]=\"identity\"\r\n [data]=\"$any(data)\"\r\n (dataChange)=\"save($event!.value!)\"\r\n (editorClose)=\"close()\"\r\n (dirtyChange)=\"onDirtyChange($event)\"\r\n/>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\n\r\nimport { PendingChangesGuard } from '@myrmidon/cadmus-core';\r\nimport {\r\n ASSERTED_HISTORICAL_DATES_PART_TYPEID,\r\n BIBLIOGRAPHY_PART_TYPEID,\r\n CATEGORIES_PART_TYPEID,\r\n CHRONOTOPES_PART_TYPEID,\r\n COMMENT_PART_TYPEID,\r\n DISTRICT_LOCATION_PART_TYPEID,\r\n DOC_REFERENCES_PART_TYPEID,\r\n EXTERNAL_IDS_PART_TYPEID,\r\n HISTORICAL_DATE_PART_TYPEID,\r\n HISTORICAL_EVENTS_PART_TYPEID,\r\n INDEX_KEYWORDS_PART_TYPEID,\r\n KEYWORDS_PART_TYPEID,\r\n METADATA_PART_TYPEID,\r\n NAMES_PART_TYPEID,\r\n NOTE_PART_TYPEID,\r\n PIN_LINKS_PART_TYPEID,\r\n TILED_TEXT_PART_TYPEID,\r\n TOKEN_TEXT_PART_TYPEID,\r\n PHYSICAL_STATES_PART_TYPEID,\r\n CHRONOLOGY_FRAGMENT_TYPEID,\r\n COMMENT_FRAGMENT_TYPEID,\r\n PIN_LINKS_FRAGMENT_TYPEID,\r\n PHYSICAL_MEASUREMENTS_PART_TYPEID,\r\n DECORATED_COUNTS_PART_TYPEID,\r\n} from '@myrmidon/cadmus-part-general-ui';\r\n\r\nimport { BibliographyPartFeatureComponent } from './bibliography-part-feature/bibliography-part-feature.component';\r\nimport { CategoriesPartFeatureComponent } from './categories-part-feature/categories-part-feature.component';\r\nimport { ChronologyFragmentFeatureComponent } from './chronology-fragment-feature/chronology-fragment-feature.component';\r\nimport { ChronotopesPartFeatureComponent } from './chronotopes-part-feature/chronotopes-part-feature.component';\r\nimport { CommentFragmentFeatureComponent } from './comment-fragment-feature/comment-fragment-feature.component';\r\nimport { CommentPartFeatureComponent } from './comment-part-feature/comment-part-feature.component';\r\nimport { DecoratedCountsPartFeatureComponent } from './decorated-counts-part-feature/decorated-counts-part-feature.component';\r\nimport { DistrictLocationPartFeatureComponent } from './district-location-part-feature/district-location-part-feature.component';\r\nimport { DocReferencesPartFeatureComponent } from './doc-references-part-feature/doc-references-part-feature.component';\r\nimport { ExternalIdsPartFeatureComponent } from './external-ids-part-feature/external-ids-part-feature.component';\r\nimport { HistoricalDatePartFeatureComponent } from './historical-date-part-feature/historical-date-part-feature.component';\r\nimport { HistoricalEventsPartFeatureComponent } from './historical-events-part-feature/historical-events-part-feature.component';\r\nimport { IndexKeywordsPartFeatureComponent } from './index-keywords-part-feature/index-keywords-part-feature.component';\r\nimport { KeywordsPartFeatureComponent } from './keywords-part-feature/keywords-part-feature.component';\r\nimport { MetadataPartFeatureComponent } from './metadata-part-feature/metadata-part-feature.component';\r\nimport { NamesPartFeatureComponent } from './names-part-feature/names-part-feature.component';\r\nimport { NotePartFeatureComponent } from './note-part-feature/note-part-feature.component';\r\nimport { PinLinksPartFeatureComponent } from './pin-links-part-feature/pin-links-part-feature.component';\r\nimport { PinLinksFragmentFeatureComponent } from './pin-links-fragment-feature/pin-links-fragment-feature.component';\r\nimport { PhysicalStatesPartFeatureComponent } from './physical-states-part-feature/physical-states-part-feature.component';\r\nimport { PhysicalMeasurementsPartFeatureComponent } from './physical-measurements-part-feature/physical-measurements-part-feature.component';\r\nimport { TiledTextPartFeatureComponent } from './tiled-text-part-feature/tiled-text-part-feature.component';\r\nimport { TiledTextLayerPartFeatureComponent } from './tiled-text-layer-part-feature/tiled-text-layer-part-feature.component';\r\nimport { TokenTextLayerPartFeatureComponent } from './token-text-layer-part-feature/token-text-layer-part-feature.component';\r\nimport { TokenTextPartFeatureComponent } from './token-text-part-feature/token-text-part-feature.component';\r\nimport { AssertedHistoricalDateFeatureComponent } from './asserted-historical-date-feature/asserted-historical-date-feature.component';\r\n\r\n// https://github.com/ng-packagr/ng-packagr/issues/778\r\nexport const RouterModuleForChild = RouterModule.forChild([\r\n {\r\n path: `${ASSERTED_HISTORICAL_DATES_PART_TYPEID}/:pid`,\r\n pathMatch: 'full',\r\n component: AssertedHistoricalDateFeatureComponent,\r\n canDeactivate: [PendingChangesGuard],\r\n },\r\n {\r\n path: `${BIBLIOGRAPHY_PART_TYPEID}/:pid`,\r\n pathMatch: 'full',\r\n component: BibliographyPartFeatureComponent,\r\n canDeactivate: [PendingChangesGuard],\r\n },\r\n {\r\n path: `${CATEGORIES_PART_TYPEID}/:pid`,\r\n pathMatch: 'full',\r\n component: CategoriesPartFeatureComponent,\r\n canDeactivate: [PendingChangesGuard],\r\n },\r\n {\r\n path: `${COMMENT_PART_TYPEID}/:pid`,\r\n pathMatch: 'full',\r\n component: CommentPartFeatureComponent,\r\n canDeactivate: [PendingChangesGuard],\r\n },\r\n {\r\n path: `${CHRONOTOPES_PART_TYPEID}/:pid`,\r\n pathMatch: 'full',\r\n component: ChronotopesPartFeatureComponent,\r\n canDeactivate: [PendingChangesGuard],\r\n },\r\n {\r\n path: `${DECORATED_COUNTS_PART_TYPEID}/:pid`,\r\n pathMatch: 'full',\r\n component: DecoratedCountsPartFeatureComponent,\r\n canDeactivate: [PendingChangesGuard],\r\n },\r\n {\r\n path: `${DISTRICT_LOCATION_PART_TYPEID}/:pid`,\r\n pathMatch: 'full',\r\n component: DistrictLocationPartFeatureComponent,\r\n canDeactivate: [PendingChangesGuard],\r\n },\r\n {\r\n path: `${DOC_REFERENCES_PART_TYPEID}/:pid`,\r\n pathMatch: 'full',\r\n component: DocReferencesPartFeatureComponent,\r\n canDeactivate: [PendingChangesGuard],\r\n },\r\n {\r\n path: `${EXTERNAL_IDS_PART_TYPEID}/:pid`,\r\n pathMatch: 'full',\r\n component: ExternalIdsPartFeatureComponent,\r\n canDeactivate: [PendingChangesGuard],\r\n },\r\n {\r\n path: `${HISTORICAL_DATE_PART_TYPEID}/:pid`,\r\n pathMatch: 'full',\r\n component: HistoricalDatePartFeatureComponent,\r\n canDeactivate: [PendingChangesGuard],\r\n },\r\n {\r\n path: `${HISTORICAL_EVENTS_PART_TYPEID}/:pid`,\r\n pathMatch: 'full',\r\n component: HistoricalEventsPartFeatureComponent,\r\n canDeactivate: [PendingChangesGuard],\r\n },\r\n {\r\n path: `${KEYWORDS_PART_TYPEID}/:pid`,\r\n pathMatch: 'full',\r\n component: KeywordsPartFeatureComponent,\r\n canDeactivate: [PendingChangesGuard],\r\n },\r\n {\r\n path: `${INDEX_KEYWORDS_PART_TYPEID}/:pid`,\r\n pathMatch: 'full',\r\n component: IndexKeywordsPartFeatureComponent,\r\n canDeactivate: [PendingChangesGuard],\r\n },\r\n {\r\n path: `${METADATA_PART_TYPEID}/:pid`,\r\n pathMatch: 'full',\r\n component: MetadataPartFeatureComponent,\r\n canDeactivate: [PendingChangesGuard],\r\n },\r\n {\r\n path: `${NAMES_PART_TYPEID}/:pid`,\r\n pathMatch: 'full',\r\n component: NamesPartFeatureComponent,\r\n canDeactivate: [PendingChangesGuard],\r\n },\r\n {\r\n path: `${NOTE_PART_TYPEID}/:pid`,\r\n pathMatch: 'full',\r\n component: NotePartFeatureComponent,\r\n canDeactivate: [PendingChangesGuard],\r\n },\r\n {\r\n path: `${PHYSICAL_MEASUREMENTS_PART_TYPEID}/:pid`,\r\n pathMatch: 'full',\r\n component: PhysicalMeasurementsPartFeatureComponent,\r\n canDeactivate: [PendingChangesGuard],\r\n },\r\n {\r\n path: `${PHYSICAL_STATES_PART_TYPEID}/:pid`,\r\n pathMatch: 'full',\r\n component: PhysicalStatesPartFeatureComponent,\r\n canDeactivate: [PendingChangesGuard],\r\n },\r\n {\r\n path: `${PIN_LINKS_PART_TYPEID}/:pid`,\r\n pathMatch: 'full',\r\n component: PinLinksPartFeatureComponent,\r\n canDeactivate: [PendingChangesGuard],\r\n },\r\n {\r\n path: `${TOKEN_TEXT_PART_TYPEID}/:pid`,\r\n pathMatch: 'full',\r\n component: TokenTextPartFeatureComponent,\r\n canDeactivate: [PendingChangesGuard],\r\n },\r\n {\r\n path: `${TILED_TEXT_PART_TYPEID}/:pid`,\r\n pathMatch: 'full',\r\n component: TiledTextPartFeatureComponent,\r\n canDeactivate: [PendingChangesGuard],\r\n },\r\n {\r\n path: 'it.vedph.token-text-layer/:pid',\r\n pathMatch: 'full',\r\n component: TokenTextLayerPartFeatureComponent,\r\n canDeactivate: [PendingChangesGuard],\r\n },\r\n {\r\n path: 'it.vedph.tiled-text-layer/:pid',\r\n pathMatch: 'full',\r\n component: TiledTextLayerPartFeatureComponent,\r\n canDeactivate: [PendingChangesGuard],\r\n },\r\n {\r\n path: `fragment/:pid/${COMMENT_FRAGMENT_TYPEID}/:loc`,\r\n pathMatch: 'full',\r\n component: CommentFragmentFeatureComponent,\r\n canDeactivate: [PendingChangesGuard],\r\n },\r\n {\r\n path: `fragment/:pid/${CHRONOLOGY_FRAGMENT_TYPEID}/:loc`,\r\n pathMatch: 'full',\r\n component: ChronologyFragmentFeatureComponent,\r\n canDeactivate: [PendingChangesGuard],\r\n },\r\n {\r\n path: `fragment/:pid/${PIN_LINKS_FRAGMENT_TYPEID}/:loc`,\r\n pathMatch: 'full',\r\n component: PinLinksFragmentFeatureComponent,\r\n canDeactivate: [PendingChangesGuard],\r\n },\r\n]);\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n RouterModuleForChild,\r\n // material\r\n MatButtonModule,\r\n MatCheckboxModule,\r\n MatCardModule,\r\n MatExpansionModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatSelectModule,\r\n MatTooltipModule,\r\n MatToolbarModule,\r\n // cadmus\r\n AssertedHistoricalDateFeatureComponent,\r\n BibliographyPartFeatureComponent,\r\n CategoriesPartFeatureComponent,\r\n ChronologyFragmentFeatureComponent,\r\n ChronotopesPartFeatureComponent,\r\n CommentFragmentFeatureComponent,\r\n CommentPartFeatureComponent,\r\n DecoratedCountsPartFeatureComponent,\r\n DistrictLocationPartFeatureComponent,\r\n DocReferencesPartFeatureComponent,\r\n ExternalIdsPartFeatureComponent,\r\n HistoricalDatePartFeatureComponent,\r\n HistoricalEventsPartFeatureComponent,\r\n IndexKeywordsPartFeatureComponent,\r\n KeywordsPartFeatureComponent,\r\n MetadataPartFeatureComponent,\r\n NamesPartFeatureComponent,\r\n NotePartFeatureComponent,\r\n PhysicalMeasurementsPartFeatureComponent,\r\n PhysicalStatesPartFeatureComponent,\r\n PinLinksFragmentFeatureComponent,\r\n PinLinksPartFeatureComponent,\r\n TiledTextLayerPartFeatureComponent,\r\n TiledTextPartFeatureComponent,\r\n TokenTextLayerPartFeatureComponent,\r\n TokenTextPartFeatureComponent,\r\n ],\r\n exports: [\r\n AssertedHistoricalDateFeatureComponent,\r\n BibliographyPartFeatureComponent,\r\n CategoriesPartFeatureComponent,\r\n ChronologyFragmentFeatureComponent,\r\n ChronotopesPartFeatureComponent,\r\n CommentFragmentFeatureComponent,\r\n CommentPartFeatureComponent,\r\n DecoratedCountsPartFeatureComponent,\r\n DistrictLocationPartFeatureComponent,\r\n DocReferencesPartFeatureComponent,\r\n ExternalIdsPartFeatureComponent,\r\n HistoricalDatePartFeatureComponent,\r\n HistoricalEventsPartFeatureComponent,\r\n IndexKeywordsPartFeatureComponent,\r\n KeywordsPartFeatureComponent,\r\n MetadataPartFeatureComponent,\r\n NamesPartFeatureComponent,\r\n NotePartFeatureComponent,\r\n PhysicalMeasurementsPartFeatureComponent,\r\n PhysicalStatesPartFeatureComponent,\r\n PinLinksFragmentFeatureComponent,\r\n PinLinksPartFeatureComponent,\r\n TiledTextLayerPartFeatureComponent,\r\n TiledTextPartFeatureComponent,\r\n TokenTextLayerPartFeatureComponent,\r\n TokenTextPartFeatureComponent,\r\n ],\r\n})\r\nexport class CadmusPartGeneralPgModule {}\r\n","/*\r\n * Public API Surface of cadmus-part-general-pg\r\n */\r\n\r\nexport * from './lib/asserted-historical-date-feature/asserted-historical-date-feature.component';\r\nexport * from './lib/bibliography-part-feature/bibliography-part-feature.component';\r\nexport * from './lib/categories-part-feature/categories-part-feature.component';\r\nexport * from './lib/chronology-fragment-feature/chronology-fragment-feature.component';\r\nexport * from './lib/chronotopes-part-feature/chronotopes-part-feature.component';\r\nexport * from './lib/comment-fragment-feature/comment-fragment-feature.component';\r\nexport * from './lib/comment-part-feature/comment-part-feature.component';\r\nexport * from './lib/decorated-counts-part-feature/decorated-counts-part-feature.component';\r\nexport * from './lib/district-location-part-feature/district-location-part-feature.component';\r\nexport * from './lib/doc-references-part-feature/doc-references-part-feature.component';\r\nexport * from './lib/external-ids-part-feature/external-ids-part-feature.component';\r\nexport * from './lib/historical-date-part-feature/historical-date-part-feature.component';\r\nexport * from './lib/historical-events-part-feature/historical-events-part-feature.component';\r\nexport * from './lib/index-keywords-part-feature/index-keywords-part-feature.component';\r\nexport * from './lib/keywords-part-feature/keywords-part-feature.component';\r\nexport * from './lib/metadata-part-feature/metadata-part-feature.component';\r\nexport * from './lib/names-part-feature/names-part-feature.component';\r\nexport * from './lib/note-part-feature/note-part-feature.component';\r\nexport * from './lib/physical-measurements-part-feature/physical-measurements-part-feature.component';\r\nexport * from './lib/physical-states-part-feature/physical-states-part-feature.component';\r\nexport * from './lib/pin-links-fragment-feature/pin-links-fragment-feature.component';\r\nexport * from './lib/pin-links-part-feature/pin-links-part-feature.component';\r\nexport * from './lib/tiled-text-layer-part-feature/tiled-text-layer-part-feature.component';\r\nexport * from './lib/tiled-text-part-feature/tiled-text-part-feature.component';\r\nexport * from './lib/token-text-layer-part-feature/token-text-layer-part-feature.component';\r\nexport * from './lib/token-text-part-feature/token-text-part-feature.component';\r\n\r\nexport * from './lib/cadmus-part-general-pg.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3","i4","i2","i6"],"mappings":"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"}