@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
43 lines • 4.15 kB
JavaScript
import { Injectable } from '@angular/core';
import { cloneDeep } from 'lodash-es';
import * as i0 from "@angular/core";
/**
* Holds current state of dashboard children during edit mode.
*/
export class DashboardOriginatorService {
/**
* Current dashboard children state name for indicating what change will be undone.
*/
get currentStateName() {
return this.state?.name;
}
/**
* Initializes dashboard children state on edit mode start.
* @param state Dashboard children initial state.
*/
initState(state) {
this.state = state;
}
/**
* Updates dashboard children state when it is changed or restored with undo/redo.
* @param state Dashboard children updated state.
*/
setState(state) {
this.state = state;
}
/**
* Returns copy of current state.
*/
getState() {
return cloneDeep(this.state);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DashboardOriginatorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DashboardOriginatorService, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DashboardOriginatorService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root'
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLW9yaWdpbmF0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbnRleHQtZGFzaGJvYXJkL21lbWVudG8vZGFzaGJvYXJkLW9yaWdpbmF0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBRXRDOztHQUVHO0FBSUgsTUFBTSxPQUFPLDBCQUEwQjtJQUNyQzs7T0FFRztJQUNILElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQU1EOzs7T0FHRztJQUNILFNBQVMsQ0FBQyxLQUE2QjtRQUNyQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBQ0Q7OztPQUdHO0lBQ0gsUUFBUSxDQUFDLEtBQTZCO1FBQ3BDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFDRDs7T0FFRztJQUNILFFBQVE7UUFDTixPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQzsrR0EvQlUsMEJBQTBCO21IQUExQiwwQkFBMEIsY0FGekIsTUFBTTs7NEZBRVAsMEJBQTBCO2tCQUh0QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhc2hib2FyZENoaWxkcmVuU3RhdGUgfSBmcm9tICcuLi9jb250ZXh0LWRhc2hib2FyZC5tb2RlbCc7XG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG4vKipcbiAqIEhvbGRzIGN1cnJlbnQgc3RhdGUgb2YgZGFzaGJvYXJkIGNoaWxkcmVuIGR1cmluZyBlZGl0IG1vZGUuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERhc2hib2FyZE9yaWdpbmF0b3JTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIEN1cnJlbnQgZGFzaGJvYXJkIGNoaWxkcmVuIHN0YXRlIG5hbWUgZm9yIGluZGljYXRpbmcgd2hhdCBjaGFuZ2Ugd2lsbCBiZSB1bmRvbmUuXG4gICAqL1xuICBnZXQgY3VycmVudFN0YXRlTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnN0YXRlPy5uYW1lO1xuICB9XG4gIC8qKlxuICAgKiBDdXJyZW50IGRhc2hib2FyZCBjaGlsZHJlbiBzdGF0ZS5cbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgc3RhdGU6IERhc2hib2FyZENoaWxkcmVuU3RhdGU7XG4gIC8qKlxuICAgKiBJbml0aWFsaXplcyBkYXNoYm9hcmQgY2hpbGRyZW4gc3RhdGUgb24gZWRpdCBtb2RlIHN0YXJ0LlxuICAgKiBAcGFyYW0gc3RhdGUgRGFzaGJvYXJkIGNoaWxkcmVuIGluaXRpYWwgc3RhdGUuXG4gICAqL1xuICBpbml0U3RhdGUoc3RhdGU6IERhc2hib2FyZENoaWxkcmVuU3RhdGUpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gc3RhdGU7XG4gIH1cbiAgLyoqXG4gICAqIFVwZGF0ZXMgZGFzaGJvYXJkIGNoaWxkcmVuIHN0YXRlIHdoZW4gaXQgaXMgY2hhbmdlZCBvciByZXN0b3JlZCB3aXRoIHVuZG8vcmVkby5cbiAgICogQHBhcmFtIHN0YXRlIERhc2hib2FyZCBjaGlsZHJlbiB1cGRhdGVkIHN0YXRlLlxuICAgKi9cbiAgc2V0U3RhdGUoc3RhdGU6IERhc2hib2FyZENoaWxkcmVuU3RhdGUpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gc3RhdGU7XG4gIH1cbiAgLyoqXG4gICAqIFJldHVybnMgY29weSBvZiBjdXJyZW50IHN0YXRlLlxuICAgKi9cbiAgZ2V0U3RhdGUoKTogRGFzaGJvYXJkQ2hpbGRyZW5TdGF0ZSB7XG4gICAgcmV0dXJuIGNsb25lRGVlcCh0aGlzLnN0YXRlKTtcbiAgfVxufVxuIl19