projects/maplander/components/src/lib/components/property/property.module.ts
import {NgModule} from '@angular/core';
import {CommonModule, CurrencyPipe} from '@angular/common';
import {EditorComponent} from './components/editor/editor.component';
import {FormsModule, ReactiveFormsModule} from '@angular/forms';
import {OwnerInfoComponent} from './components/owner-info/owner-info.component';
import {DocumentsComponent} from './components/documents/documents.component';
import {
CountryCodeModule,
DialogModule,
LocationModule,
SafeUrlModule, ShareModule,
StringManipulationModule,
UploadFileModule
} from '@maplander/shared';
import {SnackBarModule} from '@maplander/core';
import {PropertyComponent} from './components/property/property.component';
import {DetailsComponent} from './components/details/details.component';
import {SlideShowComponent} from './components/slideshow/slide-show.component';
import {MultimediaUploaderComponent} from './components/multimedia-uploader/multimedia-uploader.component';
import {AnnounceConfirmComponent} from './components/announce-confirm/announce-confirm.component';
import {MultimediaUploaderService} from './components/multimedia-uploader/multimedia-uploader.service';
import {AnnounceConfirmService} from './components/announce-confirm/announce-confirm.service';
import {CustomDatepickerModule} from './components/editor/components/custom-datepicker/custom-datepicker.module';
import {DocumentVisorModule} from '../document-visor/document-visor.module';
import {PanoramaVisorModule} from '../panorama-visor/panorama-visor.module';
import {FormatDateModule} from '../../pipes/format-date/format-date.module';
import {OfferingTypeModule} from '../../pipes/offering-type/offering-type.module';
import {PropertyTypeModule} from '../../pipes/property-type/property-type.module';
import {MatButtonModule} from '@angular/material/button';
import {MatButtonToggleModule} from '@angular/material/button-toggle';
import {MatCheckboxModule} from '@angular/material/checkbox';
import {MatDatepickerModule} from '@angular/material/datepicker';
import {MatFormFieldModule} from '@angular/material/form-field';
import {MatIconModule} from '@angular/material/icon';
import {MatInputModule} from '@angular/material/input';
import {MatRadioModule} from '@angular/material/radio';
import {MatSelectModule} from '@angular/material/select';
import {MatSidenavModule} from '@angular/material/sidenav';
import {MatTabsModule} from '@angular/material/tabs';
import {MatToolbarModule} from '@angular/material/toolbar';
import {MatNativeDateModule, MatRippleModule} from '@angular/material/core';
import {MatTooltipModule} from '@angular/material/tooltip';
import {EcoFabSpeedDialModule} from '@ecodev/fab-speed-dial';
import {FormatPriceModule} from '../../directives/format-price/format-price.module';
import {DragDropModule} from '@angular/cdk/drag-drop';
import { CustomDragAndDropComponent } from './components/custom-drag-and-drop/custom-drag-and-drop.component';
import {GalleryComponent} from './components/gallery/gallery.component';
import {GalleryService} from './components/gallery/gallery.service';
const MATERIAL = [
MatButtonModule,
MatCheckboxModule,
MatIconModule,
MatButtonToggleModule,
MatRadioModule,
MatInputModule,
MatFormFieldModule,
MatSelectModule,
MatSidenavModule,
MatToolbarModule,
MatTabsModule,
MatDatepickerModule,
MatTooltipModule,
MatRippleModule,
MatNativeDateModule,
DragDropModule
];
const PAGES = [
PropertyComponent
];
const COMPONENTS = [
DetailsComponent,
EditorComponent,
OwnerInfoComponent,
SlideShowComponent,
DocumentsComponent,
MultimediaUploaderComponent,
AnnounceConfirmComponent,
CustomDragAndDropComponent,
GalleryComponent
];
const ENTRY_COMPONENTS = [
MultimediaUploaderComponent,
AnnounceConfirmComponent,
GalleryComponent
];
const PROVIDERS = [
MultimediaUploaderService,
AnnounceConfirmService,
CurrencyPipe,
GalleryService
];
@NgModule({
imports: [
CommonModule,
MATERIAL,
EcoFabSpeedDialModule,
ReactiveFormsModule,
FormsModule,
UploadFileModule,
DocumentVisorModule.forChild(),
OfferingTypeModule.forChild(),
PropertyTypeModule.forChild(),
SafeUrlModule.forChild(),
StringManipulationModule.forChild(),
FormatDateModule.forChild(),
FormatPriceModule.forChild(),
ShareModule.forChild(),
PanoramaVisorModule,
CountryCodeModule,
LocationModule,
DialogModule,
CustomDatepickerModule,
SnackBarModule.forRoot()
],
declarations: [
PAGES,
COMPONENTS
],
entryComponents: [
ENTRY_COMPONENTS
],
exports: [
PropertyComponent
],
providers: [
PROVIDERS
]
})
export class PropertyModule {
}