{"version":3,"file":"c8y-ngx-components-operations-device-selector.mjs","sources":["../../operations/device-selector/device-selector.component.ts","../../operations/device-selector/device-selector.component.html","../../operations/device-selector/device-selector.module.ts","../../operations/device-selector/c8y-ngx-components-operations-device-selector.ts"],"sourcesContent":["import {\n  Component,\n  EventEmitter,\n  Input,\n  OnDestroy,\n  OnInit,\n  Output,\n  ViewChild\n} from '@angular/core';\nimport {\n  Column,\n  DATA_GRID_CONFIGURATION_CONTEXT,\n  DATA_GRID_CONFIGURATION_STRATEGY,\n  FilteringActionType,\n  UserPreferencesConfigurationStrategy,\n  UserPreferencesGridConfigContext\n} from '@c8y/ngx-components';\nimport {\n  AlarmsDeviceGridColumn,\n  DeviceGridComponent,\n  GroupDeviceGridColumn,\n  ModelDeviceGridColumn,\n  NameDeviceGridColumn,\n  RegistrationDateDeviceGridColumn,\n  StatusDeviceGridColumn,\n  TypeDeviceGridColumn\n} from '@c8y/ngx-components/device-grid';\nimport { Observable, Subject } from 'rxjs';\nimport { distinctUntilChanged, takeUntil } from 'rxjs/operators';\n\nconst GRID_CONFIG_KEY = 'device-grid-bulk';\n@Component({\n  selector: 'c8y-device-selector',\n  templateUrl: 'device-selector.component.html',\n  providers: [\n    {\n      provide: DATA_GRID_CONFIGURATION_STRATEGY,\n      useClass: UserPreferencesConfigurationStrategy\n    },\n    {\n      provide: DATA_GRID_CONFIGURATION_CONTEXT,\n      useValue: DeviceSelectorComponent.GRID_CONFIG_CONTEXT\n    }\n  ]\n})\nexport class DeviceSelectorComponent implements OnInit, OnDestroy {\n  static readonly GRID_CONFIG_CONTEXT: UserPreferencesGridConfigContext = {\n    key: GRID_CONFIG_KEY,\n    configFilter: {\n      filter: false\n    }\n  };\n\n  @ViewChild(DeviceGridComponent, { static: true })\n  deviceGrid: DeviceGridComponent;\n\n  @Input()\n  deviceTypes: Observable<string[]>;\n\n  typeColumn: Column = new TypeDeviceGridColumn();\n\n  @Output()\n  onDeviceQueryStringChange: EventEmitter<string> = new EventEmitter<string>();\n\n  columns: Column[] = [\n    new StatusDeviceGridColumn(),\n    new NameDeviceGridColumn(),\n    this.typeColumn,\n    new ModelDeviceGridColumn(),\n    new GroupDeviceGridColumn(),\n    new RegistrationDateDeviceGridColumn(),\n    new AlarmsDeviceGridColumn()\n  ];\n\n  private unsubscribe$: Subject<boolean> = new Subject();\n\n  ngOnInit(): void {\n    if (this.deviceTypes) {\n      this.deviceTypes\n        .pipe(distinctUntilChanged(), takeUntil(this.unsubscribe$))\n        .subscribe((types: string[]) => {\n          this.deviceGrid.updateFiltering([this.typeColumn.name], {\n            type:\n              types && types.length\n                ? FilteringActionType.ApplyFilter\n                : FilteringActionType.ResetFilter,\n            payload: types\n              ? {\n                  filteringModifier: {\n                    externalFilterQuery: {\n                      types\n                    }\n                  }\n                }\n              : undefined\n          });\n        });\n    }\n  }\n\n  ngOnDestroy(): void {\n    this.unsubscribe$.next(true);\n    this.unsubscribe$.complete();\n  }\n}\n","<c8y-device-grid\n  [title]=\"'Target devices' | translate\"\n  [columns]=\"columns\"\n  [infiniteScroll]=\"'auto'\"\n  [showSearch]=\"false\"\n  (onDeviceQueryStringChange)=\"onDeviceQueryStringChange.emit($event)\"\n  c8yProductExperience\n  [actionName]=\"'bulkOperations'\"\n></c8y-device-grid>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@c8y/ngx-components';\nimport { DeviceGridModule } from '@c8y/ngx-components/device-grid';\nimport { DeviceSelectorComponent } from './device-selector.component';\n\n/**\n * This module provides a component for selecting devices based on filters.\n */\n@NgModule({\n  imports: [CoreModule, DeviceGridModule],\n  declarations: [DeviceSelectorComponent],\n  exports: [DeviceSelectorComponent]\n})\nexport class DeviceSelectorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}