UNPKG

@myrmidon/cadmus-part-general-pg

Version:
1 lines 164 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/flags-part-feature/flags-part-feature.component.ts","../../../../projects/myrmidon/cadmus-part-general-pg/src/lib/flags-part-feature/flags-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.routes.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, ChangeDetectionStrategy, } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Router, ActivatedRoute } from '@angular/router';\n\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\nimport { AssertedHistoricalDatesPartComponent } from '@myrmidon/cadmus-part-general-ui';\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-item-editor';\n\n@Component({\n  selector: 'cadmus-asserted-historical-date-feature',\n  imports: [CurrentItemBarComponent, AssertedHistoricalDatesPartComponent],\n  templateUrl: './asserted-historical-date-feature.component.html',\n  styleUrl: './asserted-historical-date-feature.component.css',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AssertedHistoricalDateFeatureComponent\n  extends EditPartFeatureBase\n  implements OnInit\n{\n  constructor(\n    router: Router,\n    route: ActivatedRoute,\n    snackbar: MatSnackBar,\n    itemService: ItemService,\n    thesaurusService: ThesaurusService,\n    editorService: PartEditorService\n  ) {\n    super(\n      router,\n      route,\n      snackbar,\n      itemService,\n      thesaurusService,\n      editorService\n    );\n    this.roleIdInThesauri = true;\n  }\n\n  protected override getReqThesauriIds(): string[] {\n    return [\n      'asserted-historical-dates-tags',\n      'assertion-tags',\n      'doc-reference-types',\n      'doc-reference-tags',\n    ];\n  }\n}\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, ChangeDetectionStrategy, } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-item-editor';\nimport { BibliographyPartComponent } from '@myrmidon/cadmus-part-general-ui';\n\n@Component({\n  selector: 'cadmus-bibliography-part-feature',\n  imports: [CurrentItemBarComponent, BibliographyPartComponent],\n  templateUrl: './bibliography-part-feature.component.html',\n  styleUrls: ['./bibliography-part-feature.component.css'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BibliographyPartFeatureComponent\n  extends EditPartFeatureBase\n  implements OnInit\n{\n  constructor(\n    router: Router,\n    route: ActivatedRoute,\n    snackbar: MatSnackBar,\n    itemService: ItemService,\n    thesaurusService: ThesaurusService,\n    editorService: PartEditorService\n  ) {\n    super(\n      router,\n      route,\n      snackbar,\n      itemService,\n      thesaurusService,\n      editorService\n    );\n  }\n\n  protected override getReqThesauriIds(): string[] {\n    return [\n      'bibliography-languages',\n      'bibliography-types',\n      'bibliography-tags',\n      'bibliography-author-roles',\n    ];\n  }\n}\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, ChangeDetectionStrategy, } from '@angular/core';\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\nimport { Router, ActivatedRoute } from '@angular/router';\n\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-item-editor';\nimport { CategoriesPartComponent } from '@myrmidon/cadmus-part-general-ui';\n\n@Component({\n  selector: 'cadmus-categories-part-feature',\n  imports: [CurrentItemBarComponent, CategoriesPartComponent],\n  templateUrl: './categories-part-feature.component.html',\n  styleUrls: ['./categories-part-feature.component.css'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CategoriesPartFeatureComponent\n  extends EditPartFeatureBase\n  implements OnInit\n{\n  constructor(\n    router: Router,\n    route: ActivatedRoute,\n    snackbar: MatSnackBar,\n    itemService: ItemService,\n    thesaurusService: ThesaurusService,\n    editorService: PartEditorService\n  ) {\n    super(\n      router,\n      route,\n      snackbar,\n      itemService,\n      thesaurusService,\n      editorService\n    );\n    this.roleIdInThesauri = true;\n  }\n\n  protected override getReqThesauriIds(): string[] {\n    return ['categories'];\n  }\n}\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, ChangeDetectionStrategy, } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\nimport {\n  EditFragmentFeatureBase,\n  FragmentEditorService,\n} from '@myrmidon/cadmus-state';\nimport { LibraryRouteService } from '@myrmidon/cadmus-core';\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-item-editor';\nimport { DecoratedTokenTextComponent } from '@myrmidon/cadmus-ui';\nimport { ChronologyFragmentComponent } from '@myrmidon/cadmus-part-general-ui';\n\n@Component({\n  selector: 'cadmus-chronology-fragment-feature',\n  imports: [\n    CurrentItemBarComponent,\n    DecoratedTokenTextComponent,\n    ChronologyFragmentComponent,\n  ],\n  templateUrl: './chronology-fragment-feature.component.html',\n  styleUrls: ['./chronology-fragment-feature.component.css'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ChronologyFragmentFeatureComponent\n  extends EditFragmentFeatureBase\n  implements OnInit\n{\n  constructor(\n    router: Router,\n    route: ActivatedRoute,\n    snackbar: MatSnackBar,\n    editorService: FragmentEditorService,\n    libraryRouteService: LibraryRouteService\n  ) {\n    super(router, route, snackbar, editorService, libraryRouteService);\n  }\n\n  protected override getReqThesauriIds(): string[] {\n    return ['chronology-tags'];\n  }\n}\n","<cadmus-current-item-bar/>\r\n@let loc = frLoc();\r\n<div class=\"base-text\">\r\n  <cadmus-decorated-token-text\r\n    [baseText]=\"data()?.baseText || ''\"\r\n    [locations]=\"loc ? [loc] : []\"\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, ChangeDetectionStrategy, } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-item-editor';\nimport { ChronotopesPartComponent } from '@myrmidon/cadmus-part-general-ui';\n\n@Component({\n  selector: 'cadmus-chronotopes-part-feature',\n  templateUrl: './chronotopes-part-feature.component.html',\n  styleUrls: ['./chronotopes-part-feature.component.css'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [CurrentItemBarComponent, ChronotopesPartComponent],\n})\nexport class ChronotopesPartFeatureComponent\n  extends EditPartFeatureBase\n  implements OnInit\n{\n  constructor(\n    router: Router,\n    route: ActivatedRoute,\n    snackbar: MatSnackBar,\n    itemService: ItemService,\n    thesaurusService: ThesaurusService,\n    editorService: PartEditorService\n  ) {\n    super(\n      router,\n      route,\n      snackbar,\n      itemService,\n      thesaurusService,\n      editorService\n    );\n    this.roleIdInThesauri = true;\n  }\n\n  protected override getReqThesauriIds(): string[] {\n    return [\n      'chronotope-place-tags',\n      'chronotope-assertion-tags',\n      'doc-reference-types',\n      'doc-reference-tags',\n    ];\n  }\n}\n","<cadmus-current-item-bar/>\n<cadmus-chronotopes-part\n  [identity]=\"identity()\"\n  [data]=\"$any(data())\"\n  (dataChange)=\"save($event!.value!)\"\n  (editorClose)=\"close()\"\n  (dirtyChange)=\"onDirtyChange($event)\"\n/>\n","import { Component, OnInit, ChangeDetectionStrategy, } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\nimport {\n  EditFragmentFeatureBase,\n  FragmentEditorService,\n} from '@myrmidon/cadmus-state';\nimport { LibraryRouteService } from '@myrmidon/cadmus-core';\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-item-editor';\nimport { DecoratedTokenTextComponent } from '@myrmidon/cadmus-ui';\nimport { CommentEditorComponent } from '@myrmidon/cadmus-part-general-ui';\n\n@Component({\n  selector: 'cadmus-comment-fragment-feature',\n  templateUrl: './comment-fragment-feature.component.html',\n  styleUrls: ['./comment-fragment-feature.component.css'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [\n    CurrentItemBarComponent,\n    DecoratedTokenTextComponent,\n    CommentEditorComponent,\n  ],\n})\nexport class CommentFragmentFeatureComponent\n  extends EditFragmentFeatureBase\n  implements OnInit\n{\n  constructor(\n    router: Router,\n    route: ActivatedRoute,\n    snackbar: MatSnackBar,\n    editorService: FragmentEditorService,\n    libraryRouteService: LibraryRouteService\n  ) {\n    super(router, route, snackbar, editorService, libraryRouteService);\n  }\n\n  protected override getReqThesauriIds(): string[] {\n    return [\n      'comment-tags',\n      'doc-reference-tags',\n      'doc-reference-types',\n      'comment-categories',\n      'comment-keyword-languages',\n      'comment-keyword-indexes',\n      'comment-keyword-tags',\n      'comment-id-scopes',\n      'comment-id-tags',\n      'assertion-tags',\n    ];\n  }\n}\n","<cadmus-current-item-bar />\r\n@let loc = frLoc();\r\n<div class=\"base-text\">\r\n  <cadmus-decorated-token-text\r\n    [baseText]=\"data()?.baseText || ''\"\r\n    [locations]=\"loc ? [loc] : []\"\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, ChangeDetectionStrategy, } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\nimport { CommentEditorComponent } from '@myrmidon/cadmus-part-general-ui';\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-item-editor';\n\n@Component({\n  selector: 'cadmus-comment-part-feature',\n  templateUrl: './comment-part-feature.component.html',\n  styleUrls: ['./comment-part-feature.component.css'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [CurrentItemBarComponent, CommentEditorComponent],\n})\nexport class CommentPartFeatureComponent\n  extends EditPartFeatureBase\n  implements OnInit\n{\n  constructor(\n    router: Router,\n    route: ActivatedRoute,\n    snackbar: MatSnackBar,\n    itemService: ItemService,\n    thesaurusService: ThesaurusService,\n    editorService: PartEditorService\n  ) {\n    super(\n      router,\n      route,\n      snackbar,\n      itemService,\n      thesaurusService,\n      editorService\n    );\n    this.roleIdInThesauri = true;\n  }\n\n  protected override getReqThesauriIds(): string[] {\n    return [\n      'comment-tags',\n      'doc-reference-tags',\n      'doc-reference-types',\n      'comment-categories',\n      'comment-keyword-languages',\n      'comment-keyword-indexes',\n      'comment-keyword-tags',\n      'comment-id-scopes',\n      'comment-id-tags',\n      'assertion-tags',\n      'asserted-id-features',\n    ];\n  }\n}\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, ChangeDetectionStrategy, } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-item-editor';\nimport { DecoratedCountsPartComponent } from '@myrmidon/cadmus-part-general-ui';\n\n@Component({\n  selector: 'cadmus-decorated-counts-part-feature',\n  templateUrl: './decorated-counts-part-feature.component.html',\n  styleUrl: './decorated-counts-part-feature.component.scss',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [CurrentItemBarComponent, DecoratedCountsPartComponent],\n})\nexport class DecoratedCountsPartFeatureComponent\n  extends EditPartFeatureBase\n  implements OnInit\n{\n  constructor(\n    router: Router,\n    route: ActivatedRoute,\n    snackbar: MatSnackBar,\n    itemService: ItemService,\n    thesaurusService: ThesaurusService,\n    editorService: PartEditorService\n  ) {\n    super(\n      router,\n      route,\n      snackbar,\n      itemService,\n      thesaurusService,\n      editorService\n    );\n    this.roleIdInThesauri = true;\n  }\n\n  protected override getReqThesauriIds(): string[] {\n    return ['decorated-count-ids', 'decorated-count-tags'];\n  }\n}\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, ChangeDetectionStrategy, } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-item-editor';\nimport { DistrictLocationPartComponent } from '@myrmidon/cadmus-part-general-ui';\n\n@Component({\n  selector: 'cadmus-district-location-part-feature',\n  templateUrl: './district-location-part-feature.component.html',\n  styleUrl: './district-location-part-feature.component.scss',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [CurrentItemBarComponent, DistrictLocationPartComponent],\n})\nexport class DistrictLocationPartFeatureComponent\n  extends EditPartFeatureBase\n  implements OnInit\n{\n  constructor(\n    router: Router,\n    route: ActivatedRoute,\n    snackbar: MatSnackBar,\n    itemService: ItemService,\n    thesaurusService: ThesaurusService,\n    editorService: PartEditorService\n  ) {\n    super(\n      router,\n      route,\n      snackbar,\n      itemService,\n      thesaurusService,\n      editorService\n    );\n    this.roleIdInThesauri = true;\n  }\n\n  protected override getReqThesauriIds(): string[] {\n    return ['district-name-piece-types', 'district-name-lang-entries'];\n  }\n}\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, ChangeDetectionStrategy, } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-item-editor';\nimport { DocReferencesPartComponent } from '@myrmidon/cadmus-part-general-ui';\n\n@Component({\n  selector: 'cadmus-doc-references-part-feature',\n  templateUrl: './doc-references-part-feature.component.html',\n  styleUrls: ['./doc-references-part-feature.component.css'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [CurrentItemBarComponent, DocReferencesPartComponent],\n})\nexport class DocReferencesPartFeatureComponent\n  extends EditPartFeatureBase\n  implements OnInit\n{\n  constructor(\n    router: Router,\n    route: ActivatedRoute,\n    snackbar: MatSnackBar,\n    itemService: ItemService,\n    thesaurusService: ThesaurusService,\n    editorService: PartEditorService\n  ) {\n    super(\n      router,\n      route,\n      snackbar,\n      itemService,\n      thesaurusService,\n      editorService\n    );\n    this.roleIdInThesauri = true;\n  }\n\n  protected override getReqThesauriIds(): string[] {\n    return ['doc-reference-tags', 'doc-reference-types'];\n  }\n}\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, ChangeDetectionStrategy, } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\n\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\n\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-item-editor';\nimport { ExternalIdsPartComponent } from '@myrmidon/cadmus-part-general-ui';\n\n@Component({\n  selector: 'cadmus-refs-external-ids-part-feature',\n  templateUrl: './external-ids-part-feature.component.html',\n  styleUrls: ['./external-ids-part-feature.component.css'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [CurrentItemBarComponent, ExternalIdsPartComponent],\n})\nexport class ExternalIdsPartFeatureComponent\n  extends EditPartFeatureBase\n  implements OnInit\n{\n  constructor(\n    router: Router,\n    route: ActivatedRoute,\n    snackbar: MatSnackBar,\n    itemService: ItemService,\n    thesaurusService: ThesaurusService,\n    editorService: PartEditorService\n  ) {\n    super(\n      router,\n      route,\n      snackbar,\n      itemService,\n      thesaurusService,\n      editorService\n    );\n    this.roleIdInThesauri = true;\n  }\n\n  protected override getReqThesauriIds(): string[] {\n    return [\n      'external-id-scopes',\n      'external-id-tags',\n      'assertion-tags',\n      'doc-reference-types',\n      'doc-reference-tags',\n    ];\n  }\n}\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, ChangeDetectionStrategy, } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Router, ActivatedRoute } from '@angular/router';\n\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-item-editor';\n\nimport { FlagsPartComponent } from '@myrmidon/cadmus-part-general-ui';\n\n@Component({\n  selector: 'cadmus-flags-part-feature',\n  imports: [CurrentItemBarComponent, FlagsPartComponent],\n  templateUrl: './flags-part-feature.component.html',\n  styleUrl: './flags-part-feature.component.css',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FlagsPartFeatureComponent\n  extends EditPartFeatureBase\n  implements OnInit\n{\n  constructor(\n    router: Router,\n    route: ActivatedRoute,\n    snackbar: MatSnackBar,\n    itemService: ItemService,\n    thesaurusService: ThesaurusService,\n    editorService: PartEditorService\n  ) {\n    super(\n      router,\n      route,\n      snackbar,\n      itemService,\n      thesaurusService,\n      editorService\n    );\n    this.roleIdInThesauri = true;\n  }\n\n  protected override getReqThesauriIds(): string[] {\n    return ['flags'];\n  }\n}\n","<cadmus-current-item-bar />\r\n<cadmus-flags-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, ChangeDetectionStrategy, } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-item-editor';\nimport { HistoricalDatePartComponent } from '@myrmidon/cadmus-part-general-ui';\n\n@Component({\n  selector: 'cadmus-historical-date-part-feature',\n  templateUrl: './historical-date-part-feature.component.html',\n  styleUrls: ['./historical-date-part-feature.component.css'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [CurrentItemBarComponent, HistoricalDatePartComponent],\n})\nexport class HistoricalDatePartFeatureComponent\n  extends EditPartFeatureBase\n  implements OnInit\n{\n  constructor(\n    router: Router,\n    route: ActivatedRoute,\n    snackbar: MatSnackBar,\n    itemService: ItemService,\n    thesaurusService: ThesaurusService,\n    editorService: PartEditorService\n  ) {\n    super(\n      router,\n      route,\n      snackbar,\n      itemService,\n      thesaurusService,\n      editorService\n    );\n    this.roleIdInThesauri = true;\n  }\n\n  protected override getReqThesauriIds(): string[] {\n    return ['doc-reference-tags', 'doc-reference-types'];\n  }\n}\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, ChangeDetectionStrategy, } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-item-editor';\nimport { HistoricalEventsPartComponent } from '@myrmidon/cadmus-part-general-ui';\n\n@Component({\n  selector: 'cadmus-historical-events-part-feature',\n  templateUrl: './historical-events-part-feature.component.html',\n  styleUrls: ['./historical-events-part-feature.component.css'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [CurrentItemBarComponent, HistoricalEventsPartComponent],\n})\nexport class HistoricalEventsPartFeatureComponent\n  extends EditPartFeatureBase\n  implements OnInit\n{\n  constructor(\n    router: Router,\n    route: ActivatedRoute,\n    snackbar: MatSnackBar,\n    itemService: ItemService,\n    thesaurusService: ThesaurusService,\n    editorService: PartEditorService\n  ) {\n    super(\n      router,\n      route,\n      snackbar,\n      itemService,\n      thesaurusService,\n      editorService\n    );\n    this.roleIdInThesauri = true;\n  }\n\n  protected override getReqThesauriIds(): string[] {\n    return [\n      'event-types',\n      'event-tags',\n      'event-relations',\n      'chronotope-tags',\n      'asserted-id-scopes',\n      'asserted-id-tags',\n      'assertion-tags',\n      'doc-reference-tags',\n      'doc-reference-types',\n      'pin-link-scopes',\n      'pin-link-tags',\n      'asserted-id-features',\n    ];\n  }\n}\n","<cadmus-current-item-bar/>\n<cadmus-historical-events-part\n  [identity]=\"identity()\"\n  [data]=\"$any(data())\"\n  (dataChange)=\"save($event!.value!)\"\n  (editorClose)=\"close()\"\n  (dirtyChange)=\"onDirtyChange($event)\"\n/>\n","import { Component, OnInit, ChangeDetectionStrategy, } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-item-editor';\nimport { IndexKeywordsPartComponent } from '@myrmidon/cadmus-part-general-ui';\n\n@Component({\n  selector: 'cadmus-index-keywords-part-feature',\n  templateUrl: './index-keywords-part-feature.component.html',\n  styleUrls: ['./index-keywords-part-feature.component.css'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [CurrentItemBarComponent, IndexKeywordsPartComponent],\n})\nexport class IndexKeywordsPartFeatureComponent\n  extends EditPartFeatureBase\n  implements OnInit\n{\n  constructor(\n    router: Router,\n    route: ActivatedRoute,\n    snackbar: MatSnackBar,\n    itemService: ItemService,\n    thesaurusService: ThesaurusService,\n    editorService: PartEditorService\n  ) {\n    super(\n      router,\n      route,\n      snackbar,\n      itemService,\n      thesaurusService,\n      editorService\n    );\n    this.roleIdInThesauri = true;\n  }\n\n  protected override getReqThesauriIds(): string[] {\n    return ['languages', 'keyword-indexes', 'keyword-tags'];\n  }\n}\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, ChangeDetectionStrategy, } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-item-editor';\nimport { KeywordsPartComponent } from '@myrmidon/cadmus-part-general-ui';\n\n@Component({\n  selector: 'cadmus-keywords-part-feature',\n  templateUrl: './keywords-part-feature.component.html',\n  styleUrls: ['./keywords-part-feature.component.css'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [CurrentItemBarComponent, KeywordsPartComponent],\n})\nexport class KeywordsPartFeatureComponent\n  extends EditPartFeatureBase\n  implements OnInit\n{\n  constructor(\n    router: Router,\n    route: ActivatedRoute,\n    snackbar: MatSnackBar,\n    itemService: ItemService,\n    thesaurusService: ThesaurusService,\n    editorService: PartEditorService\n  ) {\n    super(\n      router,\n      route,\n      snackbar,\n      itemService,\n      thesaurusService,\n      editorService\n    );\n    this.roleIdInThesauri = true;\n  }\n\n  protected override getReqThesauriIds(): string[] {\n    return ['languages'];\n  }\n}\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, ChangeDetectionStrategy, } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-item-editor';\nimport { MetadataPartComponent } from '@myrmidon/cadmus-part-general-ui';\n\n@Component({\n  selector: 'cadmus-metadata-part-feature',\n  templateUrl: './metadata-part-feature.component.html',\n  styleUrls: ['./metadata-part-feature.component.css'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [CurrentItemBarComponent, MetadataPartComponent],\n})\nexport class MetadataPartFeatureComponent\n  extends EditPartFeatureBase\n  implements OnInit\n{\n  constructor(\n    router: Router,\n    route: ActivatedRoute,\n    snackbar: MatSnackBar,\n    itemService: ItemService,\n    thesaurusService: ThesaurusService,\n    editorService: PartEditorService\n  ) {\n    super(\n      router,\n      route,\n      snackbar,\n      itemService,\n      thesaurusService,\n      editorService\n    );\n  }\n\n  protected override getReqThesauriIds(): string[] {\n    return ['metadata-types', 'metadata-names'];\n  }\n}\n","<cadmus-current-item-bar/>\n<cadmus-metadata-part\n  [identity]=\"identity()\"\n  [data]=\"$any(data())\"\n  (dataChange)=\"save($event!.value!)\"\n  (editorClose)=\"close()\"\n  (dirtyChange)=\"onDirtyChange($event)\"\n/>\n","import { Component, OnInit, ChangeDetectionStrategy, } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-item-editor';\nimport { NamesPartComponent } from '@myrmidon/cadmus-part-general-ui';\n\n@Component({\n  selector: 'cadmus-names-part-feature',\n  templateUrl: './names-part-feature.component.html',\n  styleUrls: ['./names-part-feature.component.css'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [CurrentItemBarComponent, NamesPartComponent],\n})\nexport class NamesPartFeatureComponent\n  extends EditPartFeatureBase\n  implements OnInit\n{\n  constructor(\n    router: Router,\n    route: ActivatedRoute,\n    snackbar: MatSnackBar,\n    itemService: ItemService,\n    thesaurusService: ThesaurusService,\n    editorService: PartEditorService\n  ) {\n    super(\n      router,\n      route,\n      snackbar,\n      itemService,\n      thesaurusService,\n      editorService\n    );\n    this.roleIdInThesauri = true;\n  }\n\n  protected override getReqThesauriIds(): string[] {\n    return [\n      'name-languages',\n      'name-tags',\n      'name-piece-types',\n      'assertion-tags',\n      'doc-reference-types',\n      'doc-reference-tags',\n    ];\n  }\n}\n","<cadmus-current-item-bar/>\n<cadmus-names-part\n  [identity]=\"identity()\"\n  [data]=\"$any(data())\"\n  (dataChange)=\"save($event!.value!)\"\n  (editorClose)=\"close()\"\n  (dirtyChange)=\"onDirtyChange($event)\"\n/>\n","import { Component, OnInit, ChangeDetectionStrategy, } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-item-editor';\nimport { NotePartComponent } from '@myrmidon/cadmus-part-general-ui';\n\n@Component({\n  selector: 'cadmus-note-part-feature',\n  templateUrl: './note-part-feature.component.html',\n  styleUrls: ['./note-part-feature.component.css'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [CurrentItemBarComponent, NotePartComponent],\n})\nexport class NotePartFeatureComponent\n  extends EditPartFeatureBase\n  implements OnInit\n{\n  constructor(\n    router: Router,\n    route: ActivatedRoute,\n    snackbar: MatSnackBar,\n    itemService: ItemService,\n    thesaurusService: ThesaurusService,\n    editorService: PartEditorService\n  ) {\n    super(\n      router,\n      route,\n      snackbar,\n      itemService,\n      thesaurusService,\n      editorService\n    );\n    this.roleIdInThesauri = true;\n  }\n\n  protected override getReqThesauriIds(): string[] {\n    return ['note-tags'];\n  }\n}\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, ChangeDetectionStrategy, } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-item-editor';\nimport { PhysicalMeasurementsPartComponent } from '@myrmidon/cadmus-part-general-ui';\n\n@Component({\n  selector: 'cadmus-physical-measurements-part-feature',\n  templateUrl: './physical-measurements-part-feature.component.html',\n  styleUrl: './physical-measurements-part-feature.component.scss',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [CurrentItemBarComponent, PhysicalMeasurementsPartComponent],\n})\nexport class PhysicalMeasurementsPartFeatureComponent\n  extends EditPartFeatureBase\n  implements OnInit\n{\n  constructor(\n    router: Router,\n    route: ActivatedRoute,\n    snackbar: MatSnackBar,\n    itemService: ItemService,\n    thesaurusService: ThesaurusService,\n    editorService: PartEditorService\n  ) {\n    super(\n      router,\n      route,\n      snackbar,\n      itemService,\n      thesaurusService,\n      editorService\n    );\n    this.roleIdInThesauri = true;\n  }\n\n  protected override getReqThesauriIds(): string[] {\n    return [\n      'physical-size-units',\n      'physical-size-dim-tags',\n      'physical-size-set-names',\n    ];\n  }\n}\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, ChangeDetectionStrategy, } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Router, ActivatedRoute } from '@angular/router';\n\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\nimport { PhysicalStatesPartComponent } from '@myrmidon/cadmus-part-general-ui';\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-item-editor';\n\n@Component({\n  selector: 'cadmus-physical-states-part-feature',\n  templateUrl: './physical-states-part-feature.component.html',\n  styleUrl: './physical-states-part-feature.component.scss',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [CurrentItemBarComponent, PhysicalStatesPartComponent],\n})\nexport class PhysicalStatesPartFeatureComponent\n  extends EditPartFeatureBase\n  implements OnInit\n{\n  constructor(\n    router: Router,\n    route: ActivatedRoute,\n    snackbar: MatSnackBar,\n    itemService: ItemService,\n    thesaurusService: ThesaurusService,\n    editorService: PartEditorService\n  ) {\n    super(\n      router,\n      route,\n      snackbar,\n      itemService,\n      thesaurusService,\n      editorService\n    );\n  }\n\n  protected override getReqThesauriIds(): string[] {\n    return [\n      'physical-states',\n      'physical-state-features',\n      'physical-state-reporters',\n    ];\n  }\n}\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, ChangeDetectionStrategy, } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\nimport { LibraryRouteService } from '@myrmidon/cadmus-core';\nimport {\n  EditFragmentFeatureBase,\n  FragmentEditorService,\n} from '@myrmidon/cadmus-state';\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-item-editor';\nimport { PinLinksFragmentComponent } from '@myrmidon/cadmus-part-general-ui';\nimport { DecoratedTokenTextComponent } from '@myrmidon/cadmus-ui';\n\n@Component({\n  selector: 'cadmus-pin-links-fragment-feature',\n  templateUrl: './pin-links-fragment-feature.component.html',\n  styleUrls: ['./pin-links-fragment-feature.component.css'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [\n    CurrentItemBarComponent,\n    DecoratedTokenTextComponent,\n    PinLinksFragmentComponent,\n  ],\n})\nexport class PinLinksFragmentFeatureComponent\n  extends EditFragmentFeatureBase\n  implements OnInit\n{\n  constructor(\n    router: Router,\n    route: ActivatedRoute,\n    snackbar: MatSnackBar,\n    editorService: FragmentEditorService,\n    libraryRouteService: LibraryRouteService\n  ) {\n    super(router, route, snackbar, editorService, libraryRouteService);\n  }\n\n  protected override getReqThesauriIds(): string[] {\n    return [\n      'pin-link-scopes',\n      'pin-link-tags',\n      'pin-link-assertion-tags',\n      'pin-link-docref-types',\n      'pin-link-docref-tags',\n      'asserted-id-features',\n    ];\n  }\n}\n","<cadmus-current-item-bar/>\n@let loc = frLoc();\n<div class=\"base-text\">\n  <cadmus-decorated-token-text\n    [baseText]=\"data()?.baseText || ''\"\n    [locations]=\"loc ? [loc] : []\"\n  />\n</div>\n<cadmus-pin-links-fragment\n  [identity]=\"identity()\"\n  [data]=\"$any(data())\"\n  (dataChange)=\"save($event!.value!)\"\n  (editorClose)=\"close()\"\n  (dirtyChange)=\"onDirtyChange($event)\"\n/>\n","import { Component, OnInit, ChangeDetectionStrategy, } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-item-editor';\nimport { PinLinksPartComponent } from '@myrmidon/cadmus-part-general-ui';\n\n@Component({\n  selector: 'cadmus-pin-links-part-feature',\n  templateUrl: './pin-links-part-feature.component.html',\n  styleUrls: ['./pin-links-part-feature.component.css'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [CurrentItemBarComponent, PinLinksPartComponent],\n})\nexport class PinLinksPartFeatureComponent\n  extends EditPartFeatureBase\n  implements OnInit\n{\n  constructor(\n    router: Router,\n    route: ActivatedRoute,\n    snackbar: MatSnackBar,\n    itemService: ItemService,\n    thesaurusService: ThesaurusService,\n    editorService: PartEditorService\n  ) {\n    super(\n      router,\n      route,\n      snackbar,\n      itemService,\n      thesaurusService,\n      editorService\n    );\n    this.roleIdInThesauri = true;\n  }\n\n  protected override getReqThesauriIds(): string[] {\n    return [\n      'pin-link-scopes',\n      'pin-link-tags',\n      'pin-link-assertion-tags',\n      'pin-link-docref-types',\n      'pin-link-docref-tags',\n      'asserted-id-features',\n    ];\n  }\n}\n","<cadmus-current-item-bar/>\n<cadmus-pin-links-part\n  [identity]=\"identity()\"\n  [data]=\"$any(data())\"\n  (dataChange)=\"save($event!.value!)\"\n  (editorClose)=\"close()\"\n  (dirtyChange)=\"onDirtyChange($event)\"\n/>\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 { ChangeDetectionStrategy, Component, OnDestroy, OnInit, signal } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AsyncPipe } from '@angular/common';\nimport { map, Observable, Subscription } from 'rxjs';\n\nimport {\n  MatCard,\n  MatCardHeader,\n  MatCardAvatar,\n  MatCardTitle,\n  MatCardActions,\n  MatCardContent,\n} from '@angular/material/card';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatIconButton, MatButton } from '@angular/material/button';\nimport { MatTooltip } from '@angular/material/tooltip';\nimport { MatToolbar } from '@angular/material/toolbar';\nimport { MatProgressBar } from '@angular/material/progress-bar';\nimport {\n  MatExpansionPanel,\n  MatExpansionPanelHeader,\n  MatExpansionPanelTitle,\n  MatExpansionPanelDescription,\n} from '@angular/material/expansion';\n\nimport { DialogService } from '@myrmidon/ngx-mat-tools';\n\nimport { LayerHintsComponent } from '@myrmidon/cadmus-ui';\nimport {\n  TokenLocation,\n  LibraryRouteService,\n  ComponentCanDeactivate,\n  LayerHint,\n} from '@myrmidon/cadmus-core';\nimport { UserLevelService } from '@myrmidon/cadmus-api';\nimport {\n  TextTileComponent,\n  TextTileRow,\n  TiledTextPart,\n} from '@myrmidon/cadmus-part-general-ui';\nimport { EditedItemRepository } from '@myrmidon/cadmus-item-editor';\nimport { EditedLayerRepository } from '@myrmidon/cadmus-state';\n\nimport { TiledTextLayerView, TextTileLayerView } from './tiled-text-layer-view';\nimport {\n  CurrentItemBarComponent,\n  CurrentLayerPartBarComponent,\n} from '@myrmidon/cadmus-item-editor';\n\n/**\n * Tiled text layer part editor.\n * This editor allows picking any layer and see all the text tiles included\n * in a fragment with a color highlight. Users can check any number of tiles\n * not belonging to any fragment in the selected layer, and add a new fragment\n * in the selected layer; or check any number of tiles belonging to a fragment\n * of the selected layer, and edit or delete it.\n * Tiles are thus colorized by the UI to render the fragments extent; and freely\n * checked by users to select the fragments to operate with.\n * All the checked tiles must follow each other, in one or more rows. Users can\n * just check the first and the last of a sequence to get the whole sequence\n * checked.\n */\n@Component({\n  selector: 'cadmus-tiled-text-layer-part-feature',\n  templateUrl: './tiled-text-layer-part-feature.component.html',\n  styleUrls: ['./tiled-text-layer-part-feature.component.css'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [\n    MatCard,\n    MatCardHeader,\n    MatCardAvatar,\n    MatIcon,\n    MatCardTitle,\n    MatIconButton,\n    MatTooltip,\n    MatCardActions,\n    MatToolbar,\n    MatCardContent,\n    MatProgressBar,\n    MatButton,\n    MatExpansionPanel,\n    MatExpansionPanelHeader,\n    MatExpansionPanelTitle,\n    MatExpansionPanelDescription,\n    AsyncPipe,\n    CurrentItemBarComponent,\n    CurrentLayerPartBarComponent,\n    LayerHintsComponent,\n    TextTileComponent,\n  ],\n})\nexport class TiledTextLayerPartFeatureComponent\n  implements OnInit, OnDestroy, ComponentCanDeactivate\n{\n  private _sub?: Subscription;\n  public readonly view = signal<TiledTextLayerView | undefined>(undefined);\n  public selectedTile?: TextTileLayerView;\n\n  public itemId: string;\n  public partId?: string;\n  public roleId?: string;\n\n  public loading$: Observable<boolean>;\n  public saving$: Observable<boolean>;\n\n  public baseText$: Observable<string | undefined>;\n  public locations$: Observable<TokenLocation[]>;\n  public rows$: Observable<TextTileRow[]>;\n  public breakChance$: Observable<number | undefined>;\n  public layerHints$: Observable<LayerHint[]>;\n\n  public pickedLocation?: string;\n  public userLevel: number;\n\n  constructor(\n    route: ActivatedRoute,\n    private _router: Router,\n    private _repository: EditedLayerRepository,\n    private _libraryRouteService: LibraryRouteService,\n    private _editedItemRepository: EditedItemRepository,\n    private _dialogService: DialogService,\n    userLevelService: UserLevelService\n  ) {\n    this.itemId = route.snapshot.params['iid'];\n    this.partId = route.snapshot.params['pid'];\n    if (this.partId === 'new') {\n      this.partId = undefined;\n    }\n    this.roleId = route.snapshot.queryParams['rid'];\n    if (this.roleId === 'default') {\n      this.roleId = undefined;\n    }\n    this.userLevel = userLevelService.getCurrentUserLevel();\n\n    // layers part\n    this.loading$ = this._repository.loading$;\n    this.saving$ = this._repository.saving$;\n\n    this.baseText$ = this._repository.baseText$;\n    this.locations$ = this._repository.locations$;\n    this.breakChance$ = this._repository.breakChance$;\n    this.layerHints$ = this._repository.layerHints$;\n\n    // base text: connect rows to the base text part\n    this.rows$ = this._repository.baseTextPart$.pipe(\n      map((part) => (part as TiledTextPart)?.rows)\n    );\n  }\n\n  public canDeactivate(): boolean {\n    return true;\n  }\n\n  public ngOnInit(): void {\n    // when the base text changes, load all the fragments locations\n    // and setup their UI state\n    this._sub = this.rows$.subscribe((rows) => {\n      const v = rows ? new TiledTextLayerView(rows) : undefined;\n      v?.setFragmentLocations(this._repository.getLocations());\n      this.view.set(v);\n    });\n\n    // ensure that the container item is loaded\n    this._editedItemRepository.ensureItemLoaded(this.itemId);\n\n    // load the layer part\n    this._repository.reset();\n    if (this.partId) {\n      this._repository.load(this.itemId, this.partId);\n    }\n  }\n\n  public ngOnDestroy(): void {\n    this._sub?.unsubscribe();\n  }\n\n  public refreshBreakChance(): void {\n    this._repository.refreshBreakChance();\n  }\n\n  public onTileChecked(y: number, x: number, checked: boolean): void {\n    const v = this.view();\n    if (v) {\n      v.toggleLinearTileCheck(y, x, checked);\n    }\n  }\n\n  private getSelectedTileCoords(): { y: number; x: number } | null {\n    const v = this.view();\n    if (!this.selectedTile || !v) {\n      return null;\n    }\n    for (let i = 0; i < v.rows.length; i++) {\n      const j = v.rows[i].tiles.indexOf(this.selectedTile);\n      if (j > -1) {\n        return { y: i + 1, x: j + 1 };\n      }\n    }\n    return null;\n  }\n\n  public selectPrevTile(): void {\n    const v = this.view();\n    if (!v) {\n      return;\n    }\n    let yx = this.getSelectedTileCoords();\n    if (yx) {\n      yx = v.getPrevTileCoords(yx.y, yx.x);\n      if (yx) {\n        this.selectedTile = v.rows[yx.y - 1].tiles[yx.x - 1];\n      }\n    }\n  }\n\n  public selectNextTile(): void {\n    const v = this.view();\n    if (!v) {\n      return;\n    }\n    let yx = this.getSelectedTileCoords();\n    if (yx) {\n      yx = v.getNextTileCoords(yx.y, yx.x);\n      if (yx) {\n        this.selectedTile = v.rows[yx.y - 1].tiles[yx.x - 1];\n      }\n    }\n  }\n\n  public deleteFragment(): void {\n    const v = this.view();\n    if (!v) {\n      return;\n    }\n    const lf = v.getCheckedLocationAndFragment();\n    if (!lf || lf.fragment === -1) {\n      return;\n    }\n\n    const locations = this._repository.getLocations();\n    const loc = locations[lf.fragment];\n    this._dialogService\n      .confirm('Delete Fragment', `Delete the fragment at ${loc}?`)\n      .subscribe((ok: boolean) => {\n        if (ok) {\n          // find the fragment and remove it from the part\n          const i = this._repository.getPart()?.fragments.findIndex((p) => {\n            return TokenLocation.parse(p.location)?.overlaps(loc);\n          });\n          if (i === -1) {\n            return;\n          }\n          this._repository.deleteFragment(loc);\n        }\n      });\n  }\n\n  public deleteFragmentFromHint(hint: LayerHint): void {\n    const loc = TokenLocation.parse(hint.location);\n    if (loc) {\n      this._repository.deleteFragment(loc);\n    }\n  }\n\n  private navigateToFragmentEditor(loc: string): void {\n    const part = this._repository.getPart();\n    if (!part) {\n      return;\n    }\n\n    const { route, rid } = this._libraryRouteService.buildFragmentEditorRoute(\n      this._editedItemRepository.getFacet()!.partDefinitions,\n      part.itemId,\n      part.id,\n      part.typeId,\n      part.roleId,\n      loc\n    );\n\n    // navigate to the editor\n    this._router.navigate(\n      [route],\n      rid\n        ? {\n            queryParams: {\n              rid: part.roleId,\n            },\n          }\n        : {}\n    );\n  }\n\n  public editFragment(): void {\n    const v = this.view();\n    if (!v) {\n      return;\n    }\n    const lf = v.getCheckedLocationAndFragment();\n    if (!lf || lf.fragment === -1) {\n      return;\n    }\n    const locations = this._repository.getLocations();\n    this.navigateToFragmentEditor(locations[lf.fragment].toString());\n  }\n\n  public editFragmentFromHint(hint: LayerHint): void {\n    this.navigateToFragmentEditor(hint.location);\n  }\n\n  public moveFragmentFromHint(hint: LayerHint): void {\n    if (\n      !this.pickedLocation ||\n      this.pickedLocation === hint.location ||\n      !this.partId\n    ) {\n      return;\n    }\n    this._repository.applyLayerPatches(this.partId, [\n      `mov ${hint.location} ${this.pickedLocation}`,\n    ]);\n  }\n\n  public addFragment(): void {\n    const v = this.view();\n    if (!v) {\n      return;\n    }\n    const lf = v.getCheckedLocationAndFragment();\n    if (!lf || lf.fragment > -1) {\n      return;\n    }\n    this.navigateToFragmentEditor(lf.location.toString());\n  }\n\n  public pickLocation(): void {\n    const v = this.view();\n    if (!v) {\n      return;\n    }\n    const lf = v.getCheckedLocationAndFragment();\n    if (!lf) {\n      return;\n    }\n    const locations = this._repository.getLocations();\n    this.pickedLocation = (\n      lf.fragment === -1 ? lf.location : locations[lf.fragment]\n    ).toString();\n  }\n\n  public clearTileChecks(): void {\n    const v = this.view();\n    if (!v) {\n      return;\n    }\n    v.setAllTilesViewState({ checked: false });\n    this.pickedLocation = undefined;\n  }\n\n  public applyLayerPatches(patches: string[]): void {\n    if (this.partId) {\n      this._repository.applyLayerPatches(this.partId, patches);\n    }\n  }\n\n  public close(): void {\n    this._router.navigate(['/items', this.itemId]);\n  }\n}\n","<cadmus-current-item-bar></cadmus-current-item-bar>\n<mat-card appearance=\"outlined\">\n  <mat-card-header>\n    <div mat-card-avatar>\n      <mat-icon>view_headline</mat-icon>\n    </div>\n    <mat-card-title>\n      Tiles-Based Text Layers\n      <button type=\"button\" mat-icon-button (click)=\"refreshBreakChance()\">\n        @switch (breakChance$ | async) { @case (-1) {\n        <mat-icon matTooltip=\"Checking...\">refresh</mat-icon>\n        } @case (0) {\n        <mat-icon matTooltip=\"Valid\">check_circle</mat-icon>\n        } @case (1) {\n        <mat-icon matTooltip=\"Potentially broken\" class=\"mat-warn\"\n          >warning</mat-icon\n        >\n        } @case (2) {\n        <mat-icon matTooltip=\"Broken\" class=\"mat-warn\">error</mat-icon>\n        } }\n      </button>\n    </mat-card-title>\n    <cadmus-current-layer-part-bar />\n  </mat-card-header>\n  @if (!(loading$ | async) && !(saving$ | async)) {\n  <mat-card-actions>\n    <mat-toolbar>\n      <button\n        mat-icon-button\n        type=\"button\"\n        (click)=\"editFragment()\"\n        matTooltip=\"Edit the selected fragment\"\n      >\n        <mat-icon>edit</mat-icon>\n      </button>\n      <button\n        mat-icon-button\n        type=\"button\"\n        (click)=\"deleteFragment()\"\n        matTooltip=\"Delete the selected fragment\"\n      >\n        <mat-icon class=\"mat-warn\">delete</mat-icon>\n      </button>\n      <button\n        mat-icon-button\n        type=\"button\"\n        (click)=\"pickLocation()\"\n        matTooltip=\"Pick the selection location for a new fragment\"\n      >\n        <mat-icon>info</mat-icon>\n      </button>\n      <button\n        mat-icon-button\n        type=\"button\"\n        (click)=\"clearTileChecks()\"\n        matTooltip=\"Clear any selection\"\n      >\n        <mat-icon class=\"mat-warn\">clear</mat-icon>\n      </button>\n      <button\n        mat-icon-button\n        type=\"button\"\n        (click)=\"addFragment()\"\n        matTooltip=\"Add a new fragment at selection\"\n      >\n        <mat-icon class=\"mat-primary\">add_circle</mat-icon>\n      </button>\n      <span>{{ pickedLocation }}</span>\n    </mat-toolbar>\n  </mat-card-actions>\n  }\n\n  <mat-card-content>\n    @if (loading$ | async) {\n    <mat-progress-bar mode=\"indeterminate\" />\n    }\n\n    <!-- rows -->\n    @if (view()) {\n    <div>\n      @for (row of view()!.rows; track row; let iy = $index) {\n      <div class=\"tile-row\" style=\"display: flex; flex-flow: row wrap\">\n        <span class=\"row-nr\">{{ iy + 1 }}</span>\n        <!-- tile -->\n        @for (tile of row.tiles || []; track tile; let ix = $index) {\n        <cadmus-text-tile\n          [tile]=\"tile.model\"\n          [readonly]=\"true\"\n          [selected]=\"tile === selectedTile\"\n          [checkable]=\"true\"\n          [checked]=\"tile.checked\"\n          [color]=\"tile.frIndex > -1 ? 'yellow' : 'transparent'\"\n          style=\"flex: 0 0 auto\"\n          (click)=\"selectedTile = tile\"\n          (checkedChange)=\"onTileChecked(iy + 1, ix + 1, $event)\"\n          (keydown.control.arrowleft)=\"selectPrevTile()\"\n          (keydown.control.arrowright)=\"selectNextTile()\"\n        />\n        }\n      </div>\n      }\n    </div>\n    }\n  </mat-card-content>\n\n  <div>\n    <button\n      type=\"button\"\n      mat-flat-button\n      class=\"mat-warn\"\n      matTooltip=\"Close this editor\"\n      (click)=\"close()\"\n    >\n      <mat-icon>cancel</mat-icon>\n      close\n    </button>\n  </div>\n  @if (layerHints$ | async; as layerHints) {\n  <mat-expansion-panel>\n    <mat-expansion-panel-header>\n      <mat-panel-title>Layer hints</mat-panel-title>\n      <mat-panel-description>{{ layerHints.length }}</mat-panel-description>\n    </mat-expansion-panel-header>\n    <cadmus-layer-hints\n      [hints]=\"layerHints\"\n      [disabled]=\"(loading$ | async) || (saving$ | async) ? true : false\"\n      [readonly]=\"userLevel < 2\"\n      [targetLocation]=\"pickedLocation\"\n      (requestEdit)=\"editFragmentFromHint($event)\"\n      (requestDelete)=\"deleteFragmentFromHint($event)\"\n      (requestMove)=\"moveFragmentFromHint($event)\"\n      (requestPatch)=\"applyLayerPatches($event)\"\n    />\n  </mat-expansion-panel>\n  }\n</mat-card>\n","import { Component, OnInit, ChangeDetectionStrategy, } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-item-editor';\nimport { TiledTextPartComponent } from '@myrmidon/cadmus-part-general-ui';\n\n@Component({\n  selector: 'cadmus-tiled-text-part-feature',\n  templateUrl: './tiled-text-part-feature.component.html',\n  styleUrls: ['./tiled-text-part-feature.component.css'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [CurrentItemBarComponent, TiledTextPartComponent],\n})\nexport class TiledTextPartFeatureComponent\n  extends EditPartFeatureBase\n  implements OnInit\n{\n  constructor(\n    router: Router,\n    route: ActivatedRoute,\n    snackbar: MatSnackBar,\n    itemService: ItemService,\n    thesaurusService: ThesaurusService,\n    editorService: PartEditorService\n  ) {\n    super(\n      router,\n      route,\n      snackbar,\n      itemService,\n      thesaurusService,\n      editorService\n    );\n  }\n}\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, ChangeDetectionStrategy, } from '@angular/core';\nimport { AsyncPipe } from '@angular/common';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\n\nimport {\n  MatCard,\n  MatCardHeader,\n  MatCardAvatar,\n  MatCardTitle,\n  MatCardActions,\n  MatCardContent,\n} from '@angular/material/card';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatIconButton, MatButton } from '@angular/material/button';\nimport { MatTooltip } from '@angular/material/tooltip';\nimport { MatToolbar } from '@angular/material/toolbar';\nimport { MatProgressBar } from '@angular/material/progress-bar';\nimport {\n  MatExpansionPanel,\n  MatExpansionPanelHeader,\n  MatExpansionPanelTitle,\n  MatExpansionPanelDescription,\n} from '@angular/material/expansion';\n\nimport { DialogService } from '@myrmidon/ngx-mat-tools';\n\nimport {\n  TokenLocation,\n  LibraryRouteService,\n  TextLayerService,\n  ComponentCanDeactivate,\n  LayerHint,\n} from '@myrmidon/cadmus-core';\nimport { EditedLayerRepository } from '@myrmidon/cadmus-state';\nimport { UserLevelService } from '@myrmidon/cadmus-api';\nimport { EditedItemRepository } from '@myrmidon/cadmus-item-editor';\nimport {\n  DecoratedTokenTextComponent,\n  LayerHintsComponent,\n} from '@myrmidon/cadmus-ui';\nimport { CurrentItemBarComponent, CurrentLayerPartBarComponent } from '@myrmidon/cadmus-item-editor';\n\n/**\n * Token-based text layer part feature editor. This is a special type of editor,\n * rather than being a simple wrapper like the others; it is used for editing\n * any text layer (using token-based coordinates), whatever the type of its\n * fragments. Being a sort of portal for accessing a fragments editor, it has\n * no save capability: the single fragments are edited and saved as needed.\n */\n@Component({\n  selector: 'cadmus-token-text-layer-part-feature',\n  templateUrl: './token-text-layer-part-feature.component.html',\n  styleUrls: ['./token-text-layer-part-feature.component.css'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [\n    MatCard,\n    MatCardHeader,\n    MatCardAvatar,\n    MatIcon,\n    MatCardTitle,\n    MatIconButton,\n    MatTooltip,\n    MatCardActions,\n    MatToolbar,\n    MatCardContent,\n    MatProgressBar,\n    MatButton,\n    MatExpansionPanel,\n    MatExpansionPanelHeader,\n    MatExpansionPanelTitle,\n    MatExpansionPanelDescription,\n    AsyncPipe,\n    LayerHintsComponent,\n    CurrentItemBarComponent,\n    CurrentLayerPartBarComponent,\n    DecoratedTokenTextComponent,\n  ],\n})\nexport class TokenTextLayerPartFeatureComponent\n  implements OnInit, ComponentCanDeactivate\n{\n  public itemId: string;\n  public partId?: string;\n  public roleId?: string;\n\n  public loading$: Observable<boolean>;\n  public saving$: Observable<boolean>;\n  public baseText$: Observable<string | undefined>;\n  public locations$: Observable<TokenLocation[] | undefined>;\n  public breakChance$: Observable<number>;\n  public layerHints$: Observable<LayerHint[]>;\n\n  public pickedLocation?: string;\n  public userLevel: number;\n\n  public textSize: number;\n\n  constructor(\n    route: ActivatedRoute,\n    private _router: Router,\n    private _repository: EditedLayerRepository,\n    private _textLayerService: TextLayerService,\n    private _libraryRouteService: LibraryRouteService,\n    private _editedItemRepository: EditedItemRepository,\n    private _dialogService: DialogService,\n    userLevelService: UserLevelService\n  ) {\n    this.textSize = 14;\n    this.itemId = route.snapshot.params['iid'];\n    this.partId = route.snapshot.params['pid'];\n    if (this.partId === 'new') {\n      this.partId = undefined;\n    }\n    this.roleId = route.snapshot.queryParams['rid'];\n    if (this.roleId === 'default') {\n      this.roleId = undefined;\n    }\n    this.userLevel = userLevelService.getCurrentUserLevel();\n\n    this.loading$ = this._repository.loading$;\n    this.saving$ = this._repository.saving$;\n    this.baseText$ = this._repository.baseText$;\n    this.locations$ = this._repository.locations$;\n    this.breakChance$ = this._repository.breakChance$;\n    this.layerHints$ = this._repository.layerHints$;\n  }\n\n  public canDeactivate(): boolean {\n    return true;\n  }\n\n  public makeLarger(): void {\n    const size = this.textSize + 2;\n    if (size > 24) {\n      return;\n    }\n    this.textSize = size;\n  }\n\n  public makeSmaller(): void {\n    const size = this.textSize - 2;\n    if (size < 12) {\n      return;\n    }\n    this.textSize = size;\n  }\n\n  public ngOnInit(): void {\n    // ensure the container item is loaded\n    this._editedItemRepository.ensureItemLoaded(this.itemId);\n\n    // load the layer part data\n    this._repository.reset();\n    if (this.partId) {\n      this._repository.load(this.itemId, this.partId);\n    }\n  }\n\n  public deleteFragment() {\n    const range = this._textLayerService.getSelectedRange();\n    if (!range) {\n      return;\n    }\n    const location = this._textLayerService.getSelectedLocationForEdit(range);\n    if (!location) {\n      return;\n    }\n\n    this._dialogService\n      .confirm('Delete Fragment', `Delete the fragment at ${location}?`)\n      .subscribe((ok: boolean) => {\n        if (ok) {\n          // find the fragment and remove it from the part\n          const i = this._repository.getPart()?.fragments.findIndex((p) => {\n            return TokenLocation.parse(p.location)?.overlaps(location);\n          });\n          if (i === -1) {\n            return;\n          }\n          this._repository.deleteFragment(location);\n        }\n      });\n  }\n\n  public deleteFragmentFromHint(hint: LayerHint): void {\n    const loc = TokenLocation.parse(hint.location);\n    if (loc) {\n      this._repository.deleteFragment(loc);\n    }\n  }\n\n  public refreshBreakChance(): void {\n    this._repository.refreshBreakChance();\n  }\n\n  private navigateToFragmentEditor(loc: string): void {\n    const part = this._repository.getPart();\n    if (!part) {\n      return;\n    }\n\n    const { route, rid } = this._libraryRouteService.buildFragmentEditorRoute(\n      this._editedItemRepository.getFacet()!.partDefinitions,\n      part.itemId,\n      part.id,\n      part.typeId,\n      part.roleId,\n      loc\n    );\n\n    // navigate to the editor\n    this._router.navigate(\n      [route],\n      rid\n        ? {\n            queryParams: {\n              rid: part.roleId,\n            },\n          }\n        : {}\n    );\n  }\n\n  public editFragment(): void {\n    const range = this._textLayerService.getSelectedRange();\n    if (!range) {\n      return;\n    }\n    const location = this._textLayerService.getSelectedLocationForEdit(range);\n    if (location) {\n      this.navigateToFragmentEditor(location.toString());\n    }\n  }\n\n  public editFragmentFromHint(hint: LayerHint): void {\n    this.navigateToFragmentEditor(hint.location);\n  }\n\n  public addFragment(): void {\n    const range = this._textLayerService.getSelectedRange();\n    if (!range) {\n      return;\n    }\n    const location = this._textLayerService.getSelectedLocationForNew(\n      range,\n      this._repository.getBaseText() || ''\n    );\n    if (location) {\n      this.navigateToFragmentEditor(location.toString());\n    }\n  }\n\n  public moveFragmentFromHint(hint: LayerHint): void {\n    if (\n      !this.pickedLocation ||\n      this.pickedLocation === hint.location ||\n      !this.partId\n    ) {\n      return;\n    }\n    this._repository.applyLayerPatches(this.partId, [\n      `mov ${hint.location} ${this.pickedLocation}`,\n    ]);\n  }\n\n  public applyLayerPatches(patches: string[]): void {\n    if (this.partId) {\n      this._repository.applyLayerPatches(this.partId, patches);\n    }\n  }\n\n  public pickLocation(): void {\n    const range = this._textLayerService.getSelectedRange();\n    if (!range) {\n      return;\n    }\n    const location = this._textLayerService.getSelectedLocationForNew(\n      range,\n      this._repository.getBaseText() || ''\n    );\n    if (location) {\n      this.pickedLocation = location.toString();\n    }\n  }\n\n  public close(): void {\n    this._router.navigate(['/items', this.itemId]);\n  }\n}\n","<cadmus-current-item-bar></cadmus-current-item-bar>\n<mat-card appearance=\"outlined\">\n  <mat-card-header>\n    <div mat-card-avatar>\n      <mat-icon>view_headline</mat-icon>\n    </div>\n    <mat-card-title>\n      Token-Based Text Layers\n      <button type=\"button\" mat-icon-button (click)=\"refreshBreakChance()\">\n        @switch (breakChance$ | async) { @case (-1) {\n        <mat-icon matTooltip=\"Checking...\">refresh</mat-icon>\n        } @case (0) {\n        <mat-icon matTooltip=\"Valid\">check_circle</mat-icon>\n        } @case (1) {\n        <mat-icon matTooltip=\"Potentially broken\" class=\"mat-warn\"\n          >warning</mat-icon\n        >\n        } @case (2) {\n        <mat-icon matTooltip=\"Broken\" class=\"mat-warn\">error</mat-icon>\n        } }\n      </button>\n    </mat-card-title>\n    <cadmus-current-layer-part-bar/>\n  </mat-card-header>\n  @if (!(loading$ | async)) {\n  <mat-card-actions>\n    <mat-toolbar>\n      <button\n        mat-icon-button\n        type=\"button\"\n        (click)=\"editFragment()\"\n        matTooltip=\"Edit the selected fragment\"\n      >\n        <mat-icon>edit</mat-icon>\n      </button>\n      <button\n        mat-icon-button\n        type=\"button\"\n        (click)=\"deleteFragment()\"\n        matTooltip=\"Delete the selected fragment\"\n      >\n        <mat-icon class=\"mat-warn\">delete</mat-icon>\n      </button>\n      <button\n        mat-icon-button\n        type=\"button\"\n        matTooltip=\"Larger text\"\n        (click)=\"makeLarger()\"\n        [disabled]=\"textSize >= 24\"\n      >\n        <mat-icon>format_size</mat-icon>\n      </button>\n      <button\n        mat-icon-button\n        type=\"button\"\n        matTooltip=\"Smaller text\"\n        (click)=\"makeSmaller()\"\n        [disabled]=\"textSize <= 12\"\n      >\n        <mat-icon>text_fields</mat-icon>\n      </button>\n      <button\n        mat-icon-button\n        type=\"button\"\n        (click)=\"pickLocation()\"\n        matTooltip=\"Pick the selection location for a new fragment\"\n      >\n        <mat-icon>info</mat-icon>\n      </button>\n      <button\n        mat-icon-button\n        type=\"button\"\n        (click)=\"addFragment()\"\n        matTooltip=\"Add a new fragment at selection\"\n      >\n        <mat-icon class=\"mat-primary\">add_circle</mat-icon>\n      </button>\n      <span>{{ pickedLocation }}</span>\n    </mat-toolbar>\n  </mat-card-actions>\n  }\n  <mat-card-content fxLayout=\"row\">\n    @if (loading$ | async) {\n    <mat-progress-bar mode=\"indeterminate\"/>\n    }\n\n    <div [style.font-size]=\"textSize + 'px'\">\n      @if (baseText$ | async; as baseText) {\n      <cadmus-decorated-token-text\n        [baseText]=\"baseText\"\n        [locations]=\"(locations$ | async) || []\"\n      />\n      }\n    </div>\n  </mat-card-content>\n  <div>\n    <button\n      type=\"button\"\n      mat-flat-button\n      class=\"mat-warn\"\n      matTooltip=\"Close this editor\"\n      (click)=\"close()\"\n    >\n      <mat-icon>cancel</mat-icon>\n      close\n    </button>\n  </div>\n  @if (layerHints$ | async; as layerHints) {\n  <mat-expansion-panel>\n    <mat-expansion-panel-header>\n      <mat-panel-title>Layer hints</mat-panel-title>\n      <mat-panel-description>{{ layerHints.length }}</mat-panel-description>\n    </mat-expansion-panel-header>\n    <cadmus-layer-hints\n      [hints]=\"layerHints\"\n      [disabled]=\"(loading$ | async) || (saving$ | async) ? true : false\"\n      [readonly]=\"userLevel < 2\"\n      [targetLocation]=\"pickedLocation\"\n      (requestEdit)=\"editFragmentFromHint($event)\"\n      (requestDelete)=\"deleteFragmentFromHint($event)\"\n      (requestMove)=\"moveFragmentFromHint($event)\"\n      (requestPatch)=\"applyLayerPatches($event)\"\n    />\n  </mat-expansion-panel>\n  }\n</mat-card>\n","import { Component, OnInit, ChangeDetectionStrategy, } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\nimport { EditPartFeatureBase, PartEditorService } from '@myrmidon/cadmus-state';\nimport { ItemService, ThesaurusService } from '@myrmidon/cadmus-api';\nimport { CurrentItemBarComponent } from '@myrmidon/cadmus-item-editor';\nimport { TokenTextPartComponent } from '@myrmidon/cadmus-part-general-ui';\n\n@Component({\n  selector: 'cadmus-token-text-part-feature',\n  templateUrl: './token-text-part-feature.component.html',\n  styleUrls: ['./token-text-part-feature.component.css'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [CurrentItemBarComponent, TokenTextPartComponent],\n})\nexport class TokenTextPartFeatureComponent\n  extends EditPartFeatureBase\n  implements OnInit\n{\n  constructor(\n    router: Router,\n    route: ActivatedRoute,\n    snackbar: MatSnackBar,\n    itemService: ItemService,\n    thesaurusService: ThesaurusService,\n    editorService: PartEditorService\n  ) {\n    super(\n      router,\n      route,\n      snackbar,\n      itemService,\n      thesaurusService,\n      editorService\n    );\n  }\n}\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 { Routes } from '@angular/router';\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  FLAGS_PART_TYPEID,\r\n} from '@myrmidon/cadmus-part-general-ui';\r\n\r\nimport { AssertedHistoricalDateFeatureComponent } from './asserted-historical-date-feature/asserted-historical-date-feature.component';\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 { FlagsPartFeatureComponent } from './flags-part-feature/flags-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\n\r\n// https://github.com/ng-packagr/ng-packagr/issues/778\r\nexport const CADMUS_PART_GENERAL_PG_ROUTES: Routes = [\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: `${FLAGS_PART_TYPEID}/:pid`,\r\n    pathMatch: 'full',\r\n    component: FlagsPartFeatureComponent,\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 * 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/flags-part-feature/flags-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.routes';\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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"}