import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { ContainerListComponent } from './container-list/container-list.component';
import { ObjectStoreRoutingModule } from './object-store-routing.module';
import { ContainerCreateComponent } from './container-create/container-create.component';
import { ObjectsViewModule } from '@objects-view/objects-view.module';
import { ContainerEditFormComponent } from './tabs/container-edit-form/container-edit-form.component';
import { UiModule } from '@shared/ui/ui.module';
import { ReactiveFormsModule } from '@angular/forms';
import { ErrorHandlingModule } from '@shared/error-handling/error-handling.module';
import { MatFormFieldModule } from '@angular/material/form-field';
import { MatInputModule } from '@angular/material/input';
import { MatCheckboxModule } from '@angular/material/checkbox';
import { ContainerDetailsComponent } from './container-details/container-details.component';
import { ContainerDetailsOverviewComponent } from './tabs/container-details-overview/container-details-overview.component';
import { ContainerObjectsManagerComponent } from './components/container-objects-manager/container-objects-manager.component';
import { MatTableModule } from '@angular/material/table';
import { MatButtonModule } from '@angular/material/button';
import { MatIconModule } from '@angular/material/icon';
import { ContainerObjectUploadComponent } from './container-object-upload/container-object-upload.component';
import { ContainerObjectUploadFormComponent } from './tabs/container-object-upload-form/container-object-upload-form.component';
import { MatProgressBarModule } from '@angular/material/progress-bar';
import { ContainerFolderCreateFormComponent } from './tabs/container-folder-create-form/container-folder-create-form.component';
import { ContainerFolderCreateComponent } from './container-folder-create/container-folder-create.component';
import { ObjectDetailsOverviewComponent } from './tabs/object-details-overview/object-details-overview.component';
import { ContainerObjectCopyFormComponent } from './tabs/container-object-copy-form/container-object-copy-form.component';
import { ContainerObjectCopyComponent } from './container-object-copy/container-object-copy.component';
import { ContainerEditComponent } from './container-edit/container-edit.component';
import { MatSelectModule } from '@angular/material/select';
import { MatAutocompleteModule } from '@angular/material/autocomplete';
import { CommonComponentsModule } from '@shared/common-components/common-components.module';
import { FleioDataControlsModule } from '@shared/fleio-data-controls/fleio-data-controls.module';


@NgModule({
  declarations: [
    ContainerListComponent,
    ContainerCreateComponent,
    ContainerEditFormComponent,
    ContainerDetailsComponent,
    ContainerDetailsOverviewComponent,
    ContainerObjectsManagerComponent,
    ContainerObjectUploadComponent,
    ContainerObjectUploadFormComponent,
    ContainerFolderCreateFormComponent,
    ContainerFolderCreateComponent,
    ObjectDetailsOverviewComponent,
    ContainerObjectCopyFormComponent,
    ContainerObjectCopyComponent,
    ContainerEditComponent,
  ],
  imports: [
    CommonModule,
    ObjectStoreRoutingModule,
    ObjectsViewModule,
    UiModule,
    ReactiveFormsModule,
    ErrorHandlingModule,
    MatFormFieldModule,
    MatInputModule,
    MatCheckboxModule,
    MatTableModule,
    MatButtonModule,
    MatIconModule,
    MatProgressBarModule,
    MatSelectModule,
    MatAutocompleteModule,
    CommonComponentsModule,
    FleioDataControlsModule,
  ]
})
export class ObjectStoreModule {
}
