UNPKG

@myrmidon/cadmus-part-general-pg

Version:
1 lines 166 kB
{"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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"}