@beinformed/ui 1.56.0 → 1.57.0-contextpath.0
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.
- package/CHANGELOG.md +19 -0
- package/esm/constants/Settings.js +4 -1
- package/esm/constants/Settings.js.map +1 -1
- package/esm/hooks/useForm.js +3 -1
- package/esm/hooks/useForm.js.map +1 -1
- package/esm/hooks/useModularUIBasic.js +11 -1
- package/esm/hooks/useModularUIBasic.js.map +1 -1
- package/esm/hooks/useModularUIModel.js +36 -25
- package/esm/hooks/useModularUIModel.js.map +1 -1
- package/esm/models/actions/ActionCollection.js +2 -2
- package/esm/models/actions/ActionCollection.js.map +1 -1
- package/esm/models/actions/ActionModel.js +27 -8
- package/esm/models/actions/ActionModel.js.map +1 -1
- package/esm/models/application/ApplicationModel.js +1 -1
- package/esm/models/application/ApplicationModel.js.map +1 -1
- package/esm/models/base/ResourceModel.js +25 -3
- package/esm/models/base/ResourceModel.js.map +1 -1
- package/esm/models/caseview/CaseViewModel.js +2 -2
- package/esm/models/caseview/CaseViewModel.js.map +1 -1
- package/esm/models/concepts/ConceptLinkModel.js +1 -0
- package/esm/models/concepts/ConceptLinkModel.js.map +1 -1
- package/esm/models/concepts/SourceReferenceModel.js +2 -1
- package/esm/models/concepts/SourceReferenceModel.js.map +1 -1
- package/esm/models/content/ContentIndexModel.js +2 -2
- package/esm/models/content/ContentIndexModel.js.map +1 -1
- package/esm/models/content/ContentLinkModel.js +2 -0
- package/esm/models/content/ContentLinkModel.js.map +1 -1
- package/esm/models/content/SectionModel.js +1 -0
- package/esm/models/content/SectionModel.js.map +1 -1
- package/esm/models/detail/DetailModel.js +1 -1
- package/esm/models/detail/DetailModel.js.map +1 -1
- package/esm/models/error/ErrorResponse.js +2 -0
- package/esm/models/error/ErrorResponse.js.map +1 -1
- package/esm/models/form/FormModel.js +1 -1
- package/esm/models/form/FormModel.js.map +1 -1
- package/esm/models/href/Href.js +50 -3
- package/esm/models/href/Href.js.map +1 -1
- package/esm/models/href/ListHref.js +1 -1
- package/esm/models/href/ListHref.js.map +1 -1
- package/esm/models/links/LinkCollection.js +3 -1
- package/esm/models/links/LinkCollection.js.map +1 -1
- package/esm/models/links/LinkModel.js +10 -9
- package/esm/models/links/LinkModel.js.map +1 -1
- package/esm/models/list/ListItemModel.js +3 -1
- package/esm/models/list/ListItemModel.js.map +1 -1
- package/esm/models/list/ListModel.js +1 -1
- package/esm/models/list/ListModel.js.map +1 -1
- package/esm/models/panels/GroupingPanelModel.js +1 -1
- package/esm/models/panels/GroupingPanelModel.js.map +1 -1
- package/esm/models/tab/TabModel.js +2 -2
- package/esm/models/tab/TabModel.js.map +1 -1
- package/esm/models/taskgroup/TaskGroupModel.js +4 -2
- package/esm/models/taskgroup/TaskGroupModel.js.map +1 -1
- package/esm/modularui/Authenticate.js +2 -1
- package/esm/modularui/Authenticate.js.map +1 -1
- package/esm/modularui/ModularUIRequest.js +43 -7
- package/esm/modularui/ModularUIRequest.js.map +1 -1
- package/esm/modularui/ModularUIResponse.js +31 -0
- package/esm/modularui/ModularUIResponse.js.map +1 -1
- package/esm/redux/_modularui/ModularUIActions.js +3 -1
- package/esm/redux/_modularui/ModularUIActions.js.map +1 -1
- package/esm/redux/_modularui/ModularUIMiddleware.js +6 -0
- package/esm/redux/_modularui/ModularUIMiddleware.js.map +1 -1
- package/esm/redux/_modularui/types.js.map +1 -1
- package/esm/redux/actions/Application.js +2 -0
- package/esm/redux/actions/Application.js.map +1 -1
- package/esm/redux/connectors/PanelRenderer.js +2 -0
- package/esm/redux/connectors/PanelRenderer.js.map +1 -1
- package/esm/utils/fetch/types.js.map +1 -1
- package/esm/utils/helpers/checkResource.js +2 -0
- package/esm/utils/helpers/checkResource.js.map +1 -1
- package/lib/constants/Settings.js +4 -1
- package/lib/constants/Settings.js.flow +2 -2
- package/lib/constants/Settings.js.map +1 -1
- package/lib/hooks/useForm.js +3 -1
- package/lib/hooks/useForm.js.flow +2 -0
- package/lib/hooks/useForm.js.map +1 -1
- package/lib/hooks/useModularUIBasic.js +11 -1
- package/lib/hooks/useModularUIBasic.js.flow +14 -0
- package/lib/hooks/useModularUIBasic.js.map +1 -1
- package/lib/hooks/useModularUIModel.js +36 -24
- package/lib/hooks/useModularUIModel.js.flow +58 -11
- package/lib/hooks/useModularUIModel.js.map +1 -1
- package/lib/models/actions/ActionCollection.js +2 -2
- package/lib/models/actions/ActionCollection.js.flow +14 -2
- package/lib/models/actions/ActionCollection.js.map +1 -1
- package/lib/models/actions/ActionModel.js +31 -12
- package/lib/models/actions/ActionModel.js.flow +38 -16
- package/lib/models/actions/ActionModel.js.map +1 -1
- package/lib/models/application/ApplicationModel.js +1 -1
- package/lib/models/application/ApplicationModel.js.flow +7 -1
- package/lib/models/application/ApplicationModel.js.map +1 -1
- package/lib/models/base/ResourceModel.js +24 -3
- package/lib/models/base/ResourceModel.js.flow +35 -10
- package/lib/models/base/ResourceModel.js.map +1 -1
- package/lib/models/caseview/CaseViewModel.js +2 -2
- package/lib/models/caseview/CaseViewModel.js.flow +3 -1
- package/lib/models/caseview/CaseViewModel.js.map +1 -1
- package/lib/models/concepts/ConceptLinkModel.js +1 -0
- package/lib/models/concepts/ConceptLinkModel.js.flow +1 -0
- package/lib/models/concepts/ConceptLinkModel.js.map +1 -1
- package/lib/models/concepts/SourceReferenceModel.js +2 -1
- package/lib/models/concepts/SourceReferenceModel.js.flow +2 -1
- package/lib/models/concepts/SourceReferenceModel.js.map +1 -1
- package/lib/models/content/ContentIndexModel.js +2 -2
- package/lib/models/content/ContentIndexModel.js.flow +2 -2
- package/lib/models/content/ContentIndexModel.js.map +1 -1
- package/lib/models/content/ContentLinkModel.js +2 -0
- package/lib/models/content/ContentLinkModel.js.flow +2 -0
- package/lib/models/content/ContentLinkModel.js.map +1 -1
- package/lib/models/content/SectionModel.js +1 -0
- package/lib/models/content/SectionModel.js.flow +1 -0
- package/lib/models/content/SectionModel.js.map +1 -1
- package/lib/models/detail/DetailModel.js +1 -1
- package/lib/models/detail/DetailModel.js.flow +2 -0
- package/lib/models/detail/DetailModel.js.map +1 -1
- package/lib/models/error/ErrorResponse.js +2 -0
- package/lib/models/error/ErrorResponse.js.flow +2 -0
- package/lib/models/error/ErrorResponse.js.map +1 -1
- package/lib/models/form/FormModel.js +1 -1
- package/lib/models/form/FormModel.js.flow +1 -1
- package/lib/models/form/FormModel.js.map +1 -1
- package/lib/models/href/Href.js +50 -3
- package/lib/models/href/Href.js.flow +58 -3
- package/lib/models/href/Href.js.map +1 -1
- package/lib/models/href/ListHref.js +1 -1
- package/lib/models/href/ListHref.js.flow +1 -1
- package/lib/models/href/ListHref.js.map +1 -1
- package/lib/models/links/LinkCollection.js +3 -1
- package/lib/models/links/LinkCollection.js.flow +8 -2
- package/lib/models/links/LinkCollection.js.map +1 -1
- package/lib/models/links/LinkModel.js +10 -9
- package/lib/models/links/LinkModel.js.flow +24 -16
- package/lib/models/links/LinkModel.js.map +1 -1
- package/lib/models/list/ListItemModel.js +3 -1
- package/lib/models/list/ListItemModel.js.flow +4 -0
- package/lib/models/list/ListItemModel.js.map +1 -1
- package/lib/models/list/ListModel.js +1 -1
- package/lib/models/list/ListModel.js.flow +6 -1
- package/lib/models/list/ListModel.js.map +1 -1
- package/lib/models/panels/GroupingPanelModel.js +1 -1
- package/lib/models/panels/GroupingPanelModel.js.flow +2 -0
- package/lib/models/panels/GroupingPanelModel.js.map +1 -1
- package/lib/models/tab/TabModel.js +2 -2
- package/lib/models/tab/TabModel.js.flow +4 -0
- package/lib/models/tab/TabModel.js.map +1 -1
- package/lib/models/taskgroup/TaskGroupModel.js +4 -2
- package/lib/models/taskgroup/TaskGroupModel.js.flow +6 -0
- package/lib/models/taskgroup/TaskGroupModel.js.map +1 -1
- package/lib/modularui/Authenticate.js +2 -1
- package/lib/modularui/Authenticate.js.flow +2 -1
- package/lib/modularui/Authenticate.js.map +1 -1
- package/lib/modularui/ModularUIRequest.js +43 -7
- package/lib/modularui/ModularUIRequest.js.flow +49 -8
- package/lib/modularui/ModularUIRequest.js.map +1 -1
- package/lib/modularui/ModularUIResponse.js +31 -0
- package/lib/modularui/ModularUIResponse.js.flow +35 -0
- package/lib/modularui/ModularUIResponse.js.map +1 -1
- package/lib/modularui/__tests__/CustomContextPath.spec.js.flow +61 -0
- package/lib/redux/_modularui/ModularUIActions.js +3 -1
- package/lib/redux/_modularui/ModularUIActions.js.flow +6 -1
- package/lib/redux/_modularui/ModularUIActions.js.map +1 -1
- package/lib/redux/_modularui/ModularUIMiddleware.js +6 -0
- package/lib/redux/_modularui/ModularUIMiddleware.js.flow +10 -0
- package/lib/redux/_modularui/ModularUIMiddleware.js.map +1 -1
- package/lib/redux/_modularui/types.js.flow +2 -0
- package/lib/redux/_modularui/types.js.map +1 -1
- package/lib/redux/actions/Application.js +2 -0
- package/lib/redux/actions/Application.js.flow +1 -0
- package/lib/redux/actions/Application.js.map +1 -1
- package/lib/redux/connectors/PanelRenderer.js +2 -0
- package/lib/redux/connectors/PanelRenderer.js.flow +1 -0
- package/lib/redux/connectors/PanelRenderer.js.map +1 -1
- package/lib/utils/fetch/types.js.flow +2 -0
- package/lib/utils/fetch/types.js.map +1 -1
- package/lib/utils/helpers/checkResource.js +2 -0
- package/lib/utils/helpers/checkResource.js.flow +2 -0
- package/lib/utils/helpers/checkResource.js.map +1 -1
- package/package.json +1 -1
- package/src/constants/Settings.js +2 -2
- package/src/hooks/useForm.js +2 -0
- package/src/hooks/useModularUIBasic.js +14 -0
- package/src/hooks/useModularUIModel.js +58 -11
- package/src/models/actions/ActionCollection.js +14 -2
- package/src/models/actions/ActionModel.js +38 -16
- package/src/models/application/ApplicationModel.js +7 -1
- package/src/models/base/ResourceModel.js +35 -10
- package/src/models/caseview/CaseViewModel.js +3 -1
- package/src/models/concepts/ConceptLinkModel.js +1 -0
- package/src/models/concepts/SourceReferenceModel.js +2 -1
- package/src/models/content/ContentIndexModel.js +2 -2
- package/src/models/content/ContentLinkModel.js +2 -0
- package/src/models/content/SectionModel.js +1 -0
- package/src/models/detail/DetailModel.js +2 -0
- package/src/models/error/ErrorResponse.js +2 -0
- package/src/models/form/FormModel.js +1 -1
- package/src/models/href/Href.js +58 -3
- package/src/models/href/ListHref.js +1 -1
- package/src/models/links/LinkCollection.js +8 -2
- package/src/models/links/LinkModel.js +24 -16
- package/src/models/list/ListItemModel.js +4 -0
- package/src/models/list/ListModel.js +6 -1
- package/src/models/panels/GroupingPanelModel.js +2 -0
- package/src/models/tab/TabModel.js +4 -0
- package/src/models/taskgroup/TaskGroupModel.js +6 -0
- package/src/modularui/Authenticate.js +2 -1
- package/src/modularui/ModularUIRequest.js +49 -8
- package/src/modularui/ModularUIResponse.js +35 -0
- package/src/modularui/__tests__/CustomContextPath.spec.js +61 -0
- package/src/modularui/__tests__/contributions.json +312 -0
- package/src/modularui/__tests__/data.json +263 -0
- package/src/redux/_modularui/ModularUIActions.js +6 -1
- package/src/redux/_modularui/ModularUIMiddleware.js +10 -0
- package/src/redux/_modularui/types.js +2 -0
- package/src/redux/actions/Application.js +1 -0
- package/src/redux/connectors/PanelRenderer.js +1 -0
- package/src/utils/fetch/types.js +2 -0
- package/src/utils/helpers/checkResource.js +2 -0
|
@@ -12,6 +12,7 @@ var _ModularUIResponse = _interopRequireDefault(require("../../modularui/Modular
|
|
|
12
12
|
var _BaseModel = _interopRequireDefault(require("./BaseModel"));
|
|
13
13
|
var _LinkCollection = _interopRequireDefault(require("../links/LinkCollection"));
|
|
14
14
|
var _exceptions = require("../../exceptions");
|
|
15
|
+
var _constants = require("../../constants");
|
|
15
16
|
/**
|
|
16
17
|
* Base model, this the foundation for models that represent modular ui services, e.g. application, tab, caseview, etc
|
|
17
18
|
*/
|
|
@@ -27,10 +28,14 @@ class ResourceModel extends _BaseModel.default {
|
|
|
27
28
|
(0, _defineProperty2.default)(this, "_childModels", void 0);
|
|
28
29
|
(0, _defineProperty2.default)(this, "_links", void 0);
|
|
29
30
|
(0, _defineProperty2.default)(this, "_lastServerUpdate", void 0);
|
|
31
|
+
(0, _defineProperty2.default)(this, "_origin", "");
|
|
32
|
+
(0, _defineProperty2.default)(this, "_contextPath", (0, _constants.getBasePath)());
|
|
30
33
|
this._key = modularuiResponse.key;
|
|
31
34
|
this._locale = modularuiResponse.locale;
|
|
32
35
|
this._childModels = [];
|
|
33
36
|
this._lastServerUpdate = Date.now();
|
|
37
|
+
this._origin = modularuiResponse.origin;
|
|
38
|
+
this._contextPath = modularuiResponse.contextPath;
|
|
34
39
|
}
|
|
35
40
|
|
|
36
41
|
/**
|
|
@@ -99,17 +104,31 @@ class ResourceModel extends _BaseModel.default {
|
|
|
99
104
|
return this.getContribution("label", "");
|
|
100
105
|
}
|
|
101
106
|
|
|
107
|
+
/**
|
|
108
|
+
*/
|
|
109
|
+
get origin() {
|
|
110
|
+
return this._origin;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
*/
|
|
115
|
+
get contextPath() {
|
|
116
|
+
return this._contextPath;
|
|
117
|
+
}
|
|
118
|
+
|
|
102
119
|
/**
|
|
103
120
|
* Getting the links of the resource
|
|
104
121
|
*/
|
|
105
122
|
get links() {
|
|
106
123
|
if (!this._links) {
|
|
107
|
-
|
|
124
|
+
const linksData = Array.isArray(this.data._links) ? this.data._links[0] : this.data._links;
|
|
125
|
+
const linksContrubtions = {
|
|
108
126
|
self: {
|
|
109
127
|
resourcetype: this.resourcetype
|
|
110
128
|
},
|
|
111
129
|
...this.contributions._links
|
|
112
|
-
}
|
|
130
|
+
};
|
|
131
|
+
this._links = new _LinkCollection.default(linksData, linksContrubtions, this.origin, this.contextPath);
|
|
113
132
|
}
|
|
114
133
|
return this._links;
|
|
115
134
|
}
|
|
@@ -199,7 +218,9 @@ class ResourceModel extends _BaseModel.default {
|
|
|
199
218
|
key: this._key,
|
|
200
219
|
locale: this._locale,
|
|
201
220
|
// $FlowFixMe[missing-type-arg]
|
|
202
|
-
childModels: (0, _map.default)(_context3 = this._childModels).call(_context3, childModel => childModel.dehydrate())
|
|
221
|
+
childModels: (0, _map.default)(_context3 = this._childModels).call(_context3, childModel => childModel.dehydrate()),
|
|
222
|
+
origin: this._origin,
|
|
223
|
+
contextPath: this._contextPath
|
|
203
224
|
};
|
|
204
225
|
}
|
|
205
226
|
}
|
|
@@ -13,6 +13,7 @@ import type LinkModel from "../links/LinkModel";
|
|
|
13
13
|
import type Href from "../href/Href";
|
|
14
14
|
import type { ModularUIModel, IModelWithChildModels } from "../types";
|
|
15
15
|
import type ErrorResponse from "../error/ErrorResponse";
|
|
16
|
+
import { getBasePath } from "../../constants";
|
|
16
17
|
|
|
17
18
|
/**
|
|
18
19
|
* Base model, this the foundation for models that represent modular ui services, e.g. application, tab, caseview, etc
|
|
@@ -23,6 +24,8 @@ class ResourceModel extends BaseModel implements IModelWithChildModels {
|
|
|
23
24
|
_childModels: Array<ModularUIModel>;
|
|
24
25
|
_links: LinkCollection;
|
|
25
26
|
_lastServerUpdate: number;
|
|
27
|
+
_origin: string = "";
|
|
28
|
+
_contextPath: string = getBasePath();
|
|
26
29
|
|
|
27
30
|
/**
|
|
28
31
|
* constructor
|
|
@@ -32,10 +35,12 @@ class ResourceModel extends BaseModel implements IModelWithChildModels {
|
|
|
32
35
|
|
|
33
36
|
this._key = modularuiResponse.key;
|
|
34
37
|
this._locale = modularuiResponse.locale;
|
|
35
|
-
|
|
36
38
|
this._childModels = [];
|
|
37
39
|
|
|
38
40
|
this._lastServerUpdate = Date.now();
|
|
41
|
+
|
|
42
|
+
this._origin = modularuiResponse.origin;
|
|
43
|
+
this._contextPath = modularuiResponse.contextPath;
|
|
39
44
|
}
|
|
40
45
|
|
|
41
46
|
/**
|
|
@@ -109,21 +114,39 @@ class ResourceModel extends BaseModel implements IModelWithChildModels {
|
|
|
109
114
|
return this.getContribution("label", "");
|
|
110
115
|
}
|
|
111
116
|
|
|
117
|
+
/**
|
|
118
|
+
*/
|
|
119
|
+
get origin(): string {
|
|
120
|
+
return this._origin;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
*/
|
|
125
|
+
get contextPath(): string {
|
|
126
|
+
return this._contextPath;
|
|
127
|
+
}
|
|
128
|
+
|
|
112
129
|
/**
|
|
113
130
|
* Getting the links of the resource
|
|
114
131
|
*/
|
|
115
132
|
get links(): LinkCollection {
|
|
116
133
|
if (!this._links) {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
},
|
|
125
|
-
...this.contributions._links,
|
|
134
|
+
const linksData = Array.isArray(this.data._links)
|
|
135
|
+
? this.data._links[0]
|
|
136
|
+
: this.data._links;
|
|
137
|
+
|
|
138
|
+
const linksContrubtions = {
|
|
139
|
+
self: {
|
|
140
|
+
resourcetype: this.resourcetype,
|
|
126
141
|
},
|
|
142
|
+
...this.contributions._links,
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
this._links = new LinkCollection(
|
|
146
|
+
linksData,
|
|
147
|
+
linksContrubtions,
|
|
148
|
+
this.origin,
|
|
149
|
+
this.contextPath,
|
|
127
150
|
);
|
|
128
151
|
}
|
|
129
152
|
return this._links;
|
|
@@ -231,6 +254,8 @@ class ResourceModel extends BaseModel implements IModelWithChildModels {
|
|
|
231
254
|
childModels: this._childModels.map<ModularUIModel>(
|
|
232
255
|
(childModel: ModularUIModel) => childModel.dehydrate(),
|
|
233
256
|
),
|
|
257
|
+
origin: this._origin,
|
|
258
|
+
contextPath: this._contextPath,
|
|
234
259
|
};
|
|
235
260
|
}
|
|
236
261
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceModel.js","names":["_ModularUIResponse","_interopRequireDefault","require","_BaseModel","_LinkCollection","_exceptions","ResourceModel","BaseModel","constructor","modularuiResponse","arguments","length","undefined","ModularUIResponse","data","contributions","_defineProperty2","default","_key","key","_locale","locale","_childModels","_lastServerUpdate","Date","now","modelName","IllegalStateException","isApplicableModel","IllegalArgumentException","Error","lastServerUpdate","type","resourcetype","getContribution","label","links","_links","LinkCollection","Array","isArray","self","downloadLink","getLinksByGroup","first","selflink","getLinkByKey","selfhref","href","getInitialChildModelLinks","childModels","addChildModels","models","errors","_context","_context2","flattenModels","_concat","call","flattenErrors","setChildModels","dehydrate","_context3","_map","childModel","_default","exports"],"sources":["../../../src/models/base/ResourceModel.js"],"sourcesContent":["// @flow\nimport ModularUIResponse from \"../../modularui/ModularUIResponse\";\n\nimport BaseModel from \"./BaseModel\";\nimport LinkCollection from \"../links/LinkCollection\";\n\nimport {\n IllegalArgumentException,\n IllegalStateException,\n} from \"../../exceptions\";\n\nimport type LinkModel from \"../links/LinkModel\";\nimport type Href from \"../href/Href\";\nimport type { ModularUIModel, IModelWithChildModels } from \"../types\";\nimport type ErrorResponse from \"../error/ErrorResponse\";\n\n/**\n * Base model, this the foundation for models that represent modular ui services, e.g. application, tab, caseview, etc\n */\nclass ResourceModel extends BaseModel implements IModelWithChildModels {\n _key: string;\n _locale: string;\n _childModels: Array<ModularUIModel>;\n _links: LinkCollection;\n _lastServerUpdate: number;\n\n /**\n * constructor\n */\n constructor(modularuiResponse: ModularUIResponse = new ModularUIResponse()) {\n super(modularuiResponse.data, modularuiResponse.contributions);\n\n this._key = modularuiResponse.key;\n this._locale = modularuiResponse.locale;\n\n this._childModels = [];\n\n this._lastServerUpdate = Date.now();\n }\n\n /**\n * Property to render name of a model, is original name after transpilation\n */\n static get modelName(): string {\n throw new IllegalStateException(`No modelName set on the resource model`);\n }\n\n /**\n * Returns true when the model is supported based on configuration found in contributions\n *\n * @abstract\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n if (!(data instanceof ModularUIResponse)) {\n throw new IllegalArgumentException(\n \"Given argument for isApplicableModel is not a ModularUIResponse\",\n );\n }\n\n throw new Error(\"No isApplicableModel condition set on resourcemodel\");\n }\n\n /**\n */\n get lastServerUpdate(): number {\n return this._lastServerUpdate;\n }\n\n /**\n */\n set lastServerUpdate(lastServerUpdate: number) {\n this._lastServerUpdate = lastServerUpdate;\n }\n\n /**\n */\n get locale(): string {\n return this._locale;\n }\n\n /**\n * Retrieve key\n */\n get key(): string {\n return this._key;\n }\n\n /**\n * Get type of model\n *\n * @abstract\n */\n get type(): string {\n throw new IllegalStateException(\n `No type set on the resource model with key ${this.key}`,\n );\n }\n\n /**\n * Retrieve type of resource\n */\n get resourcetype(): string {\n return this.getContribution(\"resourcetype\", \"unknown\");\n }\n\n /**\n */\n get label(): string {\n return this.getContribution(\"label\", \"\");\n }\n\n /**\n * Getting the links of the resource\n */\n get links(): LinkCollection {\n if (!this._links) {\n this._links = new LinkCollection(\n Array.isArray(this.data._links)\n ? this.data._links[0]\n : this.data._links,\n {\n self: {\n resourcetype: this.resourcetype,\n },\n ...this.contributions._links,\n },\n );\n }\n return this._links;\n }\n\n /**\n */\n set links(links: LinkCollection) {\n this._links = links;\n }\n\n /**\n *\n */\n get downloadLink(): ?LinkModel {\n const downloadLink = this.links.getLinksByGroup(\"download\").first;\n if (downloadLink) {\n return downloadLink;\n }\n\n return null;\n }\n\n /**\n * Get self link of model\n */\n get selflink(): LinkModel {\n const selflink = this.links.getLinkByKey(\"self\");\n\n if (selflink === null) {\n throw new IllegalStateException(\n `Could not find self link for ${\n this.key === null ? \"unknown\" : this.key\n }`,\n );\n }\n\n return selflink;\n }\n\n /**\n * Return default self link of resource\n */\n get selfhref(): Href {\n return this.selflink.href;\n }\n\n /**\n * Add links to expand on initialization of this model\n *\n * @abstract\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n return [];\n }\n\n /**\n * Retrieve links of expanded child models\n */\n get childModels(): Array<ModularUIModel> {\n return this._childModels;\n }\n\n /**\n * Add child models to this model\n */\n addChildModels(\n models: Array<ModularUIModel>,\n errors: Array<ErrorResponse>,\n ): this {\n const flattenModels = [].concat(...models);\n const flattenErrors = [].concat(errors);\n\n this._childModels = flattenModels;\n\n this.setChildModels(flattenModels, flattenErrors);\n\n return this;\n }\n\n /**\n * Template to set expanded child models\n * Use this hook to separate the retrieved child models into the correct models.\n *\n * @abstract\n * @example <caption>Put all models of instance List and GroupingPanel into the panels property</caption>\n */\n setChildModels(\n models: Array<ModularUIModel>,\n errors: Array<ErrorResponse>,\n ): void {\n if (!models && !errors) {\n throw new IllegalArgumentException(\"No models send to setChildModels\");\n }\n }\n\n /**\n */\n dehydrate(): Object {\n return {\n ...super.dehydrate(),\n key: this._key,\n locale: this._locale,\n // $FlowFixMe[missing-type-arg]\n childModels: this._childModels.map<ModularUIModel>(\n (childModel: ModularUIModel) => childModel.dehydrate(),\n ),\n };\n }\n}\n\nexport default ResourceModel;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ResourceModel.js","names":["_ModularUIResponse","_interopRequireDefault","require","_BaseModel","_LinkCollection","_exceptions","_constants","ResourceModel","BaseModel","constructor","modularuiResponse","arguments","length","undefined","ModularUIResponse","data","contributions","_defineProperty2","default","getBasePath","_key","key","_locale","locale","_childModels","_lastServerUpdate","Date","now","_origin","origin","_contextPath","contextPath","modelName","IllegalStateException","isApplicableModel","IllegalArgumentException","Error","lastServerUpdate","type","resourcetype","getContribution","label","links","_links","linksData","Array","isArray","linksContrubtions","self","LinkCollection","downloadLink","getLinksByGroup","first","selflink","getLinkByKey","selfhref","href","getInitialChildModelLinks","childModels","addChildModels","models","errors","_context","_context2","flattenModels","_concat","call","flattenErrors","setChildModels","dehydrate","_context3","_map","childModel","_default","exports"],"sources":["../../../src/models/base/ResourceModel.js"],"sourcesContent":["// @flow\nimport ModularUIResponse from \"../../modularui/ModularUIResponse\";\n\nimport BaseModel from \"./BaseModel\";\nimport LinkCollection from \"../links/LinkCollection\";\n\nimport {\n IllegalArgumentException,\n IllegalStateException,\n} from \"../../exceptions\";\n\nimport type LinkModel from \"../links/LinkModel\";\nimport type Href from \"../href/Href\";\nimport type { ModularUIModel, IModelWithChildModels } from \"../types\";\nimport type ErrorResponse from \"../error/ErrorResponse\";\nimport { getBasePath } from \"../../constants\";\n\n/**\n * Base model, this the foundation for models that represent modular ui services, e.g. application, tab, caseview, etc\n */\nclass ResourceModel extends BaseModel implements IModelWithChildModels {\n _key: string;\n _locale: string;\n _childModels: Array<ModularUIModel>;\n _links: LinkCollection;\n _lastServerUpdate: number;\n _origin: string = \"\";\n _contextPath: string = getBasePath();\n\n /**\n * constructor\n */\n constructor(modularuiResponse: ModularUIResponse = new ModularUIResponse()) {\n super(modularuiResponse.data, modularuiResponse.contributions);\n\n this._key = modularuiResponse.key;\n this._locale = modularuiResponse.locale;\n this._childModels = [];\n\n this._lastServerUpdate = Date.now();\n\n this._origin = modularuiResponse.origin;\n this._contextPath = modularuiResponse.contextPath;\n }\n\n /**\n * Property to render name of a model, is original name after transpilation\n */\n static get modelName(): string {\n throw new IllegalStateException(`No modelName set on the resource model`);\n }\n\n /**\n * Returns true when the model is supported based on configuration found in contributions\n *\n * @abstract\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n if (!(data instanceof ModularUIResponse)) {\n throw new IllegalArgumentException(\n \"Given argument for isApplicableModel is not a ModularUIResponse\",\n );\n }\n\n throw new Error(\"No isApplicableModel condition set on resourcemodel\");\n }\n\n /**\n */\n get lastServerUpdate(): number {\n return this._lastServerUpdate;\n }\n\n /**\n */\n set lastServerUpdate(lastServerUpdate: number) {\n this._lastServerUpdate = lastServerUpdate;\n }\n\n /**\n */\n get locale(): string {\n return this._locale;\n }\n\n /**\n * Retrieve key\n */\n get key(): string {\n return this._key;\n }\n\n /**\n * Get type of model\n *\n * @abstract\n */\n get type(): string {\n throw new IllegalStateException(\n `No type set on the resource model with key ${this.key}`,\n );\n }\n\n /**\n * Retrieve type of resource\n */\n get resourcetype(): string {\n return this.getContribution(\"resourcetype\", \"unknown\");\n }\n\n /**\n */\n get label(): string {\n return this.getContribution(\"label\", \"\");\n }\n\n /**\n */\n get origin(): string {\n return this._origin;\n }\n\n /**\n */\n get contextPath(): string {\n return this._contextPath;\n }\n\n /**\n * Getting the links of the resource\n */\n get links(): LinkCollection {\n if (!this._links) {\n const linksData = Array.isArray(this.data._links)\n ? this.data._links[0]\n : this.data._links;\n\n const linksContrubtions = {\n self: {\n resourcetype: this.resourcetype,\n },\n ...this.contributions._links,\n };\n\n this._links = new LinkCollection(\n linksData,\n linksContrubtions,\n this.origin,\n this.contextPath,\n );\n }\n return this._links;\n }\n\n /**\n */\n set links(links: LinkCollection) {\n this._links = links;\n }\n\n /**\n *\n */\n get downloadLink(): ?LinkModel {\n const downloadLink = this.links.getLinksByGroup(\"download\").first;\n if (downloadLink) {\n return downloadLink;\n }\n\n return null;\n }\n\n /**\n * Get self link of model\n */\n get selflink(): LinkModel {\n const selflink = this.links.getLinkByKey(\"self\");\n\n if (selflink === null) {\n throw new IllegalStateException(\n `Could not find self link for ${\n this.key === null ? \"unknown\" : this.key\n }`,\n );\n }\n\n return selflink;\n }\n\n /**\n * Return default self link of resource\n */\n get selfhref(): Href {\n return this.selflink.href;\n }\n\n /**\n * Add links to expand on initialization of this model\n *\n * @abstract\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n return [];\n }\n\n /**\n * Retrieve links of expanded child models\n */\n get childModels(): Array<ModularUIModel> {\n return this._childModels;\n }\n\n /**\n * Add child models to this model\n */\n addChildModels(\n models: Array<ModularUIModel>,\n errors: Array<ErrorResponse>,\n ): this {\n const flattenModels = [].concat(...models);\n const flattenErrors = [].concat(errors);\n\n this._childModels = flattenModels;\n\n this.setChildModels(flattenModels, flattenErrors);\n\n return this;\n }\n\n /**\n * Template to set expanded child models\n * Use this hook to separate the retrieved child models into the correct models.\n *\n * @abstract\n * @example <caption>Put all models of instance List and GroupingPanel into the panels property</caption>\n */\n setChildModels(\n models: Array<ModularUIModel>,\n errors: Array<ErrorResponse>,\n ): void {\n if (!models && !errors) {\n throw new IllegalArgumentException(\"No models send to setChildModels\");\n }\n }\n\n /**\n */\n dehydrate(): Object {\n return {\n ...super.dehydrate(),\n key: this._key,\n locale: this._locale,\n // $FlowFixMe[missing-type-arg]\n childModels: this._childModels.map<ModularUIModel>(\n (childModel: ModularUIModel) => childModel.dehydrate(),\n ),\n origin: this._origin,\n contextPath: this._contextPath,\n };\n }\n}\n\nexport default ResourceModel;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -123,7 +123,7 @@ class CaseViewModel extends _DetailModel.default {
|
|
|
123
123
|
if (selfLink === null) {
|
|
124
124
|
throw new _IllegalStateException.default("No self href available");
|
|
125
125
|
}
|
|
126
|
-
return
|
|
126
|
+
return selfLink.href;
|
|
127
127
|
}
|
|
128
128
|
|
|
129
129
|
/**
|
|
@@ -134,7 +134,7 @@ class CaseViewModel extends _DetailModel.default {
|
|
|
134
134
|
const allTaskgroupContributions = this.getContribution("taskgroups", []);
|
|
135
135
|
this.taskGroupCollection = (0, _map.default)(_context = (0, _filter.default)(allTaskgroupData).call(allTaskgroupData, taskgroup => allTaskgroupContributions.some(taskgroupContribution => taskgroupContribution.name === taskgroup.name))).call(_context, taskgroup => {
|
|
136
136
|
const taskgroupContributions = (0, _find.default)(allTaskgroupContributions).call(allTaskgroupContributions, taskgroupContribution => taskgroupContribution.name === taskgroup.name);
|
|
137
|
-
return _TaskGroupModel.default.create(taskgroup.name, taskgroup, taskgroupContributions);
|
|
137
|
+
return _TaskGroupModel.default.create(taskgroup.name, taskgroup, taskgroupContributions, this.origin, this.contextPath);
|
|
138
138
|
});
|
|
139
139
|
}
|
|
140
140
|
|
|
@@ -134,7 +134,7 @@ export default class CaseViewModel extends DetailModel {
|
|
|
134
134
|
throw new IllegalStateException("No self href available");
|
|
135
135
|
}
|
|
136
136
|
|
|
137
|
-
return
|
|
137
|
+
return selfLink.href;
|
|
138
138
|
}
|
|
139
139
|
|
|
140
140
|
/**
|
|
@@ -160,6 +160,8 @@ export default class CaseViewModel extends DetailModel {
|
|
|
160
160
|
taskgroup.name,
|
|
161
161
|
taskgroup,
|
|
162
162
|
taskgroupContributions,
|
|
163
|
+
this.origin,
|
|
164
|
+
this.contextPath,
|
|
163
165
|
);
|
|
164
166
|
});
|
|
165
167
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseViewModel.js","names":["_DetailModel","_interopRequireDefault","require","_Href","_TaskGroupCollection","_TaskGroupModel","_LayoutHints","_IllegalStateException","CaseViewModel","DetailModel","constructor","caseviewData","_defineProperty2","default","createTaskGroupCollection","type","modelName","isApplicableModel","data","contributions","resourcetype","getInitialChildModelLinks","links","getLinksByGroup","all","panelLinks","setChildModels","models","errors","taskGroupModels","i","length","TaskGroupModel","push","taskGroupCollection","add","casename","attributeCollection","getAttributeByLayoutHint","TITLE","label","value","viewLabel","getContribution","hasIntroText","introtext","_content","text","message","Array","isArray","texts","selfhref","selfLink","getLinkByKey","IllegalStateException","
|
|
1
|
+
{"version":3,"file":"CaseViewModel.js","names":["_DetailModel","_interopRequireDefault","require","_Href","_TaskGroupCollection","_TaskGroupModel","_LayoutHints","_IllegalStateException","CaseViewModel","DetailModel","constructor","caseviewData","_defineProperty2","default","createTaskGroupCollection","type","modelName","isApplicableModel","data","contributions","resourcetype","getInitialChildModelLinks","links","getLinksByGroup","all","panelLinks","setChildModels","models","errors","taskGroupModels","i","length","TaskGroupModel","push","taskGroupCollection","add","casename","attributeCollection","getAttributeByLayoutHint","TITLE","label","value","viewLabel","getContribution","hasIntroText","introtext","_content","text","message","Array","isArray","texts","selfhref","selfLink","getLinkByKey","IllegalStateException","href","_context","allTaskgroupData","getData","allTaskgroupContributions","_map","_filter","call","taskgroup","some","taskgroupContribution","name","taskgroupContributions","_find","create","origin","contextPath","taskgroups","_taskGroupCollection","TaskGroupCollection","hasTaskGroups","hasItems","exports"],"sources":["../../../src/models/caseview/CaseViewModel.js"],"sourcesContent":["// @flow\nimport DetailModel from \"../detail/DetailModel\";\nimport Href from \"../href/Href\";\nimport TaskGroupCollection from \"../taskgroup/TaskGroupCollection\";\nimport TaskGroupModel from \"../taskgroup/TaskGroupModel\";\n\nimport { TITLE } from \"../../constants/LayoutHints\";\n\nimport IllegalStateException from \"../../exceptions/IllegalStateException\";\n\nimport type { ModularUIModel, AttributeType } from \"../types\";\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type LinkCollection from \"../links/LinkCollection\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type ErrorResponse from \"../error/ErrorResponse\";\n\n/**\n * Model containing the details of one case.\n */\nexport default class CaseViewModel extends DetailModel {\n _taskGroupCollection: TaskGroupCollection;\n\n /**\n */\n constructor(caseviewData: ModularUIResponse) {\n super(caseviewData);\n\n this.createTaskGroupCollection();\n }\n\n /**\n */\n get type(): string {\n return \"CaseView\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"CaseViewModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"CaseView\"\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n return this.links.getLinksByGroup(\"taskgroup\").all;\n }\n\n /**\n * Getting panel links\n */\n get panelLinks(): LinkCollection {\n return this.links.getLinksByGroup(\"panel\");\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>, errors: Array<ErrorResponse>) {\n super.setChildModels(models, errors);\n\n const taskGroupModels = [];\n for (let i = 0; i < models.length; i++) {\n if (models[i] instanceof TaskGroupModel) {\n taskGroupModels.push(models[i]);\n }\n }\n\n this.taskGroupCollection.add(taskGroupModels);\n }\n\n /**\n * Getting the case name\n */\n get casename(): ?AttributeType {\n return this.attributeCollection.getAttributeByLayoutHint(TITLE);\n }\n\n /**\n * Retrieve the case label, this can be configured with a case property with the layout hint 'title'\n */\n get label(): string {\n return this.casename ? this.casename.value : \"\";\n }\n\n /**\n * Retrieve the label that was configured on the caseview\n */\n get viewLabel(): string {\n return this.getContribution(\"label\", \"\");\n }\n\n /**\n * Check if an introtext exists for this caseview\n */\n hasIntroText(): boolean {\n return this.introtext !== \"\";\n }\n\n /**\n * Getting the introduction text configured on the case view\n */\n get introtext(): string {\n if (this.data._content) {\n return this.data._content.text.message;\n }\n\n if (this.contributions.text) {\n return this.contributions.text.message ?? this.contributions.text;\n }\n\n if (Array.isArray(this.contributions.texts)) {\n return this.contributions.texts[0].text;\n }\n\n return \"\";\n }\n\n /**\n * Getting the self href\n */\n get selfhref(): Href {\n const selfLink = this.links.getLinkByKey(\"self\");\n\n if (selfLink === null) {\n throw new IllegalStateException(\"No self href available\");\n }\n\n return selfLink.href;\n }\n\n /**\n */\n createTaskGroupCollection() {\n const allTaskgroupData = this.getData(\"taskgroups\", []);\n const allTaskgroupContributions = this.getContribution(\"taskgroups\", []);\n\n this.taskGroupCollection = allTaskgroupData\n .filter((taskgroup) =>\n allTaskgroupContributions.some(\n (taskgroupContribution) =>\n taskgroupContribution.name === taskgroup.name,\n ),\n )\n .map((taskgroup) => {\n const taskgroupContributions = allTaskgroupContributions.find(\n (taskgroupContribution) =>\n taskgroupContribution.name === taskgroup.name,\n );\n\n return TaskGroupModel.create(\n taskgroup.name,\n taskgroup,\n taskgroupContributions,\n this.origin,\n this.contextPath,\n );\n });\n }\n\n /**\n * Setting the taskgroup panel collection\n */\n set taskGroupCollection(taskgroups: Array<TaskGroupModel>) {\n this._taskGroupCollection = new TaskGroupCollection(taskgroups);\n }\n\n /**\n * Getting the taskgrouppanels on the tab\n */\n get taskGroupCollection(): TaskGroupCollection {\n return this._taskGroupCollection;\n }\n\n /**\n * Has taskgroups\n */\n hasTaskGroups(): boolean {\n return this.taskGroupCollection && this.taskGroupCollection.hasItems;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -135,6 +135,7 @@ class ConceptLinkModel extends _BaseModel.default {
|
|
|
135
135
|
/**
|
|
136
136
|
*/
|
|
137
137
|
asLinkModel() {
|
|
138
|
+
// TODO SBO: origin and contextpath
|
|
138
139
|
const link = _LinkModel.default.create(this.key, this.selfhref.href, this.label);
|
|
139
140
|
link.href = this.selfhref;
|
|
140
141
|
return link;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConceptLinkModel.js","names":["_BaseModel","_interopRequireDefault","require","_LinkModel","_LinkCollection","_ConceptTypeDetailModel","_Constants","ConceptLinkModel","BaseModel","constructor","data","entryDate","arguments","length","undefined","_defineProperty2","default","_entryDate","getInitialChildModelLinks","conceptTypeLink","isCacheable","setChildModels","models","href","conceptTypeModel","_find","call","model","selfhref","equalsWithParameters","type","conceptType","_conceptType","ConceptTypeDetailModel","key","_id","label","getData","links","_links","LinkCollection","Array","isArray","selflink","getLinkByKey","Error","addParameter","TIMEVERSION_FILTER_NAME","concepttypeHref","taxonomyType","asLinkModel","link","LinkModel","create","isOfConceptType","conceptTypeId","hasMetamodelIdInConceptTypeHierarchy","metamodelId","hasMetamodelIdInHierarchy","exports"],"sources":["../../../src/models/concepts/ConceptLinkModel.js"],"sourcesContent":["// @flow\nimport BaseModel from \"../base/BaseModel\";\nimport LinkModel from \"../links/LinkModel\";\nimport LinkCollection from \"../links/LinkCollection\";\nimport ConceptTypeDetailModel from \"./ConceptTypeDetailModel\";\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\n\nimport type { IModelWithChildModels, ModularUIModel } from \"../types\";\nimport type Href from \"../href/Href\";\n/**\n * Link to a concept\n */\nexport default class ConceptLinkModel\n extends BaseModel\n implements IModelWithChildModels\n{\n _links: ?LinkCollection;\n _entryDate: ?ISO_DATE;\n _conceptType: ?ConceptTypeDetailModel;\n\n /**\n * Construct ConceptLinkModel\n */\n constructor(data: Object, entryDate: ?ISO_DATE = null) {\n super(data, {});\n\n this._entryDate = entryDate;\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n if (this.conceptTypeLink) {\n this.conceptTypeLink.isCacheable = true;\n return [this.conceptTypeLink];\n }\n\n return [];\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n if (this.conceptTypeLink) {\n const href = this.conceptTypeLink.href;\n const conceptTypeModel = models.find((model) =>\n model.selfhref.equalsWithParameters(href),\n );\n\n if (conceptTypeModel?.type === \"ConceptTypeDetail\") {\n this.conceptType = conceptTypeModel;\n }\n }\n }\n\n /**\n * Retrieve concept type\n */\n get conceptType(): ?ConceptTypeDetailModel {\n return this._conceptType;\n }\n\n /**\n * Set concept type\n */\n set conceptType(conceptType: ?ModularUIModel) {\n this._conceptType =\n conceptType instanceof ConceptTypeDetailModel ? conceptType : null;\n }\n\n /**\n * Retrieve key\n */\n get key(): string {\n return this.data._id;\n }\n\n /**\n * Retrieve label\n */\n get label(): string {\n const label = this.getData(\"label\");\n\n if (label) {\n return label;\n }\n\n return this.getData(\"conceptLabel\", \"\");\n }\n\n /**\n * Getting the links of the resource\n */\n get links(): LinkCollection {\n if (!this._links) {\n this._links = new LinkCollection(\n Array.isArray(this.data._links)\n ? this.data._links[0]\n : this.data._links,\n );\n }\n\n return this._links;\n }\n\n /**\n * Get self link of model\n */\n get selflink(): LinkModel {\n const selflink = this.links.getLinkByKey(\"self\");\n\n if (selflink === null) {\n throw new Error(\n `Could not find self link for ${\n this.key === null ? \"unknown\" : this.key\n }`,\n );\n }\n\n return selflink;\n }\n\n /**\n * Self href of concept\n */\n get selfhref(): Href {\n if (this._entryDate !== null) {\n return this.selflink.href.addParameter(\n TIMEVERSION_FILTER_NAME,\n this._entryDate,\n );\n }\n\n return this.selflink.href;\n }\n\n /**\n */\n get conceptTypeLink(): LinkModel | null {\n return this.links.getLinkByKey(\"concepttype\");\n }\n\n /**\n * Concept type href of concept\n */\n get concepttypeHref(): Href | null {\n return this.conceptTypeLink?.href ?? null;\n }\n\n /**\n */\n get taxonomyType(): string {\n return \"default\";\n }\n\n /**\n */\n asLinkModel(): LinkModel {\n const link = LinkModel.create(this.key, this.selfhref.href, this.label);\n link.href = this.selfhref;\n\n return link;\n }\n\n /**\n * Indicates if the given concept type id or href exists in the hierarchy of concept types for this concept\n */\n isOfConceptType(conceptTypeId: string): boolean {\n return this.conceptType?.isOfConceptType(conceptTypeId) ?? false;\n }\n\n /**\n * Indicates if the given metamodel functional identifier exists in the hierarchy of concept types for this concept\n */\n hasMetamodelIdInConceptTypeHierarchy(metamodelId: string): boolean {\n return this.conceptType?.hasMetamodelIdInHierarchy(metamodelId) ?? false;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ConceptLinkModel.js","names":["_BaseModel","_interopRequireDefault","require","_LinkModel","_LinkCollection","_ConceptTypeDetailModel","_Constants","ConceptLinkModel","BaseModel","constructor","data","entryDate","arguments","length","undefined","_defineProperty2","default","_entryDate","getInitialChildModelLinks","conceptTypeLink","isCacheable","setChildModels","models","href","conceptTypeModel","_find","call","model","selfhref","equalsWithParameters","type","conceptType","_conceptType","ConceptTypeDetailModel","key","_id","label","getData","links","_links","LinkCollection","Array","isArray","selflink","getLinkByKey","Error","addParameter","TIMEVERSION_FILTER_NAME","concepttypeHref","taxonomyType","asLinkModel","link","LinkModel","create","isOfConceptType","conceptTypeId","hasMetamodelIdInConceptTypeHierarchy","metamodelId","hasMetamodelIdInHierarchy","exports"],"sources":["../../../src/models/concepts/ConceptLinkModel.js"],"sourcesContent":["// @flow\nimport BaseModel from \"../base/BaseModel\";\nimport LinkModel from \"../links/LinkModel\";\nimport LinkCollection from \"../links/LinkCollection\";\nimport ConceptTypeDetailModel from \"./ConceptTypeDetailModel\";\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\n\nimport type { IModelWithChildModels, ModularUIModel } from \"../types\";\nimport type Href from \"../href/Href\";\n/**\n * Link to a concept\n */\nexport default class ConceptLinkModel\n extends BaseModel\n implements IModelWithChildModels\n{\n _links: ?LinkCollection;\n _entryDate: ?ISO_DATE;\n _conceptType: ?ConceptTypeDetailModel;\n\n /**\n * Construct ConceptLinkModel\n */\n constructor(data: Object, entryDate: ?ISO_DATE = null) {\n super(data, {});\n\n this._entryDate = entryDate;\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n if (this.conceptTypeLink) {\n this.conceptTypeLink.isCacheable = true;\n return [this.conceptTypeLink];\n }\n\n return [];\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n if (this.conceptTypeLink) {\n const href = this.conceptTypeLink.href;\n const conceptTypeModel = models.find((model) =>\n model.selfhref.equalsWithParameters(href),\n );\n\n if (conceptTypeModel?.type === \"ConceptTypeDetail\") {\n this.conceptType = conceptTypeModel;\n }\n }\n }\n\n /**\n * Retrieve concept type\n */\n get conceptType(): ?ConceptTypeDetailModel {\n return this._conceptType;\n }\n\n /**\n * Set concept type\n */\n set conceptType(conceptType: ?ModularUIModel) {\n this._conceptType =\n conceptType instanceof ConceptTypeDetailModel ? conceptType : null;\n }\n\n /**\n * Retrieve key\n */\n get key(): string {\n return this.data._id;\n }\n\n /**\n * Retrieve label\n */\n get label(): string {\n const label = this.getData(\"label\");\n\n if (label) {\n return label;\n }\n\n return this.getData(\"conceptLabel\", \"\");\n }\n\n /**\n * Getting the links of the resource\n */\n get links(): LinkCollection {\n if (!this._links) {\n this._links = new LinkCollection(\n Array.isArray(this.data._links)\n ? this.data._links[0]\n : this.data._links,\n );\n }\n\n return this._links;\n }\n\n /**\n * Get self link of model\n */\n get selflink(): LinkModel {\n const selflink = this.links.getLinkByKey(\"self\");\n\n if (selflink === null) {\n throw new Error(\n `Could not find self link for ${\n this.key === null ? \"unknown\" : this.key\n }`,\n );\n }\n\n return selflink;\n }\n\n /**\n * Self href of concept\n */\n get selfhref(): Href {\n if (this._entryDate !== null) {\n return this.selflink.href.addParameter(\n TIMEVERSION_FILTER_NAME,\n this._entryDate,\n );\n }\n\n return this.selflink.href;\n }\n\n /**\n */\n get conceptTypeLink(): LinkModel | null {\n return this.links.getLinkByKey(\"concepttype\");\n }\n\n /**\n * Concept type href of concept\n */\n get concepttypeHref(): Href | null {\n return this.conceptTypeLink?.href ?? null;\n }\n\n /**\n */\n get taxonomyType(): string {\n return \"default\";\n }\n\n /**\n */\n asLinkModel(): LinkModel {\n // TODO SBO: origin and contextpath\n const link = LinkModel.create(this.key, this.selfhref.href, this.label);\n link.href = this.selfhref;\n\n return link;\n }\n\n /**\n * Indicates if the given concept type id or href exists in the hierarchy of concept types for this concept\n */\n isOfConceptType(conceptTypeId: string): boolean {\n return this.conceptType?.isOfConceptType(conceptTypeId) ?? false;\n }\n\n /**\n * Indicates if the given metamodel functional identifier exists in the hierarchy of concept types for this concept\n */\n hasMetamodelIdInConceptTypeHierarchy(metamodelId: string): boolean {\n return this.conceptType?.hasMetamodelIdInHierarchy(metamodelId) ?? false;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -35,7 +35,8 @@ class SourceReferenceModel {
|
|
|
35
35
|
/**
|
|
36
36
|
*/
|
|
37
37
|
get selfhref() {
|
|
38
|
-
|
|
38
|
+
// TODO SBO: origin and context
|
|
39
|
+
return new _Href.default(this._sourceReference._links.self.href, "SourceReference");
|
|
39
40
|
}
|
|
40
41
|
|
|
41
42
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SourceReferenceModel.js","names":["_createHash","require","_ContentLinkModel","_interopRequireDefault","_Href","SourceReferenceModel","constructor","sourceReference","entryDate","arguments","length","undefined","_defineProperty2","default","_sourceReference","_entryDate","link","section","_links","self","href","replace","content","ContentLinkModel","selfhref","Href","type","label","sourceLabel","referenceHash","createHashFromHref","_default","exports"],"sources":["../../../src/models/concepts/SourceReferenceModel.js"],"sourcesContent":["// @flow\nimport { createHashFromHref } from \"../../utils/helpers/createHash\";\n\nimport ContentLinkModel from \"../content/ContentLinkModel\";\nimport Href from \"../href/Href\";\n\n/**\n */\nclass SourceReferenceModel {\n _sourceReference: Object;\n _entryDate: ?ISO_DATE;\n\n /**\n */\n constructor(sourceReference: Object, entryDate: ?ISO_DATE = null) {\n this._sourceReference = sourceReference;\n this._entryDate = entryDate;\n }\n\n /**\n */\n get link(): ContentLinkModel {\n const section = this._sourceReference._links.self.href.replace(\n `${this._sourceReference._links.content.href}/`,\n \"\",\n );\n\n return new ContentLinkModel(\n {\n ...this._sourceReference,\n section,\n },\n this._entryDate,\n );\n }\n\n /**\n */\n get selfhref(): Href {\n return new Href(this._sourceReference._links.self.href);\n }\n\n /**\n */\n get type(): string {\n return this._sourceReference.type;\n }\n\n /**\n */\n get label(): string {\n return this._sourceReference.label;\n }\n\n /**\n */\n get sourceLabel(): string {\n return this._sourceReference.sourceLabel;\n }\n\n /**\n */\n get referenceHash(): number {\n return createHashFromHref(this.selfhref);\n }\n}\n\nexport default SourceReferenceModel;\n"],"mappings":";;;;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AAEA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,KAAA,GAAAD,sBAAA,CAAAF,OAAA;AAEA;AACA;AACA,MAAMI,oBAAoB,CAAC;EAIzB;AACF;EACEC,WAAWA,CAACC,eAAuB,EAA+B;IAAA,IAA7BC,SAAoB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;IAAA,IAAAG,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAC9D,IAAI,CAACC,gBAAgB,GAAGP,eAAe;IACvC,IAAI,CAACQ,UAAU,GAAGP,SAAS;EAC7B;;EAEA;AACF;EACE,IAAIQ,IAAIA,CAAA,EAAqB;IAC3B,MAAMC,OAAO,GAAG,IAAI,CAACH,gBAAgB,CAACI,MAAM,CAACC,IAAI,CAACC,IAAI,CAACC,OAAO,CAC5D,GAAG,IAAI,CAACP,gBAAgB,CAACI,MAAM,CAACI,OAAO,CAACF,IAAI,GAAG,EAC/C,EACF,CAAC;IAED,OAAO,IAAIG,yBAAgB,CACzB;MACE,GAAG,IAAI,CAACT,gBAAgB;MACxBG;IACF,CAAC,EACD,IAAI,CAACF,UACP,CAAC;EACH;;EAEA;AACF;EACE,IAAIS,QAAQA,CAAA,EAAS;IACnB,OAAO,IAAIC,aAAI,CAAC,IAAI,CAACX,gBAAgB,CAACI,MAAM,CAACC,IAAI,CAACC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"SourceReferenceModel.js","names":["_createHash","require","_ContentLinkModel","_interopRequireDefault","_Href","SourceReferenceModel","constructor","sourceReference","entryDate","arguments","length","undefined","_defineProperty2","default","_sourceReference","_entryDate","link","section","_links","self","href","replace","content","ContentLinkModel","selfhref","Href","type","label","sourceLabel","referenceHash","createHashFromHref","_default","exports"],"sources":["../../../src/models/concepts/SourceReferenceModel.js"],"sourcesContent":["// @flow\nimport { createHashFromHref } from \"../../utils/helpers/createHash\";\n\nimport ContentLinkModel from \"../content/ContentLinkModel\";\nimport Href from \"../href/Href\";\n\n/**\n */\nclass SourceReferenceModel {\n _sourceReference: Object;\n _entryDate: ?ISO_DATE;\n\n /**\n */\n constructor(sourceReference: Object, entryDate: ?ISO_DATE = null) {\n this._sourceReference = sourceReference;\n this._entryDate = entryDate;\n }\n\n /**\n */\n get link(): ContentLinkModel {\n const section = this._sourceReference._links.self.href.replace(\n `${this._sourceReference._links.content.href}/`,\n \"\",\n );\n\n return new ContentLinkModel(\n {\n ...this._sourceReference,\n section,\n },\n this._entryDate,\n );\n }\n\n /**\n */\n get selfhref(): Href {\n // TODO SBO: origin and context\n return new Href(this._sourceReference._links.self.href, \"SourceReference\");\n }\n\n /**\n */\n get type(): string {\n return this._sourceReference.type;\n }\n\n /**\n */\n get label(): string {\n return this._sourceReference.label;\n }\n\n /**\n */\n get sourceLabel(): string {\n return this._sourceReference.sourceLabel;\n }\n\n /**\n */\n get referenceHash(): number {\n return createHashFromHref(this.selfhref);\n }\n}\n\nexport default SourceReferenceModel;\n"],"mappings":";;;;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AAEA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,KAAA,GAAAD,sBAAA,CAAAF,OAAA;AAEA;AACA;AACA,MAAMI,oBAAoB,CAAC;EAIzB;AACF;EACEC,WAAWA,CAACC,eAAuB,EAA+B;IAAA,IAA7BC,SAAoB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;IAAA,IAAAG,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAC9D,IAAI,CAACC,gBAAgB,GAAGP,eAAe;IACvC,IAAI,CAACQ,UAAU,GAAGP,SAAS;EAC7B;;EAEA;AACF;EACE,IAAIQ,IAAIA,CAAA,EAAqB;IAC3B,MAAMC,OAAO,GAAG,IAAI,CAACH,gBAAgB,CAACI,MAAM,CAACC,IAAI,CAACC,IAAI,CAACC,OAAO,CAC5D,GAAG,IAAI,CAACP,gBAAgB,CAACI,MAAM,CAACI,OAAO,CAACF,IAAI,GAAG,EAC/C,EACF,CAAC;IAED,OAAO,IAAIG,yBAAgB,CACzB;MACE,GAAG,IAAI,CAACT,gBAAgB;MACxBG;IACF,CAAC,EACD,IAAI,CAACF,UACP,CAAC;EACH;;EAEA;AACF;EACE,IAAIS,QAAQA,CAAA,EAAS;IACnB;IACA,OAAO,IAAIC,aAAI,CAAC,IAAI,CAACX,gBAAgB,CAACI,MAAM,CAACC,IAAI,CAACC,IAAI,EAAE,iBAAiB,CAAC;EAC5E;;EAEA;AACF;EACE,IAAIM,IAAIA,CAAA,EAAW;IACjB,OAAO,IAAI,CAACZ,gBAAgB,CAACY,IAAI;EACnC;;EAEA;AACF;EACE,IAAIC,KAAKA,CAAA,EAAW;IAClB,OAAO,IAAI,CAACb,gBAAgB,CAACa,KAAK;EACpC;;EAEA;AACF;EACE,IAAIC,WAAWA,CAAA,EAAW;IACxB,OAAO,IAAI,CAACd,gBAAgB,CAACc,WAAW;EAC1C;;EAEA;AACF;EACE,IAAIC,aAAaA,CAAA,EAAW;IAC1B,OAAO,IAAAC,8BAAkB,EAAC,IAAI,CAACN,QAAQ,CAAC;EAC1C;AACF;AAAC,IAAAO,QAAA,GAAAC,OAAA,CAAAnB,OAAA,GAEcR,oBAAoB","ignoreList":[]}
|
|
@@ -67,7 +67,7 @@ class ContentIndexModel extends _ResourceModel.default {
|
|
|
67
67
|
* Getting the self link of this list
|
|
68
68
|
*/
|
|
69
69
|
get selfhref() {
|
|
70
|
-
const href =
|
|
70
|
+
const href = this.selflink.href;
|
|
71
71
|
this.filterCollection.forEach(filter => {
|
|
72
72
|
filter.params.forEach(param => {
|
|
73
73
|
if (param.value) {
|
|
@@ -135,7 +135,7 @@ class ContentIndexModel extends _ResourceModel.default {
|
|
|
135
135
|
var _context2;
|
|
136
136
|
firstChar = (0, _filter.default)(_context2 = filterAttribute.options).call(_context2, option => option.code !== "0")[0].code;
|
|
137
137
|
}
|
|
138
|
-
return new _Href.default(this.selfhref
|
|
138
|
+
return new _Href.default(this.selfhref).addParameter("index", firstChar);
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
141
|
exports.default = ContentIndexModel;
|
|
@@ -73,7 +73,7 @@ export default class ContentIndexModel extends ResourceModel {
|
|
|
73
73
|
* Getting the self link of this list
|
|
74
74
|
*/
|
|
75
75
|
get selfhref(): Href {
|
|
76
|
-
const href =
|
|
76
|
+
const href = this.selflink.href;
|
|
77
77
|
|
|
78
78
|
this.filterCollection.forEach((filter) => {
|
|
79
79
|
filter.params.forEach((param) => {
|
|
@@ -150,6 +150,6 @@ export default class ContentIndexModel extends ResourceModel {
|
|
|
150
150
|
)[0].code;
|
|
151
151
|
}
|
|
152
152
|
|
|
153
|
-
return new Href(this.selfhref
|
|
153
|
+
return new Href(this.selfhref).addParameter("index", firstChar);
|
|
154
154
|
}
|
|
155
155
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentIndexModel.js","names":["_ResourceModel","_interopRequireDefault","require","_ResourceCollection","_FilterCollection","_ContentLinkModel","_Href","_ChoiceAttributeModel","ContentIndexModel","ResourceModel","constructor","modularuiResponse","_context","_defineProperty2","default","_filterCollection","FilterCollection","_filter","data","filter","contributions","dynamicschema","_content","ResourceCollection","collection","_embedded","_map","results","call","content","ContentLinkModel","type","modelName","isApplicableModel","resourcetype","getInitialChildModelLinks","items","setChildModels","models","errors","selfhref","href","
|
|
1
|
+
{"version":3,"file":"ContentIndexModel.js","names":["_ResourceModel","_interopRequireDefault","require","_ResourceCollection","_FilterCollection","_ContentLinkModel","_Href","_ChoiceAttributeModel","ContentIndexModel","ResourceModel","constructor","modularuiResponse","_context","_defineProperty2","default","_filterCollection","FilterCollection","_filter","data","filter","contributions","dynamicschema","_content","ResourceCollection","collection","_embedded","_map","results","call","content","ContentLinkModel","type","modelName","isApplicableModel","resourcetype","getInitialChildModelLinks","items","setChildModels","models","errors","selfhref","href","selflink","filterCollection","forEach","params","param","value","setParameter","name","removeParameter","label","getContribution","indexfilter","getFilterByAttributeKey","hasIndexFilter","filterAttribute","attribute","ChoiceAttributeModel","options","length","hasFiltersSet","some","isActive","hasNoFiltersSet","getFirstCharHref","firstChar","_context2","option","code","Href","addParameter","exports"],"sources":["../../../src/models/content/ContentIndexModel.js"],"sourcesContent":["// @flow\nimport ResourceModel from \"../base/ResourceModel\";\nimport ResourceCollection from \"../base/ResourceCollection\";\nimport FilterCollection from \"../filters/FilterCollection\";\nimport ContentLinkModel from \"./ContentLinkModel\";\nimport Href from \"../href/Href\";\nimport ChoiceAttributeModel from \"../attributes/ChoiceAttributeModel\";\n\nimport type { FilterType, ModularUIModel } from \"../types\";\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type ErrorResponse from \"../error/ErrorResponse\";\n\n/**\n * Get Index of concepts, to filter model catalog\n */\nexport default class ContentIndexModel extends ResourceModel {\n _filterCollection: FilterCollection;\n _content: ResourceCollection<ContentLinkModel>;\n\n /**\n */\n constructor(modularuiResponse: ModularUIResponse) {\n super(modularuiResponse);\n\n this._filterCollection = new FilterCollection(this.data.filter, {\n filter: this.contributions.filter,\n dynamicschema: this.data.dynamicschema,\n });\n\n this._content = new ResourceCollection();\n this._content.collection = this.data._embedded\n ? this.data._embedded.results.map(\n (content) => new ContentLinkModel(content.content),\n )\n : [];\n }\n\n /**\n */\n get type(): string {\n return \"ContentIndex\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"ContentIndexModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"ContentSearch\"\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n return this.items.getInitialChildModelLinks();\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>, errors: Array<ErrorResponse>) {\n this.items.setChildModels(models, errors);\n }\n\n /**\n * Getting the self link of this list\n */\n get selfhref(): Href {\n const href = this.selflink.href;\n\n this.filterCollection.forEach((filter) => {\n filter.params.forEach((param) => {\n if (param.value) {\n href.setParameter(param.name, param.value);\n } else {\n href.removeParameter(param.name);\n }\n });\n });\n\n return href;\n }\n\n /**\n */\n get label(): string {\n return this.getContribution(\"label\");\n }\n\n /**\n * Retrieve filters of conceptindex model\n */\n get filterCollection(): FilterCollection {\n return this._filterCollection;\n }\n\n /**\n * Get index filter\n */\n get indexfilter(): FilterType | null {\n return this._filterCollection.getFilterByAttributeKey(\"index\");\n }\n\n /**\n * Retrieve content collection\n */\n get items(): ResourceCollection<ContentLinkModel> {\n return this._content;\n }\n\n /**\n */\n hasIndexFilter(): boolean {\n const filterAttribute = this.indexfilter?.attribute;\n\n return (\n filterAttribute instanceof ChoiceAttributeModel &&\n filterAttribute.options.length > 0\n );\n }\n\n /**\n */\n hasFiltersSet(): boolean {\n return this.filterCollection.some((filter) => filter.isActive());\n }\n\n /**\n */\n hasNoFiltersSet(): boolean {\n return !this.hasFiltersSet();\n }\n\n /**\n */\n getFirstCharHref(): Href {\n const filterAttribute = this.indexfilter?.attribute;\n\n let firstChar = \"#\";\n if (filterAttribute instanceof ChoiceAttributeModel) {\n firstChar = filterAttribute.options.filter(\n (option) => option.code !== \"0\",\n )[0].code;\n }\n\n return new Href(this.selfhref).addParameter(\"index\", firstChar);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -97,6 +97,7 @@ class ContentLinkModel extends _BaseModel.default {
|
|
|
97
97
|
/**
|
|
98
98
|
*/
|
|
99
99
|
createEncodedHref() {
|
|
100
|
+
// TODO SBO: origin and context
|
|
100
101
|
const startURI = "/content/";
|
|
101
102
|
const selfHref = new _Href.default(this.data._links.self.href);
|
|
102
103
|
const href = selfHref.path;
|
|
@@ -127,6 +128,7 @@ class ContentLinkModel extends _BaseModel.default {
|
|
|
127
128
|
*/
|
|
128
129
|
get links() {
|
|
129
130
|
if (!this._links) {
|
|
131
|
+
// TODO SBO: origin and context
|
|
130
132
|
this._links = new _LinkCollection.default(Array.isArray(this.data._links) ? this.data._links[0] : this.data._links);
|
|
131
133
|
}
|
|
132
134
|
return this._links;
|
|
@@ -102,6 +102,7 @@ export default class ContentLinkModel
|
|
|
102
102
|
/**
|
|
103
103
|
*/
|
|
104
104
|
createEncodedHref(): Href {
|
|
105
|
+
// TODO SBO: origin and context
|
|
105
106
|
const startURI = "/content/";
|
|
106
107
|
const selfHref = new Href(this.data._links.self.href);
|
|
107
108
|
const href = selfHref.path;
|
|
@@ -139,6 +140,7 @@ export default class ContentLinkModel
|
|
|
139
140
|
*/
|
|
140
141
|
get links(): LinkCollection {
|
|
141
142
|
if (!this._links) {
|
|
143
|
+
// TODO SBO: origin and context
|
|
142
144
|
this._links = new LinkCollection(
|
|
143
145
|
Array.isArray(this.data._links)
|
|
144
146
|
? this.data._links[0]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentLinkModel.js","names":["_BaseModel","_interopRequireDefault","require","_Href","_LinkModel","_ContentTypeModel","_Constants","_LinkCollection","ContentLinkModel","BaseModel","constructor","data","entryDate","arguments","length","undefined","_defineProperty2","default","_entryDate","getInitialChildModelLinks","contentTypeLink","isCacheable","setChildModels","models","href","contentTypeModel","_find","call","model","selfhref","equalsWithParameters","type","contentType","_contentType","ContentTypeModel","key","getData","label","sourceLabel","createEncodedHref","startURI","selfHref","Href","_links","self","path","section","sourceId","substring","lastIndexOf","encodeURIComponent","encodedHref","addParameter","TIMEVERSION_FILTER_NAME","links","LinkCollection","Array","isArray","selflink","getLinkByKey","Error","subSectionID","hash","contentTypeHref","items","_items","exports"],"sources":["../../../src/models/content/ContentLinkModel.js"],"sourcesContent":["// @flow\nimport BaseModel from \"../base/BaseModel\";\nimport Href from \"../href/Href\";\nimport LinkModel from \"../links/LinkModel\";\nimport ContentTypeModel from \"./ContentTypeModel\";\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\n\nimport LinkCollection from \"../links/LinkCollection\";\n\nimport type { ModularUIModel, IModelWithChildModels } from \"../types\";\n\n/**\n * Link to a concept\n */\nexport default class ContentLinkModel\n extends BaseModel\n implements IModelWithChildModels\n{\n _links: ?LinkCollection;\n _entryDate: ?ISO_DATE;\n _contentType: ContentTypeModel | null = null;\n _items: Array<ContentLinkModel>;\n\n /**\n */\n constructor(data: Object, entryDate: ?ISO_DATE = null) {\n super(data, {});\n\n this._entryDate = entryDate;\n }\n\n /**\n */\n // $FlowFixMe[method-unbinding]\n getInitialChildModelLinks(): Array<LinkModel> {\n if (this.contentTypeLink) {\n this.contentTypeLink.isCacheable = true;\n return [this.contentTypeLink];\n }\n\n return [];\n }\n\n /**\n */\n // $FlowFixMe[method-unbinding]\n setChildModels(models: Array<ModularUIModel>) {\n if (this.contentTypeLink) {\n const href = this.contentTypeLink.href;\n const contentTypeModel = models.find((model) =>\n model.selfhref.equalsWithParameters(href),\n );\n\n if (contentTypeModel?.type === \"ContentType\") {\n this.contentType = contentTypeModel;\n }\n }\n }\n\n /**\n * Retrieve content type\n */\n get contentType(): ?ContentTypeModel | null {\n return this._contentType;\n }\n\n /**\n * Set concept type\n */\n set contentType(contentType: ?ModularUIModel) {\n this._contentType =\n contentType instanceof ContentTypeModel ? contentType : null;\n }\n\n /**\n */\n set entryDate(entryDate: ISO_DATE) {\n this._entryDate = entryDate;\n }\n\n /**\n * Retrieve key\n */\n get key(): string {\n return this.getData(\"_id\", \"\");\n }\n\n /**\n * Retrieve label\n */\n get label(): string {\n return this.getData(\"label\", \"\");\n }\n\n /**\n * Retrieve the label of the source a link to a section belongs to\n */\n get sourceLabel(): string | null {\n return this.getData(\"sourceLabel\");\n }\n\n /**\n */\n createEncodedHref(): Href {\n const startURI = \"/content/\";\n const selfHref = new Href(this.data._links.self.href);\n const href = selfHref.path;\n\n const section = this.data.section;\n const sourceId = section\n ? href.substring(startURI.length, href.lastIndexOf(\"/\"))\n : href.substring(startURI.length);\n\n if (section) {\n selfHref.path = `${startURI}${encodeURIComponent(sourceId)}/${encodeURIComponent(section)}`;\n } else {\n selfHref.path = `${startURI}${encodeURIComponent(sourceId)}`;\n }\n\n return selfHref;\n }\n\n /**\n * Encode the content-identifier of the path to the content resource.\n * This makes it a single uri part, which can be used on routes to make nested routes\n */\n get encodedHref(): Href {\n const href = this.createEncodedHref();\n\n if (this._entryDate !== null) {\n return href.addParameter(TIMEVERSION_FILTER_NAME, this._entryDate);\n }\n\n return href;\n }\n\n /**\n * Getting the links of the resource\n */\n get links(): LinkCollection {\n if (!this._links) {\n this._links = new LinkCollection(\n Array.isArray(this.data._links)\n ? this.data._links[0]\n : this.data._links,\n );\n }\n\n return this._links;\n }\n\n /**\n * Get self link of model\n */\n get selflink(): LinkModel {\n const selflink = this.links.getLinkByKey(\"self\");\n\n if (selflink === null) {\n throw new Error(\n `Could not find self link for ${\n this.key === null ? \"unknown\" : this.key\n }`,\n );\n }\n\n return selflink;\n }\n\n /**\n * Self href of concept\n */\n get selfhref(): Href {\n if (this._entryDate !== null) {\n return this.selflink.href.addParameter(\n TIMEVERSION_FILTER_NAME,\n this._entryDate,\n );\n }\n\n return this.selflink.href;\n }\n\n /**\n */\n get subSectionID(): string {\n return this.selfhref.hash;\n }\n\n /**\n */\n get contentTypeLink(): LinkModel | null {\n return this.links.getLinkByKey(\"contenttype\");\n }\n\n /**\n * Concept type href of concept\n */\n get contentTypeHref(): Href | null {\n if (this.contentTypeLink) {\n return this.contentTypeLink.href;\n }\n\n return null;\n }\n\n /**\n * Children of link model in TOC\n */\n set items(items: Array<ContentLinkModel>) {\n this._items = items;\n }\n\n /**\n */\n get items(): Array<ContentLinkModel> {\n return this._items;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ContentLinkModel.js","names":["_BaseModel","_interopRequireDefault","require","_Href","_LinkModel","_ContentTypeModel","_Constants","_LinkCollection","ContentLinkModel","BaseModel","constructor","data","entryDate","arguments","length","undefined","_defineProperty2","default","_entryDate","getInitialChildModelLinks","contentTypeLink","isCacheable","setChildModels","models","href","contentTypeModel","_find","call","model","selfhref","equalsWithParameters","type","contentType","_contentType","ContentTypeModel","key","getData","label","sourceLabel","createEncodedHref","startURI","selfHref","Href","_links","self","path","section","sourceId","substring","lastIndexOf","encodeURIComponent","encodedHref","addParameter","TIMEVERSION_FILTER_NAME","links","LinkCollection","Array","isArray","selflink","getLinkByKey","Error","subSectionID","hash","contentTypeHref","items","_items","exports"],"sources":["../../../src/models/content/ContentLinkModel.js"],"sourcesContent":["// @flow\nimport BaseModel from \"../base/BaseModel\";\nimport Href from \"../href/Href\";\nimport LinkModel from \"../links/LinkModel\";\nimport ContentTypeModel from \"./ContentTypeModel\";\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\n\nimport LinkCollection from \"../links/LinkCollection\";\n\nimport type { ModularUIModel, IModelWithChildModels } from \"../types\";\n\n/**\n * Link to a concept\n */\nexport default class ContentLinkModel\n extends BaseModel\n implements IModelWithChildModels\n{\n _links: ?LinkCollection;\n _entryDate: ?ISO_DATE;\n _contentType: ContentTypeModel | null = null;\n _items: Array<ContentLinkModel>;\n\n /**\n */\n constructor(data: Object, entryDate: ?ISO_DATE = null) {\n super(data, {});\n\n this._entryDate = entryDate;\n }\n\n /**\n */\n // $FlowFixMe[method-unbinding]\n getInitialChildModelLinks(): Array<LinkModel> {\n if (this.contentTypeLink) {\n this.contentTypeLink.isCacheable = true;\n return [this.contentTypeLink];\n }\n\n return [];\n }\n\n /**\n */\n // $FlowFixMe[method-unbinding]\n setChildModels(models: Array<ModularUIModel>) {\n if (this.contentTypeLink) {\n const href = this.contentTypeLink.href;\n const contentTypeModel = models.find((model) =>\n model.selfhref.equalsWithParameters(href),\n );\n\n if (contentTypeModel?.type === \"ContentType\") {\n this.contentType = contentTypeModel;\n }\n }\n }\n\n /**\n * Retrieve content type\n */\n get contentType(): ?ContentTypeModel | null {\n return this._contentType;\n }\n\n /**\n * Set concept type\n */\n set contentType(contentType: ?ModularUIModel) {\n this._contentType =\n contentType instanceof ContentTypeModel ? contentType : null;\n }\n\n /**\n */\n set entryDate(entryDate: ISO_DATE) {\n this._entryDate = entryDate;\n }\n\n /**\n * Retrieve key\n */\n get key(): string {\n return this.getData(\"_id\", \"\");\n }\n\n /**\n * Retrieve label\n */\n get label(): string {\n return this.getData(\"label\", \"\");\n }\n\n /**\n * Retrieve the label of the source a link to a section belongs to\n */\n get sourceLabel(): string | null {\n return this.getData(\"sourceLabel\");\n }\n\n /**\n */\n createEncodedHref(): Href {\n // TODO SBO: origin and context\n const startURI = \"/content/\";\n const selfHref = new Href(this.data._links.self.href);\n const href = selfHref.path;\n\n const section = this.data.section;\n const sourceId = section\n ? href.substring(startURI.length, href.lastIndexOf(\"/\"))\n : href.substring(startURI.length);\n\n if (section) {\n selfHref.path = `${startURI}${encodeURIComponent(sourceId)}/${encodeURIComponent(section)}`;\n } else {\n selfHref.path = `${startURI}${encodeURIComponent(sourceId)}`;\n }\n\n return selfHref;\n }\n\n /**\n * Encode the content-identifier of the path to the content resource.\n * This makes it a single uri part, which can be used on routes to make nested routes\n */\n get encodedHref(): Href {\n const href = this.createEncodedHref();\n\n if (this._entryDate !== null) {\n return href.addParameter(TIMEVERSION_FILTER_NAME, this._entryDate);\n }\n\n return href;\n }\n\n /**\n * Getting the links of the resource\n */\n get links(): LinkCollection {\n if (!this._links) {\n // TODO SBO: origin and context\n this._links = new LinkCollection(\n Array.isArray(this.data._links)\n ? this.data._links[0]\n : this.data._links,\n );\n }\n\n return this._links;\n }\n\n /**\n * Get self link of model\n */\n get selflink(): LinkModel {\n const selflink = this.links.getLinkByKey(\"self\");\n\n if (selflink === null) {\n throw new Error(\n `Could not find self link for ${\n this.key === null ? \"unknown\" : this.key\n }`,\n );\n }\n\n return selflink;\n }\n\n /**\n * Self href of concept\n */\n get selfhref(): Href {\n if (this._entryDate !== null) {\n return this.selflink.href.addParameter(\n TIMEVERSION_FILTER_NAME,\n this._entryDate,\n );\n }\n\n return this.selflink.href;\n }\n\n /**\n */\n get subSectionID(): string {\n return this.selfhref.hash;\n }\n\n /**\n */\n get contentTypeLink(): LinkModel | null {\n return this.links.getLinkByKey(\"contenttype\");\n }\n\n /**\n * Concept type href of concept\n */\n get contentTypeHref(): Href | null {\n if (this.contentTypeLink) {\n return this.contentTypeLink.href;\n }\n\n return null;\n }\n\n /**\n * Children of link model in TOC\n */\n set items(items: Array<ContentLinkModel>) {\n this._items = items;\n }\n\n /**\n */\n get items(): Array<ContentLinkModel> {\n return this._items;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|