app.module.ts 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311
  1. import { NgxSliderModule } from '@angular-slider/ngx-slider';
  2. import { ScrollingModule as ExperimentalScrollingModule } from '@angular/cdk-experimental/scrolling';
  3. import { ScrollingModule } from '@angular/cdk/scrolling';
  4. import { HttpClientModule } from '@angular/common/http';
  5. import { APP_INITIALIZER, NgModule } from '@angular/core';
  6. import { FormsModule } from '@angular/forms';
  7. import { BrowserModule } from '@angular/platform-browser';
  8. import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
  9. import { FaIconLibrary } from '@fortawesome/angular-fontawesome';
  10. import { fas } from '@fortawesome/free-solid-svg-icons';
  11. import { NgbModule, NgbPopoverModule } from '@ng-bootstrap/ng-bootstrap';
  12. import { GridsterModule } from 'angular-gridster2';
  13. import { DynamicAttributesModule, DynamicModule } from 'ng-dynamic-component';
  14. import { NgxSpinnerModule } from 'ngx-spinner';
  15. import { UiComponentsModule } from './ui-components/ui-components.module';
  16. import { RouterModule, Routes } from '@angular/router';
  17. import { AppRoutingModule } from './app-routing.module';
  18. import { AppTranslationModule } from './app-translation.module';
  19. import { AppComponent } from './app.component';
  20. import { Ng2HandySyntaxHighlighterModule } from 'ng2-handy-syntax-highlighter';
  21. import { AppConfig } from './app.config';
  22. import { AdditionComponent } from './components/addition/addition.component';
  23. import { AdditionalComponent } from './components/additional/additional.component';
  24. import { ApparatusEntryDetailComponent } from './components/apparatus-entry/apparatus-entry-detail/apparatus-entry-detail.component';
  25. import { ApparatusEntryReadingsComponent } from './components/apparatus-entry/apparatus-entry-readings/apparatus-entry-readings.component';
  26. import { ApparatusEntryComponent } from './components/apparatus-entry/apparatus-entry.component';
  27. import { CharComponent } from './components/char/char.component';
  28. import { ChoiceComponent } from './components/choice/choice.component';
  29. import { ContentViewerComponent } from './components/content-viewer/content-viewer.component';
  30. import { DamageComponent } from './components/damage/damage.component';
  31. import { DeletionComponent } from './components/deletion/deletion.component';
  32. import { EditionLevelSelectorComponent } from './components/edition-level-selector/edition-level-selector.component';
  33. import { EditionStmtComponent } from './components/edition-stmt/edition-stmt.component';
  34. import { EditorialDeclComponent } from './components/editorial-decl/editorial-decl.component';
  35. import { EncodingDescComponent } from './components/encoding-desc/encoding-desc.component';
  36. import { EntitiesSelectComponent } from './components/entities-select/entities-select.component';
  37. import { LemsSelectComponent } from './components/lems-select/lems-select.component';
  38. import { ExtentComponent } from './components/extent/extent.component';
  39. import { FileDescComponent } from './components/file-desc/file-desc.component';
  40. import { GComponent } from './components/g/g.component';
  41. import { GapComponent } from './components/gap/gap.component';
  42. import { GenericElementComponent } from './components/generic-element/generic-element.component';
  43. import { GlobalListsComponent } from './components/global-lists/global-lists.component';
  44. import { HistoryComponent } from './components/history/history.component';
  45. import { IdentifierComponent } from './components/identifier/identifier.component';
  46. import { LbComponent } from './components/lb/lb.component';
  47. import { ManuscriptThumbnailsViewerComponent } from './components/manuscript-thumbnails-viewer/manuscript-thumbnails-viewer.component';
  48. import { MsContentsComponent } from './components/ms-contents/ms-contents.component';
  49. import { MsDescSelectorComponent } from './components/ms-desc-selector/ms-desc-selector.component';
  50. import { MsDescComponent } from './components/ms-desc/ms-desc.component';
  51. import { MsFragComponent } from './components/ms-frag/ms-frag.component';
  52. import { MsIdentifierComponent } from './components/ms-identifier/ms-identifier.component';
  53. import { MsItemComponent } from './components/ms-item/ms-item.component';
  54. import { MsPartComponent } from './components/ms-part/ms-part.component';
  55. import { NamedEntitiesListComponent } from './components/named-entities-list/named-entities-list.component';
  56. import { NamedEntityRefComponent } from './components/named-entity-ref/named-entity-ref.component';
  57. import { NamedEntityRelationComponent } from './components/named-entity-relation/named-entity-relation.component';
  58. import { NamedEntityDetailComponent } from './components/named-entity/named-entity-detail/named-entity-detail.component';
  59. import { NamedEntityOccurrenceComponent } from './components/named-entity/named-entity-occurrence/named-entity-occurrence.component';
  60. import { NamedEntityComponent } from './components/named-entity/named-entity.component';
  61. import { NamespaceComponent } from './components/namespace/namespace.component';
  62. import { NoteComponent } from './components/note/note.component';
  63. import { NotesStmtComponent } from './components/notes-stmt/notes-stmt.component';
  64. import { OriginalEncodingViewerComponent } from './components/original-encoding-viewer/original-encoding-viewer.component';
  65. import { OsdComponent } from './components/osd/osd.component';
  66. import { PageSelectorComponent } from './components/page-selector/page-selector.component';
  67. import { PageComponent } from './components/page/page.component';
  68. import { ParagraphComponent } from './components/paragraph/paragraph.component';
  69. import { PhysDescComponent } from './components/phys-desc/phys-desc.component';
  70. import { ProjectDescComponent } from './components/project-desc/project-desc.component';
  71. import { ProjectInfoComponent } from './components/project-info/project-info.component';
  72. import { PublicationStmtComponent } from './components/publication-stmt/publication-stmt.component';
  73. import { ReadingComponent } from './components/reading/reading.component';
  74. import { RenditionComponent } from './components/rendition/rendition.component';
  75. import { RespStmtComponent } from './components/resp-stmt/resp-stmt.component';
  76. import { SamplingDeclComponent } from './components/sampling-decl/sampling-decl.component';
  77. import { SeriesStmtComponent } from './components/series-stmt/series-stmt.component';
  78. import { SicComponent } from './components/sic/sic.component';
  79. import { SuppliedComponent } from './components/supplied/supplied.component';
  80. import { SurplusComponent } from './components/surplus/surplus.component';
  81. import { TagsDeclComponent } from './components/tags-decl/tags-decl.component';
  82. import { TextComponent } from './components/text/text.component';
  83. import { TitleStmtComponent } from './components/title-stmt/title-stmt.component';
  84. import { VerseComponent } from './components/verse/verse.component';
  85. import { VersesGroupComponent } from './components/verses-group/verses-group.component';
  86. import { WordComponent } from './components/word/word.component';
  87. import { AnnotatorDirective } from './directives/annotator.directive';
  88. import { EditorialConventionLayoutDirective } from './directives/editorial-convention-layout.directive';
  89. import { HighlightDirective } from './directives/highlight.directive';
  90. import { HtmlAttributesDirective } from './directives/html-attributes.directive';
  91. import { EvtInfoComponent } from './evt-info/evt-info.component';
  92. import { MainHeaderComponent } from './main-header/main-header.component';
  93. import { MainMenuComponent } from './main-menu/main-menu.component';
  94. import { NavBarComponent } from './nav-bar/nav-bar.component';
  95. import { ImagePanelComponent } from './panels/image-panel/image-panel.component';
  96. import { PinboardPanelComponent } from './panels/pinboard-panel/pinboard-panel.component';
  97. import { SourcesPanelComponent } from './panels/sources-panel/sources-panel.component';
  98. import { TextPanelComponent } from './panels/text-panel/text-panel.component';
  99. import { VersionPanelComponent } from './panels/version-panel/version-panel.component';
  100. import { WitnessPanelComponent } from './panels/witness-panel/witness-panel.component';
  101. import { PinboardComponent } from './pinboard/pinboard.component';
  102. import { PinnerComponent } from './pinboard/pinner/pinner.component';
  103. import { FilterPipe } from './pipes/filter.pipe';
  104. import { HumanizePipe } from './pipes/humanize.pipe';
  105. import { StartsWithPipe } from './pipes/starts-with.pipe';
  106. import { XmlBeautifyPipe } from './pipes/xml-beautify.pipe';
  107. import { AnnotatorService } from './services/annotator/annotator.service';
  108. import { IdbService } from './services/idb.service';
  109. import { ThemesService } from './services/themes.service';
  110. import { GenericParserService } from './services/xml-parsers/generic-parser.service';
  111. import { XMLParsers } from './services/xml-parsers/xml-parsers';
  112. import { ShortcutsComponent } from './shortcuts/shortcuts.component';
  113. import { MsDescSectionComponent } from './ui-components/ms-desc-section/ms-desc-section.component';
  114. import { CollationComponent } from './view-modes/collation/collation.component';
  115. import { ImageTextComponent } from './view-modes/image-text/image-text.component';
  116. import { ReadingTextComponent } from './view-modes/reading-text/reading-text.component';
  117. import { TextSourcesComponent } from './view-modes/text-sources/text-sources.component';
  118. import { TextTextComponent } from './view-modes/text-text/text-text.component';
  119. import { TextVersionsComponent } from './view-modes/text-versions/text-versions.component';
  120. import { LemEntryComponent } from './components/lem-entry/lem-entry.component';
  121. import { LemEntryDetailComponent } from './components/lem-entry/lem-entry-detail/lem-entry-detail.component';
  122. import { LemEntryReadingsComponent } from './components/lem-entry/lem-entry-readings/lem-entry-readings.component';
  123. // add by FS
  124. import { LemmatizedEntitiesListComponent } from './components/lemmatized-entities-list/lemmatized-entities-list.component';
  125. import { LemmatizedEntityRefComponent } from './components/lemmatized-entity-ref/lemmatized-entity-ref.component';
  126. import { LemmatizedEntityRelationComponent } from './components/lemmatized-entity-relation/lemmatized-entity-relation.component';
  127. import { LemmatizedEntityDetailComponent } from './components/lemmatized-entity/lemmatized-entity-detail/lemmatized-entity-detail.component';
  128. import { LemmatizedEntityOccurrenceComponent } from './components/lemmatized-entity/lemmatized-entity-occurrence/lemmatized-entity-occurrence.component';
  129. import { LemmatizedEntityComponent } from './components/lemmatized-entity/lemmatized-entity.component';
  130. const routes: Routes = [
  131. ];
  132. export function initializeApp(appConfig: AppConfig) {
  133. return () => appConfig.load();
  134. }
  135. @NgModule({
  136. declarations: [
  137. AdditionComponent,
  138. AdditionalComponent,
  139. AnnotatorDirective,
  140. ApparatusEntryComponent,
  141. ApparatusEntryDetailComponent,
  142. ApparatusEntryReadingsComponent,
  143. AppComponent,
  144. CharComponent,
  145. ChoiceComponent,
  146. CollationComponent,
  147. ContentViewerComponent,
  148. DamageComponent,
  149. DeletionComponent,
  150. EditionLevelSelectorComponent,
  151. EditionStmtComponent,
  152. EditorialConventionLayoutDirective,
  153. EditorialDeclComponent,
  154. EncodingDescComponent,
  155. EntitiesSelectComponent,
  156. LemsSelectComponent,
  157. EvtInfoComponent,
  158. ExtentComponent,
  159. FileDescComponent,
  160. FilterPipe,
  161. GapComponent,
  162. GComponent,
  163. GenericElementComponent,
  164. GlobalListsComponent,
  165. HighlightDirective,
  166. HistoryComponent,
  167. HtmlAttributesDirective,
  168. HumanizePipe,
  169. IdentifierComponent,
  170. ImagePanelComponent,
  171. ImageTextComponent,
  172. LbComponent,
  173. MainHeaderComponent,
  174. MainMenuComponent,
  175. ManuscriptThumbnailsViewerComponent,
  176. MsContentsComponent,
  177. MsDescComponent,
  178. MsDescSectionComponent,
  179. MsDescSelectorComponent,
  180. MsFragComponent,
  181. MsFragComponent,
  182. MsIdentifierComponent,
  183. MsItemComponent,
  184. MsPartComponent,
  185. NamedEntitiesListComponent,
  186. NamedEntityComponent,
  187. NamedEntityDetailComponent,
  188. NamedEntityOccurrenceComponent,
  189. NamedEntityRefComponent,
  190. NamedEntityRelationComponent,
  191. NamespaceComponent,
  192. NavBarComponent,
  193. NoteComponent,
  194. NotesStmtComponent,
  195. OriginalEncodingViewerComponent,
  196. OsdComponent,
  197. PageComponent,
  198. PageSelectorComponent,
  199. ParagraphComponent,
  200. PhysDescComponent,
  201. PinboardComponent,
  202. PinboardPanelComponent,
  203. PinnerComponent,
  204. ProjectDescComponent,
  205. ProjectInfoComponent,
  206. PublicationStmtComponent,
  207. ReadingComponent,
  208. ReadingTextComponent,
  209. RenditionComponent,
  210. RespStmtComponent,
  211. SamplingDeclComponent,
  212. SeriesStmtComponent,
  213. ShortcutsComponent,
  214. SicComponent,
  215. SourcesPanelComponent,
  216. StartsWithPipe,
  217. SuppliedComponent,
  218. SurplusComponent,
  219. TagsDeclComponent,
  220. TextComponent,
  221. TextPanelComponent,
  222. TextSourcesComponent,
  223. TextTextComponent,
  224. TextVersionsComponent,
  225. TitleStmtComponent,
  226. VerseComponent,
  227. VersesGroupComponent,
  228. VersionPanelComponent,
  229. WitnessPanelComponent,
  230. WordComponent,
  231. XmlBeautifyPipe,
  232. LemEntryComponent,
  233. LemEntryDetailComponent,
  234. LemEntryReadingsComponent,
  235. // add by FS
  236. LemmatizedEntitiesListComponent,
  237. LemmatizedEntityComponent,
  238. LemmatizedEntityDetailComponent,
  239. LemmatizedEntityOccurrenceComponent,
  240. LemmatizedEntityRefComponent,
  241. LemmatizedEntityRelationComponent,
  242. ],
  243. imports: [
  244. AppRoutingModule,
  245. AppTranslationModule,
  246. BrowserModule,
  247. BrowserAnimationsModule,
  248. DynamicAttributesModule,
  249. DynamicModule,
  250. ExperimentalScrollingModule,
  251. FormsModule,
  252. GridsterModule,
  253. HttpClientModule,
  254. Ng2HandySyntaxHighlighterModule,
  255. NgbModule,
  256. NgbPopoverModule,
  257. NgxSliderModule,
  258. NgxSpinnerModule,
  259. RouterModule.forRoot(routes, { useHash: true, relativeLinkResolution: 'legacy' }),
  260. ScrollingModule,
  261. UiComponentsModule,
  262. ],
  263. providers: [
  264. AnnotatorService,
  265. AppConfig,
  266. {
  267. provide: APP_INITIALIZER,
  268. useFactory: initializeApp,
  269. deps: [AppConfig], multi: true,
  270. },
  271. AppConfig,
  272. GenericParserService,
  273. IdbService,
  274. ThemesService,
  275. XMLParsers,
  276. ],
  277. bootstrap: [
  278. AppComponent,
  279. ],
  280. entryComponents: [
  281. AdditionComponent,
  282. EvtInfoComponent,
  283. GlobalListsComponent,
  284. NamedEntitiesListComponent,
  285. NamedEntityComponent,
  286. NamedEntityDetailComponent,
  287. NamedEntityRefComponent,
  288. NamedEntityRelationComponent,
  289. ProjectInfoComponent,
  290. ShortcutsComponent,
  291. // add by FS
  292. LemmatizedEntitiesListComponent,
  293. LemmatizedEntityComponent,
  294. LemmatizedEntityDetailComponent,
  295. LemmatizedEntityRefComponent,
  296. LemmatizedEntityRelationComponent,
  297. ],
  298. })
  299. export class AppModule {
  300. constructor(
  301. library: FaIconLibrary,
  302. ) {
  303. library.addIconPacks(fas);
  304. }
  305. }