import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
import { NativeScriptCommonModule } from '@nativescript/angular';
import { NativeScriptUIDataFormModule } from 'nativescript-ui-dataform/angular';
import { AddressBlockComponent } from '~/shared/components/address-block/address-block.component';
import { ItemPickerComponent } from '~/shared/components/item-picker/item-picker.component';
import { LineInfoItemComponent } from '~/shared/components/line-info-item/line-info-item.component';
import { TopMenuItemComponent } from '~/shared/components/top-menu-item/top-menu-item.component';
import { PostCodePipe } from '~/shared/pipes/post-code.pipe';
import { DataPipe } from './pipes/data.pipe';
import { DateTimePipe } from './pipes/date-time.pipe';
import { DurationPipe } from './pipes/duration.pipe';
import { PhonePipe } from './pipes/phone.pipe';
import { RoleNamePipe } from './pipes/role-name.pipe';
import { SexNamePipe } from './pipes/sex-name.pipe';
import { XmlDateTimePipe } from './pipes/xml-date-time.pipe';
import { GpsDmsPipe } from './pipes/gps-coordinate.pipe';

@NgModule({
    imports: [
        NativeScriptCommonModule,
        NativeScriptUIDataFormModule
    ],
    declarations: [
        DataPipe,
        DateTimePipe,
        PhonePipe,
        RoleNamePipe,
        SexNamePipe,
        XmlDateTimePipe,
        PostCodePipe,
        DurationPipe,
        LineInfoItemComponent,
        ItemPickerComponent,
        TopMenuItemComponent,
        AddressBlockComponent,
        GpsDmsPipe,
    ],
    exports: [
        DataPipe,
        DateTimePipe,
        PhonePipe,
        RoleNamePipe,
        SexNamePipe,
        XmlDateTimePipe,
        PostCodePipe,
        DurationPipe,
        LineInfoItemComponent,
        ItemPickerComponent,
        TopMenuItemComponent,
        AddressBlockComponent,
        GpsDmsPipe,
    ],
    schemas: [
        NO_ERRORS_SCHEMA
    ]
})
export class SharedModule {
}
