@beinformed/ui 1.25.1 → 1.25.4
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 +18 -0
- package/esm/constants/Constants.js +5 -0
- package/esm/constants/Constants.js.map +1 -1
- package/esm/hooks/useAuthentication.js +5 -5
- package/esm/hooks/useAuthentication.js.map +1 -1
- package/esm/hooks/useModularUI.js.map +1 -1
- package/esm/hooks/useModularUIBasic.js +3 -0
- package/esm/hooks/useModularUIBasic.js.map +1 -1
- package/esm/hooks/useModularUIModel.js +7 -0
- package/esm/hooks/useModularUIModel.js.map +1 -1
- package/esm/hooks/useModularUIRequest.js +5 -7
- package/esm/hooks/useModularUIRequest.js.map +1 -1
- package/esm/models/application/ApplicationModel.js +9 -1
- package/esm/models/application/ApplicationModel.js.map +1 -1
- package/esm/models/base/BaseModel.js +11 -2
- package/esm/models/base/BaseModel.js.map +1 -1
- package/esm/models/base/ResourceModel.js +8 -1
- package/esm/models/base/ResourceModel.js.map +1 -1
- package/esm/models/caseview/CaseViewModel.js +6 -0
- package/esm/models/caseview/CaseViewModel.js.map +1 -1
- package/esm/models/concepts/BusinessScenarioModel.js +6 -0
- package/esm/models/concepts/BusinessScenarioModel.js.map +1 -1
- package/esm/models/concepts/ConceptDetailModel.js +6 -0
- package/esm/models/concepts/ConceptDetailModel.js.map +1 -1
- package/esm/models/concepts/ConceptIndexModel.js +6 -0
- package/esm/models/concepts/ConceptIndexModel.js.map +1 -1
- package/esm/models/concepts/ConceptTypeDetailModel.js +6 -0
- package/esm/models/concepts/ConceptTypeDetailModel.js.map +1 -1
- package/esm/models/content/ContentIndexModel.js +6 -0
- package/esm/models/content/ContentIndexModel.js.map +1 -1
- package/esm/models/content/ContentModel.js +6 -0
- package/esm/models/content/ContentModel.js.map +1 -1
- package/esm/models/content/ContentTOCModel.js +6 -0
- package/esm/models/content/ContentTOCModel.js.map +1 -1
- package/esm/models/content/ContentTypeModel.js +6 -0
- package/esm/models/content/ContentTypeModel.js.map +1 -1
- package/esm/models/detail/DetailModel.js +6 -0
- package/esm/models/detail/DetailModel.js.map +1 -1
- package/esm/models/form/FormModel.js +6 -0
- package/esm/models/form/FormModel.js.map +1 -1
- package/esm/models/form/FormObjectModel.js +45 -16
- package/esm/models/form/FormObjectModel.js.map +1 -1
- package/esm/models/list/ListDetailModel.js +6 -0
- package/esm/models/list/ListDetailModel.js.map +1 -1
- package/esm/models/list/ListModel.js +6 -0
- package/esm/models/list/ListModel.js.map +1 -1
- package/esm/models/lookup/LookupOptionsModel.js +6 -0
- package/esm/models/lookup/LookupOptionsModel.js.map +1 -1
- package/esm/models/modelcatalog/ModelCatalogModel.js +6 -0
- package/esm/models/modelcatalog/ModelCatalogModel.js.map +1 -1
- package/esm/models/panels/GroupingPanelModel.js +6 -0
- package/esm/models/panels/GroupingPanelModel.js.map +1 -1
- package/esm/models/resolveModel.js +4 -4
- package/esm/models/resolveModel.js.map +1 -1
- package/esm/models/search/CaseSearchModel.js +6 -0
- package/esm/models/search/CaseSearchModel.js.map +1 -1
- package/esm/models/tab/TabModel.js +6 -0
- package/esm/models/tab/TabModel.js.map +1 -1
- package/esm/models/taskgroup/TaskGroupModel.js +6 -0
- package/esm/models/taskgroup/TaskGroupModel.js.map +1 -1
- package/esm/models/types.js.map +1 -1
- package/esm/models/user/UserModel.js +6 -0
- package/esm/models/user/UserModel.js.map +1 -1
- package/esm/models/user/UserProfileModel.js +6 -0
- package/esm/models/user/UserProfileModel.js.map +1 -1
- package/esm/models/user/UserServicesModel.js +6 -0
- package/esm/models/user/UserServicesModel.js.map +1 -1
- package/esm/modularui/ModularUIRequest.js +38 -11
- package/esm/modularui/ModularUIRequest.js.map +1 -1
- package/esm/modularui/types.js +2 -0
- package/esm/modularui/types.js.map +1 -0
- package/esm/redux/_modularui/ModularUIActions.js.map +1 -1
- package/esm/redux/_modularui/ModularUIMiddleware.js.map +1 -1
- package/esm/redux/_modularui/types.js.map +1 -1
- package/esm/redux/_modularui/withModularUI.js.map +1 -1
- package/esm/utils/fetch/types.js.map +1 -1
- package/lib/constants/Constants.js +7 -1
- package/lib/constants/Constants.js.flow +6 -0
- package/lib/constants/Constants.js.map +1 -1
- package/lib/hooks/__tests__/UseModularUIModel.spec.js.flow +1 -1
- package/lib/hooks/__tests__/useModelCatalog.spec.js.flow +1 -1
- package/lib/hooks/__tests__/useModularUIBasic.spec.js.flow +2 -2
- package/lib/hooks/useAuthentication.js +4 -4
- package/lib/hooks/useAuthentication.js.flow +17 -5
- package/lib/hooks/useAuthentication.js.map +1 -1
- package/lib/hooks/useModularUI.js.flow +2 -2
- package/lib/hooks/useModularUI.js.map +1 -1
- package/lib/hooks/useModularUIBasic.js +3 -0
- package/lib/hooks/useModularUIBasic.js.flow +6 -3
- package/lib/hooks/useModularUIBasic.js.map +1 -1
- package/lib/hooks/useModularUIModel.js +9 -1
- package/lib/hooks/useModularUIModel.js.flow +18 -10
- package/lib/hooks/useModularUIModel.js.map +1 -1
- package/lib/hooks/useModularUIRequest.js +5 -7
- package/lib/hooks/useModularUIRequest.js.flow +12 -11
- package/lib/hooks/useModularUIRequest.js.map +1 -1
- package/lib/models/application/ApplicationModel.js +8 -1
- package/lib/models/application/ApplicationModel.js.flow +10 -1
- package/lib/models/application/ApplicationModel.js.map +1 -1
- package/lib/models/base/BaseModel.js +11 -2
- package/lib/models/base/BaseModel.js.flow +12 -3
- package/lib/models/base/BaseModel.js.map +1 -1
- package/lib/models/base/ResourceModel.js +8 -1
- package/lib/models/base/ResourceModel.js.flow +8 -1
- package/lib/models/base/ResourceModel.js.map +1 -1
- package/lib/models/caseview/CaseViewModel.js +6 -0
- package/lib/models/caseview/CaseViewModel.js.flow +6 -0
- package/lib/models/caseview/CaseViewModel.js.map +1 -1
- package/lib/models/concepts/BusinessScenarioModel.js +6 -0
- package/lib/models/concepts/BusinessScenarioModel.js.flow +6 -0
- package/lib/models/concepts/BusinessScenarioModel.js.map +1 -1
- package/lib/models/concepts/ConceptDetailModel.js +6 -0
- package/lib/models/concepts/ConceptDetailModel.js.flow +6 -0
- package/lib/models/concepts/ConceptDetailModel.js.map +1 -1
- package/lib/models/concepts/ConceptIndexModel.js +6 -0
- package/lib/models/concepts/ConceptIndexModel.js.flow +6 -0
- package/lib/models/concepts/ConceptIndexModel.js.map +1 -1
- package/lib/models/concepts/ConceptTypeDetailModel.js +6 -0
- package/lib/models/concepts/ConceptTypeDetailModel.js.flow +6 -0
- package/lib/models/concepts/ConceptTypeDetailModel.js.map +1 -1
- package/lib/models/content/ContentIndexModel.js +6 -0
- package/lib/models/content/ContentIndexModel.js.flow +6 -0
- package/lib/models/content/ContentIndexModel.js.map +1 -1
- package/lib/models/content/ContentModel.js +6 -0
- package/lib/models/content/ContentModel.js.flow +6 -0
- package/lib/models/content/ContentModel.js.map +1 -1
- package/lib/models/content/ContentTOCModel.js +6 -0
- package/lib/models/content/ContentTOCModel.js.flow +6 -0
- package/lib/models/content/ContentTOCModel.js.map +1 -1
- package/lib/models/content/ContentTypeModel.js +6 -0
- package/lib/models/content/ContentTypeModel.js.flow +6 -0
- package/lib/models/content/ContentTypeModel.js.map +1 -1
- package/lib/models/detail/DetailModel.js +6 -0
- package/lib/models/detail/DetailModel.js.flow +6 -0
- package/lib/models/detail/DetailModel.js.map +1 -1
- package/lib/models/form/FormModel.js +6 -0
- package/lib/models/form/FormModel.js.flow +6 -0
- package/lib/models/form/FormModel.js.map +1 -1
- package/lib/models/form/FormObjectModel.js +45 -16
- package/lib/models/form/FormObjectModel.js.flow +71 -24
- package/lib/models/form/FormObjectModel.js.map +1 -1
- package/lib/models/form/__tests__/FormModel.repeating.spec.js.flow +4 -0
- package/lib/models/list/ListDetailModel.js +6 -0
- package/lib/models/list/ListDetailModel.js.flow +6 -0
- package/lib/models/list/ListDetailModel.js.map +1 -1
- package/lib/models/list/ListModel.js +6 -0
- package/lib/models/list/ListModel.js.flow +6 -0
- package/lib/models/list/ListModel.js.map +1 -1
- package/lib/models/lookup/LookupOptionsModel.js +6 -0
- package/lib/models/lookup/LookupOptionsModel.js.flow +6 -0
- package/lib/models/lookup/LookupOptionsModel.js.map +1 -1
- package/lib/models/modelcatalog/ModelCatalogModel.js +6 -0
- package/lib/models/modelcatalog/ModelCatalogModel.js.flow +6 -0
- package/lib/models/modelcatalog/ModelCatalogModel.js.map +1 -1
- package/lib/models/panels/GroupingPanelModel.js +6 -0
- package/lib/models/panels/GroupingPanelModel.js.flow +6 -0
- package/lib/models/panels/GroupingPanelModel.js.map +1 -1
- package/lib/models/resolveModel.js +4 -3
- package/lib/models/resolveModel.js.flow +6 -4
- package/lib/models/resolveModel.js.map +1 -1
- package/lib/models/search/CaseSearchModel.js +6 -0
- package/lib/models/search/CaseSearchModel.js.flow +6 -0
- package/lib/models/search/CaseSearchModel.js.map +1 -1
- package/lib/models/tab/TabModel.js +6 -0
- package/lib/models/tab/TabModel.js.flow +6 -0
- package/lib/models/tab/TabModel.js.map +1 -1
- package/lib/models/taskgroup/TaskGroupModel.js +6 -0
- package/lib/models/taskgroup/TaskGroupModel.js.flow +6 -0
- package/lib/models/taskgroup/TaskGroupModel.js.map +1 -1
- package/lib/models/types.js.flow +1 -1
- package/lib/models/types.js.map +1 -1
- package/lib/models/user/UserModel.js +6 -0
- package/lib/models/user/UserModel.js.flow +6 -0
- package/lib/models/user/UserModel.js.map +1 -1
- package/lib/models/user/UserProfileModel.js +6 -0
- package/lib/models/user/UserProfileModel.js.flow +6 -0
- package/lib/models/user/UserProfileModel.js.map +1 -1
- package/lib/models/user/UserServicesModel.js +6 -0
- package/lib/models/user/UserServicesModel.js.flow +6 -0
- package/lib/models/user/UserServicesModel.js.map +1 -1
- package/lib/modularui/ModularUIRequest.js +38 -11
- package/lib/modularui/ModularUIRequest.js.flow +65 -17
- package/lib/modularui/ModularUIRequest.js.map +1 -1
- package/lib/modularui/__tests__/ModularUIRequest.spec.js.flow +4 -9
- package/lib/modularui/types.js +2 -0
- package/lib/modularui/types.js.flow +4 -0
- package/lib/modularui/types.js.map +1 -0
- package/lib/redux/_modularui/ModularUIActions.js.flow +4 -4
- package/lib/redux/_modularui/ModularUIActions.js.map +1 -1
- package/lib/redux/_modularui/ModularUIMiddleware.js.flow +3 -2
- package/lib/redux/_modularui/ModularUIMiddleware.js.map +1 -1
- package/lib/redux/_modularui/types.js.flow +4 -3
- package/lib/redux/_modularui/types.js.map +1 -1
- package/lib/redux/_modularui/withModularUI.js.flow +2 -2
- package/lib/redux/_modularui/withModularUI.js.map +1 -1
- package/lib/utils/fetch/types.js.flow +12 -4
- package/lib/utils/fetch/types.js.map +1 -1
- package/package.json +7 -7
- package/src/constants/Constants.js +6 -0
- package/src/hooks/__tests__/UseModularUIModel.spec.js +1 -1
- package/src/hooks/__tests__/useModelCatalog.spec.js +1 -1
- package/src/hooks/__tests__/useModularUIBasic.spec.js +2 -2
- package/src/hooks/useAuthentication.js +17 -5
- package/src/hooks/useModularUI.js +2 -2
- package/src/hooks/useModularUIBasic.js +6 -3
- package/src/hooks/useModularUIModel.js +18 -10
- package/src/hooks/useModularUIRequest.js +12 -11
- package/src/models/application/ApplicationModel.js +10 -1
- package/src/models/base/BaseModel.js +12 -3
- package/src/models/base/ResourceModel.js +8 -1
- package/src/models/caseview/CaseViewModel.js +6 -0
- package/src/models/concepts/BusinessScenarioModel.js +6 -0
- package/src/models/concepts/ConceptDetailModel.js +6 -0
- package/src/models/concepts/ConceptIndexModel.js +6 -0
- package/src/models/concepts/ConceptTypeDetailModel.js +6 -0
- package/src/models/content/ContentIndexModel.js +6 -0
- package/src/models/content/ContentModel.js +6 -0
- package/src/models/content/ContentTOCModel.js +6 -0
- package/src/models/content/ContentTypeModel.js +6 -0
- package/src/models/detail/DetailModel.js +6 -0
- package/src/models/form/FormModel.js +6 -0
- package/src/models/form/FormObjectModel.js +71 -24
- package/src/models/form/__tests__/FormModel.repeating.spec.js +4 -0
- package/src/models/list/ListDetailModel.js +6 -0
- package/src/models/list/ListModel.js +6 -0
- package/src/models/lookup/LookupOptionsModel.js +6 -0
- package/src/models/modelcatalog/ModelCatalogModel.js +6 -0
- package/src/models/panels/GroupingPanelModel.js +6 -0
- package/src/models/resolveModel.js +6 -4
- package/src/models/search/CaseSearchModel.js +6 -0
- package/src/models/tab/TabModel.js +6 -0
- package/src/models/taskgroup/TaskGroupModel.js +6 -0
- package/src/models/types.js +1 -1
- package/src/models/user/UserModel.js +6 -0
- package/src/models/user/UserProfileModel.js +6 -0
- package/src/models/user/UserServicesModel.js +6 -0
- package/src/modularui/ModularUIRequest.js +65 -17
- package/src/modularui/__tests__/ModularUIRequest.spec.js +4 -9
- package/src/modularui/types.js +4 -0
- package/src/redux/_modularui/ModularUIActions.js +4 -4
- package/src/redux/_modularui/ModularUIMiddleware.js +3 -2
- package/src/redux/_modularui/types.js +4 -3
- package/src/redux/_modularui/withModularUI.js +2 -2
- package/src/utils/fetch/types.js +12 -4
- package/types/constants/Constants.d.ts +5 -0
- package/types/models/base/BaseModel.d.ts +12 -3
- package/types/models/base/ResourceModel.d.ts +5 -1
- package/types/models/form/FormObjectModel.d.ts +28 -0
- package/types/models/resolveModel.d.ts +1 -1
- package/types/models/types.d.ts +1 -1
- package/types/modularui/ModularUIRequest.d.ts +15 -7
- package/types/modularui/types.d.ts +2 -0
- package/types/redux/_modularui/types.d.ts +2 -2
- package/types/utils/fetch/types.d.ts +8 -5
|
@@ -12,7 +12,10 @@ export type BaseDehydrateData = {
|
|
|
12
12
|
};
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
|
-
* Base model
|
|
15
|
+
* Base model, this is the foundation of a model,
|
|
16
|
+
* it contains data that is needed for all models like, data, contributions and layout hint
|
|
17
|
+
*
|
|
18
|
+
* Extend this for non modular ui resources, for modular ui resource start with the resourceModel
|
|
16
19
|
*/
|
|
17
20
|
class BaseModel {
|
|
18
21
|
_data: Object;
|
|
@@ -39,6 +42,7 @@ class BaseModel {
|
|
|
39
42
|
}
|
|
40
43
|
|
|
41
44
|
/**
|
|
45
|
+
* Retrieve property from the data object of the model, mostly used internal
|
|
42
46
|
*/
|
|
43
47
|
getData(propName: string, defaultValue: any = null): any {
|
|
44
48
|
return this.data[propName] ?? defaultValue;
|
|
@@ -52,6 +56,7 @@ class BaseModel {
|
|
|
52
56
|
}
|
|
53
57
|
|
|
54
58
|
/**
|
|
59
|
+
* Retrieve property from the contributions of the model, mostly used internal
|
|
55
60
|
*/
|
|
56
61
|
getContribution(propName: string, defaultValue: any = null): any {
|
|
57
62
|
return this.contributions[propName] ?? defaultValue;
|
|
@@ -79,18 +84,21 @@ class BaseModel {
|
|
|
79
84
|
}
|
|
80
85
|
|
|
81
86
|
/**
|
|
87
|
+
* Set the unique key for this model
|
|
82
88
|
*/
|
|
83
89
|
set connectKey(key: string) {
|
|
84
90
|
this._connectKey = key;
|
|
85
91
|
}
|
|
86
92
|
|
|
87
93
|
/**
|
|
94
|
+
* Get the unique key of this model
|
|
88
95
|
*/
|
|
89
96
|
get connectKey(): string {
|
|
90
97
|
return this._connectKey;
|
|
91
98
|
}
|
|
92
99
|
|
|
93
100
|
/**
|
|
101
|
+
* Dehydrate internal data, returns the information that is needed to recreate the model
|
|
94
102
|
*/
|
|
95
103
|
dehydrate(): BaseDehydrateData {
|
|
96
104
|
return {
|
|
@@ -101,13 +109,14 @@ class BaseModel {
|
|
|
101
109
|
}
|
|
102
110
|
|
|
103
111
|
/**
|
|
112
|
+
* Recreate the model with the given data
|
|
104
113
|
*/
|
|
105
|
-
rehydrate(data:
|
|
114
|
+
rehydrate(data: BaseDehydrateData) {
|
|
106
115
|
this._connectKey = data.connectKey;
|
|
107
116
|
}
|
|
108
117
|
|
|
109
118
|
/**
|
|
110
|
-
* Returns a clone of the model
|
|
119
|
+
* Returns a clone of the model
|
|
111
120
|
*/
|
|
112
121
|
clone(deepcopy: boolean = false): any {
|
|
113
122
|
// deepcopy can be expensive, use with care!
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseModel.js","names":["BaseModel","constructor","data","contributions","_data","_contributions","_layouthint","LayoutHintCollection","getContribution","getData","propName","defaultValue","layouthint","hasData","length","connectKey","key","_connectKey","dehydrate","rehydrate","clone","deepcopy","cloneDeep"],"sources":["../../../src/models/base/BaseModel.js"],"sourcesContent":["// @flow\nimport clone from \"lodash/clone\";\nimport cloneDeep from \"lodash/cloneDeep\";\n\nimport LayoutHintCollection from \"../layouthint/LayoutHintCollection\";\n\nexport type BaseDehydrateData = {\n +data: Object,\n +contributions: Object,\n connectKey: string,\n ...\n};\n\n/**\n * Base model\n */\nclass BaseModel {\n _data: Object;\n _contributions: Object;\n _layouthint: LayoutHintCollection;\n _connectKey: string;\n\n /**\n * constructor\n */\n constructor(data: Object, contributions: Object) {\n this._data = data;\n this._contributions = contributions;\n this._layouthint = new LayoutHintCollection(\n this.getContribution(\"layouthint\", [])\n );\n }\n\n /**\n * Retrieve data\n */\n get data(): Object {\n return this._data || {};\n }\n\n /**\n */\n getData(propName: string, defaultValue: any = null): any {\n return this.data[propName] ?? defaultValue;\n }\n\n /**\n * Retrieve contributions\n */\n get contributions(): Object {\n return this._contributions || {};\n }\n\n /**\n */\n getContribution(propName: string, defaultValue: any = null): any {\n return this.contributions[propName] ?? defaultValue;\n }\n\n /**\n * Getting the layouthint\n */\n get layouthint(): LayoutHintCollection {\n return this._layouthint;\n }\n\n /**\n * Set the layouthint\n */\n set layouthint(layouthint: Array<string>) {\n this._layouthint = new LayoutHintCollection(layouthint);\n }\n\n /**\n * Indicates if the model has data\n */\n get hasData(): boolean {\n return Object.keys(this.data).length > 0;\n }\n\n /**\n */\n set connectKey(key: string) {\n this._connectKey = key;\n }\n\n /**\n */\n get connectKey(): string {\n return this._connectKey;\n }\n\n /**\n */\n dehydrate(): BaseDehydrateData {\n return {\n data: this._data,\n contributions: this._contributions,\n connectKey: this._connectKey,\n };\n }\n\n /**\n */\n rehydrate(data:
|
|
1
|
+
{"version":3,"file":"BaseModel.js","names":["BaseModel","constructor","data","contributions","_data","_contributions","_layouthint","LayoutHintCollection","getContribution","getData","propName","defaultValue","layouthint","hasData","length","connectKey","key","_connectKey","dehydrate","rehydrate","clone","deepcopy","cloneDeep"],"sources":["../../../src/models/base/BaseModel.js"],"sourcesContent":["// @flow\nimport clone from \"lodash/clone\";\nimport cloneDeep from \"lodash/cloneDeep\";\n\nimport LayoutHintCollection from \"../layouthint/LayoutHintCollection\";\n\nexport type BaseDehydrateData = {\n +data: Object,\n +contributions: Object,\n connectKey: string,\n ...\n};\n\n/**\n * Base model, this is the foundation of a model,\n * it contains data that is needed for all models like, data, contributions and layout hint\n *\n * Extend this for non modular ui resources, for modular ui resource start with the resourceModel\n */\nclass BaseModel {\n _data: Object;\n _contributions: Object;\n _layouthint: LayoutHintCollection;\n _connectKey: string;\n\n /**\n * constructor\n */\n constructor(data: Object, contributions: Object) {\n this._data = data;\n this._contributions = contributions;\n this._layouthint = new LayoutHintCollection(\n this.getContribution(\"layouthint\", [])\n );\n }\n\n /**\n * Retrieve data\n */\n get data(): Object {\n return this._data || {};\n }\n\n /**\n * Retrieve property from the data object of the model, mostly used internal\n */\n getData(propName: string, defaultValue: any = null): any {\n return this.data[propName] ?? defaultValue;\n }\n\n /**\n * Retrieve contributions\n */\n get contributions(): Object {\n return this._contributions || {};\n }\n\n /**\n * Retrieve property from the contributions of the model, mostly used internal\n */\n getContribution(propName: string, defaultValue: any = null): any {\n return this.contributions[propName] ?? defaultValue;\n }\n\n /**\n * Getting the layouthint\n */\n get layouthint(): LayoutHintCollection {\n return this._layouthint;\n }\n\n /**\n * Set the layouthint\n */\n set layouthint(layouthint: Array<string>) {\n this._layouthint = new LayoutHintCollection(layouthint);\n }\n\n /**\n * Indicates if the model has data\n */\n get hasData(): boolean {\n return Object.keys(this.data).length > 0;\n }\n\n /**\n * Set the unique key for this model\n */\n set connectKey(key: string) {\n this._connectKey = key;\n }\n\n /**\n * Get the unique key of this model\n */\n get connectKey(): string {\n return this._connectKey;\n }\n\n /**\n * Dehydrate internal data, returns the information that is needed to recreate the model\n */\n dehydrate(): BaseDehydrateData {\n return {\n data: this._data,\n contributions: this._contributions,\n connectKey: this._connectKey,\n };\n }\n\n /**\n * Recreate the model with the given data\n */\n rehydrate(data: BaseDehydrateData) {\n this._connectKey = data.connectKey;\n }\n\n /**\n * Returns a clone of the model\n */\n clone(deepcopy: boolean = false): any {\n // deepcopy can be expensive, use with care!\n if (deepcopy) {\n return cloneDeep(this);\n }\n\n return clone(this);\n }\n}\n\nexport default BaseModel;\n"],"mappings":";;;;;;;;;AACA;AACA;AAEA;AASA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,SAAS,CAAC;EAMd;AACF;AACA;EACEC,WAAW,CAACC,IAAY,EAAEC,aAAqB,EAAE;IAAA;IAAA;IAAA;IAAA;IAC/C,IAAI,CAACC,KAAK,GAAGF,IAAI;IACjB,IAAI,CAACG,cAAc,GAAGF,aAAa;IACnC,IAAI,CAACG,WAAW,GAAG,IAAIC,6BAAoB,CACzC,IAAI,CAACC,eAAe,CAAC,YAAY,EAAE,EAAE,CAAC,CACvC;EACH;;EAEA;AACF;AACA;EACE,IAAIN,IAAI,GAAW;IACjB,OAAO,IAAI,CAACE,KAAK,IAAI,CAAC,CAAC;EACzB;;EAEA;AACF;AACA;EACEK,OAAO,CAACC,QAAgB,EAAiC;IAAA,IAA/BC,YAAiB,uEAAG,IAAI;IAChD,OAAO,IAAI,CAACT,IAAI,CAACQ,QAAQ,CAAC,IAAIC,YAAY;EAC5C;;EAEA;AACF;AACA;EACE,IAAIR,aAAa,GAAW;IAC1B,OAAO,IAAI,CAACE,cAAc,IAAI,CAAC,CAAC;EAClC;;EAEA;AACF;AACA;EACEG,eAAe,CAACE,QAAgB,EAAiC;IAAA,IAA/BC,YAAiB,uEAAG,IAAI;IACxD,OAAO,IAAI,CAACR,aAAa,CAACO,QAAQ,CAAC,IAAIC,YAAY;EACrD;;EAEA;AACF;AACA;EACE,IAAIC,UAAU,GAAyB;IACrC,OAAO,IAAI,CAACN,WAAW;EACzB;;EAEA;AACF;AACA;EACE,IAAIM,UAAU,CAACA,UAAyB,EAAE;IACxC,IAAI,CAACN,WAAW,GAAG,IAAIC,6BAAoB,CAACK,UAAU,CAAC;EACzD;;EAEA;AACF;AACA;EACE,IAAIC,OAAO,GAAY;IACrB,OAAO,mBAAY,IAAI,CAACX,IAAI,CAAC,CAACY,MAAM,GAAG,CAAC;EAC1C;;EAEA;AACF;AACA;EACE,IAAIC,UAAU,CAACC,GAAW,EAAE;IAC1B,IAAI,CAACC,WAAW,GAAGD,GAAG;EACxB;;EAEA;AACF;AACA;EACE,IAAID,UAAU,GAAW;IACvB,OAAO,IAAI,CAACE,WAAW;EACzB;;EAEA;AACF;AACA;EACEC,SAAS,GAAsB;IAC7B,OAAO;MACLhB,IAAI,EAAE,IAAI,CAACE,KAAK;MAChBD,aAAa,EAAE,IAAI,CAACE,cAAc;MAClCU,UAAU,EAAE,IAAI,CAACE;IACnB,CAAC;EACH;;EAEA;AACF;AACA;EACEE,SAAS,CAACjB,IAAuB,EAAE;IACjC,IAAI,CAACe,WAAW,GAAGf,IAAI,CAACa,UAAU;EACpC;;EAEA;AACF;AACA;EACEK,KAAK,GAAiC;IAAA,IAAhCC,QAAiB,uEAAG,KAAK;IAC7B;IACA,IAAIA,QAAQ,EAAE;MACZ,OAAO,IAAAC,kBAAS,EAAC,IAAI,CAAC;IACxB;IAEA,OAAO,IAAAF,cAAK,EAAC,IAAI,CAAC;EACpB;AACF;AAAC,eAEcpB,SAAS;AAAA"}
|
|
@@ -13,7 +13,7 @@ var _BaseModel = _interopRequireDefault(require("./BaseModel"));
|
|
|
13
13
|
var _LinkCollection = _interopRequireDefault(require("../links/LinkCollection"));
|
|
14
14
|
var _exceptions = require("../../exceptions");
|
|
15
15
|
/**
|
|
16
|
-
* Base model
|
|
16
|
+
* Base model, this the foundation for models that represent modular ui services, e.g. application, tab, caseview, etc
|
|
17
17
|
*/
|
|
18
18
|
class ResourceModel extends _BaseModel.default {
|
|
19
19
|
/**
|
|
@@ -33,6 +33,13 @@ class ResourceModel extends _BaseModel.default {
|
|
|
33
33
|
this._lastServerUpdate = Date.now();
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
+
/**
|
|
37
|
+
* Property to render name of a model, is original name after transpilation
|
|
38
|
+
*/
|
|
39
|
+
static get modelName() {
|
|
40
|
+
throw new _exceptions.IllegalStateException(`No modelName set on the resource model`);
|
|
41
|
+
}
|
|
42
|
+
|
|
36
43
|
/**
|
|
37
44
|
* Returns true when the model is supported based on configuration found in contributions
|
|
38
45
|
*
|
|
@@ -14,7 +14,7 @@ import type Href from "../href/Href";
|
|
|
14
14
|
import type { ModularUIModel, IModelWithChildModels } from "../types";
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
|
-
* Base model
|
|
17
|
+
* Base model, this the foundation for models that represent modular ui services, e.g. application, tab, caseview, etc
|
|
18
18
|
*/
|
|
19
19
|
class ResourceModel extends BaseModel implements IModelWithChildModels {
|
|
20
20
|
_key: string;
|
|
@@ -37,6 +37,13 @@ class ResourceModel extends BaseModel implements IModelWithChildModels {
|
|
|
37
37
|
this._lastServerUpdate = Date.now();
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
+
/**
|
|
41
|
+
* Property to render name of a model, is original name after transpilation
|
|
42
|
+
*/
|
|
43
|
+
static get modelName(): string {
|
|
44
|
+
throw new IllegalStateException(`No modelName set on the resource model`);
|
|
45
|
+
}
|
|
46
|
+
|
|
40
47
|
/**
|
|
41
48
|
* Returns true when the model is supported based on configuration found in contributions
|
|
42
49
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceModel.js","names":["ResourceModel","BaseModel","constructor","modularuiResponse","ModularUIResponse","data","contributions","_key","key","_locale","locale","_childModels","_lastServerUpdate","Date","now","isApplicableModel","IllegalArgumentException","Error","lastServerUpdate","type","
|
|
1
|
+
{"version":3,"file":"ResourceModel.js","names":["ResourceModel","BaseModel","constructor","modularuiResponse","ModularUIResponse","data","contributions","_key","key","_locale","locale","_childModels","_lastServerUpdate","Date","now","modelName","IllegalStateException","isApplicableModel","IllegalArgumentException","Error","lastServerUpdate","type","resourcetype","getContribution","label","links","_links","LinkCollection","Array","isArray","self","selflink","getLinkByKey","selfhref","href","getInitialChildModelLinks","childModels","addChildModels","models","flattenModels","setChildModels","dehydrate","childModel"],"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\";\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 * 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(models: Array<ModularUIModel>): this {\n const flattenModels = [].concat(...models);\n\n this._childModels = flattenModels;\n\n this.setChildModels(flattenModels);\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(models: Array<ModularUIModel>): void {\n if (!models) {\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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseViewModel.js","names":["CaseViewModel","DetailModel","constructor","caseviewData","createTaskGroupCollection","type","isApplicableModel","data","contributions","resourcetype","getInitialChildModelLinks","links","getLinksByGroup","all","panelLinks","setChildModels","models","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","href","allTaskgroupData","getData","allTaskgroupContributions","taskgroup","some","taskgroupContribution","name","taskgroupContributions","create","taskgroups","_taskGroupCollection","TaskGroupCollection","hasTaskGroups","hasItems"],"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\";\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 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>) {\n super.setChildModels(models);\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 new Href(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 );\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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
|
|
1
|
+
{"version":3,"file":"CaseViewModel.js","names":["CaseViewModel","DetailModel","constructor","caseviewData","createTaskGroupCollection","type","modelName","isApplicableModel","data","contributions","resourcetype","getInitialChildModelLinks","links","getLinksByGroup","all","panelLinks","setChildModels","models","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","href","allTaskgroupData","getData","allTaskgroupContributions","taskgroup","some","taskgroupContribution","name","taskgroupContributions","create","taskgroups","_taskGroupCollection","TaskGroupCollection","hasTaskGroups","hasItems"],"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\";\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>) {\n super.setChildModels(models);\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 new Href(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 );\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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"}
|
|
@@ -19,6 +19,12 @@ class BusinessScenarioModel extends ConceptDetailModel {
|
|
|
19
19
|
return "BusinessScenario";
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
+
/**
|
|
23
|
+
*/
|
|
24
|
+
static get modelName(): string {
|
|
25
|
+
return "BusinessScenario";
|
|
26
|
+
}
|
|
27
|
+
|
|
22
28
|
/**
|
|
23
29
|
*/
|
|
24
30
|
static isApplicableModel(data: ModularUIResponse): boolean {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BusinessScenarioModel.js","names":["BusinessScenarioModel","ConceptDetailModel","type","isApplicableModel","data","isOfConceptType","_links","concepttype","href","conceptTypeHref","settingName","pathToKmt","conceptTypeSettings","STEP","getSetting","PERSONA","SCENARIO","Array","isArray","some","conceptTypeSetting","getInitialChildModelLinks","childModelLinks","scenarioStepLinks","relationsCollection","all","relation","direction","concept","concepttypeHref","path","asLinkModel","length","push","setChildModels","models","conceptTypeModel","model","ConceptTypeDetailModel","conceptType","scenarioSteps","i","selfhref","_scenarioSteps","actors","forEach","scenarioStep","relationsToActor","newRelationToActor","actor","key"],"sources":["../../../src/models/concepts/BusinessScenarioModel.js"],"sourcesContent":["// @flow\nimport ConceptDetailModel from \"./ConceptDetailModel\";\nimport ConceptTypeDetailModel from \"./ConceptTypeDetailModel\";\nimport { getSetting } from \"../../constants/Settings\";\n\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type { ModularUIModel } from \"../types\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type ConceptLinkModel from \"./ConceptLinkModel\";\n\n/**\n */\nclass BusinessScenarioModel extends ConceptDetailModel {\n _scenarioSteps: Array<ConceptDetailModel>;\n\n /**\n */\n get type(): string {\n return \"BusinessScenario\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return BusinessScenarioModel.isOfConceptType(\n data?.data?._links?.concepttype?.href,\n \"SCENARIO\"\n );\n }\n\n /**\n */\n static isOfConceptType(\n conceptTypeHref: ?string,\n settingName: \"STEP\" | \"PERSONA\" | \"SCENARIO\"\n ): boolean {\n if (!conceptTypeHref) {\n return false;\n }\n\n const pathToKmt = \"/Library/KMTs/Business scenarios.bixml\";\n\n const conceptTypeSettings = {\n STEP: getSetting(\"BUSINESS_SCENARIO_STEP_CONCEPT_TYPE\", [\n `${pathToKmt}/ScenarioStep`,\n ]),\n PERSONA: getSetting(\"BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE\", [\n `${pathToKmt}/Persona`,\n ]),\n SCENARIO: getSetting(\"BUSINESS_SCENARIO_CONCEPT_TYPE\", [\n `${pathToKmt}/BusinessScenario`,\n ]),\n };\n\n return (\n Array.isArray(conceptTypeSettings[settingName]) &&\n conceptTypeSettings[settingName].some((conceptTypeSetting) =>\n conceptTypeHref.endsWith(conceptTypeSetting)\n )\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const childModelLinks = super.getInitialChildModelLinks();\n\n const scenarioStepLinks = this.relationsCollection.all\n .filter(\n (relation) =>\n relation.direction === \"outgoing\" &&\n BusinessScenarioModel.isOfConceptType(\n relation.concept.concepttypeHref?.path,\n \"STEP\"\n )\n )\n .map((relation) => relation.concept.asLinkModel());\n\n if (scenarioStepLinks.length > 0) {\n childModelLinks.push(...scenarioStepLinks);\n }\n\n return childModelLinks;\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n // $FlowExpectedError[incompatible-type]\n const conceptTypeModel: ?ConceptTypeDetailModel = models.find(\n (model) => model instanceof ConceptTypeDetailModel\n );\n\n if (conceptTypeModel) {\n this.conceptType = conceptTypeModel;\n }\n\n this.relationsCollection.setChildModels(models);\n\n const scenarioSteps = [];\n for (let i = 0; i < models.length; i++) {\n const model = models[i];\n\n if (\n model instanceof ConceptDetailModel &&\n BusinessScenarioModel.isOfConceptType(\n model.conceptType?.selfhref.path,\n \"STEP\"\n )\n ) {\n scenarioSteps.push(model);\n }\n }\n\n this.scenarioSteps = scenarioSteps;\n }\n\n /**\n */\n set scenarioSteps(models: Array<ConceptDetailModel>) {\n this._scenarioSteps = models;\n }\n\n /**\n */\n get scenarioSteps(): Array<ConceptDetailModel> {\n return this._scenarioSteps;\n }\n\n /**\n */\n get actors(): Array<ConceptLinkModel> {\n const actors = [];\n\n this.scenarioSteps.forEach((scenarioStep) => {\n const relationsToActor = scenarioStep.relationsCollection.find(\n (relation) =>\n relation.direction === \"outgoing\" &&\n BusinessScenarioModel.isOfConceptType(\n relation.concept.concepttypeHref?.path,\n \"PERSONA\"\n )\n );\n\n const newRelationToActor =\n relationsToActor &&\n !actors.some((actor) => actor.key === relationsToActor.concept.key);\n\n if (relationsToActor && newRelationToActor) {\n actors.push(relationsToActor.concept);\n }\n });\n\n return actors;\n }\n}\n\nexport default BusinessScenarioModel;\n"],"mappings":";;;;;;;;;;;;AACA;AACA;AACA;AAOA;AACA;AACA,MAAMA,qBAAqB,SAASC,2BAAkB,CAAC;EAAA;IAAA;IAAA;EAAA;EAGrD;AACF;EACE,IAAIC,IAAI,GAAW;IACjB,OAAO,kBAAkB;EAC3B;;EAEA;AACF;EACE,OAAOC,iBAAiB,CAACC,IAAuB,EAAW;IACzD,
|
|
1
|
+
{"version":3,"file":"BusinessScenarioModel.js","names":["BusinessScenarioModel","ConceptDetailModel","type","modelName","isApplicableModel","data","isOfConceptType","_links","concepttype","href","conceptTypeHref","settingName","pathToKmt","conceptTypeSettings","STEP","getSetting","PERSONA","SCENARIO","Array","isArray","some","conceptTypeSetting","getInitialChildModelLinks","childModelLinks","scenarioStepLinks","relationsCollection","all","relation","direction","concept","concepttypeHref","path","asLinkModel","length","push","setChildModels","models","conceptTypeModel","model","ConceptTypeDetailModel","conceptType","scenarioSteps","i","selfhref","_scenarioSteps","actors","forEach","scenarioStep","relationsToActor","newRelationToActor","actor","key"],"sources":["../../../src/models/concepts/BusinessScenarioModel.js"],"sourcesContent":["// @flow\nimport ConceptDetailModel from \"./ConceptDetailModel\";\nimport ConceptTypeDetailModel from \"./ConceptTypeDetailModel\";\nimport { getSetting } from \"../../constants/Settings\";\n\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type { ModularUIModel } from \"../types\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type ConceptLinkModel from \"./ConceptLinkModel\";\n\n/**\n */\nclass BusinessScenarioModel extends ConceptDetailModel {\n _scenarioSteps: Array<ConceptDetailModel>;\n\n /**\n */\n get type(): string {\n return \"BusinessScenario\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"BusinessScenario\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return BusinessScenarioModel.isOfConceptType(\n data?.data?._links?.concepttype?.href,\n \"SCENARIO\"\n );\n }\n\n /**\n */\n static isOfConceptType(\n conceptTypeHref: ?string,\n settingName: \"STEP\" | \"PERSONA\" | \"SCENARIO\"\n ): boolean {\n if (!conceptTypeHref) {\n return false;\n }\n\n const pathToKmt = \"/Library/KMTs/Business scenarios.bixml\";\n\n const conceptTypeSettings = {\n STEP: getSetting(\"BUSINESS_SCENARIO_STEP_CONCEPT_TYPE\", [\n `${pathToKmt}/ScenarioStep`,\n ]),\n PERSONA: getSetting(\"BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE\", [\n `${pathToKmt}/Persona`,\n ]),\n SCENARIO: getSetting(\"BUSINESS_SCENARIO_CONCEPT_TYPE\", [\n `${pathToKmt}/BusinessScenario`,\n ]),\n };\n\n return (\n Array.isArray(conceptTypeSettings[settingName]) &&\n conceptTypeSettings[settingName].some((conceptTypeSetting) =>\n conceptTypeHref.endsWith(conceptTypeSetting)\n )\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const childModelLinks = super.getInitialChildModelLinks();\n\n const scenarioStepLinks = this.relationsCollection.all\n .filter(\n (relation) =>\n relation.direction === \"outgoing\" &&\n BusinessScenarioModel.isOfConceptType(\n relation.concept.concepttypeHref?.path,\n \"STEP\"\n )\n )\n .map((relation) => relation.concept.asLinkModel());\n\n if (scenarioStepLinks.length > 0) {\n childModelLinks.push(...scenarioStepLinks);\n }\n\n return childModelLinks;\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n // $FlowExpectedError[incompatible-type]\n const conceptTypeModel: ?ConceptTypeDetailModel = models.find(\n (model) => model instanceof ConceptTypeDetailModel\n );\n\n if (conceptTypeModel) {\n this.conceptType = conceptTypeModel;\n }\n\n this.relationsCollection.setChildModels(models);\n\n const scenarioSteps = [];\n for (let i = 0; i < models.length; i++) {\n const model = models[i];\n\n if (\n model instanceof ConceptDetailModel &&\n BusinessScenarioModel.isOfConceptType(\n model.conceptType?.selfhref.path,\n \"STEP\"\n )\n ) {\n scenarioSteps.push(model);\n }\n }\n\n this.scenarioSteps = scenarioSteps;\n }\n\n /**\n */\n set scenarioSteps(models: Array<ConceptDetailModel>) {\n this._scenarioSteps = models;\n }\n\n /**\n */\n get scenarioSteps(): Array<ConceptDetailModel> {\n return this._scenarioSteps;\n }\n\n /**\n */\n get actors(): Array<ConceptLinkModel> {\n const actors = [];\n\n this.scenarioSteps.forEach((scenarioStep) => {\n const relationsToActor = scenarioStep.relationsCollection.find(\n (relation) =>\n relation.direction === \"outgoing\" &&\n BusinessScenarioModel.isOfConceptType(\n relation.concept.concepttypeHref?.path,\n \"PERSONA\"\n )\n );\n\n const newRelationToActor =\n relationsToActor &&\n !actors.some((actor) => actor.key === relationsToActor.concept.key);\n\n if (relationsToActor && newRelationToActor) {\n actors.push(relationsToActor.concept);\n }\n });\n\n return actors;\n }\n}\n\nexport default BusinessScenarioModel;\n"],"mappings":"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"}
|
|
@@ -41,6 +41,12 @@ export default class ConceptDetailModel extends ResourceModel {
|
|
|
41
41
|
return "ConceptDetail";
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
+
/**
|
|
45
|
+
*/
|
|
46
|
+
static get modelName(): string {
|
|
47
|
+
return "ConceptDetailModel";
|
|
48
|
+
}
|
|
49
|
+
|
|
44
50
|
/**
|
|
45
51
|
*/
|
|
46
52
|
static isApplicableModel(data: ModularUIResponse): boolean {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConceptDetailModel.js","names":["ConceptDetailModel","ResourceModel","constructor","modularuiResponse","_relations","ConceptRelationCollection","data","relations","entryDate","type","isApplicableModel","contributions","resourcetype","getInitialChildModelLinks","conceptTypeLink","links","getLinkByKey","relationsCollectionLinks","relationsCollection","isCacheable","setChildModels","models","conceptTypeModel","model","ConceptTypeDetailModel","conceptType","key","getData","selfhref","href","selflink","setParameter","TIMEVERSION_FILTER_NAME","removeParameter","_conceptType","label","conceptLabel","taxonomyType","formula","labels","labelTypes","labelType","setting","_id","getLabelElementByIds","ids","conceptProperties","propertyTypes","propertyType","properties","property","getConceptPropertiesByIds","textfragments","textFragments","textFragment","textFragmentConfig","textFragmentTypes","textFragmentType","notConfiguredTextFragments","some","textfragment","getTextFragmentByKeys","keys","getSourceReferenceCollection","availableLocales","_sourceReferences","SourceReferenceCollection","getSourceReferencesForCurrentLanguage","LANGUAGE_POSTFIX_LENGTH","sourceReferences","availableLanguagesInSourceReferences","sourceReference","substring","length","currentLanguagePostfix","locale","availableLanguages","split","value"],"sources":["../../../src/models/concepts/ConceptDetailModel.js"],"sourcesContent":["// @flow\nimport ResourceModel from \"../base/ResourceModel\";\nimport ConceptRelationCollection from \"./ConceptRelationCollection\";\nimport SourceReferenceCollection from \"./SourceReferenceCollection\";\nimport ConceptTypeDetailModel from \"./ConceptTypeDetailModel\";\n\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\n\nimport type {\n ModularUIModel,\n labelsJSON,\n textfragmentJSON,\n propertyJSON,\n} from \"../types\";\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type Href from \"../href/Href\";\nimport type LinkModel from \"../links/LinkModel\";\n\n/**\n * Model for concept details, available through modelcatalog\n */\nexport default class ConceptDetailModel extends ResourceModel {\n _relations: ConceptRelationCollection;\n _conceptType: ?ConceptTypeDetailModel;\n _sourceReferences: SourceReferenceCollection;\n\n /**\n */\n constructor(modularuiResponse: ModularUIResponse) {\n super(modularuiResponse);\n\n this._relations = new ConceptRelationCollection(\n this.data.relations,\n this.entryDate\n );\n }\n\n /**\n */\n get type(): string {\n return \"ConceptDetail\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"ConceptDetail\"\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const conceptTypeLink = this.links.getLinkByKey(\"concepttype\");\n const relationsCollectionLinks =\n this.relationsCollection.getInitialChildModelLinks();\n\n if (conceptTypeLink) {\n conceptTypeLink.isCacheable = true;\n return [conceptTypeLink, ...relationsCollectionLinks];\n }\n\n return relationsCollectionLinks;\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n // $FlowExpectedError[incompatible-type]\n const conceptTypeModel: ?ConceptTypeDetailModel = models.find(\n (model) => model instanceof ConceptTypeDetailModel\n );\n\n if (conceptTypeModel) {\n this.conceptType = conceptTypeModel;\n }\n\n this.relationsCollection.setChildModels(models);\n }\n\n /**\n * Retrieve concept detail identifier as key for this model\n */\n get key(): string {\n return this.getData(\"_id\", \"concept\");\n }\n\n /**\n * Getting the self link of this Concept\n */\n get selfhref(): Href {\n const { href } = this.selflink;\n\n if (this.entryDate) {\n href.setParameter(TIMEVERSION_FILTER_NAME, this.entryDate);\n } else {\n href.removeParameter(TIMEVERSION_FILTER_NAME);\n }\n\n return href;\n }\n\n /**\n * Get conceptType of concept\n */\n get conceptType(): ?ConceptTypeDetailModel {\n return this._conceptType;\n }\n\n /**\n */\n set conceptType(conceptType: ?ConceptTypeDetailModel) {\n this._conceptType = conceptType;\n }\n\n /**\n * Get concept label\n */\n get label(): string {\n return this.data.conceptLabel;\n }\n\n /**\n * Get taxonomy type\n */\n get taxonomyType(): string {\n return this.getData(\"taxonomyType\", \"default\");\n }\n\n /**\n * Get concept relations collection\n */\n get relationsCollection(): ConceptRelationCollection {\n return this._relations;\n }\n\n /**\n * Get concept formula\n */\n get formula(): string {\n return this.data.formula;\n }\n\n /**\n * Get additional labels of concept\n */\n get labels(): Array<labelsJSON> {\n return this.conceptType && this.conceptType.labelTypes\n ? this.conceptType.labelTypes.map((labelType) => {\n const setting = this.data.labels\n ? this.data.labels.find((label) => label.type === labelType._id)\n : {};\n\n return {\n ...labelType,\n ...setting,\n };\n })\n : [];\n }\n\n /**\n * Get label elements by id\n */\n getLabelElementByIds(ids: Array<string>): Array<labelsJSON> {\n return this.labels.filter((label: labelsJSON) => ids.includes(label._id));\n }\n\n /**\n * Get concept properties\n */\n get conceptProperties(): Array<propertyJSON> {\n return this.conceptType && this.conceptType.propertyTypes\n ? this.conceptType.propertyTypes.map((propertyType) => {\n const setting = this.data.properties\n ? this.data.properties.find(\n (property) => property.type === propertyType._id\n )\n : {};\n\n return {\n ...propertyType,\n ...setting,\n };\n })\n : [];\n }\n\n /**\n * Get concept properties by id\n */\n getConceptPropertiesByIds(ids: Array<string>): Array<propertyJSON> {\n return this.conceptProperties.filter((property) =>\n ids.includes(property._id)\n );\n }\n\n /**\n * Get Text fragments\n */\n get textfragments(): Array<textfragmentJSON> {\n const textFragments = this.data.textFragments\n ? this.data.textFragments.map((textFragment) => {\n const textFragmentConfig =\n this.conceptType &&\n this.conceptType.textFragmentTypes.find(\n (textFragmentType) => textFragment.type === textFragmentType._id\n );\n\n return {\n ...textFragmentConfig,\n ...textFragment,\n };\n })\n : [];\n\n const notConfiguredTextFragments =\n this.conceptType && this.conceptType.textFragmentTypes\n ? this.conceptType.textFragmentTypes.filter((textFragmentType) => {\n if (!this.data.textFragments) {\n return true;\n }\n\n return !this.data.textFragments.some(\n (textfragment) => textfragment.type === textFragmentType._id\n );\n })\n : [];\n\n return [...textFragments, ...notConfiguredTextFragments];\n }\n\n /**\n * Get text fragments by id\n */\n getTextFragmentByKeys(keys: Array<string>): Array<textfragmentJSON> {\n return this.textfragments.filter((textfragment) =>\n keys.includes(textfragment.type)\n );\n }\n\n /**\n * Get source reference collection\n */\n getSourceReferenceCollection(\n availableLocales: Array<string> = []\n ): SourceReferenceCollection {\n if (!this._sourceReferences) {\n this._sourceReferences = new SourceReferenceCollection(\n this.getSourceReferencesForCurrentLanguage(availableLocales),\n this.entryDate\n );\n }\n\n return this._sourceReferences;\n }\n\n /*\n * Retrieve all sourceReferenceTypes that are valid for the current language\n * Used by sourceRef collection\n */\n /**\n */\n getSourceReferencesForCurrentLanguage(\n availableLocales: Array<string>\n ): Array<Object> {\n const LANGUAGE_POSTFIX_LENGTH = 3;\n if (this.data.sourceReferences) {\n const availableLanguagesInSourceReferences =\n this.data.sourceReferences.map((sourceReference) =>\n sourceReference.type.substring(\n sourceReference.type.length - LANGUAGE_POSTFIX_LENGTH\n )\n );\n\n const currentLanguagePostfix = `_${this.locale}`;\n\n if (\n availableLanguagesInSourceReferences.includes(currentLanguagePostfix)\n ) {\n // return all sourceReferences that end with language that is selected\n return this.data.sourceReferences.filter((sourceReference) =>\n sourceReference.type.endsWith(currentLanguagePostfix)\n );\n }\n\n const availableLanguages = availableLocales.map(\n (locale) => `_${locale.split(\"-\")[0]}`\n );\n\n // return all sourceReferences that do not end with language postfix\n return this.data.sourceReferences.filter(\n (sourceReference) =>\n !availableLanguages.includes(\n sourceReference.type.substring(\n sourceReference.type.length - LANGUAGE_POSTFIX_LENGTH\n )\n )\n );\n }\n return [];\n }\n\n /**\n * Retrieve entrydate of content toc\n */\n get entryDate(): string | null {\n return this.data.filter?.[TIMEVERSION_FILTER_NAME]?.value ?? null;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ConceptDetailModel.js","names":["ConceptDetailModel","ResourceModel","constructor","modularuiResponse","_relations","ConceptRelationCollection","data","relations","entryDate","type","modelName","isApplicableModel","contributions","resourcetype","getInitialChildModelLinks","conceptTypeLink","links","getLinkByKey","relationsCollectionLinks","relationsCollection","isCacheable","setChildModels","models","conceptTypeModel","model","ConceptTypeDetailModel","conceptType","key","getData","selfhref","href","selflink","setParameter","TIMEVERSION_FILTER_NAME","removeParameter","_conceptType","label","conceptLabel","taxonomyType","formula","labels","labelTypes","labelType","setting","_id","getLabelElementByIds","ids","conceptProperties","propertyTypes","propertyType","properties","property","getConceptPropertiesByIds","textfragments","textFragments","textFragment","textFragmentConfig","textFragmentTypes","textFragmentType","notConfiguredTextFragments","some","textfragment","getTextFragmentByKeys","keys","getSourceReferenceCollection","availableLocales","_sourceReferences","SourceReferenceCollection","getSourceReferencesForCurrentLanguage","LANGUAGE_POSTFIX_LENGTH","sourceReferences","availableLanguagesInSourceReferences","sourceReference","substring","length","currentLanguagePostfix","locale","availableLanguages","split","value"],"sources":["../../../src/models/concepts/ConceptDetailModel.js"],"sourcesContent":["// @flow\nimport ResourceModel from \"../base/ResourceModel\";\nimport ConceptRelationCollection from \"./ConceptRelationCollection\";\nimport SourceReferenceCollection from \"./SourceReferenceCollection\";\nimport ConceptTypeDetailModel from \"./ConceptTypeDetailModel\";\n\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\n\nimport type {\n ModularUIModel,\n labelsJSON,\n textfragmentJSON,\n propertyJSON,\n} from \"../types\";\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type Href from \"../href/Href\";\nimport type LinkModel from \"../links/LinkModel\";\n\n/**\n * Model for concept details, available through modelcatalog\n */\nexport default class ConceptDetailModel extends ResourceModel {\n _relations: ConceptRelationCollection;\n _conceptType: ?ConceptTypeDetailModel;\n _sourceReferences: SourceReferenceCollection;\n\n /**\n */\n constructor(modularuiResponse: ModularUIResponse) {\n super(modularuiResponse);\n\n this._relations = new ConceptRelationCollection(\n this.data.relations,\n this.entryDate\n );\n }\n\n /**\n */\n get type(): string {\n return \"ConceptDetail\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"ConceptDetailModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"ConceptDetail\"\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const conceptTypeLink = this.links.getLinkByKey(\"concepttype\");\n const relationsCollectionLinks =\n this.relationsCollection.getInitialChildModelLinks();\n\n if (conceptTypeLink) {\n conceptTypeLink.isCacheable = true;\n return [conceptTypeLink, ...relationsCollectionLinks];\n }\n\n return relationsCollectionLinks;\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n // $FlowExpectedError[incompatible-type]\n const conceptTypeModel: ?ConceptTypeDetailModel = models.find(\n (model) => model instanceof ConceptTypeDetailModel\n );\n\n if (conceptTypeModel) {\n this.conceptType = conceptTypeModel;\n }\n\n this.relationsCollection.setChildModels(models);\n }\n\n /**\n * Retrieve concept detail identifier as key for this model\n */\n get key(): string {\n return this.getData(\"_id\", \"concept\");\n }\n\n /**\n * Getting the self link of this Concept\n */\n get selfhref(): Href {\n const { href } = this.selflink;\n\n if (this.entryDate) {\n href.setParameter(TIMEVERSION_FILTER_NAME, this.entryDate);\n } else {\n href.removeParameter(TIMEVERSION_FILTER_NAME);\n }\n\n return href;\n }\n\n /**\n * Get conceptType of concept\n */\n get conceptType(): ?ConceptTypeDetailModel {\n return this._conceptType;\n }\n\n /**\n */\n set conceptType(conceptType: ?ConceptTypeDetailModel) {\n this._conceptType = conceptType;\n }\n\n /**\n * Get concept label\n */\n get label(): string {\n return this.data.conceptLabel;\n }\n\n /**\n * Get taxonomy type\n */\n get taxonomyType(): string {\n return this.getData(\"taxonomyType\", \"default\");\n }\n\n /**\n * Get concept relations collection\n */\n get relationsCollection(): ConceptRelationCollection {\n return this._relations;\n }\n\n /**\n * Get concept formula\n */\n get formula(): string {\n return this.data.formula;\n }\n\n /**\n * Get additional labels of concept\n */\n get labels(): Array<labelsJSON> {\n return this.conceptType && this.conceptType.labelTypes\n ? this.conceptType.labelTypes.map((labelType) => {\n const setting = this.data.labels\n ? this.data.labels.find((label) => label.type === labelType._id)\n : {};\n\n return {\n ...labelType,\n ...setting,\n };\n })\n : [];\n }\n\n /**\n * Get label elements by id\n */\n getLabelElementByIds(ids: Array<string>): Array<labelsJSON> {\n return this.labels.filter((label: labelsJSON) => ids.includes(label._id));\n }\n\n /**\n * Get concept properties\n */\n get conceptProperties(): Array<propertyJSON> {\n return this.conceptType && this.conceptType.propertyTypes\n ? this.conceptType.propertyTypes.map((propertyType) => {\n const setting = this.data.properties\n ? this.data.properties.find(\n (property) => property.type === propertyType._id\n )\n : {};\n\n return {\n ...propertyType,\n ...setting,\n };\n })\n : [];\n }\n\n /**\n * Get concept properties by id\n */\n getConceptPropertiesByIds(ids: Array<string>): Array<propertyJSON> {\n return this.conceptProperties.filter((property) =>\n ids.includes(property._id)\n );\n }\n\n /**\n * Get Text fragments\n */\n get textfragments(): Array<textfragmentJSON> {\n const textFragments = this.data.textFragments\n ? this.data.textFragments.map((textFragment) => {\n const textFragmentConfig =\n this.conceptType &&\n this.conceptType.textFragmentTypes.find(\n (textFragmentType) => textFragment.type === textFragmentType._id\n );\n\n return {\n ...textFragmentConfig,\n ...textFragment,\n };\n })\n : [];\n\n const notConfiguredTextFragments =\n this.conceptType && this.conceptType.textFragmentTypes\n ? this.conceptType.textFragmentTypes.filter((textFragmentType) => {\n if (!this.data.textFragments) {\n return true;\n }\n\n return !this.data.textFragments.some(\n (textfragment) => textfragment.type === textFragmentType._id\n );\n })\n : [];\n\n return [...textFragments, ...notConfiguredTextFragments];\n }\n\n /**\n * Get text fragments by id\n */\n getTextFragmentByKeys(keys: Array<string>): Array<textfragmentJSON> {\n return this.textfragments.filter((textfragment) =>\n keys.includes(textfragment.type)\n );\n }\n\n /**\n * Get source reference collection\n */\n getSourceReferenceCollection(\n availableLocales: Array<string> = []\n ): SourceReferenceCollection {\n if (!this._sourceReferences) {\n this._sourceReferences = new SourceReferenceCollection(\n this.getSourceReferencesForCurrentLanguage(availableLocales),\n this.entryDate\n );\n }\n\n return this._sourceReferences;\n }\n\n /*\n * Retrieve all sourceReferenceTypes that are valid for the current language\n * Used by sourceRef collection\n */\n /**\n */\n getSourceReferencesForCurrentLanguage(\n availableLocales: Array<string>\n ): Array<Object> {\n const LANGUAGE_POSTFIX_LENGTH = 3;\n if (this.data.sourceReferences) {\n const availableLanguagesInSourceReferences =\n this.data.sourceReferences.map((sourceReference) =>\n sourceReference.type.substring(\n sourceReference.type.length - LANGUAGE_POSTFIX_LENGTH\n )\n );\n\n const currentLanguagePostfix = `_${this.locale}`;\n\n if (\n availableLanguagesInSourceReferences.includes(currentLanguagePostfix)\n ) {\n // return all sourceReferences that end with language that is selected\n return this.data.sourceReferences.filter((sourceReference) =>\n sourceReference.type.endsWith(currentLanguagePostfix)\n );\n }\n\n const availableLanguages = availableLocales.map(\n (locale) => `_${locale.split(\"-\")[0]}`\n );\n\n // return all sourceReferences that do not end with language postfix\n return this.data.sourceReferences.filter(\n (sourceReference) =>\n !availableLanguages.includes(\n sourceReference.type.substring(\n sourceReference.type.length - LANGUAGE_POSTFIX_LENGTH\n )\n )\n );\n }\n return [];\n }\n\n /**\n * Retrieve entrydate of content toc\n */\n get entryDate(): string | null {\n return this.data.filter?.[TIMEVERSION_FILTER_NAME]?.value ?? null;\n }\n}\n"],"mappings":"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"}
|
|
@@ -46,6 +46,12 @@ export default class ConceptIndexModel extends ResourceModel {
|
|
|
46
46
|
return "ConceptIndex";
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
+
/**
|
|
50
|
+
*/
|
|
51
|
+
static get modelName(): string {
|
|
52
|
+
return "ConceptIndexModel";
|
|
53
|
+
}
|
|
54
|
+
|
|
49
55
|
/**
|
|
50
56
|
*/
|
|
51
57
|
static isApplicableModel(data: ModularUIResponse): boolean {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConceptIndexModel.js","names":["ConceptIndexModel","ResourceModel","constructor","modularuiResponse","_filterCollection","FilterCollection","data","filter","contributions","dynamicschema","_concepts","ResourceCollection","collection","_embedded","results","concept","ConceptLinkModel","entryDate","type","resourcetype","isApplicableModel","resourceType","getInitialChildModelLinks","items","setChildModels","models","selfhref","href","selflink","filterCollection","hasItems","forEach","params","param","value","setParameter","name","removeParameter","label","getContribution","indexfilter","getFilterByAttributeKey","timeversionFilter","TIMEVERSION_FILTER_NAME","attribute","searchtermfilter","itemCollection"],"sources":["../../../src/models/concepts/ConceptIndexModel.js"],"sourcesContent":["// @flow\nimport ResourceModel from \"../base/ResourceModel\";\nimport ResourceCollection from \"../base/ResourceCollection\";\nimport FilterCollection from \"../filters/FilterCollection\";\nimport ConceptLinkModel from \"./ConceptLinkModel\";\n\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\n\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type { FilterType, ModularUIModel } from \"../types\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type Href from \"../href/Href\";\n\n/**\n * Get Index of concepts, to filter model catalog\n */\nexport default class ConceptIndexModel extends ResourceModel {\n _filterCollection: FilterCollection;\n _concepts: ResourceCollection<ConceptLinkModel>;\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._concepts = new ResourceCollection();\n this._concepts.collection = this.data._embedded\n ? this.data._embedded.results.map(\n (concept) => new ConceptLinkModel(concept.concept, this.entryDate)\n )\n : [];\n }\n\n /**\n */\n get type(): string {\n if (this.resourcetype === \"RelatedConcepts\") {\n return \"RelatedConcepts\";\n }\n\n return \"ConceptIndex\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n const resourceType = data.contributions?.resourcetype;\n return (\n resourceType === \"ConceptSearch\" || resourceType === \"relatedConcepts\"\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n return this.items.getInitialChildModelLinks();\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n this.items.setChildModels(models);\n }\n\n /**\n * Getting the self link of this list\n */\n get selfhref(): Href {\n const { href } = this.selflink;\n\n if (this.filterCollection.hasItems) {\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\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 entrydate of content toc\n */\n get entryDate(): string | null {\n const timeversionFilter = this.filterCollection.getFilterByAttributeKey(\n TIMEVERSION_FILTER_NAME\n );\n if (timeversionFilter && timeversionFilter.attribute) {\n return timeversionFilter.attribute.value;\n }\n\n return null;\n }\n\n /**\n * get searchterm filter\n */\n get searchtermfilter(): FilterType | null {\n return this.filterCollection.getFilterByAttributeKey(\"label\");\n }\n\n /**\n * Get concept links found by index filter\n */\n get items(): ResourceCollection<ConceptLinkModel> {\n return this._concepts;\n }\n\n /**\n * Replace the items collection\n */\n set items(itemCollection: ResourceCollection<ConceptLinkModel>) {\n this._concepts = itemCollection;\n }\n}\n"],"mappings":";;;;;;;;;;AACA;AACA;AACA;AACA;AAEA;AAOA;AACA;AACA;AACe,MAAMA,iBAAiB,SAASC,sBAAa,CAAC;EAI3D;AACF;EACEC,WAAW,CAACC,iBAAoC,EAAE;IAAA;IAChD,KAAK,CAACA,iBAAiB,CAAC;IAAC;IAAA;IAEzB,IAAI,CAACC,iBAAiB,GAAG,IAAIC,yBAAgB,sBAAC,IAAI,CAACC,IAAI,GAAS;MAC9DC,MAAM,uBAAE,IAAI,CAACC,aAAa,CAAO;MACjCC,aAAa,EAAE,IAAI,CAACH,IAAI,CAACG;IAC3B,CAAC,CAAC;IAEF,IAAI,CAACC,SAAS,GAAG,IAAIC,2BAAkB,EAAE;IACzC,IAAI,CAACD,SAAS,CAACE,UAAU,GAAG,IAAI,CAACN,IAAI,CAACO,SAAS,GAC3C,iCAAI,CAACP,IAAI,CAACO,SAAS,CAACC,OAAO,iBACxBC,OAAO,IAAK,IAAIC,yBAAgB,CAACD,OAAO,CAACA,OAAO,EAAE,IAAI,CAACE,SAAS,CAAC,CACnE,GACD,EAAE;EACR;;EAEA;AACF;EACE,IAAIC,IAAI,GAAW;IACjB,IAAI,IAAI,CAACC,YAAY,KAAK,iBAAiB,EAAE;MAC3C,OAAO,iBAAiB;IAC1B;IAEA,OAAO,cAAc;EACvB;;EAEA;AACF;EACE,OAAOC,iBAAiB,
|
|
1
|
+
{"version":3,"file":"ConceptIndexModel.js","names":["ConceptIndexModel","ResourceModel","constructor","modularuiResponse","_filterCollection","FilterCollection","data","filter","contributions","dynamicschema","_concepts","ResourceCollection","collection","_embedded","results","concept","ConceptLinkModel","entryDate","type","resourcetype","modelName","isApplicableModel","resourceType","getInitialChildModelLinks","items","setChildModels","models","selfhref","href","selflink","filterCollection","hasItems","forEach","params","param","value","setParameter","name","removeParameter","label","getContribution","indexfilter","getFilterByAttributeKey","timeversionFilter","TIMEVERSION_FILTER_NAME","attribute","searchtermfilter","itemCollection"],"sources":["../../../src/models/concepts/ConceptIndexModel.js"],"sourcesContent":["// @flow\nimport ResourceModel from \"../base/ResourceModel\";\nimport ResourceCollection from \"../base/ResourceCollection\";\nimport FilterCollection from \"../filters/FilterCollection\";\nimport ConceptLinkModel from \"./ConceptLinkModel\";\n\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\n\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type { FilterType, ModularUIModel } from \"../types\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type Href from \"../href/Href\";\n\n/**\n * Get Index of concepts, to filter model catalog\n */\nexport default class ConceptIndexModel extends ResourceModel {\n _filterCollection: FilterCollection;\n _concepts: ResourceCollection<ConceptLinkModel>;\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._concepts = new ResourceCollection();\n this._concepts.collection = this.data._embedded\n ? this.data._embedded.results.map(\n (concept) => new ConceptLinkModel(concept.concept, this.entryDate)\n )\n : [];\n }\n\n /**\n */\n get type(): string {\n if (this.resourcetype === \"RelatedConcepts\") {\n return \"RelatedConcepts\";\n }\n\n return \"ConceptIndex\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"ConceptIndexModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n const resourceType = data.contributions?.resourcetype;\n return (\n resourceType === \"ConceptSearch\" || resourceType === \"relatedConcepts\"\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n return this.items.getInitialChildModelLinks();\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n this.items.setChildModels(models);\n }\n\n /**\n * Getting the self link of this list\n */\n get selfhref(): Href {\n const { href } = this.selflink;\n\n if (this.filterCollection.hasItems) {\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\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 entrydate of content toc\n */\n get entryDate(): string | null {\n const timeversionFilter = this.filterCollection.getFilterByAttributeKey(\n TIMEVERSION_FILTER_NAME\n );\n if (timeversionFilter && timeversionFilter.attribute) {\n return timeversionFilter.attribute.value;\n }\n\n return null;\n }\n\n /**\n * get searchterm filter\n */\n get searchtermfilter(): FilterType | null {\n return this.filterCollection.getFilterByAttributeKey(\"label\");\n }\n\n /**\n * Get concept links found by index filter\n */\n get items(): ResourceCollection<ConceptLinkModel> {\n return this._concepts;\n }\n\n /**\n * Replace the items collection\n */\n set items(itemCollection: ResourceCollection<ConceptLinkModel>) {\n this._concepts = itemCollection;\n }\n}\n"],"mappings":"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"}
|
|
@@ -13,6 +13,12 @@ class ConceptTypeDetailModel extends ResourceModel {
|
|
|
13
13
|
return "ConceptTypeDetail";
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
+
/**
|
|
17
|
+
*/
|
|
18
|
+
static get modelName(): string {
|
|
19
|
+
return "ConceptTypeDetailModel";
|
|
20
|
+
}
|
|
21
|
+
|
|
16
22
|
/**
|
|
17
23
|
*/
|
|
18
24
|
static isApplicableModel(data: ModularUIResponse): boolean {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConceptTypeDetailModel.js","names":["ConceptTypeDetailModel","ResourceModel","type","isApplicableModel","data","contributions","resourcetype","key","_id","label","getData","icon","textColor","backgroundColor","borderColor","labelTypes","propertyTypes","textFragmentTypes","sectionReferenceTypes"],"sources":["../../../src/models/concepts/ConceptTypeDetailModel.js"],"sourcesContent":["// @flow\nimport ResourceModel from \"../base/ResourceModel\";\n\nimport type ModularUIResponse from \"../../modularui/ModularUIResponse\";\n\n/**\n * Model for concept details, available through modelcatalog\n */\nclass ConceptTypeDetailModel extends ResourceModel {\n /**\n */\n get type(): string {\n return \"ConceptTypeDetail\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"ConceptTypeDetail\"\n );\n }\n\n /**\n */\n get key(): string {\n return this.data._id;\n }\n\n /**\n * Get concept type label\n */\n get label(): string {\n return this.getData(\"label\", \"\");\n }\n\n /**\n * Get concept type icon\n */\n get icon(): string {\n return this.getData(\"icon\", \"\");\n }\n\n /**\n * Get concept type text color\n */\n get textColor(): string {\n return this.getData(\"textColor\", \"#000\");\n }\n\n /**\n * Get concept type background color\n */\n get backgroundColor(): string {\n return this.getData(\"backgroundColor\", \"#fff\");\n }\n\n /**\n * Get concept line color\n */\n get borderColor(): string {\n return this.getData(\"lineColor\", \"#000\");\n }\n\n /**\n * Get label types\n */\n get labelTypes(): ?Array<Object> {\n return this.data.labelTypes;\n }\n\n /**\n * Get propertyTypes\n */\n get propertyTypes(): Array<Object> {\n return this.getData(\"propertyTypes\", []);\n }\n\n /**\n * Get textFragmentTypes\n */\n get textFragmentTypes(): Array<Object> {\n return this.getData(\"textFragmentTypes\", []);\n }\n\n /**\n * Get sectionReferenceTypes\n */\n get sectionReferenceTypes(): Array<Object> {\n return this.getData(\"sectionReferenceTypes\", []);\n }\n}\n\nexport default ConceptTypeDetailModel;\n"],"mappings":";;;;;;;AACA;AAIA;AACA;AACA;AACA,MAAMA,sBAAsB,SAASC,sBAAa,CAAC;EACjD;AACF;EACE,IAAIC,IAAI,GAAW;IACjB,OAAO,mBAAmB;EAC5B;;EAEA;AACF;EACE,OAAOC,iBAAiB,CAACC,IAAuB,EAAW;IACzD,OACEA,IAAI,CAACC,aAAa,CAACC,YAAY,IAC/BF,IAAI,CAACC,aAAa,CAACC,YAAY,KAAK,mBAAmB;EAE3D;;EAEA;AACF;EACE,IAAIC,GAAG,GAAW;IAChB,OAAO,IAAI,CAACH,IAAI,CAACI,GAAG;EACtB;;EAEA;AACF;AACA;EACE,IAAIC,KAAK,GAAW;IAClB,OAAO,IAAI,CAACC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;EAClC;;EAEA;AACF;AACA;EACE,IAAIC,IAAI,GAAW;IACjB,OAAO,IAAI,CAACD,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;EACjC;;EAEA;AACF;AACA;EACE,IAAIE,SAAS,GAAW;IACtB,OAAO,IAAI,CAACF,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC;EAC1C;;EAEA;AACF;AACA;EACE,IAAIG,eAAe,GAAW;IAC5B,OAAO,IAAI,CAACH,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC;EAChD;;EAEA;AACF;AACA;EACE,IAAII,WAAW,GAAW;IACxB,OAAO,IAAI,CAACJ,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC;EAC1C;;EAEA;AACF;AACA;EACE,IAAIK,UAAU,GAAmB;IAC/B,OAAO,IAAI,CAACX,IAAI,CAACW,UAAU;EAC7B;;EAEA;AACF;AACA;EACE,IAAIC,aAAa,GAAkB;IACjC,OAAO,IAAI,CAACN,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;EAC1C;;EAEA;AACF;AACA;EACE,IAAIO,iBAAiB,GAAkB;IACrC,OAAO,IAAI,CAACP,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC;EAC9C;;EAEA;AACF;AACA;EACE,IAAIQ,qBAAqB,GAAkB;IACzC,OAAO,IAAI,CAACR,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;EAClD;AACF;AAAC,
|
|
1
|
+
{"version":3,"file":"ConceptTypeDetailModel.js","names":["ConceptTypeDetailModel","ResourceModel","type","modelName","isApplicableModel","data","contributions","resourcetype","key","_id","label","getData","icon","textColor","backgroundColor","borderColor","labelTypes","propertyTypes","textFragmentTypes","sectionReferenceTypes"],"sources":["../../../src/models/concepts/ConceptTypeDetailModel.js"],"sourcesContent":["// @flow\nimport ResourceModel from \"../base/ResourceModel\";\n\nimport type ModularUIResponse from \"../../modularui/ModularUIResponse\";\n\n/**\n * Model for concept details, available through modelcatalog\n */\nclass ConceptTypeDetailModel extends ResourceModel {\n /**\n */\n get type(): string {\n return \"ConceptTypeDetail\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"ConceptTypeDetailModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"ConceptTypeDetail\"\n );\n }\n\n /**\n */\n get key(): string {\n return this.data._id;\n }\n\n /**\n * Get concept type label\n */\n get label(): string {\n return this.getData(\"label\", \"\");\n }\n\n /**\n * Get concept type icon\n */\n get icon(): string {\n return this.getData(\"icon\", \"\");\n }\n\n /**\n * Get concept type text color\n */\n get textColor(): string {\n return this.getData(\"textColor\", \"#000\");\n }\n\n /**\n * Get concept type background color\n */\n get backgroundColor(): string {\n return this.getData(\"backgroundColor\", \"#fff\");\n }\n\n /**\n * Get concept line color\n */\n get borderColor(): string {\n return this.getData(\"lineColor\", \"#000\");\n }\n\n /**\n * Get label types\n */\n get labelTypes(): ?Array<Object> {\n return this.data.labelTypes;\n }\n\n /**\n * Get propertyTypes\n */\n get propertyTypes(): Array<Object> {\n return this.getData(\"propertyTypes\", []);\n }\n\n /**\n * Get textFragmentTypes\n */\n get textFragmentTypes(): Array<Object> {\n return this.getData(\"textFragmentTypes\", []);\n }\n\n /**\n * Get sectionReferenceTypes\n */\n get sectionReferenceTypes(): Array<Object> {\n return this.getData(\"sectionReferenceTypes\", []);\n }\n}\n\nexport default ConceptTypeDetailModel;\n"],"mappings":";;;;;;;AACA;AAIA;AACA;AACA;AACA,MAAMA,sBAAsB,SAASC,sBAAa,CAAC;EACjD;AACF;EACE,IAAIC,IAAI,GAAW;IACjB,OAAO,mBAAmB;EAC5B;;EAEA;AACF;EACE,WAAWC,SAAS,GAAW;IAC7B,OAAO,wBAAwB;EACjC;;EAEA;AACF;EACE,OAAOC,iBAAiB,CAACC,IAAuB,EAAW;IACzD,OACEA,IAAI,CAACC,aAAa,CAACC,YAAY,IAC/BF,IAAI,CAACC,aAAa,CAACC,YAAY,KAAK,mBAAmB;EAE3D;;EAEA;AACF;EACE,IAAIC,GAAG,GAAW;IAChB,OAAO,IAAI,CAACH,IAAI,CAACI,GAAG;EACtB;;EAEA;AACF;AACA;EACE,IAAIC,KAAK,GAAW;IAClB,OAAO,IAAI,CAACC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;EAClC;;EAEA;AACF;AACA;EACE,IAAIC,IAAI,GAAW;IACjB,OAAO,IAAI,CAACD,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;EACjC;;EAEA;AACF;AACA;EACE,IAAIE,SAAS,GAAW;IACtB,OAAO,IAAI,CAACF,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC;EAC1C;;EAEA;AACF;AACA;EACE,IAAIG,eAAe,GAAW;IAC5B,OAAO,IAAI,CAACH,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC;EAChD;;EAEA;AACF;AACA;EACE,IAAII,WAAW,GAAW;IACxB,OAAO,IAAI,CAACJ,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC;EAC1C;;EAEA;AACF;AACA;EACE,IAAIK,UAAU,GAAmB;IAC/B,OAAO,IAAI,CAACX,IAAI,CAACW,UAAU;EAC7B;;EAEA;AACF;AACA;EACE,IAAIC,aAAa,GAAkB;IACjC,OAAO,IAAI,CAACN,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;EAC1C;;EAEA;AACF;AACA;EACE,IAAIO,iBAAiB,GAAkB;IACrC,OAAO,IAAI,CAACP,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC;EAC9C;;EAEA;AACF;AACA;EACE,IAAIQ,qBAAqB,GAAkB;IACzC,OAAO,IAAI,CAACR,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;EAClD;AACF;AAAC,eAEcX,sBAAsB;AAAA"}
|
|
@@ -41,6 +41,12 @@ export default class ContentIndexModel extends ResourceModel {
|
|
|
41
41
|
return "ContentIndex";
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
+
/**
|
|
45
|
+
*/
|
|
46
|
+
static get modelName(): string {
|
|
47
|
+
return "ContentIndexModel";
|
|
48
|
+
}
|
|
49
|
+
|
|
44
50
|
/**
|
|
45
51
|
*/
|
|
46
52
|
static isApplicableModel(data: ModularUIResponse): boolean {
|