UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

1 lines 7.91 kB
{"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 ProductExperienceDirective,\n C8yTranslatePipe\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 imports: [DeviceGridComponent, ProductExperienceDirective, C8yTranslatePipe]\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 // there is a concurrency issue when updateFiltering is called before the columns have actually been passed into the grid\n // so we are already updating the typeColumn here additionally so in case updateFiltering has no affect, the type column is still correctly filtered\n // \"Dynamic group created for bulk operation should be invisible\" cypress tests of configurationUpdateBulkOperation.cy.ts started failing otherwise\n this.typeColumn.externalFilterQuery = { types };\n\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 { DeviceSelectorComponent } from './device-selector.component';\n\n/**\n * This module provides a component for selecting devices based on filters.\n */\n@NgModule({\n imports: [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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"}