app.module.ts 15 KB

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