thingsboard/ui-ngx/src/app/shared/shared.module.ts

362 lines
13 KiB
TypeScript
Raw Normal View History

///
/// Copyright © 2016-2019 The Thingsboard Authors
///
/// Licensed under the Apache License, Version 2.0 (the "License");
/// you may not use this file except in compliance with the License.
/// You may obtain a copy of the License at
///
/// http://www.apache.org/licenses/LICENSE-2.0
///
/// Unless required by applicable law or agreed to in writing, software
/// distributed under the License is distributed on an "AS IS" BASIS,
/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
/// See the License for the specific language governing permissions and
/// limitations under the License.
///
import { NgModule } from '@angular/core';
import { CommonModule, DatePipe } from '@angular/common';
import { FooterComponent } from './components/footer.component';
import { LogoComponent } from './components/logo.component';
import { TbSnackBarComponent, ToastDirective } from './components/toast.directive';
import { BreadcrumbComponent } from '@app/shared/components/breadcrumb.component';
import { NgxFlowModule, FlowInjectionToken } from '@flowjs/ngx-flow';
2019-11-15 16:12:24 +02:00
import { NgxFlowchartModule } from 'ngx-flowchart/dist/ngx-flowchart';
import Flow from '@flowjs/flow.js';
import {
2019-08-21 18:18:46 +03:00
MatAutocompleteModule,
MatButtonModule,
2019-08-21 18:18:46 +03:00
MatCardModule,
MatCheckboxModule,
2019-08-21 18:18:46 +03:00
MatChipsModule,
MatDatepickerModule,
MatDialogModule,
MatDividerModule,
MatExpansionModule,
MatGridListModule,
MatIconModule,
MatInputModule,
MatMenuModule,
MatPaginatorModule,
2019-08-21 18:18:46 +03:00
MatProgressBarModule,
MatProgressSpinnerModule,
MatRadioModule,
2019-08-21 18:18:46 +03:00
MatSelectModule,
MatSidenavModule,
MatSliderModule,
2019-08-21 18:18:46 +03:00
MatSlideToggleModule,
MatSnackBarModule,
MatSortModule,
2019-08-15 20:39:56 +03:00
MatStepperModule,
2019-08-21 18:18:46 +03:00
MatTableModule,
MatTabsModule,
MatToolbarModule,
MatTooltipModule
} from '@angular/material';
import { MatDatetimepickerModule, MatNativeDatetimeModule } from '@mat-datetimepicker/core';
import { GridsterModule } from 'angular-gridster2';
import { FlexLayoutModule } from '@angular/flex-layout';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { RouterModule } from '@angular/router';
import { ShareModule as ShareButtonsModule } from '@ngx-share/core';
import { HotkeyModule } from 'angular2-hotkeys';
import { ColorPickerModule } from 'ngx-color-picker';
import { NgxHmCarouselModule } from 'ngx-hm-carousel';
import { UserMenuComponent } from '@shared/components/user-menu.component';
import { NospacePipe } from './pipe/nospace.pipe';
import { TranslateModule } from '@ngx-translate/core';
import { TbCheckboxComponent } from '@shared/components/tb-checkbox.component';
import { HelpComponent } from '@shared/components/help.component';
import { TbAnchorComponent } from '@shared/components/tb-anchor.component';
import { MillisecondsToTimeStringPipe } from '@shared/pipe/milliseconds-to-time-string.pipe';
import { TimewindowComponent } from '@shared/components/time/timewindow.component';
import { OverlayModule } from '@angular/cdk/overlay';
import { TimewindowPanelComponent } from '@shared/components/time/timewindow-panel.component';
import { TimeintervalComponent } from '@shared/components/time/timeinterval.component';
import { DatetimePeriodComponent } from '@shared/components/time/datetime-period.component';
import { EnumToArrayPipe } from '@shared/pipe/enum-to-array.pipe';
import { ClipboardModule } from 'ngx-clipboard';
2019-08-29 20:04:59 +03:00
import { ValueInputComponent } from '@shared/components/value-input.component';
import { FullscreenDirective } from '@shared/components/fullscreen.directive';
import { HighlightPipe } from '@shared/pipe/highlight.pipe';
import { DashboardAutocompleteComponent } from '@shared/components/dashboard-autocomplete.component';
import { EntitySubTypeAutocompleteComponent } from '@shared/components/entity/entity-subtype-autocomplete.component';
import { EntitySubTypeSelectComponent } from './components/entity/entity-subtype-select.component';
import { EntityAutocompleteComponent } from './components/entity/entity-autocomplete.component';
import { EntityListComponent } from '@shared/components/entity/entity-list.component';
import { EntityTypeSelectComponent } from './components/entity/entity-type-select.component';
import { EntitySelectComponent } from './components/entity/entity-select.component';
import { DatetimeComponent } from '@shared/components/time/datetime.component';
import { EntityKeysListComponent } from './components/entity/entity-keys-list.component';
import { SocialSharePanelComponent } from './components/socialshare-panel.component';
2019-08-27 20:07:09 +03:00
import { RelationTypeAutocompleteComponent } from '@shared/components/relation/relation-type-autocomplete.component';
import { EntityListSelectComponent } from './components/entity/entity-list-select.component';
import { JsonObjectEditComponent } from './components/json-object-edit.component';
2019-09-03 19:31:16 +03:00
import { FooterFabButtonsComponent } from '@shared/components/footer-fab-buttons.component';
import { CircularProgressDirective } from './components/circular-progress.directive';
import { MatSpinner } from '@angular/material/progress-spinner';
import { FabToolbarComponent, FabActionsDirective, FabTriggerDirective } from './components/fab-toolbar.component';
import { DashboardSelectPanelComponent } from '@shared/components/dashboard-select-panel.component';
import { DashboardSelectComponent } from '@shared/components/dashboard-select.component';
import { WidgetsBundleSelectComponent } from './components/widgets-bundle-select.component';
2019-09-25 19:37:29 +03:00
import { KeyboardShortcutPipe } from './pipe/keyboard-shortcut.pipe';
import { TbErrorComponent } from './components/tb-error.component';
import { EntityTypeListComponent } from './components/entity/entity-type-list.component';
import { EntitySubTypeListComponent } from './components/entity/entity-subtype-list.component';
import { TruncatePipe } from './pipe/truncate.pipe';
import { ColorPickerDialogComponent } from './components/dialog/color-picker-dialog.component';
import { MatChipDraggableDirective } from './components/mat-chip-draggable.directive';
import { ColorInputComponent } from './components/color-input.component';
import { JsFuncComponent } from './components/js-func.component';
import { JsonFormComponent } from './components/json-form/json-form.component';
2019-10-24 19:52:19 +03:00
import { MaterialIconsDialogComponent } from '@shared/components/dialog/material-icons-dialog.component';
import { MaterialIconSelectComponent } from '@shared/components/material-icon-select.component';
import { ImageInputComponent } from './components/image-input.component';
2019-11-08 14:17:15 +02:00
import { FileInputComponent } from './components/file-input.component';
2019-12-24 16:27:09 +02:00
import { NodeScriptTestDialogComponent } from '@shared/components/dialog/node-script-test-dialog.component';
2019-12-27 16:35:11 +02:00
import { MessageTypeAutocompleteComponent } from './components/message-type-autocomplete.component';
import { JsonContentComponent } from './components/json-content.component';
import { KeyValMapComponent } from './components/kv-map.component';
import { TbCheatSheetComponent } from '@shared/components/cheatsheet.component';
import { TbHotkeysDirective } from '@shared/components/hotkeys.directive';
2020-01-31 20:26:08 +02:00
import { NavTreeComponent } from '@shared/components/nav-tree.component';
@NgModule({
providers: [
DatePipe,
2019-08-12 19:34:23 +03:00
MillisecondsToTimeStringPipe,
EnumToArrayPipe,
HighlightPipe,
TruncatePipe,
{
provide: FlowInjectionToken,
useValue: Flow
}
],
entryComponents: [
TbSnackBarComponent,
TbAnchorComponent,
2019-08-12 19:34:23 +03:00
TimewindowPanelComponent,
DashboardSelectPanelComponent,
MatSpinner,
2019-10-24 19:52:19 +03:00
ColorPickerDialogComponent,
2019-12-24 16:27:09 +02:00
MaterialIconsDialogComponent,
NodeScriptTestDialogComponent
],
declarations: [
FooterComponent,
LogoComponent,
2019-09-03 19:31:16 +03:00
FooterFabButtonsComponent,
ToastDirective,
FullscreenDirective,
CircularProgressDirective,
MatChipDraggableDirective,
TbHotkeysDirective,
TbAnchorComponent,
HelpComponent,
TbCheckboxComponent,
TbSnackBarComponent,
TbErrorComponent,
TbCheatSheetComponent,
BreadcrumbComponent,
UserMenuComponent,
2019-08-12 19:34:23 +03:00
TimewindowComponent,
TimewindowPanelComponent,
TimeintervalComponent,
DashboardSelectComponent,
DashboardSelectPanelComponent,
2019-08-12 19:34:23 +03:00
DatetimePeriodComponent,
2019-08-19 20:09:41 +03:00
DatetimeComponent,
2019-08-29 20:04:59 +03:00
ValueInputComponent,
2019-08-12 19:34:23 +03:00
DashboardAutocompleteComponent,
2019-08-13 19:58:35 +03:00
EntitySubTypeAutocompleteComponent,
EntitySubTypeSelectComponent,
EntitySubTypeListComponent,
2019-08-14 19:55:24 +03:00
EntityAutocompleteComponent,
2019-08-15 20:39:56 +03:00
EntityListComponent,
2019-08-19 20:09:41 +03:00
EntityTypeSelectComponent,
EntitySelectComponent,
EntityKeysListComponent,
2019-08-27 20:07:09 +03:00
EntityListSelectComponent,
EntityTypeListComponent,
2019-08-27 20:07:09 +03:00
RelationTypeAutocompleteComponent,
SocialSharePanelComponent,
2019-08-27 20:07:09 +03:00
JsonObjectEditComponent,
2019-12-27 16:35:11 +02:00
JsonContentComponent,
JsFuncComponent,
FabTriggerDirective,
FabActionsDirective,
FabToolbarComponent,
WidgetsBundleSelectComponent,
ColorPickerDialogComponent,
2019-10-24 19:52:19 +03:00
MaterialIconsDialogComponent,
ColorInputComponent,
2019-10-24 19:52:19 +03:00
MaterialIconSelectComponent,
2019-12-24 16:27:09 +02:00
NodeScriptTestDialogComponent,
JsonFormComponent,
ImageInputComponent,
2019-11-08 14:17:15 +02:00
FileInputComponent,
2019-12-27 16:35:11 +02:00
MessageTypeAutocompleteComponent,
KeyValMapComponent,
2020-01-31 20:26:08 +02:00
NavTreeComponent,
NospacePipe,
2019-08-12 19:34:23 +03:00
MillisecondsToTimeStringPipe,
EnumToArrayPipe,
2019-09-25 19:37:29 +03:00
HighlightPipe,
TruncatePipe,
2019-09-25 19:37:29 +03:00
KeyboardShortcutPipe
],
imports: [
CommonModule,
RouterModule,
TranslateModule,
MatButtonModule,
MatCheckboxModule,
MatIconModule,
MatCardModule,
MatProgressBarModule,
MatInputModule,
MatSnackBarModule,
MatSidenavModule,
MatToolbarModule,
MatMenuModule,
MatGridListModule,
MatDialogModule,
MatSelectModule,
MatTooltipModule,
MatTableModule,
MatPaginatorModule,
MatSortModule,
MatProgressSpinnerModule,
MatDividerModule,
MatTabsModule,
MatRadioModule,
MatSlideToggleModule,
MatDatepickerModule,
MatNativeDatetimeModule,
MatDatetimepickerModule,
MatSliderModule,
MatExpansionModule,
MatStepperModule,
MatAutocompleteModule,
2019-08-15 20:39:56 +03:00
MatChipsModule,
2019-09-03 19:31:16 +03:00
GridsterModule,
ClipboardModule,
FlexLayoutModule.withConfig({addFlexToParent: false}),
FormsModule,
ReactiveFormsModule,
OverlayModule,
ShareButtonsModule,
HotkeyModule,
ColorPickerModule,
NgxHmCarouselModule,
2019-11-15 16:12:24 +02:00
NgxFlowModule,
NgxFlowchartModule
],
exports: [
FooterComponent,
LogoComponent,
2019-09-03 19:31:16 +03:00
FooterFabButtonsComponent,
ToastDirective,
FullscreenDirective,
CircularProgressDirective,
MatChipDraggableDirective,
TbHotkeysDirective,
TbAnchorComponent,
HelpComponent,
TbCheckboxComponent,
TbErrorComponent,
TbCheatSheetComponent,
BreadcrumbComponent,
UserMenuComponent,
2019-08-12 19:34:23 +03:00
TimewindowComponent,
TimewindowPanelComponent,
TimeintervalComponent,
DashboardSelectComponent,
2019-08-12 19:34:23 +03:00
DatetimePeriodComponent,
2019-08-19 20:09:41 +03:00
DatetimeComponent,
2019-08-12 19:34:23 +03:00
DashboardAutocompleteComponent,
2019-08-13 19:58:35 +03:00
EntitySubTypeAutocompleteComponent,
EntitySubTypeSelectComponent,
EntitySubTypeListComponent,
2019-08-14 19:55:24 +03:00
EntityAutocompleteComponent,
2019-08-15 20:39:56 +03:00
EntityListComponent,
2019-08-19 20:09:41 +03:00
EntityTypeSelectComponent,
EntitySelectComponent,
EntityKeysListComponent,
2019-08-27 20:07:09 +03:00
EntityListSelectComponent,
EntityTypeListComponent,
2019-08-27 20:07:09 +03:00
RelationTypeAutocompleteComponent,
SocialSharePanelComponent,
2019-08-27 20:07:09 +03:00
JsonObjectEditComponent,
2019-12-27 16:35:11 +02:00
JsonContentComponent,
JsFuncComponent,
FabTriggerDirective,
FabActionsDirective,
FabToolbarComponent,
WidgetsBundleSelectComponent,
2019-08-29 20:04:59 +03:00
ValueInputComponent,
MatButtonModule,
MatCheckboxModule,
MatIconModule,
MatCardModule,
MatProgressBarModule,
MatInputModule,
MatSnackBarModule,
MatSidenavModule,
MatToolbarModule,
MatMenuModule,
MatGridListModule,
MatDialogModule,
MatSelectModule,
MatTooltipModule,
MatTableModule,
MatPaginatorModule,
MatSortModule,
MatProgressSpinnerModule,
MatDividerModule,
MatTabsModule,
MatRadioModule,
MatSlideToggleModule,
MatDatepickerModule,
MatNativeDatetimeModule,
MatDatetimepickerModule,
MatSliderModule,
MatExpansionModule,
MatStepperModule,
MatAutocompleteModule,
2019-08-15 20:39:56 +03:00
MatChipsModule,
2019-09-03 19:31:16 +03:00
GridsterModule,
ClipboardModule,
FlexLayoutModule,
FormsModule,
ReactiveFormsModule,
OverlayModule,
ShareButtonsModule,
HotkeyModule,
ColorPickerModule,
NgxHmCarouselModule,
2019-11-15 16:12:24 +02:00
NgxFlowchartModule,
ColorPickerDialogComponent,
2019-10-24 19:52:19 +03:00
MaterialIconsDialogComponent,
ColorInputComponent,
2019-10-24 19:52:19 +03:00
MaterialIconSelectComponent,
2019-12-24 16:27:09 +02:00
NodeScriptTestDialogComponent,
JsonFormComponent,
ImageInputComponent,
2019-11-08 14:17:15 +02:00
FileInputComponent,
2019-12-27 16:35:11 +02:00
MessageTypeAutocompleteComponent,
KeyValMapComponent,
2020-01-31 20:26:08 +02:00
NavTreeComponent,
NospacePipe,
2019-08-12 19:34:23 +03:00
MillisecondsToTimeStringPipe,
EnumToArrayPipe,
HighlightPipe,
TruncatePipe,
2019-09-25 19:37:29 +03:00
KeyboardShortcutPipe,
TranslateModule
]
})
export class SharedModule { }