@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
35 lines • 4.68 kB
JavaScript
import { DEFAULT_CONFIG } from '../cockpit-config.model';
export class CockpitSetupStep {
constructor(stepper, step, setup, appState, alert, applicationService, cockpitConfigService) {
this.stepper = stepper;
this.step = step;
this.setup = setup;
this.appState = appState;
this.alert = alert;
this.applicationService = applicationService;
this.cockpitConfigService = cockpitConfigService;
this.config = DEFAULT_CONFIG;
this.pending = false;
}
async next() {
this.pending = true;
try {
const newConfig = { ...this.setup.data$.value, ...this.config };
await this.appState.updateCurrentApplicationConfig(newConfig);
this.cockpitConfigService.updateApplication(newConfig);
this.setup.stepCompleted(this.stepper.selectedIndex);
this.setup.data$.next(newConfig);
this.stepper.next();
}
catch (ex) {
this.alert.addServerFailure(ex);
}
finally {
this.pending = false;
}
}
back() {
this.stepper.previous();
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ja3BpdC1zZXR1cC1zdGVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29ja3BpdC1jb25maWcvc2V0dXAvY29ja3BpdC1zZXR1cC1zdGVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBaUIsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJeEUsTUFBTSxPQUFnQixnQkFBZ0I7SUFJcEMsWUFDUyxPQUFtQixFQUNoQixJQUFhLEVBQ2IsS0FBcUIsRUFDckIsUUFBeUIsRUFDekIsS0FBbUIsRUFDbkIsa0JBQXNDLEVBQ3RDLG9CQUEwQztRQU43QyxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ2hCLFNBQUksR0FBSixJQUFJLENBQVM7UUFDYixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUN6QixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBQ25CLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQVZ0RCxXQUFNLEdBQWtCLGNBQWMsQ0FBQztRQUN2QyxZQUFPLEdBQUcsS0FBSyxDQUFDO0lBVWIsQ0FBQztJQUVKLEtBQUssQ0FBQyxJQUFJO1FBQ1IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxTQUFTLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoRSxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsOEJBQThCLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDOUQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDckQsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsQ0FBQztRQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xDLENBQUM7Z0JBQVMsQ0FBQztZQUNULElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDMUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrU3RlcCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zdGVwcGVyJztcbmltcG9ydCB7IEFwcFN0YXRlU2VydmljZSwgQWxlcnRTZXJ2aWNlLCBDOHlTdGVwcGVyLCBTZXR1cENvbXBvbmVudCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgQ29ja3BpdENvbmZpZywgREVGQVVMVF9DT05GSUcgfSBmcm9tICcuLi9jb2NrcGl0LWNvbmZpZy5tb2RlbCc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblNlcnZpY2UgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBDb2NrcGl0Q29uZmlnU2VydmljZSB9IGZyb20gJy4uL2NvY2twaXQtY29uZmlnLnNlcnZpY2UnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ29ja3BpdFNldHVwU3RlcCB7XG4gIGNvbmZpZzogQ29ja3BpdENvbmZpZyA9IERFRkFVTFRfQ09ORklHO1xuICBwZW5kaW5nID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHN0ZXBwZXI6IEM4eVN0ZXBwZXIsXG4gICAgcHJvdGVjdGVkIHN0ZXA6IENka1N0ZXAsXG4gICAgcHJvdGVjdGVkIHNldHVwOiBTZXR1cENvbXBvbmVudCxcbiAgICBwcm90ZWN0ZWQgYXBwU3RhdGU6IEFwcFN0YXRlU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgYWxlcnQ6IEFsZXJ0U2VydmljZSxcbiAgICBwcm90ZWN0ZWQgYXBwbGljYXRpb25TZXJ2aWNlOiBBcHBsaWNhdGlvblNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGNvY2twaXRDb25maWdTZXJ2aWNlOiBDb2NrcGl0Q29uZmlnU2VydmljZVxuICApIHt9XG5cbiAgYXN5bmMgbmV4dCgpIHtcbiAgICB0aGlzLnBlbmRpbmcgPSB0cnVlO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBuZXdDb25maWcgPSB7IC4uLnRoaXMuc2V0dXAuZGF0YSQudmFsdWUsIC4uLnRoaXMuY29uZmlnIH07XG4gICAgICBhd2FpdCB0aGlzLmFwcFN0YXRlLnVwZGF0ZUN1cnJlbnRBcHBsaWNhdGlvbkNvbmZpZyhuZXdDb25maWcpO1xuICAgICAgdGhpcy5jb2NrcGl0Q29uZmlnU2VydmljZS51cGRhdGVBcHBsaWNhdGlvbihuZXdDb25maWcpO1xuICAgICAgdGhpcy5zZXR1cC5zdGVwQ29tcGxldGVkKHRoaXMuc3RlcHBlci5zZWxlY3RlZEluZGV4KTtcbiAgICAgIHRoaXMuc2V0dXAuZGF0YSQubmV4dChuZXdDb25maWcpO1xuICAgICAgdGhpcy5zdGVwcGVyLm5leHQoKTtcbiAgICB9IGNhdGNoIChleCkge1xuICAgICAgdGhpcy5hbGVydC5hZGRTZXJ2ZXJGYWlsdXJlKGV4KTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5wZW5kaW5nID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgYmFjaygpIHtcbiAgICB0aGlzLnN0ZXBwZXIucHJldmlvdXMoKTtcbiAgfVxufVxuIl19