@smartbit4all/ng-client 1.0.6 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,12 +9,14 @@ let SmartComponentApiClient = class SmartComponentApiClient {
9
9
  this.pageName = pageName;
10
10
  this._destroy$ = new Subject();
11
11
  this.detectChange = new SmartSubject(this._destroy$);
12
- this.modelChanged = new SmartSubject(this._destroy$);
12
+ this.uiActionModels = [];
13
+ this.dataChanged = new SmartSubject(this._destroy$);
13
14
  // UseUiAction
14
15
  this.submit = new SmartSubject(this._destroy$);
15
16
  this.reSubscribeToChange = new SmartSubject(this._destroy$);
16
- this.detectChange.subscribe((data) => {
17
- this.data = data;
17
+ this.detectChange.subscribe((model) => {
18
+ this.model = model;
19
+ this.data = model.data;
18
20
  });
19
21
  }
20
22
  get uuid() {
@@ -29,16 +31,14 @@ let SmartComponentApiClient = class SmartComponentApiClient {
29
31
  }
30
32
  set model(model) {
31
33
  this._model = model;
32
- if (model?.data) {
33
- this.data = model?.data;
34
- }
34
+ this.initComponentByModel();
35
35
  }
36
36
  get data() {
37
37
  return this._data;
38
38
  }
39
39
  set data(model) {
40
40
  this._data = model;
41
- this.modelChanged.next();
41
+ this.dataChanged.next();
42
42
  }
43
43
  _ngOnInit() {
44
44
  this.run();
@@ -48,6 +48,26 @@ let SmartComponentApiClient = class SmartComponentApiClient {
48
48
  this._destroy$.next();
49
49
  this._destroy$.complete();
50
50
  }
51
+ initComponentByModel() {
52
+ this.initData();
53
+ this.initActions();
54
+ // TODO: layout, valueSet, widgets
55
+ }
56
+ initData() {
57
+ if (this.model?.data) {
58
+ this.data = this.model?.data;
59
+ }
60
+ }
61
+ initActions() {
62
+ if (this.model?.actions) {
63
+ this.uiActionModels = this.model?.actions.map((uiAction) => {
64
+ return {
65
+ serviceToUse: this,
66
+ uiAction,
67
+ };
68
+ });
69
+ }
70
+ }
51
71
  run() {
52
72
  if (this.auth.bffApisHaveBeenSetUp) {
53
73
  this.load();
@@ -67,14 +87,12 @@ let SmartComponentApiClient = class SmartComponentApiClient {
67
87
  getModel() {
68
88
  return this.data;
69
89
  }
70
- // this should not be abstract
71
90
  async performUiActionRequest(uiActionRequest) {
72
91
  await this.viewContext.performAction(this.uuid, uiActionRequest);
73
92
  }
74
93
  handleSpecificDemandsAsynchronously(uiAction, uiActionRequest) {
75
94
  throw new Error("handleSpecificDemandsAsynchronously method not implemented.");
76
95
  }
77
- // this should not be abstract
78
96
  async load() {
79
97
  this.uuid = this.viewContext.getUuidOfPage(this.pageName);
80
98
  this.model = await this.viewContext.load(this.uuid);
@@ -84,4 +102,4 @@ SmartComponentApiClient = __decorate([
84
102
  __param(2, Inject("pageName"))
85
103
  ], SmartComponentApiClient);
86
104
  export { SmartComponentApiClient };
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY29tcG9uZW50LWFwaS1jbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1jbGllbnQvc21hcnQtY29tcG9uZW50LWFwaS1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFXL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkMsSUFBc0IsdUJBQXVCLEdBQTdDLE1BQXNCLHVCQUF1QjtJQTJDekMsWUFDYyxJQUF5QyxFQUN6QyxXQUFvQyxFQUNoQixRQUFnQjtRQUZwQyxTQUFJLEdBQUosSUFBSSxDQUFxQztRQUN6QyxnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFDaEIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQTdDeEMsY0FBUyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRTNDLGlCQUFZLEdBQW9CLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQWtDekUsaUJBQVksR0FBa0IsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRS9ELGNBQWM7UUFDZCxXQUFNLEdBQWtCLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6RCx3QkFBbUIsR0FBa0IsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBT2xFLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBTyxFQUFFLEVBQUU7WUFDcEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBNUNELElBQUksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsSUFBd0I7UUFDN0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQU0sRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUlELElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBaUM7UUFDdkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxLQUFLLEVBQUUsSUFBSSxFQUFFO1lBQ2IsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLEVBQUUsSUFBVyxDQUFDO1NBQ2xDO0lBQ0wsQ0FBQztJQUlELElBQUksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsS0FBb0I7UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBa0JELFNBQVM7UUFDTCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDZixDQUFDO0lBQ0QsWUFBWTtRQUNSLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFLLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELEdBQUc7UUFDQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDaEMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2Y7YUFBTTtZQUNILElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3BDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNoQixDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVELG1CQUFtQixDQUFDLFFBQWtCO1FBQ2xDLE9BQU87WUFDSCxXQUFXLEVBQUUsRUFBRTtZQUNmLFlBQVksRUFBRSxFQUFFO1NBQ25CLENBQUM7SUFDTixDQUFDO0lBQ0QsUUFBUTtRQUNKLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBQ0QsOEJBQThCO0lBQzlCLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxlQUFnQztRQUN6RCxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFLLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUNELG1DQUFtQyxDQUMvQixRQUFrQixFQUNsQixlQUFnQztRQUVoQyxNQUFNLElBQUksS0FBSyxDQUFDLDZEQUE2RCxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVELDhCQUE4QjtJQUM5QixLQUFLLENBQUMsSUFBSTtRQUNOLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEQsQ0FBQztDQUNKLENBQUE7QUFqR3FCLHVCQUF1QjtJQThDcEMsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7R0E5Q0wsdUJBQXVCLENBaUc1QztTQWpHcUIsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge1xuICAgIENvbXBvbmVudE1vZGVsLFxuICAgIFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlLFxuICAgIFVpQWN0aW9uLFxuICAgIFVpQWN0aW9uQWRkaXRpb25hbFBhcmFtcyxcbiAgICBVaUFjdGlvblJlcXVlc3QsXG4gICAgVWlBY3Rpb25TcGVjaWZpY0RlbWFuZFJlc3BvbnNlLFxuICAgIFVzZVVpQWN0aW9uLFxufSBmcm9tIFwiLi4vdmlldy1jb250ZXh0L3Byb2plY3RzXCI7XG5pbXBvcnQgeyBTbWFydEF1dGhlbnRpY2F0aW9uU2VydmljZUludGVyZmFjZSB9IGZyb20gXCIuL3NtYXJ0LWF1dGhlbnRpY2F0aW9uLnNlcnZpY2VcIjtcbmltcG9ydCB7IFNtYXJ0U3ViamVjdCB9IGZyb20gXCIuL3NtYXJ0LnN1YmplY3RcIjtcbmltcG9ydCB7IEluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTbWFydENvbXBvbmVudEFwaUNsaWVudDxUPiBpbXBsZW1lbnRzIFVzZVVpQWN0aW9uIHtcbiAgICBwcm90ZWN0ZWQgX2Rlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICAgIHByaXZhdGUgZGV0ZWN0Q2hhbmdlOiBTbWFydFN1YmplY3Q8VD4gPSBuZXcgU21hcnRTdWJqZWN0KHRoaXMuX2Rlc3Ryb3kkKTtcblxuICAgIHByaXZhdGUgX3V1aWQ/OiBzdHJpbmc7XG5cbiAgICBnZXQgdXVpZCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5fdXVpZDtcbiAgICB9XG4gICAgc2V0IHV1aWQodXVpZDogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX3V1aWQgPSB1dWlkO1xuICAgICAgICB0aGlzLnZpZXdDb250ZXh0LmZvbGxvdyh0aGlzLl91dWlkISwgdGhpcy5kZXRlY3RDaGFuZ2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX21vZGVsOiBDb21wb25lbnRNb2RlbCB8IHVuZGVmaW5lZDtcblxuICAgIGdldCBtb2RlbCgpOiBDb21wb25lbnRNb2RlbCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tb2RlbDtcbiAgICB9XG4gICAgc2V0IG1vZGVsKG1vZGVsOiBDb21wb25lbnRNb2RlbCB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9tb2RlbCA9IG1vZGVsO1xuICAgICAgICBpZiAobW9kZWw/LmRhdGEpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YSA9IG1vZGVsPy5kYXRhIGFzIGFueTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2RhdGE/OiBUO1xuXG4gICAgZ2V0IGRhdGEoKTogVCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRhO1xuICAgIH1cbiAgICBzZXQgZGF0YShtb2RlbDogVCB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9kYXRhID0gbW9kZWw7XG4gICAgICAgIHRoaXMubW9kZWxDaGFuZ2VkLm5leHQoKTtcbiAgICB9XG5cbiAgICBtb2RlbENoYW5nZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU21hcnRTdWJqZWN0KHRoaXMuX2Rlc3Ryb3kkKTtcblxuICAgIC8vIFVzZVVpQWN0aW9uXG4gICAgc3VibWl0OiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFNtYXJ0U3ViamVjdCh0aGlzLl9kZXN0cm95JCk7XG4gICAgcmVTdWJzY3JpYmVUb0NoYW5nZTogU3ViamVjdDx2b2lkPiA9IG5ldyBTbWFydFN1YmplY3QodGhpcy5fZGVzdHJveSQpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBhdXRoOiBTbWFydEF1dGhlbnRpY2F0aW9uU2VydmljZUludGVyZmFjZSxcbiAgICAgICAgcHJvdGVjdGVkIHZpZXdDb250ZXh0OiBTbWFydFZpZXdDb250ZXh0U2VydmljZSxcbiAgICAgICAgQEluamVjdChcInBhZ2VOYW1lXCIpIHByb3RlY3RlZCBwYWdlTmFtZTogc3RyaW5nXG4gICAgKSB7XG4gICAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlLnN1YnNjcmliZSgoZGF0YTogVCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgX25nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJ1bigpO1xuICAgIH1cbiAgICBfbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmlld0NvbnRleHQudW5mb2xsb3codGhpcy51dWlkISk7XG4gICAgICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBydW4oKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmF1dGguYmZmQXBpc0hhdmVCZWVuU2V0VXApIHtcbiAgICAgICAgICAgIHRoaXMubG9hZCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5hdXRoLmhlYWRlcnNVcGRhdGVkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldEFkZGl0aW9uYWxQYXJhbXModWlBY3Rpb246IFVpQWN0aW9uKTogVWlBY3Rpb25BZGRpdGlvbmFsUGFyYW1zIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGZvclRleHRBcmVhOiBcIlwiLFxuICAgICAgICAgICAgZm9yVGV4dEZpZWxkOiBcIlwiLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBnZXRNb2RlbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YTtcbiAgICB9XG4gICAgLy8gdGhpcyBzaG91bGQgbm90IGJlIGFic3RyYWN0XG4gICAgYXN5bmMgcGVyZm9ybVVpQWN0aW9uUmVxdWVzdCh1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdCk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGF3YWl0IHRoaXMudmlld0NvbnRleHQucGVyZm9ybUFjdGlvbih0aGlzLnV1aWQhLCB1aUFjdGlvblJlcXVlc3QpO1xuICAgIH1cbiAgICBoYW5kbGVTcGVjaWZpY0RlbWFuZHNBc3luY2hyb25vdXNseShcbiAgICAgICAgdWlBY3Rpb246IFVpQWN0aW9uLFxuICAgICAgICB1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdFxuICAgICk6IFByb21pc2U8VWlBY3Rpb25TcGVjaWZpY0RlbWFuZFJlc3BvbnNlPiB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcImhhbmRsZVNwZWNpZmljRGVtYW5kc0FzeW5jaHJvbm91c2x5IG1ldGhvZCBub3QgaW1wbGVtZW50ZWQuXCIpO1xuICAgIH1cblxuICAgIC8vIHRoaXMgc2hvdWxkIG5vdCBiZSBhYnN0cmFjdFxuICAgIGFzeW5jIGxvYWQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRoaXMudXVpZCA9IHRoaXMudmlld0NvbnRleHQuZ2V0VXVpZE9mUGFnZSh0aGlzLnBhZ2VOYW1lKTtcbiAgICAgICAgdGhpcy5tb2RlbCA9IGF3YWl0IHRoaXMudmlld0NvbnRleHQubG9hZCh0aGlzLnV1aWQpO1xuICAgIH1cbn1cbiJdfQ==
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY29tcG9uZW50LWFwaS1jbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1jbGllbnQvc21hcnQtY29tcG9uZW50LWFwaS1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFZL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkMsSUFBc0IsdUJBQXVCLEdBQTdDLE1BQXNCLHVCQUF1QjtJQTRDekMsWUFDYyxJQUF5QyxFQUN6QyxXQUFvQyxFQUNoQixRQUFnQjtRQUZwQyxTQUFJLEdBQUosSUFBSSxDQUFxQztRQUN6QyxnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFDaEIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQTlDeEMsY0FBUyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRTNDLGlCQUFZLEdBQWlDLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQWlDL0UsbUJBQWMsR0FBb0IsRUFBRSxDQUFDO1FBRXJDLGdCQUFXLEdBQWtCLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVyRSxjQUFjO1FBQ2QsV0FBTSxHQUFrQixJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekQsd0JBQW1CLEdBQWtCLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQU9sRSxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQXFCLEVBQUUsRUFBRTtZQUNsRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNuQixJQUFJLENBQUMs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S0FBSyxDQUFDLDZEQUE2RCxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJO1FBQ04sSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4RCxDQUFDO0NBQ0osQ0FBQTtBQTFIcUIsdUJBQXVCO0lBK0NwQyxXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtHQS9DTCx1QkFBdUIsQ0EwSDVDO1NBMUhxQix1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7XG4gICAgQ29tcG9uZW50TW9kZWwsXG4gICAgU21hcnRWaWV3Q29udGV4dFNlcnZpY2UsXG4gICAgVWlBY3Rpb24sXG4gICAgVWlBY3Rpb25BZGRpdGlvbmFsUGFyYW1zLFxuICAgIFVpQWN0aW9uTW9kZWwsXG4gICAgVWlBY3Rpb25SZXF1ZXN0LFxuICAgIFVpQWN0aW9uU3BlY2lmaWNEZW1hbmRSZXNwb25zZSxcbiAgICBVc2VVaUFjdGlvbixcbn0gZnJvbSBcIi4uL3ZpZXctY29udGV4dC9wcm9qZWN0c1wiO1xuaW1wb3J0IHsgU21hcnRBdXRoZW50aWNhdGlvblNlcnZpY2VJbnRlcmZhY2UgfSBmcm9tIFwiLi9zbWFydC1hdXRoZW50aWNhdGlvbi5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBTbWFydFN1YmplY3QgfSBmcm9tIFwiLi9zbWFydC5zdWJqZWN0XCI7XG5pbXBvcnQgeyBJbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU21hcnRDb21wb25lbnRBcGlDbGllbnQ8VD4gaW1wbGVtZW50cyBVc2VVaUFjdGlvbiB7XG4gICAgcHJvdGVjdGVkIF9kZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBwcml2YXRlIGRldGVjdENoYW5nZTogU21hcnRTdWJqZWN0PENvbXBvbmVudE1vZGVsPiA9IG5ldyBTbWFydFN1YmplY3QodGhpcy5fZGVzdHJveSQpO1xuXG4gICAgcHJpdmF0ZSBfdXVpZD86IHN0cmluZztcblxuICAgIGdldCB1dWlkKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl91dWlkO1xuICAgIH1cbiAgICBzZXQgdXVpZCh1dWlkOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5fdXVpZCA9IHV1aWQ7XG4gICAgICAgIHRoaXMudmlld0NvbnRleHQuZm9sbG93KHRoaXMuX3V1aWQhLCB0aGlzLmRldGVjdENoYW5nZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfbW9kZWw6IENvbXBvbmVudE1vZGVsIHwgdW5kZWZpbmVkO1xuXG4gICAgZ2V0IG1vZGVsKCk6IENvbXBvbmVudE1vZGVsIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21vZGVsO1xuICAgIH1cbiAgICBzZXQgbW9kZWwobW9kZWw6IENvbXBvbmVudE1vZGVsIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX21vZGVsID0gbW9kZWw7XG5cbiAgICAgICAgdGhpcy5pbml0Q29tcG9uZW50QnlNb2RlbCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2RhdGE/OiBUO1xuXG4gICAgZ2V0IGRhdGEoKTogVCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRhO1xuICAgIH1cbiAgICBzZXQgZGF0YShtb2RlbDogVCB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9kYXRhID0gbW9kZWw7XG4gICAgICAgIHRoaXMuZGF0YUNoYW5nZWQubmV4dCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyB1aUFjdGlvbk1vZGVsczogVWlBY3Rpb25Nb2RlbFtdID0gW107XG5cbiAgICBwdWJsaWMgZGF0YUNoYW5nZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU21hcnRTdWJqZWN0KHRoaXMuX2Rlc3Ryb3kkKTtcblxuICAgIC8vIFVzZVVpQWN0aW9uXG4gICAgc3VibWl0OiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFNtYXJ0U3ViamVjdCh0aGlzLl9kZXN0cm95JCk7XG4gICAgcmVTdWJzY3JpYmVUb0NoYW5nZTogU3ViamVjdDx2b2lkPiA9IG5ldyBTbWFydFN1YmplY3QodGhpcy5fZGVzdHJveSQpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBhdXRoOiBTbWFydEF1dGhlbnRpY2F0aW9uU2VydmljZUludGVyZmFjZSxcbiAgICAgICAgcHJvdGVjdGVkIHZpZXdDb250ZXh0OiBTbWFydFZpZXdDb250ZXh0U2VydmljZSxcbiAgICAgICAgQEluamVjdChcInBhZ2VOYW1lXCIpIHByb3RlY3RlZCBwYWdlTmFtZTogc3RyaW5nXG4gICAgKSB7XG4gICAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlLnN1YnNjcmliZSgobW9kZWw6IENvbXBvbmVudE1vZGVsKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm1vZGVsID0gbW9kZWw7XG4gICAgICAgICAgICB0aGlzLmRhdGEgPSBtb2RlbC5kYXRhIGFzIGFueTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgX25nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJ1bigpO1xuICAgIH1cbiAgICBfbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmlld0NvbnRleHQudW5mb2xsb3codGhpcy51dWlkISk7XG4gICAgICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBpbml0Q29tcG9uZW50QnlNb2RlbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0RGF0YSgpO1xuICAgICAgICB0aGlzLmluaXRBY3Rpb25zKCk7XG5cbiAgICAgICAgLy8gVE9ETzogbGF5b3V0LCB2YWx1ZVNldCwgd2lkZ2V0c1xuICAgIH1cblxuICAgIGluaXREYXRhKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5tb2RlbD8uZGF0YSkge1xuICAgICAgICAgICAgdGhpcy5kYXRhID0gdGhpcy5tb2RlbD8uZGF0YSBhcyBhbnk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbml0QWN0aW9ucygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubW9kZWw/LmFjdGlvbnMpIHtcbiAgICAgICAgICAgIHRoaXMudWlBY3Rpb25Nb2RlbHMgPSB0aGlzLm1vZGVsPy5hY3Rpb25zLm1hcCgodWlBY3Rpb246IFVpQWN0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgc2VydmljZVRvVXNlOiB0aGlzLFxuICAgICAgICAgICAgICAgICAgICB1aUFjdGlvbixcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBydW4oKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmF1dGguYmZmQXBpc0hhdmVCZWVuU2V0VXApIHtcbiAgICAgICAgICAgIHRoaXMubG9hZCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5hdXRoLmhlYWRlcnNVcGRhdGVkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldEFkZGl0aW9uYWxQYXJhbXModWlBY3Rpb246IFVpQWN0aW9uKTogVWlBY3Rpb25BZGRpdGlvbmFsUGFyYW1zIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGZvclRleHRBcmVhOiBcIlwiLFxuICAgICAgICAgICAgZm9yVGV4dEZpZWxkOiBcIlwiLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBnZXRNb2RlbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YTtcbiAgICB9XG5cbiAgICBhc3luYyBwZXJmb3JtVWlBY3Rpb25SZXF1ZXN0KHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0KTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgYXdhaXQgdGhpcy52aWV3Q29udGV4dC5wZXJmb3JtQWN0aW9uKHRoaXMudXVpZCEsIHVpQWN0aW9uUmVxdWVzdCk7XG4gICAgfVxuICAgIGhhbmRsZVNwZWNpZmljRGVtYW5kc0FzeW5jaHJvbm91c2x5KFxuICAgICAgICB1aUFjdGlvbjogVWlBY3Rpb24sXG4gICAgICAgIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0XG4gICAgKTogUHJvbWlzZTxVaUFjdGlvblNwZWNpZmljRGVtYW5kUmVzcG9uc2U+IHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaGFuZGxlU3BlY2lmaWNEZW1hbmRzQXN5bmNocm9ub3VzbHkgbWV0aG9kIG5vdCBpbXBsZW1lbnRlZC5cIik7XG4gICAgfVxuXG4gICAgYXN5bmMgbG9hZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdGhpcy51dWlkID0gdGhpcy52aWV3Q29udGV4dC5nZXRVdWlkT2ZQYWdlKHRoaXMucGFnZU5hbWUpO1xuICAgICAgICB0aGlzLm1vZGVsID0gYXdhaXQgdGhpcy52aWV3Q29udGV4dC5sb2FkKHRoaXMudXVpZCk7XG4gICAgfVxufVxuIl19
@@ -3604,12 +3604,14 @@ let SmartComponentApiClient = class SmartComponentApiClient {
3604
3604
  this.pageName = pageName;
3605
3605
  this._destroy$ = new Subject();
3606
3606
  this.detectChange = new SmartSubject(this._destroy$);
3607
- this.modelChanged = new SmartSubject(this._destroy$);
3607
+ this.uiActionModels = [];
3608
+ this.dataChanged = new SmartSubject(this._destroy$);
3608
3609
  // UseUiAction
3609
3610
  this.submit = new SmartSubject(this._destroy$);
3610
3611
  this.reSubscribeToChange = new SmartSubject(this._destroy$);
3611
- this.detectChange.subscribe((data) => {
3612
- this.data = data;
3612
+ this.detectChange.subscribe((model) => {
3613
+ this.model = model;
3614
+ this.data = model.data;
3613
3615
  });
3614
3616
  }
3615
3617
  get uuid() {
@@ -3624,16 +3626,14 @@ let SmartComponentApiClient = class SmartComponentApiClient {
3624
3626
  }
3625
3627
  set model(model) {
3626
3628
  this._model = model;
3627
- if (model === null || model === void 0 ? void 0 : model.data) {
3628
- this.data = model === null || model === void 0 ? void 0 : model.data;
3629
- }
3629
+ this.initComponentByModel();
3630
3630
  }
3631
3631
  get data() {
3632
3632
  return this._data;
3633
3633
  }
3634
3634
  set data(model) {
3635
3635
  this._data = model;
3636
- this.modelChanged.next();
3636
+ this.dataChanged.next();
3637
3637
  }
3638
3638
  _ngOnInit() {
3639
3639
  this.run();
@@ -3643,6 +3643,28 @@ let SmartComponentApiClient = class SmartComponentApiClient {
3643
3643
  this._destroy$.next();
3644
3644
  this._destroy$.complete();
3645
3645
  }
3646
+ initComponentByModel() {
3647
+ this.initData();
3648
+ this.initActions();
3649
+ // TODO: layout, valueSet, widgets
3650
+ }
3651
+ initData() {
3652
+ var _a, _b;
3653
+ if ((_a = this.model) === null || _a === void 0 ? void 0 : _a.data) {
3654
+ this.data = (_b = this.model) === null || _b === void 0 ? void 0 : _b.data;
3655
+ }
3656
+ }
3657
+ initActions() {
3658
+ var _a, _b;
3659
+ if ((_a = this.model) === null || _a === void 0 ? void 0 : _a.actions) {
3660
+ this.uiActionModels = (_b = this.model) === null || _b === void 0 ? void 0 : _b.actions.map((uiAction) => {
3661
+ return {
3662
+ serviceToUse: this,
3663
+ uiAction,
3664
+ };
3665
+ });
3666
+ }
3667
+ }
3646
3668
  run() {
3647
3669
  if (this.auth.bffApisHaveBeenSetUp) {
3648
3670
  this.load();
@@ -3662,7 +3684,6 @@ let SmartComponentApiClient = class SmartComponentApiClient {
3662
3684
  getModel() {
3663
3685
  return this.data;
3664
3686
  }
3665
- // this should not be abstract
3666
3687
  performUiActionRequest(uiActionRequest) {
3667
3688
  return __awaiter(this, void 0, void 0, function* () {
3668
3689
  yield this.viewContext.performAction(this.uuid, uiActionRequest);
@@ -3671,7 +3692,6 @@ let SmartComponentApiClient = class SmartComponentApiClient {
3671
3692
  handleSpecificDemandsAsynchronously(uiAction, uiActionRequest) {
3672
3693
  throw new Error("handleSpecificDemandsAsynchronously method not implemented.");
3673
3694
  }
3674
- // this should not be abstract
3675
3695
  load() {
3676
3696
  return __awaiter(this, void 0, void 0, function* () {
3677
3697
  this.uuid = this.viewContext.getUuidOfPage(this.pageName);