shared.module.ts 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235
  1. import { DragDropModule } from '@angular/cdk/drag-drop';
  2. import { OverlayModule } from '@angular/cdk/overlay';
  3. import { CommonModule } from '@angular/common';
  4. import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
  5. import { FormsModule, ReactiveFormsModule } from '@angular/forms';
  6. import { RouterModule } from '@angular/router';
  7. import { ClarityModule } from '@clr/angular';
  8. import { NgSelectModule } from '@ng-select/ng-select';
  9. import { TranslateModule } from '@ngx-translate/core';
  10. import { NgxPaginationModule } from 'ngx-pagination';
  11. import { ActionBarItemsComponent } from './components/action-bar-items/action-bar-items.component';
  12. import {
  13. ActionBarComponent,
  14. ActionBarLeftComponent,
  15. ActionBarRightComponent,
  16. } from './components/action-bar/action-bar.component';
  17. import { AffixedInputComponent } from './components/affixed-input/affixed-input.component';
  18. import { PercentageSuffixInputComponent } from './components/affixed-input/percentage-suffix-input.component';
  19. import { AssetFileInputComponent } from './components/asset-file-input/asset-file-input.component';
  20. import { AssetGalleryComponent } from './components/asset-gallery/asset-gallery.component';
  21. import { AssetPickerDialogComponent } from './components/asset-picker-dialog/asset-picker-dialog.component';
  22. import { AssetPreviewDialogComponent } from './components/asset-preview-dialog/asset-preview-dialog.component';
  23. import { AssetPreviewComponent } from './components/asset-preview/asset-preview.component';
  24. import { ChannelAssignmentControlComponent } from './components/channel-assignment-control/channel-assignment-control.component';
  25. import { ChannelBadgeComponent } from './components/channel-badge/channel-badge.component';
  26. import { ChipComponent } from './components/chip/chip.component';
  27. import { ConfigurableInputComponent } from './components/configurable-input/configurable-input.component';
  28. import { CurrencyInputComponent } from './components/currency-input/currency-input.component';
  29. import { CustomFieldControlComponent } from './components/custom-field-control/custom-field-control.component';
  30. import { CustomerLabelComponent } from './components/customer-label/customer-label.component';
  31. import { DataTableColumnComponent } from './components/data-table/data-table-column.component';
  32. import { DataTableComponent } from './components/data-table/data-table.component';
  33. import { DatetimePickerComponent } from './components/datetime-picker/datetime-picker.component';
  34. import { DropdownItemDirective } from './components/dropdown/dropdown-item.directive';
  35. import { DropdownMenuComponent } from './components/dropdown/dropdown-menu.component';
  36. import { DropdownTriggerDirective } from './components/dropdown/dropdown-trigger.directive';
  37. import { DropdownComponent } from './components/dropdown/dropdown.component';
  38. import { EntityInfoComponent } from './components/entity-info/entity-info.component';
  39. import { ExtensionHostComponent } from './components/extension-host/extension-host.component';
  40. import { FacetValueChipComponent } from './components/facet-value-chip/facet-value-chip.component';
  41. import { FacetValueSelectorComponent } from './components/facet-value-selector/facet-value-selector.component';
  42. import { FocalPointControlComponent } from './components/focal-point-control/focal-point-control.component';
  43. import { FormFieldControlDirective } from './components/form-field/form-field-control.directive';
  44. import { FormFieldComponent } from './components/form-field/form-field.component';
  45. import { FormItemComponent } from './components/form-item/form-item.component';
  46. import { FormattedAddressComponent } from './components/formatted-address/formatted-address.component';
  47. import { ItemsPerPageControlsComponent } from './components/items-per-page-controls/items-per-page-controls.component';
  48. import { LabeledDataComponent } from './components/labeled-data/labeled-data.component';
  49. import { LanguageSelectorComponent } from './components/language-selector/language-selector.component';
  50. import { DialogButtonsDirective } from './components/modal-dialog/dialog-buttons.directive';
  51. import { DialogComponentOutletComponent } from './components/modal-dialog/dialog-component-outlet.component';
  52. import { DialogTitleDirective } from './components/modal-dialog/dialog-title.directive';
  53. import { ModalDialogComponent } from './components/modal-dialog/modal-dialog.component';
  54. import { ObjectTreeComponent } from './components/object-tree/object-tree.component';
  55. import { OrderStateLabelComponent } from './components/order-state-label/order-state-label.component';
  56. import { PaginationControlsComponent } from './components/pagination-controls/pagination-controls.component';
  57. import { ExternalImageDialogComponent } from './components/rich-text-editor/external-image-dialog/external-image-dialog.component';
  58. import { LinkDialogComponent } from './components/rich-text-editor/link-dialog/link-dialog.component';
  59. import { RichTextEditorComponent } from './components/rich-text-editor/rich-text-editor.component';
  60. import { SelectToggleComponent } from './components/select-toggle/select-toggle.component';
  61. import { SimpleDialogComponent } from './components/simple-dialog/simple-dialog.component';
  62. import { TableRowActionComponent } from './components/table-row-action/table-row-action.component';
  63. import { TitleInputComponent } from './components/title-input/title-input.component';
  64. import { DisabledDirective } from './directives/disabled.directive';
  65. import { IfDefaultChannelActiveDirective } from './directives/if-default-channel-active.directive';
  66. import { IfMultichannelDirective } from './directives/if-multichannel.directive';
  67. import { IfPermissionsDirective } from './directives/if-permissions.directive';
  68. import { AssetPreviewPipe } from './pipes/asset-preview.pipe';
  69. import { ChannelLabelPipe } from './pipes/channel-label.pipe';
  70. import { CurrencyNamePipe } from './pipes/currency-name.pipe';
  71. import { CustomFieldLabelPipe } from './pipes/custom-field-label.pipe';
  72. import { FileSizePipe } from './pipes/file-size.pipe';
  73. import { HasPermissionPipe } from './pipes/has-permission.pipe';
  74. import { SentenceCasePipe } from './pipes/sentence-case.pipe';
  75. import { SortPipe } from './pipes/sort.pipe';
  76. import { StringToColorPipe } from './pipes/string-to-color.pipe';
  77. import { ModalService } from './providers/modal/modal.service';
  78. import { CanDeactivateDetailGuard } from './providers/routing/can-deactivate-detail-guard';
  79. /*import {
  80. AffixedInputComponent,
  81. AssetFileInputComponent,
  82. AssetGalleryComponent,
  83. AssetPickerDialogComponent,
  84. AssetPreviewComponent,
  85. AssetPreviewDialogComponent,
  86. AssetPreviewPipe,
  87. ChannelAssignmentControlComponent,
  88. ChannelBadgeComponent,
  89. ChannelLabelPipe,
  90. ChipComponent,
  91. ConfigurableInputComponent,
  92. CurrencyInputComponent,
  93. CurrencyNamePipe,
  94. CustomerLabelComponent,
  95. CustomFieldControlComponent,
  96. CustomFieldLabelPipe,
  97. DataTableColumnComponent,
  98. DataTableComponent,
  99. DatetimePickerComponent,
  100. DialogButtonsDirective,
  101. DialogComponentOutletComponent,
  102. DialogTitleDirective,
  103. DropdownComponent,
  104. DropdownItemDirective,
  105. DropdownMenuComponent,
  106. DropdownTriggerDirective,
  107. EntityInfoComponent,
  108. ExtensionHostComponent,
  109. ExternalImageDialogComponent,
  110. FacetValueChipComponent,
  111. FacetValueSelectorComponent,
  112. FileSizePipe,
  113. FocalPointControlComponent,
  114. FormattedAddressComponent,
  115. FormFieldComponent,
  116. FormFieldControlDirective,
  117. FormItemComponent,
  118. IfDefaultChannelActiveDirective,
  119. IfMultichannelDirective,
  120. IfPermissionsDirective,
  121. ItemsPerPageControlsComponent,
  122. LabeledDataComponent,
  123. LanguageSelectorComponent,
  124. LinkDialogComponent,
  125. ModalDialogComponent,
  126. ObjectTreeComponent,
  127. OrderStateLabelComponent,
  128. PaginationControlsComponent,
  129. PercentageSuffixInputComponent,
  130. RichTextEditorComponent,
  131. SelectToggleComponent,
  132. SentenceCasePipe,
  133. SimpleDialogComponent,
  134. SortPipe,
  135. StringToColorPipe,
  136. TableRowActionComponent,
  137. TitleInputComponent,
  138. } from './shared-declarations';*/
  139. const IMPORTS = [
  140. ClarityModule,
  141. CommonModule,
  142. FormsModule,
  143. ReactiveFormsModule,
  144. RouterModule,
  145. NgSelectModule,
  146. NgxPaginationModule,
  147. TranslateModule,
  148. OverlayModule,
  149. DragDropModule,
  150. ];
  151. const DECLARATIONS = [
  152. ActionBarComponent,
  153. ActionBarLeftComponent,
  154. ActionBarRightComponent,
  155. AssetPreviewComponent,
  156. AssetPreviewDialogComponent,
  157. ConfigurableInputComponent,
  158. AffixedInputComponent,
  159. ChipComponent,
  160. CurrencyInputComponent,
  161. CurrencyNamePipe,
  162. CustomerLabelComponent,
  163. CustomFieldControlComponent,
  164. DataTableComponent,
  165. DataTableColumnComponent,
  166. FacetValueSelectorComponent,
  167. ItemsPerPageControlsComponent,
  168. PaginationControlsComponent,
  169. TableRowActionComponent,
  170. FacetValueChipComponent,
  171. FileSizePipe,
  172. FormFieldComponent,
  173. FormFieldControlDirective,
  174. FormItemComponent,
  175. ModalDialogComponent,
  176. PercentageSuffixInputComponent,
  177. DialogComponentOutletComponent,
  178. DialogButtonsDirective,
  179. DialogTitleDirective,
  180. SelectToggleComponent,
  181. LanguageSelectorComponent,
  182. RichTextEditorComponent,
  183. SimpleDialogComponent,
  184. TitleInputComponent,
  185. SentenceCasePipe,
  186. DropdownComponent,
  187. DropdownMenuComponent,
  188. SortPipe,
  189. DropdownTriggerDirective,
  190. DropdownItemDirective,
  191. OrderStateLabelComponent,
  192. FormattedAddressComponent,
  193. LabeledDataComponent,
  194. StringToColorPipe,
  195. ObjectTreeComponent,
  196. IfPermissionsDirective,
  197. IfMultichannelDirective,
  198. HasPermissionPipe,
  199. ActionBarItemsComponent,
  200. DisabledDirective,
  201. AssetFileInputComponent,
  202. AssetGalleryComponent,
  203. AssetPickerDialogComponent,
  204. EntityInfoComponent,
  205. DatetimePickerComponent,
  206. ChannelBadgeComponent,
  207. ChannelAssignmentControlComponent,
  208. ChannelLabelPipe,
  209. IfDefaultChannelActiveDirective,
  210. ExtensionHostComponent,
  211. CustomFieldLabelPipe,
  212. FocalPointControlComponent,
  213. AssetPreviewPipe,
  214. LinkDialogComponent,
  215. ExternalImageDialogComponent,
  216. ];
  217. @NgModule({
  218. imports: IMPORTS,
  219. exports: [...IMPORTS, ...DECLARATIONS],
  220. declarations: DECLARATIONS,
  221. providers: [
  222. // This needs to be shared, since lazy-loaded
  223. // modules have their own entryComponents which
  224. // are unknown to the CoreModule instance of ModalService.
  225. // See https://github.com/angular/angular/issues/14324#issuecomment-305650763
  226. ModalService,
  227. CanDeactivateDetailGuard,
  228. ],
  229. schemas: [CUSTOM_ELEMENTS_SCHEMA],
  230. })
  231. export class SharedModule {}