@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
49 lines • 8.16 kB
JavaScript
import { Inject, Injectable, Optional } from '@angular/core';
import { AbstractConfigurationStrategy, DATA_GRID_CONFIGURATION_CONTEXT, DATA_GRID_CONFIGURATION_CONTEXT_PROVIDER, UserPreferencesConfigurationStrategy } from '@c8y/ngx-components';
import { AssetNodeService } from '@c8y/ngx-components/assets-navigator';
import { SmartGroupGridConfigurationStrategy } from './smart-group-grid-configuration-strategy.service';
import * as i0 from "@angular/core";
import * as i1 from "@c8y/ngx-components";
import * as i2 from "./smart-group-grid-configuration-strategy.service";
import * as i3 from "@c8y/ngx-components/assets-navigator";
export class SubAssetsGridConfigurationStrategy extends AbstractConfigurationStrategy {
constructor(userPreferencesConfigurationStrategy, smartGroupGridConfigurationStrategy, assetNodeService, context, contextProvider) {
super(context, contextProvider);
this.userPreferencesConfigurationStrategy = userPreferencesConfigurationStrategy;
this.smartGroupGridConfigurationStrategy = smartGroupGridConfigurationStrategy;
this.assetNodeService = assetNodeService;
this.context = context;
this.contextProvider = contextProvider;
}
getConfig$(context) {
return this.getStrategy(context).getConfig$(context);
}
saveConfig$(config, context) {
return this.getStrategy(context).saveConfig$(config, context);
}
getStrategy(ctx) {
const context = this.retrieveContext(ctx);
return !!context?.group &&
this.assetNodeService.isDynamicGroup(context?.group) &&
context?.group?.c8y_DeviceColumnsConfig
? this.smartGroupGridConfigurationStrategy
: this.userPreferencesConfigurationStrategy;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubAssetsGridConfigurationStrategy, deps: [{ token: i1.UserPreferencesConfigurationStrategy }, { token: i2.SmartGroupGridConfigurationStrategy }, { token: i3.AssetNodeService }, { token: DATA_GRID_CONFIGURATION_CONTEXT, optional: true }, { token: DATA_GRID_CONFIGURATION_CONTEXT_PROVIDER, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubAssetsGridConfigurationStrategy, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubAssetsGridConfigurationStrategy, decorators: [{
type: Injectable,
args: [{ providedIn: 'root' }]
}], ctorParameters: () => [{ type: i1.UserPreferencesConfigurationStrategy }, { type: i2.SmartGroupGridConfigurationStrategy }, { type: i3.AssetNodeService }, { type: undefined, decorators: [{
type: Inject,
args: [DATA_GRID_CONFIGURATION_CONTEXT]
}, {
type: Optional
}] }, { type: undefined, decorators: [{
type: Inject,
args: [DATA_GRID_CONFIGURATION_CONTEXT_PROVIDER]
}, {
type: Optional
}] }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLWFzc2V0cy1ncmlkLWNvbmZpZ3VyYXRpb24tc3RyYXRlZ3kuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3N1Yi1hc3NldHMvc3ViLWFzc2V0cy1ncmlkLWNvbmZpZ3VyYXRpb24tc3RyYXRlZ3kuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUNMLDZCQUE2QixFQUU3QiwrQkFBK0IsRUFDL0Isd0NBQXdDLEVBSXhDLG9DQUFvQyxFQUVyQyxNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLG1EQUFtRCxDQUFDOzs7OztBQU94RyxNQUFNLE9BQU8sa0NBQW1DLFNBQVEsNkJBQTZCO0lBQ25GLFlBQ1ksb0NBQTBFLEVBQzFFLG1DQUF3RSxFQUN4RSxnQkFBa0MsRUFHbEMsT0FBMEIsRUFHMUIsZUFBMEM7UUFFcEQsS0FBSyxDQUFDLE9BQU8sRUFBRSxlQUFlLENBQUMsQ0FBQztRQVZ0Qix5Q0FBb0MsR0FBcEMsb0NBQW9DLENBQXNDO1FBQzFFLHdDQUFtQyxHQUFuQyxtQ0FBbUMsQ0FBcUM7UUFDeEUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUdsQyxZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUcxQixvQkFBZSxHQUFmLGVBQWUsQ0FBMkI7SUFHdEQsQ0FBQztJQUVELFVBQVUsQ0FBQyxPQUFvQztRQUM3QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxXQUFXLENBQUMsTUFBa0IsRUFBRSxPQUFvQztRQUNsRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU8sV0FBVyxDQUFDLEdBQWdDO1FBQ2xELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUErQixDQUFDO1FBQ3hFLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLO1lBQ3JCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQztZQUNwRCxPQUFPLEVBQUUsS0FBSyxFQUFFLHVCQUF1QjtZQUN2QyxDQUFDLENBQUMsSUFBSSxDQUFDLG1DQUFtQztZQUMxQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9DQUFvQyxDQUFDO0lBQ2hELENBQUM7K0dBOUJVLGtDQUFrQyx5SkFLbkMsK0JBQStCLDZCQUcvQix3Q0FBd0M7bUhBUnZDLGtDQUFrQyxjQURyQixNQUFNOzs0RkFDbkIsa0NBQWtDO2tCQUQ5QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7MEJBTTdCLE1BQU07MkJBQUMsK0JBQStCOzswQkFDdEMsUUFBUTs7MEJBRVIsTUFBTTsyQkFBQyx3Q0FBd0M7OzBCQUMvQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSU1hbmFnZWRPYmplY3QgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbmZpZ3VyYXRpb25TdHJhdGVneSxcbiAgRGF0YUdyaWRDb25maWd1cmF0aW9uU3RyYXRlZ3ksXG4gIERBVEFfR1JJRF9DT05GSUdVUkFUSU9OX0NPTlRFWFQsXG4gIERBVEFfR1JJRF9DT05GSUdVUkFUSU9OX0NPTlRFWFRfUFJPVklERVIsXG4gIEdyaWRDb25maWcsXG4gIEdyaWRDb25maWdDb250ZXh0LFxuICBHcmlkQ29uZmlnQ29udGV4dFByb3ZpZGVyLFxuICBVc2VyUHJlZmVyZW5jZXNDb25maWd1cmF0aW9uU3RyYXRlZ3ksXG4gIFVzZXJQcmVmZXJlbmNlc0dyaWRDb25maWdDb250ZXh0XG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgQXNzZXROb2RlU2VydmljZSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvYXNzZXRzLW5hdmlnYXRvcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTbWFydEdyb3VwR3JpZENvbmZpZ3VyYXRpb25TdHJhdGVneSB9IGZyb20gJy4vc21hcnQtZ3JvdXAtZ3JpZC1jb25maWd1cmF0aW9uLXN0cmF0ZWd5LnNlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN1YkFzc2V0c0dyaWRDb25maWdDb250ZXh0IGV4dGVuZHMgVXNlclByZWZlcmVuY2VzR3JpZENvbmZpZ0NvbnRleHQge1xuICBncm91cDogSU1hbmFnZWRPYmplY3Q7XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU3ViQXNzZXRzR3JpZENvbmZpZ3VyYXRpb25TdHJhdGVneSBleHRlbmRzIEFic3RyYWN0Q29uZmlndXJhdGlvblN0cmF0ZWd5IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHVzZXJQcmVmZXJlbmNlc0NvbmZpZ3VyYXRpb25TdHJhdGVneTogVXNlclByZWZlcmVuY2VzQ29uZmlndXJhdGlvblN0cmF0ZWd5LFxuICAgIHByb3RlY3RlZCBzbWFydEdyb3VwR3JpZENvbmZpZ3VyYXRpb25TdHJhdGVneTogU21hcnRHcm91cEdyaWRDb25maWd1cmF0aW9uU3RyYXRlZ3ksXG4gICAgcHJvdGVjdGVkIGFzc2V0Tm9kZVNlcnZpY2U6IEFzc2V0Tm9kZVNlcnZpY2UsXG4gICAgQEluamVjdChEQVRBX0dSSURfQ09ORklHVVJBVElPTl9DT05URVhUKVxuICAgIEBPcHRpb25hbCgpXG4gICAgcHJvdGVjdGVkIGNvbnRleHQ6IEdyaWRDb25maWdDb250ZXh0LFxuICAgIEBJbmplY3QoREFUQV9HUklEX0NPTkZJR1VSQVRJT05fQ09OVEVYVF9QUk9WSURFUilcbiAgICBAT3B0aW9uYWwoKVxuICAgIHByb3RlY3RlZCBjb250ZXh0UHJvdmlkZXI6IEdyaWRDb25maWdDb250ZXh0UHJvdmlkZXJcbiAgKSB7XG4gICAgc3VwZXIoY29udGV4dCwgY29udGV4dFByb3ZpZGVyKTtcbiAgfVxuXG4gIGdldENvbmZpZyQoY29udGV4dD86IFN1YkFzc2V0c0dyaWRDb25maWdDb250ZXh0KTogT2JzZXJ2YWJsZTxHcmlkQ29uZmlnPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U3RyYXRlZ3koY29udGV4dCkuZ2V0Q29uZmlnJChjb250ZXh0KTtcbiAgfVxuXG4gIHNhdmVDb25maWckKGNvbmZpZzogR3JpZENvbmZpZywgY29udGV4dD86IFN1YkFzc2V0c0dyaWRDb25maWdDb250ZXh0KTogT2JzZXJ2YWJsZTxHcmlkQ29uZmlnPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U3RyYXRlZ3koY29udGV4dCkuc2F2ZUNvbmZpZyQoY29uZmlnLCBjb250ZXh0KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3RyYXRlZ3koY3R4PzogU3ViQXNzZXRzR3JpZENvbmZpZ0NvbnRleHQpOiBEYXRhR3JpZENvbmZpZ3VyYXRpb25TdHJhdGVneSB7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMucmV0cmlldmVDb250ZXh0KGN0eCkgYXMgU3ViQXNzZXRzR3JpZENvbmZpZ0NvbnRleHQ7XG4gICAgcmV0dXJuICEhY29udGV4dD8uZ3JvdXAgJiZcbiAgICAgIHRoaXMuYXNzZXROb2RlU2VydmljZS5pc0R5bmFtaWNHcm91cChjb250ZXh0Py5ncm91cCkgJiZcbiAgICAgIGNvbnRleHQ/Lmdyb3VwPy5jOHlfRGV2aWNlQ29sdW1uc0NvbmZpZ1xuICAgICAgPyB0aGlzLnNtYXJ0R3JvdXBHcmlkQ29uZmlndXJhdGlvblN0cmF0ZWd5XG4gICAgICA6IHRoaXMudXNlclByZWZlcmVuY2VzQ29uZmlndXJhdGlvblN0cmF0ZWd5O1xuICB9XG59XG4iXX0=