@beinformed/ui 1.65.6 → 1.65.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/esm/hooks/__tests__/UseModularUIModel.spec.js.flow +1 -0
  3. package/esm/hooks/index.js +1 -0
  4. package/esm/hooks/index.js.flow +1 -0
  5. package/esm/hooks/index.js.map +1 -1
  6. package/esm/hooks/useForm.js +3 -3
  7. package/esm/hooks/useForm.js.flow +7 -4
  8. package/esm/hooks/useForm.js.map +1 -1
  9. package/esm/hooks/useList.js +47 -3
  10. package/esm/hooks/useList.js.flow +74 -2
  11. package/esm/hooks/useList.js.map +1 -1
  12. package/esm/hooks/useLookup.js +62 -0
  13. package/esm/hooks/useLookup.js.flow +82 -0
  14. package/esm/hooks/useLookup.js.map +1 -0
  15. package/esm/hooks/usePanel.js +6 -1
  16. package/esm/hooks/usePanel.js.flow +6 -4
  17. package/esm/hooks/usePanel.js.map +1 -1
  18. package/esm/hooks/useProgressIndicator.js +21 -6
  19. package/esm/hooks/useProgressIndicator.js.flow +27 -10
  20. package/esm/hooks/useProgressIndicator.js.map +1 -1
  21. package/esm/models/attributes/AttributeSetModel.js +1 -1
  22. package/esm/models/attributes/AttributeSetModel.js.flow +1 -1
  23. package/esm/models/attributes/AttributeSetModel.js.map +1 -1
  24. package/esm/models/attributes/ChoiceAttributeModel.js +19 -2
  25. package/esm/models/attributes/ChoiceAttributeModel.js.flow +23 -2
  26. package/esm/models/attributes/ChoiceAttributeModel.js.map +1 -1
  27. package/esm/models/filters/AssignmentFilterModel.js +1 -12
  28. package/esm/models/filters/AssignmentFilterModel.js.flow +6 -14
  29. package/esm/models/filters/AssignmentFilterModel.js.map +1 -1
  30. package/esm/models/filters/BaseFilterModel.js +12 -0
  31. package/esm/models/filters/BaseFilterModel.js.flow +12 -0
  32. package/esm/models/filters/BaseFilterModel.js.map +1 -1
  33. package/esm/models/filters/ConceptIndexFilterModel.js.flow +5 -2
  34. package/esm/models/filters/ConceptIndexFilterModel.js.map +1 -1
  35. package/esm/models/filters/FilterCollection.js +26 -8
  36. package/esm/models/filters/FilterCollection.js.flow +23 -6
  37. package/esm/models/filters/FilterCollection.js.map +1 -1
  38. package/esm/models/filters/FilterModel.js.flow +2 -2
  39. package/esm/models/filters/FilterModel.js.map +1 -1
  40. package/esm/models/filters/RangeFilterModel.js.flow +2 -2
  41. package/esm/models/filters/RangeFilterModel.js.map +1 -1
  42. package/esm/models/filters/StringFilterModel.js.flow +2 -2
  43. package/esm/models/filters/StringFilterModel.js.map +1 -1
  44. package/esm/models/links/LinkModel.js +17 -1
  45. package/esm/models/links/LinkModel.js.flow +18 -1
  46. package/esm/models/links/LinkModel.js.map +1 -1
  47. package/esm/models/list/ListModel.js.flow +2 -2
  48. package/esm/models/list/ListModel.js.map +1 -1
  49. package/esm/models/search/CaseSearchModel.js.flow +2 -2
  50. package/esm/models/search/CaseSearchModel.js.map +1 -1
  51. package/esm/models/types.js +1 -1
  52. package/esm/models/types.js.flow +28 -10
  53. package/esm/models/types.js.map +1 -1
  54. package/esm/react-server/serverUtil.js +2 -2
  55. package/esm/react-server/serverUtil.js.flow +2 -2
  56. package/esm/react-server/serverUtil.js.map +1 -1
  57. package/lib/hooks/index.js +11 -0
  58. package/lib/hooks/index.js.map +1 -1
  59. package/lib/hooks/useForm.js +5 -5
  60. package/lib/hooks/useForm.js.map +1 -1
  61. package/lib/hooks/useList.js +47 -3
  62. package/lib/hooks/useList.js.map +1 -1
  63. package/lib/hooks/useLookup.js +70 -0
  64. package/lib/hooks/useLookup.js.map +1 -0
  65. package/lib/hooks/usePanel.js +6 -1
  66. package/lib/hooks/usePanel.js.map +1 -1
  67. package/lib/hooks/useProgressIndicator.js +23 -7
  68. package/lib/hooks/useProgressIndicator.js.map +1 -1
  69. package/lib/models/attributes/AttributeSetModel.js +1 -1
  70. package/lib/models/attributes/AttributeSetModel.js.map +1 -1
  71. package/lib/models/attributes/ChoiceAttributeModel.js +18 -1
  72. package/lib/models/attributes/ChoiceAttributeModel.js.map +1 -1
  73. package/lib/models/filters/AssignmentFilterModel.js +0 -12
  74. package/lib/models/filters/AssignmentFilterModel.js.map +1 -1
  75. package/lib/models/filters/BaseFilterModel.js +12 -0
  76. package/lib/models/filters/BaseFilterModel.js.map +1 -1
  77. package/lib/models/filters/ConceptIndexFilterModel.js.map +1 -1
  78. package/lib/models/filters/FilterCollection.js +26 -8
  79. package/lib/models/filters/FilterCollection.js.map +1 -1
  80. package/lib/models/filters/FilterModel.js.map +1 -1
  81. package/lib/models/filters/RangeFilterModel.js.map +1 -1
  82. package/lib/models/filters/StringFilterModel.js.map +1 -1
  83. package/lib/models/links/LinkModel.js +17 -0
  84. package/lib/models/links/LinkModel.js.map +1 -1
  85. package/lib/models/list/ListModel.js.map +1 -1
  86. package/lib/models/search/CaseSearchModel.js.map +1 -1
  87. package/lib/models/types.js +2 -0
  88. package/lib/models/types.js.map +1 -1
  89. package/lib/react-server/serverUtil.js +5 -5
  90. package/lib/react-server/serverUtil.js.map +1 -1
  91. package/package.json +3 -3
  92. package/src/hooks/__tests__/UseModularUIModel.spec.js +1 -0
  93. package/src/hooks/index.js +1 -0
  94. package/src/hooks/useForm.js +7 -4
  95. package/src/hooks/useList.js +74 -2
  96. package/src/hooks/useLookup.js +82 -0
  97. package/src/hooks/usePanel.js +6 -4
  98. package/src/hooks/useProgressIndicator.js +27 -10
  99. package/src/models/attributes/AttributeSetModel.js +1 -1
  100. package/src/models/attributes/ChoiceAttributeModel.js +23 -2
  101. package/src/models/filters/AssignmentFilterModel.js +6 -14
  102. package/src/models/filters/BaseFilterModel.js +12 -0
  103. package/src/models/filters/ConceptIndexFilterModel.js +5 -2
  104. package/src/models/filters/FilterCollection.js +23 -6
  105. package/src/models/filters/FilterModel.js +2 -2
  106. package/src/models/filters/RangeFilterModel.js +2 -2
  107. package/src/models/filters/StringFilterModel.js +2 -2
  108. package/src/models/links/LinkModel.js +18 -1
  109. package/src/models/list/ListModel.js +2 -2
  110. package/src/models/search/CaseSearchModel.js +2 -2
  111. package/src/models/types.js +28 -10
  112. package/src/react-server/serverUtil.js +2 -2
@@ -75,7 +75,7 @@ class FilterCollection extends _BaseCollection.default {
75
75
  /**
76
76
  * Call the reset function on all filters
77
77
  *
78
- * @see {FilterType#reset()}
78
+ * @see {IFilter#reset()}
79
79
  */
80
80
  reset() {
81
81
  var _context4;
@@ -101,19 +101,29 @@ class FilterCollection extends _BaseCollection.default {
101
101
  return filter.key === key || filter.user?.key === key || filter.assignmenttype?.key === key;
102
102
  }
103
103
 
104
+ /**
105
+ */
106
+ getFilterByName(name) {
107
+ var _context5;
108
+ return (0, _find.default)(_context5 = this).call(_context5, filter => filter.name === name) || null;
109
+ }
110
+
104
111
  /**
105
112
  * Getting the filter by name
106
113
  */
107
114
  getFilterByAttributeKey(key) {
108
- var _context5;
109
- return (0, _find.default)(_context5 = this).call(_context5, filter => {
115
+ var _context6;
116
+ return (0, _find.default)(_context6 = this).call(_context6, filter => {
110
117
  if (filter instanceof _RangeFilterModel.default) {
111
118
  return this.checkRangeFilterByAttributeKey(filter, key);
112
119
  }
113
120
  if (filter instanceof _AssignmentFilterModel.default) {
114
121
  return this.checkAssignmentFilterByAttributeKey(filter, key);
115
122
  }
116
- return filter.attribute?.key === key;
123
+ if (filter instanceof _FilterModel.default) {
124
+ return filter.attribute.key === key;
125
+ }
126
+ return false;
117
127
  }) || null;
118
128
  }
119
129
 
@@ -121,14 +131,14 @@ class FilterCollection extends _BaseCollection.default {
121
131
  * Update Filter by input name and value
122
132
  */
123
133
  update(attribute, value) {
124
- var _context6;
134
+ var _context7;
125
135
  const filterToUpdate = attribute.parentKey ? this.getFilterByAttributeKey(attribute.parentKey) : this.getFilterByAttributeKey(attribute.key);
126
136
  if (!filterToUpdate) {
127
137
  throw new Error(`Can not find filter by attribute key: ${attribute.key}`);
128
138
  }
129
139
  const newFilter = filterToUpdate.clone();
130
140
  newFilter.update(attribute, value);
131
- this.collection = (0, _map.default)(_context6 = this.collection).call(_context6, filter => {
141
+ this.collection = (0, _map.default)(_context7 = this.collection).call(_context7, filter => {
132
142
  if (filter.name === newFilter.name) {
133
143
  return newFilter;
134
144
  }
@@ -150,11 +160,19 @@ class FilterCollection extends _BaseCollection.default {
150
160
  return this.collection.some(filter => filter.isActive());
151
161
  }
152
162
 
163
+ /**
164
+ * Retrieve all filters with a value
165
+ */
166
+ getActiveFilters() {
167
+ var _context8;
168
+ return (0, _filter.default)(_context8 = this.collection).call(_context8, filter => filter.isActive());
169
+ }
170
+
153
171
  /**
154
172
  */
155
173
  get formdata() {
156
- var _context7;
157
- const bodyFields = (0, _filter.default)(_context7 = this).call(_context7, f => f.parameterType === _constants.PARAMETER_TYPES.BODY && f.hasValue() && f.formdata);
174
+ var _context9;
175
+ const bodyFields = (0, _filter.default)(_context9 = this).call(_context9, f => f.parameterType === _constants.PARAMETER_TYPES.BODY && f.hasValue() && f.formdata);
158
176
  if (bodyFields.length === 0) {
159
177
  return null;
160
178
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FilterCollection.js","names":["_BaseCollection","_interopRequireDefault","require","_StringFilterModel","_RangeFilterModel","_AssignmentFilterModel","_ConceptIndexFilterModel","_CompositeAttributeModel","_FilterModel","_constants","FilterCollection","BaseCollection","constructor","data","contributions","modelOptions","Array","isArray","_filter","default","_context","_context2","collection","_map","call","filterContribution","_keys","filterKey","filterData","filterContributionByKey","filter","createFilter","dynamicschema","listkey","contexts","contextid","_context3","filterContext","_find","context","id","type","ConceptIndexFilterModel","_includes","RangeFilterModel","AssignmentFilterModel","StringFilterModel","FilterModel","reset","_context4","checkRangeFilterByAttributeKey","key","rangeAttribute","attribute","CompositeAttributeModel","start","end","checkAssignmentFilterByAttributeKey","user","assignmenttype","getFilterByAttributeKey","_context5","update","value","_context6","filterToUpdate","parentKey","Error","newFilter","clone","name","isValid","every","hasActiveFilters","some","isActive","formdata","_context7","bodyFields","f","parameterType","PARAMETER_TYPES","BODY","hasValue","length","reduce","_assign","exports"],"sources":["../../../src/models/filters/FilterCollection.js"],"sourcesContent":["// @flow\nimport BaseCollection from \"../base/BaseCollection\";\n\nimport StringFilterModel from \"../filters/StringFilterModel\";\nimport RangeFilterModel from \"../filters/RangeFilterModel\";\nimport AssignmentFilterModel from \"../filters/AssignmentFilterModel\";\nimport ConceptIndexFilterModel from \"../filters/ConceptIndexFilterModel\";\nimport CompositeAttributeModel from \"../attributes/CompositeAttributeModel\";\nimport FilterModel from \"../filters/FilterModel\";\n\nimport type { AttributeType, FilterType, ModelOptions } from \"../types\";\nimport { PARAMETER_TYPES } from \"../../constants\";\n\n/**\n * Contains a collection of filters\n */\nexport default class FilterCollection extends BaseCollection<FilterType> {\n /**\n * Construct a collection of filters\n */\n constructor(\n data: Object = {},\n contributions: Object = {},\n modelOptions?: ModelOptions,\n ) {\n super();\n\n if (data && contributions && Array.isArray(contributions.filter)) {\n this.collection = contributions.filter\n .filter((filterContribution) => Object.keys(filterContribution)[0])\n .map((filterContribution) => {\n const [filterKey] = Object.keys(filterContribution);\n const filterData = data[filterKey];\n const filterContributionByKey = filterContribution[filterKey];\n\n const filter = this.createFilter(\n filterKey,\n {\n ...filterData,\n dynamicschema: contributions.dynamicschema,\n },\n filterContributionByKey,\n modelOptions,\n );\n\n if (contributions.listkey) {\n filter.listkey = contributions.listkey;\n }\n\n if (contributions.contexts && filterContributionByKey.contextid) {\n const filterContext = contributions.contexts.find(\n (context) => context.id === filterContributionByKey.contextid,\n );\n if (filterContext) {\n filter.context = filterContext;\n }\n }\n\n return filter;\n });\n }\n }\n\n /**\n */\n createFilter(\n filterKey: string,\n data: Object,\n contributions: Object,\n modelOptions?: ModelOptions,\n ): FilterType {\n const type = contributions.type || \"stringfilter\";\n if (type === \"choicefilter\" && filterKey === \"index\") {\n return new ConceptIndexFilterModel(data, contributions, modelOptions);\n }\n\n if (type.includes(\"rangefilter\")) {\n return new RangeFilterModel(data, contributions, modelOptions);\n }\n\n if (type === \"assignmentfilter\") {\n return new AssignmentFilterModel(data, contributions, modelOptions);\n }\n\n if (type === \"stringfilter\") {\n return new StringFilterModel(data, contributions, modelOptions);\n }\n\n return new FilterModel(data, contributions, modelOptions);\n }\n\n /**\n * Call the reset function on all filters\n *\n * @see {FilterType#reset()}\n */\n reset(): FilterCollection {\n this.collection = this.collection.map((filter) => filter.reset());\n\n return this;\n }\n\n /**\n * Checks if range attribute key equals key\n */\n checkRangeFilterByAttributeKey(\n filter: RangeFilterModel,\n key: string,\n ): boolean {\n const rangeAttribute = filter.attribute;\n\n if (rangeAttribute instanceof CompositeAttributeModel) {\n return (\n rangeAttribute.key === key ||\n (rangeAttribute.start && rangeAttribute.start.key === key) ||\n (rangeAttribute.end && rangeAttribute.end.key === key)\n );\n }\n\n return false;\n }\n\n /**\n * Check if assignment filter attribute matches key\n */\n checkAssignmentFilterByAttributeKey(\n filter: AssignmentFilterModel,\n key: string,\n ): boolean {\n return (\n filter.key === key ||\n filter.user?.key === key ||\n filter.assignmenttype?.key === key\n );\n }\n\n /**\n * Getting the filter by name\n */\n getFilterByAttributeKey(key: string): FilterType | null {\n return (\n this.find((filter) => {\n if (filter instanceof RangeFilterModel) {\n return this.checkRangeFilterByAttributeKey(filter, key);\n }\n\n if (filter instanceof AssignmentFilterModel) {\n return this.checkAssignmentFilterByAttributeKey(filter, key);\n }\n\n return filter.attribute?.key === key;\n }) || null\n );\n }\n\n /**\n * Update Filter by input name and value\n */\n update(attribute: AttributeType, value: string): void {\n const filterToUpdate = attribute.parentKey\n ? this.getFilterByAttributeKey(attribute.parentKey)\n : this.getFilterByAttributeKey(attribute.key);\n\n if (!filterToUpdate) {\n throw new Error(`Can not find filter by attribute key: ${attribute.key}`);\n }\n\n const newFilter = filterToUpdate.clone();\n newFilter.update(attribute, value);\n\n this.collection = this.collection.map((filter) => {\n if (filter.name === newFilter.name) {\n return newFilter;\n }\n\n return filter;\n });\n }\n\n /**\n * Retrieve if all filters are valid\n */\n get isValid(): boolean {\n return this.collection.every((filter) => filter.isValid);\n }\n\n /**\n * Indicates if an active filter is present in the collection\n */\n hasActiveFilters(): boolean {\n return this.collection.some((filter) => filter.isActive());\n }\n\n /**\n */\n get formdata(): { [string]: any } | null {\n const bodyFields = this.filter(\n (f) =>\n f.parameterType === PARAMETER_TYPES.BODY && f.hasValue() && f.formdata,\n );\n\n if (bodyFields.length === 0) {\n return null;\n }\n\n return bodyFields.reduce((data, f) => {\n return Object.assign(data, f.formdata);\n }, {});\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FilterCollection.js","names":["_BaseCollection","_interopRequireDefault","require","_StringFilterModel","_RangeFilterModel","_AssignmentFilterModel","_ConceptIndexFilterModel","_CompositeAttributeModel","_FilterModel","_constants","FilterCollection","BaseCollection","constructor","data","contributions","modelOptions","Array","isArray","_filter","default","_context","_context2","collection","_map","call","filterContribution","_keys","filterKey","filterData","filterContributionByKey","filter","createFilter","dynamicschema","listkey","contexts","contextid","_context3","filterContext","_find","context","id","type","ConceptIndexFilterModel","_includes","RangeFilterModel","AssignmentFilterModel","StringFilterModel","FilterModel","reset","_context4","checkRangeFilterByAttributeKey","key","rangeAttribute","attribute","CompositeAttributeModel","start","end","checkAssignmentFilterByAttributeKey","user","assignmenttype","getFilterByName","name","_context5","getFilterByAttributeKey","_context6","update","value","_context7","filterToUpdate","parentKey","Error","newFilter","clone","isValid","every","hasActiveFilters","some","isActive","getActiveFilters","_context8","formdata","_context9","bodyFields","f","parameterType","PARAMETER_TYPES","BODY","hasValue","length","reduce","_assign","exports"],"sources":["../../../src/models/filters/FilterCollection.js"],"sourcesContent":["// @flow\nimport BaseCollection from \"../base/BaseCollection\";\n\nimport StringFilterModel from \"../filters/StringFilterModel\";\nimport RangeFilterModel from \"../filters/RangeFilterModel\";\nimport AssignmentFilterModel from \"../filters/AssignmentFilterModel\";\nimport ConceptIndexFilterModel from \"../filters/ConceptIndexFilterModel\";\nimport CompositeAttributeModel from \"../attributes/CompositeAttributeModel\";\nimport FilterModel from \"../filters/FilterModel\";\n\nimport type { AttributeType, IFilter, ModelOptions } from \"../types\";\nimport { PARAMETER_TYPES } from \"../../constants\";\n\n/**\n * Contains a collection of filters\n */\nexport default class FilterCollection extends BaseCollection<IFilter> {\n /**\n * Construct a collection of filters\n */\n constructor(\n data: Object = {},\n contributions: Object = {},\n modelOptions?: ModelOptions,\n ) {\n super();\n\n if (data && contributions && Array.isArray(contributions.filter)) {\n this.collection = contributions.filter\n .filter((filterContribution) => Object.keys(filterContribution)[0])\n .map((filterContribution) => {\n const [filterKey] = Object.keys(filterContribution);\n const filterData = data[filterKey];\n const filterContributionByKey = filterContribution[filterKey];\n\n const filter = this.createFilter(\n filterKey,\n {\n ...filterData,\n dynamicschema: contributions.dynamicschema,\n },\n filterContributionByKey,\n modelOptions,\n );\n\n if (contributions.listkey) {\n filter.listkey = contributions.listkey;\n }\n\n if (contributions.contexts && filterContributionByKey.contextid) {\n const filterContext = contributions.contexts.find(\n (context) => context.id === filterContributionByKey.contextid,\n );\n if (filterContext) {\n filter.context = filterContext;\n }\n }\n\n return filter;\n });\n }\n }\n\n /**\n */\n createFilter(\n filterKey: string,\n data: Object,\n contributions: Object,\n modelOptions?: ModelOptions,\n ): IFilter {\n const type = contributions.type || \"stringfilter\";\n if (type === \"choicefilter\" && filterKey === \"index\") {\n return new ConceptIndexFilterModel(data, contributions, modelOptions);\n }\n\n if (type.includes(\"rangefilter\")) {\n return new RangeFilterModel(data, contributions, modelOptions);\n }\n\n if (type === \"assignmentfilter\") {\n return new AssignmentFilterModel(data, contributions, modelOptions);\n }\n\n if (type === \"stringfilter\") {\n return new StringFilterModel(data, contributions, modelOptions);\n }\n\n return new FilterModel(data, contributions, modelOptions);\n }\n\n /**\n * Call the reset function on all filters\n *\n * @see {IFilter#reset()}\n */\n reset(): FilterCollection {\n this.collection = this.collection.map((filter) => filter.reset());\n\n return this;\n }\n\n /**\n * Checks if range attribute key equals key\n */\n checkRangeFilterByAttributeKey(\n filter: RangeFilterModel,\n key: string,\n ): boolean {\n const rangeAttribute = filter.attribute;\n\n if (rangeAttribute instanceof CompositeAttributeModel) {\n return (\n rangeAttribute.key === key ||\n (rangeAttribute.start && rangeAttribute.start.key === key) ||\n (rangeAttribute.end && rangeAttribute.end.key === key)\n );\n }\n\n return false;\n }\n\n /**\n * Check if assignment filter attribute matches key\n */\n checkAssignmentFilterByAttributeKey(\n filter: AssignmentFilterModel,\n key: string,\n ): boolean {\n return (\n filter.key === key ||\n filter.user?.key === key ||\n filter.assignmenttype?.key === key\n );\n }\n\n /**\n */\n getFilterByName(name: string): IFilter | null {\n return this.find((filter) => filter.name === name) || null;\n }\n\n /**\n * Getting the filter by name\n */\n getFilterByAttributeKey(key: string): IFilter | null {\n return (\n this.find((filter) => {\n if (filter instanceof RangeFilterModel) {\n return this.checkRangeFilterByAttributeKey(filter, key);\n }\n\n if (filter instanceof AssignmentFilterModel) {\n return this.checkAssignmentFilterByAttributeKey(filter, key);\n }\n\n if (filter instanceof FilterModel) {\n return filter.attribute.key === key;\n }\n\n return false;\n }) || null\n );\n }\n\n /**\n * Update Filter by input name and value\n */\n update(attribute: AttributeType, value: string): void {\n const filterToUpdate = attribute.parentKey\n ? this.getFilterByAttributeKey(attribute.parentKey)\n : this.getFilterByAttributeKey(attribute.key);\n\n if (!filterToUpdate) {\n throw new Error(`Can not find filter by attribute key: ${attribute.key}`);\n }\n\n const newFilter = filterToUpdate.clone();\n newFilter.update(attribute, value);\n\n this.collection = this.collection.map((filter) => {\n if (filter.name === newFilter.name) {\n return newFilter;\n }\n\n return filter;\n });\n }\n\n /**\n * Retrieve if all filters are valid\n */\n get isValid(): boolean {\n return this.collection.every((filter) => filter.isValid);\n }\n\n /**\n * Indicates if an active filter is present in the collection\n */\n hasActiveFilters(): boolean {\n return this.collection.some((filter) => filter.isActive());\n }\n\n /**\n * Retrieve all filters with a value\n */\n getActiveFilters(): Array<IFilter> {\n return this.collection.filter((filter) => filter.isActive());\n }\n\n /**\n */\n get formdata(): { [string]: any } | null {\n const bodyFields = this.filter(\n (f) =>\n f.parameterType === PARAMETER_TYPES.BODY && f.hasValue() && f.formdata,\n );\n\n if (bodyFields.length === 0) {\n return null;\n }\n\n return bodyFields.reduce((data, f) => {\n return Object.assign(data, f.formdata);\n }, {});\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"FilterModel.js","names":["_BaseFilterModel","_interopRequireDefault","require","_createAttribute","_exceptions","FilterModel","BaseFilterModel","constructor","data","contributions","modelOptions","_defineProperty2","default","_attribute","createAttribute","type","param","attribute","IllegalStateException","label","params","name","value","inputvalue","hasValue","reset","update","isActive","initvalue","isValid","readonlyvalue","formdata","exports"],"sources":["../../../src/models/filters/FilterModel.js"],"sourcesContent":["// @flow\nimport BaseFilterModel from \"../filters/BaseFilterModel\";\nimport createAttribute from \"../attributes/_createAttribute\";\nimport { IllegalStateException } from \"../../exceptions\";\n\nimport type { AttributeType, ModelOptions } from \"../types\";\n\n/**\n */\nexport default class FilterModel extends BaseFilterModel {\n _attribute: AttributeType | null = null;\n\n /**\n */\n constructor(\n data: Object,\n contributions: Object,\n modelOptions?: ModelOptions,\n ) {\n super(data, contributions, modelOptions);\n\n this._attribute = this.createAttribute(\n this.type,\n this.param,\n this.data,\n this.contributions,\n );\n }\n\n /**\n * Create attribute through the attribute factory. Create type based on filter key without the filter suffix\n */\n createAttribute(\n type: string,\n param: string,\n data: Object,\n contributions: Object,\n ): AttributeType | null {\n if (type === \"assignment\") {\n return null;\n }\n\n return createAttribute(\n param,\n data,\n {\n ...contributions,\n type: type,\n },\n this.modelOptions,\n );\n }\n\n /**\n * Get attribute of filter\n */\n get attribute(): AttributeType {\n if (!this._attribute) {\n throw new IllegalStateException(\n `Missing filter attribute on filter model: ${this.label}`,\n );\n }\n return this._attribute;\n }\n\n /**\n * Retrieve the parameters with it's value for this filter\n */\n get params(): Array<{ name: string, value: ?string }> {\n if (!this.param) {\n return [];\n }\n\n return [\n {\n name: this.param,\n value: this.attribute?.value,\n },\n ];\n }\n\n /**\n * Getting the value of the filter\n */\n get value(): string | null {\n return this.attribute?.value;\n }\n\n /**\n * Getting the inputvalue of the filter\n */\n get inputvalue(): string {\n return this.attribute?.inputvalue;\n }\n\n /**\n * Indicates if the filter has a value.\n */\n hasValue(): boolean {\n return this.value !== null && this.value !== \"\";\n }\n\n /**\n * Reset the value of this filter to undefined\n */\n reset(): FilterModel {\n if (this.attribute) {\n this.attribute.reset();\n }\n\n return this;\n }\n\n /**\n * Update this filter with input name and value\n */\n update(attribute: AttributeType, value: string) {\n if (this.attribute) {\n this.attribute.update(value);\n }\n }\n\n /**\n * Inidiates if filter is active\n */\n isActive(): boolean {\n return this.attribute?.initvalue !== null;\n }\n\n /**\n * Inidiates if filter is valid\n */\n get isValid(): boolean {\n return this.attribute?.isValid || true;\n }\n\n /**\n */\n get readonlyvalue(): string {\n if (this.attribute) {\n return this.attribute.readonlyvalue;\n }\n return \"\";\n }\n\n /**\n */\n get formdata(): { [string]: any } | null {\n return this.attribute.formdata ?? null;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FilterModel.js","names":["_BaseFilterModel","_interopRequireDefault","require","_createAttribute","_exceptions","FilterModel","BaseFilterModel","constructor","data","contributions","modelOptions","_defineProperty2","default","_attribute","createAttribute","type","param","attribute","IllegalStateException","label","params","name","value","inputvalue","hasValue","reset","update","isActive","initvalue","isValid","readonlyvalue","formdata","exports"],"sources":["../../../src/models/filters/FilterModel.js"],"sourcesContent":["// @flow\nimport BaseFilterModel from \"../filters/BaseFilterModel\";\nimport createAttribute from \"../attributes/_createAttribute\";\nimport { IllegalStateException } from \"../../exceptions\";\n\nimport type { AttributeType, IFilter, ModelOptions } from \"../types\";\n\n/**\n */\nexport default class FilterModel extends BaseFilterModel implements IFilter {\n _attribute: AttributeType | null = null;\n\n /**\n */\n constructor(\n data: Object,\n contributions: Object,\n modelOptions?: ModelOptions,\n ) {\n super(data, contributions, modelOptions);\n\n this._attribute = this.createAttribute(\n this.type,\n this.param,\n this.data,\n this.contributions,\n );\n }\n\n /**\n * Create attribute through the attribute factory. Create type based on filter key without the filter suffix\n */\n createAttribute(\n type: string,\n param: string,\n data: Object,\n contributions: Object,\n ): AttributeType | null {\n if (type === \"assignment\") {\n return null;\n }\n\n return createAttribute(\n param,\n data,\n {\n ...contributions,\n type: type,\n },\n this.modelOptions,\n );\n }\n\n /**\n * Get attribute of filter\n */\n get attribute(): AttributeType {\n if (!this._attribute) {\n throw new IllegalStateException(\n `Missing filter attribute on filter model: ${this.label}`,\n );\n }\n return this._attribute;\n }\n\n /**\n * Retrieve the parameters with it's value for this filter\n */\n get params(): Array<{ name: string, value: ?string }> {\n if (!this.param) {\n return [];\n }\n\n return [\n {\n name: this.param,\n value: this.attribute?.value,\n },\n ];\n }\n\n /**\n * Getting the value of the filter\n */\n get value(): string | null {\n return this.attribute?.value;\n }\n\n /**\n * Getting the inputvalue of the filter\n */\n get inputvalue(): string {\n return this.attribute?.inputvalue;\n }\n\n /**\n * Indicates if the filter has a value.\n */\n hasValue(): boolean {\n return this.value !== null && this.value !== \"\";\n }\n\n /**\n * Reset the value of this filter to undefined\n */\n reset(): FilterModel {\n if (this.attribute) {\n this.attribute.reset();\n }\n\n return this;\n }\n\n /**\n * Update this filter with input name and value\n */\n update(attribute: AttributeType, value: string) {\n if (this.attribute) {\n this.attribute.update(value);\n }\n }\n\n /**\n * Inidiates if filter is active\n */\n isActive(): boolean {\n return this.attribute?.initvalue !== null;\n }\n\n /**\n * Inidiates if filter is valid\n */\n get isValid(): boolean {\n return this.attribute?.isValid || true;\n }\n\n /**\n */\n get readonlyvalue(): string {\n if (this.attribute) {\n return this.attribute.readonlyvalue;\n }\n return \"\";\n }\n\n /**\n */\n get formdata(): { [string]: any } | null {\n return this.attribute.formdata ?? null;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"RangeFilterModel.js","names":["_FilterModel","_interopRequireDefault","require","_CompositeAttributeModel","RangeFilterModel","FilterModel","update","attribute","value","CompositeAttributeModel","params","_context","_map","default","children","call","child","param","data","name","exports"],"sources":["../../../src/models/filters/RangeFilterModel.js"],"sourcesContent":["// @flow\nimport FilterModel from \"../filters/FilterModel\";\n\nimport CompositeAttributeModel from \"../attributes/CompositeAttributeModel\";\nimport type { AttributeType } from \"../types\";\n\n/**\n * Range filter, for instance a date range filter or a number range filter\n */\nexport default class RangeFilterModel extends FilterModel {\n /**\n */\n update(attribute: AttributeType, value: string) {\n if (this.attribute instanceof CompositeAttributeModel) {\n this.attribute.update(value, attribute);\n } else if (this.attribute !== null) {\n this.attribute.update(value);\n }\n }\n\n /**\n */\n get params(): Array<{ name: string, value: ?string }> {\n if (this.attribute instanceof CompositeAttributeModel) {\n return this.attribute.children.map((child) => {\n const { param } = this.data[child.name];\n return {\n name: param,\n value: child.value,\n };\n });\n }\n\n return [];\n }\n}\n"],"mappings":";;;;;;;;AACA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,wBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAGA;AACA;AACA;AACe,MAAME,gBAAgB,SAASC,oBAAW,CAAC;EACxD;AACF;EACEC,MAAMA,CAACC,SAAwB,EAAEC,KAAa,EAAE;IAC9C,IAAI,IAAI,CAACD,SAAS,YAAYE,gCAAuB,EAAE;MACrD,IAAI,CAACF,SAAS,CAACD,MAAM,CAACE,KAAK,EAAED,SAAS,CAAC;IACzC,CAAC,MAAM,IAAI,IAAI,CAACA,SAAS,KAAK,IAAI,EAAE;MAClC,IAAI,CAACA,SAAS,CAACD,MAAM,CAACE,KAAK,CAAC;IAC9B;EACF;;EAEA;AACF;EACE,IAAIE,MAAMA,CAAA,EAA4C;IACpD,IAAI,IAAI,CAACH,SAAS,YAAYE,gCAAuB,EAAE;MAAA,IAAAE,QAAA;MACrD,OAAO,IAAAC,IAAA,CAAAC,OAAA,EAAAF,QAAA,OAAI,CAACJ,SAAS,CAACO,QAAQ,EAAAC,IAAA,CAAAJ,QAAA,EAAMK,KAAK,IAAK;QAC5C,MAAM;UAAEC;QAAM,CAAC,GAAG,IAAI,CAACC,IAAI,CAACF,KAAK,CAACG,IAAI,CAAC;QACvC,OAAO;UACLA,IAAI,EAAEF,KAAK;UACXT,KAAK,EAAEQ,KAAK,CAACR;QACf,CAAC;MACH,CAAC,CAAC;IACJ;IAEA,OAAO,EAAE;EACX;AACF;AAACY,OAAA,CAAAP,OAAA,GAAAT,gBAAA","ignoreList":[]}
1
+ {"version":3,"file":"RangeFilterModel.js","names":["_FilterModel","_interopRequireDefault","require","_CompositeAttributeModel","RangeFilterModel","FilterModel","update","attribute","value","CompositeAttributeModel","params","_context","_map","default","children","call","child","param","data","name","exports"],"sources":["../../../src/models/filters/RangeFilterModel.js"],"sourcesContent":["// @flow\nimport FilterModel from \"../filters/FilterModel\";\n\nimport CompositeAttributeModel from \"../attributes/CompositeAttributeModel\";\nimport type { AttributeType, IFilter } from \"../types\";\n\n/**\n * Range filter, for instance a date range filter or a number range filter\n */\nexport default class RangeFilterModel extends FilterModel implements IFilter {\n /**\n */\n update(attribute: AttributeType, value: string) {\n if (this.attribute instanceof CompositeAttributeModel) {\n this.attribute.update(value, attribute);\n } else if (this.attribute !== null) {\n this.attribute.update(value);\n }\n }\n\n /**\n */\n get params(): Array<{ name: string, value: ?string }> {\n if (this.attribute instanceof CompositeAttributeModel) {\n return this.attribute.children.map((child) => {\n const { param } = this.data[child.name];\n return {\n name: param,\n value: child.value,\n };\n });\n }\n\n return [];\n }\n}\n"],"mappings":";;;;;;;;AACA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,wBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAGA;AACA;AACA;AACe,MAAME,gBAAgB,SAASC,oBAAW,CAAoB;EAC3E;AACF;EACEC,MAAMA,CAACC,SAAwB,EAAEC,KAAa,EAAE;IAC9C,IAAI,IAAI,CAACD,SAAS,YAAYE,gCAAuB,EAAE;MACrD,IAAI,CAACF,SAAS,CAACD,MAAM,CAACE,KAAK,EAAED,SAAS,CAAC;IACzC,CAAC,MAAM,IAAI,IAAI,CAACA,SAAS,KAAK,IAAI,EAAE;MAClC,IAAI,CAACA,SAAS,CAACD,MAAM,CAACE,KAAK,CAAC;IAC9B;EACF;;EAEA;AACF;EACE,IAAIE,MAAMA,CAAA,EAA4C;IACpD,IAAI,IAAI,CAACH,SAAS,YAAYE,gCAAuB,EAAE;MAAA,IAAAE,QAAA;MACrD,OAAO,IAAAC,IAAA,CAAAC,OAAA,EAAAF,QAAA,OAAI,CAACJ,SAAS,CAACO,QAAQ,EAAAC,IAAA,CAAAJ,QAAA,EAAMK,KAAK,IAAK;QAC5C,MAAM;UAAEC;QAAM,CAAC,GAAG,IAAI,CAACC,IAAI,CAACF,KAAK,CAACG,IAAI,CAAC;QACvC,OAAO;UACLA,IAAI,EAAEF,KAAK;UACXT,KAAK,EAAEQ,KAAK,CAACR;QACf,CAAC;MACH,CAAC,CAAC;IACJ;IAEA,OAAO,EAAE;EACX;AACF;AAACY,OAAA,CAAAP,OAAA,GAAAT,gBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"StringFilterModel.js","names":["_FilterModel","_interopRequireDefault","require","StringFilterModel","FilterModel","constructor","data","contributions","modelOptions","_defineProperty2","default","update","attribute","value","_inputvalue","_value","params","param","name","removeFormat","inputvalue","reset","isValid","_isValid","toString","shouldHandleFormat","_context","_context2","values","isMultiple","_map","split","call","val","_trim","outputValues","formattedValue","formatValue","push","validate","join","operator","getContribution","isBSN","layouthint","has","isIBAN","isZipcode","replace","formdata","exports"],"sources":["../../../src/models/filters/StringFilterModel.js"],"sourcesContent":["// @flow\n\nimport type { AttributeType, ModelOptions } from \"../types\";\nimport FilterModel from \"./FilterModel\";\n\n/**\n * StringFilterModel can handle string filters with multiple setting\n */\nexport default class StringFilterModel extends FilterModel {\n _isValid: boolean = true;\n _value: string | null;\n _inputvalue: string;\n\n /**\n */\n constructor(\n data: Object,\n contributions: Object,\n modelOptions?: ModelOptions,\n ) {\n super(data, contributions, modelOptions);\n\n this.update(this.attribute, data.value ?? \"\");\n\n // when formatted value set this to initial input value\n this._inputvalue = this._value ?? \"\";\n }\n\n /**\n * Retrieve the parameters with its value for this filter\n */\n get params(): Array<{ name: string, value: ?string }> {\n if (!this.param) {\n return [];\n }\n\n return [\n {\n name: this.param,\n value: this.removeFormat(this.value),\n },\n ];\n }\n\n /**\n * Getting the value of the filter\n */\n get value(): string | null {\n return this._value;\n }\n\n /**\n */\n get inputvalue(): string {\n return this._inputvalue;\n }\n\n /**\n * Reset the value of this filter to undefined\n */\n reset(): StringFilterModel {\n this._inputvalue = \"\";\n this._value = null;\n\n return this;\n }\n\n /**\n */\n get isValid(): boolean {\n return this._isValid;\n }\n\n /**\n * Update this filter with input name and value\n */\n update(attribute: AttributeType, value: string) {\n this._isValid = true;\n this._inputvalue = typeof value !== \"string\" ? value.toString() : value;\n\n if (this.shouldHandleFormat()) {\n const values = this.isMultiple\n ? this._inputvalue.split(\",\").map((val) => val.trim())\n : [this._inputvalue.trim()];\n\n const outputValues = [];\n for (const val of values) {\n const formattedValue = this.formatValue(val);\n if (formattedValue !== \"\") {\n outputValues.push(formattedValue);\n\n if (!this.attribute.validate(formattedValue)) {\n this._isValid = false;\n }\n }\n }\n\n this._value = outputValues.join(\",\");\n } else {\n this._value = value;\n }\n }\n\n /**\n */\n get operator(): string {\n return this.getContribution(\"operator\", \"\");\n }\n\n /**\n */\n formatValue(value: string): string {\n if (this.shouldHandleFormat()) {\n return this.attribute.formatValue(value);\n }\n return value;\n }\n\n /**\n */\n isBSN(): boolean {\n return this.layouthint.has(\"bsn\");\n }\n\n /**\n */\n isIBAN(): boolean {\n return this.layouthint.has(\"iban\");\n }\n\n /**\n */\n isZipcode(): boolean {\n return this.layouthint.has(\"zipcode\");\n }\n\n /**\n */\n removeFormat(value: ?string): string {\n if (value == null || value.toString() === \"\") {\n return \"\";\n }\n\n if (this.shouldHandleFormat()) {\n return value.replace(/[^a-z0-9,]/gi, \"\");\n }\n\n return value;\n }\n\n /**\n */\n shouldHandleFormat(): boolean {\n return (\n (this.operator === \"exactly\" || this.operator === \"isNot\") &&\n (this.isIBAN() || this.isZipcode() || this.isBSN())\n );\n }\n\n /**\n */\n get formdata(): { [string]: any } | null {\n return {\n [this.param]: this.value,\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"StringFilterModel.js","names":["_FilterModel","_interopRequireDefault","require","StringFilterModel","FilterModel","constructor","data","contributions","modelOptions","_defineProperty2","default","update","attribute","value","_inputvalue","_value","params","param","name","removeFormat","inputvalue","reset","isValid","_isValid","toString","shouldHandleFormat","_context","_context2","values","isMultiple","_map","split","call","val","_trim","outputValues","formattedValue","formatValue","push","validate","join","operator","getContribution","isBSN","layouthint","has","isIBAN","isZipcode","replace","formdata","exports"],"sources":["../../../src/models/filters/StringFilterModel.js"],"sourcesContent":["// @flow\n\nimport type { AttributeType, IFilter, ModelOptions } from \"../types\";\nimport FilterModel from \"./FilterModel\";\n\n/**\n * StringFilterModel can handle string filters with multiple setting\n */\nexport default class StringFilterModel extends FilterModel implements IFilter {\n _isValid: boolean = true;\n _value: string | null;\n _inputvalue: string;\n\n /**\n */\n constructor(\n data: Object,\n contributions: Object,\n modelOptions?: ModelOptions,\n ) {\n super(data, contributions, modelOptions);\n\n this.update(this.attribute, data.value ?? \"\");\n\n // when formatted value set this to initial input value\n this._inputvalue = this._value ?? \"\";\n }\n\n /**\n * Retrieve the parameters with its value for this filter\n */\n get params(): Array<{ name: string, value: ?string }> {\n if (!this.param) {\n return [];\n }\n\n return [\n {\n name: this.param,\n value: this.removeFormat(this.value),\n },\n ];\n }\n\n /**\n * Getting the value of the filter\n */\n get value(): string | null {\n return this._value;\n }\n\n /**\n */\n get inputvalue(): string {\n return this._inputvalue;\n }\n\n /**\n * Reset the value of this filter to undefined\n */\n reset(): StringFilterModel {\n this._inputvalue = \"\";\n this._value = null;\n\n return this;\n }\n\n /**\n */\n get isValid(): boolean {\n return this._isValid;\n }\n\n /**\n * Update this filter with input name and value\n */\n update(attribute: AttributeType, value: string) {\n this._isValid = true;\n this._inputvalue = typeof value !== \"string\" ? value.toString() : value;\n\n if (this.shouldHandleFormat()) {\n const values = this.isMultiple\n ? this._inputvalue.split(\",\").map((val) => val.trim())\n : [this._inputvalue.trim()];\n\n const outputValues = [];\n for (const val of values) {\n const formattedValue = this.formatValue(val);\n if (formattedValue !== \"\") {\n outputValues.push(formattedValue);\n\n if (!this.attribute.validate(formattedValue)) {\n this._isValid = false;\n }\n }\n }\n\n this._value = outputValues.join(\",\");\n } else {\n this._value = value;\n }\n }\n\n /**\n */\n get operator(): string {\n return this.getContribution(\"operator\", \"\");\n }\n\n /**\n */\n formatValue(value: string): string {\n if (this.shouldHandleFormat()) {\n return this.attribute.formatValue(value);\n }\n return value;\n }\n\n /**\n */\n isBSN(): boolean {\n return this.layouthint.has(\"bsn\");\n }\n\n /**\n */\n isIBAN(): boolean {\n return this.layouthint.has(\"iban\");\n }\n\n /**\n */\n isZipcode(): boolean {\n return this.layouthint.has(\"zipcode\");\n }\n\n /**\n */\n removeFormat(value: ?string): string {\n if (value == null || value.toString() === \"\") {\n return \"\";\n }\n\n if (this.shouldHandleFormat()) {\n return value.replace(/[^a-z0-9,]/gi, \"\");\n }\n\n return value;\n }\n\n /**\n */\n shouldHandleFormat(): boolean {\n return (\n (this.operator === \"exactly\" || this.operator === \"isNot\") &&\n (this.isIBAN() || this.isZipcode() || this.isBSN())\n );\n }\n\n /**\n */\n get formdata(): { [string]: any } | null {\n return {\n [this.param]: this.value,\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -16,6 +16,7 @@ var _Href = _interopRequireDefault(require("../href/Href"));
16
16
  var _LinkCollection = _interopRequireDefault(require("../links/LinkCollection"));
17
17
  var _LayoutHints = require("../../constants/LayoutHints");
18
18
  var _Parameter = _interopRequireDefault(require("../parameter/Parameter"));
19
+ var _constants = require("../../constants");
19
20
  /**
20
21
  * Defines a Link. For instance below example of a link to the tab 'books'
21
22
  * <br/>
@@ -34,7 +35,9 @@ class LinkModel extends _BaseModel.default {
34
35
  (0, _defineProperty2.default)(this, "_isCacheable", void 0);
35
36
  (0, _defineProperty2.default)(this, "_icon", void 0);
36
37
  (0, _defineProperty2.default)(this, "_targetModel", void 0);
38
+ (0, _defineProperty2.default)(this, "_method", void 0);
37
39
  this.createHref(modelOptions);
40
+ this._method = _constants.HTTP_METHODS.GET;
38
41
  this._isCacheable = false;
39
42
  }
40
43
 
@@ -115,6 +118,20 @@ class LinkModel extends _BaseModel.default {
115
118
  this._href = href;
116
119
  }
117
120
 
121
+ /**
122
+ * Indicate how this link must be called, GET by default
123
+ */
124
+ get method() {
125
+ return this._method;
126
+ }
127
+
128
+ /**
129
+ * Set http method for this link
130
+ */
131
+ set method(method) {
132
+ this._method = method;
133
+ }
134
+
118
135
  /**
119
136
  * Getting the label of the link
120
137
  */
@@ -1 +1 @@
1
- {"version":3,"file":"LinkModel.js","names":["_objects","require","_ProcessStatusSettingsModel","_interopRequireDefault","_BaseModel","_Href","_LinkCollection","_LayoutHints","_Parameter","LinkModel","BaseModel","constructor","data","contributions","modelOptions","_defineProperty2","default","createHref","_isCacheable","create","name","href","label","Href","resourcetype","handleInitialFilters","layouthint","has","INITIAL_FILTER","_context","filters","_filter","call","hint","_startsWith","forEach","param","substr","length","p","Parameter","fromString","value","push","_keys","key","join","addParameter","group","getContribution","_href","links","components","LinkCollection","isActive","link","_context2","icon","_icon","targetModel","_targetModel","isCacheable","filterName","hasProcessStatusSettings","processStatus","ProcessStatusSettingsModel","getData","_default","exports"],"sources":["../../../src/models/links/LinkModel.js"],"sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\nimport ProcessStatusSettingsModel from \"../process/ProcessStatusSettingsModel\";\nimport BaseModel from \"../base/BaseModel\";\nimport Href from \"../href/Href\";\nimport LinkCollection from \"../links/LinkCollection\";\nimport { INITIAL_FILTER } from \"../../constants/LayoutHints\";\n\nimport type { ModelOptions, ModularUIModel } from \"../types\";\nimport Parameter from \"../parameter/Parameter\";\n\n/**\n * Defines a Link. For instance below example of a link to the tab 'books'\n * <br/>\n * \"Books\": {\n * \"href\": \"/books\",\n * \"profile\": \"/profiles/tab\"\n * }\n */\nclass LinkModel extends BaseModel {\n _href: Href;\n _isCacheable: boolean;\n _icon: string;\n _targetModel: ?Class<ModularUIModel>;\n\n /**\n * Create a Link\n */\n constructor(\n data: Object,\n contributions: Object,\n modelOptions?: ModelOptions,\n ) {\n super(data, contributions, modelOptions);\n\n this.createHref(modelOptions);\n\n this._isCacheable = false;\n }\n\n /**\n * Create a simple Link Model\n */\n static create(\n name: string,\n href: string | Href,\n label: string,\n modelOptions?: ModelOptions,\n ): LinkModel {\n const data = { name, href };\n const contributions = { label };\n return new LinkModel(data, contributions, modelOptions);\n }\n\n /**\n */\n createHref(modelOptions: ?ModelOptions) {\n const href = new Href(this.data.href, this.resourcetype, modelOptions);\n this.handleInitialFilters(href);\n\n this.href = href;\n }\n\n /**\n * Handle initial filter hints\n * @param href\n */\n handleInitialFilters(href: Href) {\n if (this.layouthint.has(INITIAL_FILTER)) {\n const filters: { [string]: Array<string> } = {};\n this.layouthint\n .filter((hint) => hint.startsWith(INITIAL_FILTER))\n .forEach((hint) => {\n const param = hint.substr(INITIAL_FILTER.length);\n const p = Parameter.fromString(param);\n\n if (p != null) {\n if (!filters[p.name]) {\n filters[p.name] = [];\n }\n\n if (p.value != null) {\n filters[p.name].push(p.value);\n }\n }\n });\n\n Object.keys(filters).forEach((key) => {\n const value = filters[key].join(\",\");\n href.addParameter(key, value);\n });\n }\n }\n\n /**\n * Getting link group\n */\n get group(): string {\n return this.getContribution(\"group\", this.data.group);\n }\n\n /**\n * Getting the key/name of this link\n */\n get key(): string {\n return this.data.name;\n }\n\n /**\n * Retrieve the href of the link\n */\n get href(): Href {\n return this._href;\n }\n\n /**\n * Set the href of the Link\n */\n set href(href: Href) {\n this._href = href;\n }\n\n /**\n * Getting the label of the link\n */\n get label(): string {\n return this.getContribution(\"label\", this.key);\n }\n\n /**\n * Getting the type of the link\n */\n get resourcetype(): string {\n return this.getContribution(\"resourcetype\", \"\");\n }\n\n /**\n */\n get links(): LinkCollection {\n if (this.data.components) {\n return new LinkCollection(\n { components: this.data.components },\n { components: this.contributions.components },\n );\n }\n\n return new LinkCollection();\n }\n\n /**\n * Check if the href startswith the URI of the given href\n */\n isActive(link: ?LinkModel): boolean {\n if (link) {\n return link.href.startsWith(this.href);\n }\n\n return false;\n }\n\n /**\n * Setter for icon of LinkModel\n */\n set icon(icon: string) {\n this._icon = icon;\n }\n\n /**\n * Retrieve icon of LinkModel\n */\n get icon(): string {\n return this._icon;\n }\n\n /**\n */\n get targetModel(): ?Class<ModularUIModel> {\n return this._targetModel;\n }\n\n /**\n */\n set targetModel(targetModel: Class<ModularUIModel>) {\n this._targetModel = targetModel;\n }\n\n /**\n */\n get isCacheable(): boolean {\n return this._isCacheable;\n }\n\n /**\n */\n set isCacheable(isCacheable: boolean) {\n this._isCacheable = isCacheable;\n }\n\n /**\n */\n get filterName(): string {\n return this.data.filter.name;\n }\n\n /**\n */\n get hasProcessStatusSettings(): boolean {\n return (\n has(this.data, \"processStatus\") &&\n has(this.contributions, \"processStatus\")\n );\n }\n\n /**\n */\n get processStatus(): ProcessStatusSettingsModel | null {\n if (this.hasProcessStatusSettings) {\n return new ProcessStatusSettingsModel(\n this.getData(\"processStatus\", {}),\n this.getContribution(\"processStatus\", {}),\n );\n }\n\n return null;\n }\n}\n\nexport default LinkModel;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"LinkModel.js","names":["_objects","require","_ProcessStatusSettingsModel","_interopRequireDefault","_BaseModel","_Href","_LinkCollection","_LayoutHints","_Parameter","_constants","LinkModel","BaseModel","constructor","data","contributions","modelOptions","_defineProperty2","default","createHref","_method","HTTP_METHODS","GET","_isCacheable","create","name","href","label","Href","resourcetype","handleInitialFilters","layouthint","has","INITIAL_FILTER","_context","filters","_filter","call","hint","_startsWith","forEach","param","substr","length","p","Parameter","fromString","value","push","_keys","key","join","addParameter","group","getContribution","_href","method","links","components","LinkCollection","isActive","link","_context2","icon","_icon","targetModel","_targetModel","isCacheable","filterName","hasProcessStatusSettings","processStatus","ProcessStatusSettingsModel","getData","_default","exports"],"sources":["../../../src/models/links/LinkModel.js"],"sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\nimport ProcessStatusSettingsModel from \"../process/ProcessStatusSettingsModel\";\nimport BaseModel from \"../base/BaseModel\";\nimport Href from \"../href/Href\";\nimport LinkCollection from \"../links/LinkCollection\";\nimport { INITIAL_FILTER } from \"../../constants/LayoutHints\";\nimport Parameter from \"../parameter/Parameter\";\nimport { HTTP_METHODS } from \"../../constants\";\n\nimport type { ModelOptions, ModularUIModel } from \"../types\";\n\n/**\n * Defines a Link. For instance below example of a link to the tab 'books'\n * <br/>\n * \"Books\": {\n * \"href\": \"/books\",\n * \"profile\": \"/profiles/tab\"\n * }\n */\nclass LinkModel extends BaseModel {\n _href: Href;\n _isCacheable: boolean;\n _icon: string;\n _targetModel: ?Class<ModularUIModel>;\n _method: $Keys<typeof HTTP_METHODS>;\n\n /**\n * Create a Link\n */\n constructor(\n data: Object,\n contributions: Object,\n modelOptions?: ModelOptions,\n ) {\n super(data, contributions, modelOptions);\n\n this.createHref(modelOptions);\n\n this._method = HTTP_METHODS.GET;\n this._isCacheable = false;\n }\n\n /**\n * Create a simple Link Model\n */\n static create(\n name: string,\n href: string | Href,\n label: string,\n modelOptions?: ModelOptions,\n ): LinkModel {\n const data = { name, href };\n const contributions = { label };\n return new LinkModel(data, contributions, modelOptions);\n }\n\n /**\n */\n createHref(modelOptions: ?ModelOptions) {\n const href = new Href(this.data.href, this.resourcetype, modelOptions);\n this.handleInitialFilters(href);\n\n this.href = href;\n }\n\n /**\n * Handle initial filter hints\n * @param href\n */\n handleInitialFilters(href: Href) {\n if (this.layouthint.has(INITIAL_FILTER)) {\n const filters: { [string]: Array<string> } = {};\n this.layouthint\n .filter((hint) => hint.startsWith(INITIAL_FILTER))\n .forEach((hint) => {\n const param = hint.substr(INITIAL_FILTER.length);\n const p = Parameter.fromString(param);\n\n if (p != null) {\n if (!filters[p.name]) {\n filters[p.name] = [];\n }\n\n if (p.value != null) {\n filters[p.name].push(p.value);\n }\n }\n });\n\n Object.keys(filters).forEach((key) => {\n const value = filters[key].join(\",\");\n href.addParameter(key, value);\n });\n }\n }\n\n /**\n * Getting link group\n */\n get group(): string {\n return this.getContribution(\"group\", this.data.group);\n }\n\n /**\n * Getting the key/name of this link\n */\n get key(): string {\n return this.data.name;\n }\n\n /**\n * Retrieve the href of the link\n */\n get href(): Href {\n return this._href;\n }\n\n /**\n * Set the href of the Link\n */\n set href(href: Href) {\n this._href = href;\n }\n\n /**\n * Indicate how this link must be called, GET by default\n */\n get method(): $Keys<typeof HTTP_METHODS> {\n return this._method;\n }\n\n /**\n * Set http method for this link\n */\n set method(method: $Keys<typeof HTTP_METHODS>) {\n this._method = method;\n }\n\n /**\n * Getting the label of the link\n */\n get label(): string {\n return this.getContribution(\"label\", this.key);\n }\n\n /**\n * Getting the type of the link\n */\n get resourcetype(): string {\n return this.getContribution(\"resourcetype\", \"\");\n }\n\n /**\n */\n get links(): LinkCollection {\n if (this.data.components) {\n return new LinkCollection(\n { components: this.data.components },\n { components: this.contributions.components },\n );\n }\n\n return new LinkCollection();\n }\n\n /**\n * Check if the href startswith the URI of the given href\n */\n isActive(link: ?LinkModel): boolean {\n if (link) {\n return link.href.startsWith(this.href);\n }\n\n return false;\n }\n\n /**\n * Setter for icon of LinkModel\n */\n set icon(icon: string) {\n this._icon = icon;\n }\n\n /**\n * Retrieve icon of LinkModel\n */\n get icon(): string {\n return this._icon;\n }\n\n /**\n */\n get targetModel(): ?Class<ModularUIModel> {\n return this._targetModel;\n }\n\n /**\n */\n set targetModel(targetModel: Class<ModularUIModel>) {\n this._targetModel = targetModel;\n }\n\n /**\n */\n get isCacheable(): boolean {\n return this._isCacheable;\n }\n\n /**\n */\n set isCacheable(isCacheable: boolean) {\n this._isCacheable = isCacheable;\n }\n\n /**\n */\n get filterName(): string {\n return this.data.filter.name;\n }\n\n /**\n */\n get hasProcessStatusSettings(): boolean {\n return (\n has(this.data, \"processStatus\") &&\n has(this.contributions, \"processStatus\")\n );\n }\n\n /**\n */\n get processStatus(): ProcessStatusSettingsModel | null {\n if (this.hasProcessStatusSettings) {\n return new ProcessStatusSettingsModel(\n this.getData(\"processStatus\", {}),\n this.getContribution(\"processStatus\", {}),\n );\n }\n\n return null;\n }\n}\n\nexport default LinkModel;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"ListModel.js","names":["_ModularUIResponse","_interopRequireDefault","require","_ListItemCollection","_ListDetailModel","_ActionCollection","_FilterCollection","_GroupingModel","_ListHeaderModel","_ListHref","_ListItemModel","_PagingModel","_ResourceModel","_SortingModel","_constants","_LayoutHints","ListModel","ResourceModel","constructor","args","_defineProperty2","default","type","modelName","isApplicableModel","data","_context","resourceType","contributions","resourcetype","_endsWith","call","_includes","getInitialChildModelLinks","layouthint","has","SHOW_ONE_RESULT_AS_DETAIL","listItemCollection","length","_context2","_map","listItem","listDetailLink","selflink","targetModel","ListDetailModel","setChildModels","models","detail","_find","childModel","requestMethod","mustPost","filterCollection","some","filter","parameterType","PARAMETER_TYPES","BODY","hasValue","HTTP_METHODS","POST","GET","label","introtext","content","text","message","Array","isArray","texts","_listItemCollection","ListItemCollection","createFromList","_detail","_context3","listitemHref","selfhref","listitem","equals","grouping","_grouping","setGrouping","GroupingModel","dynamicschema","contexts","modelOptions","hasGrouping","hasGroups","hasResults","hasItems","shouldHide","HIDE_WHEN_EMPTY","actionCollection","isEmpty","hasActiveFilters","getListItemById","id","_context4","decodedId","decodeURIComponent","toString","result","getListItemByHref","href","_context5","paging","_paging","setPaging","PagingModel","sorting","_sorting","setSorting","SortingModel","getSortingLabels","_filterCollection","setFilters","collection","FilterCollection","_filter","listkey","key","isFiltered","_actionCollection","setActionCollection","ActionCollection","actions","hasList","getSelfHref","selfLink","links","getLinkByKey","ListHref","headers","_headers","setHeaders","tempHeaders","results","_keys","forEach","attributes","attribute","listHeader","ListHeaderModel","exists","tempHeader","CASEVIEW_LINK","push","sortingLabels","attributeKey","getActionsByType","actionType","getAdditionalDetailLabel","resultTypes","resultType","_context6","link","_links","panel","Function","bind","panelLink","formdata","_stringify","exports"],"sources":["../../../src/models/list/ListModel.js"],"sourcesContent":["// @flow\nimport ModularUIResponse from \"../../modularui/ModularUIResponse\";\n\nimport ListItemCollection from \"../list/ListItemCollection\";\nimport ListDetailModel from \"../list/ListDetailModel\";\nimport ActionCollection from \"../actions/ActionCollection\";\nimport FilterCollection from \"../filters/FilterCollection\";\nimport GroupingModel from \"../grouping/GroupingModel\";\nimport ListHeaderModel from \"../list/ListHeaderModel\";\nimport ListHref from \"../href/ListHref\";\nimport ListItemModel from \"../list/ListItemModel\";\nimport PagingModel from \"../paging/PagingModel\";\nimport ResourceModel from \"../base/ResourceModel\";\nimport SortingModel from \"../sorting/SortingModel\";\nimport { HTTP_METHODS, PARAMETER_TYPES } from \"../../constants\";\n\nimport {\n CASEVIEW_LINK,\n HIDE_WHEN_EMPTY,\n SHOW_ONE_RESULT_AS_DETAIL,\n} from \"../../constants/LayoutHints\";\n\nimport type { ModularUIModel, FilterType } from \"../types\";\nimport type LinkModel from \"../links/LinkModel\";\n\n/**\n * Defines a list object\n */\nexport default class ListModel extends ResourceModel {\n _detail: ?ListDetailModel = null;\n _headers: Array<ListHeaderModel>;\n _paging: PagingModel;\n _filterCollection: FilterCollection;\n _sorting: SortingModel;\n _actionCollection: ActionCollection;\n _listItemCollection: ListItemCollection;\n _grouping: GroupingModel;\n\n /**\n */\n get type(): string {\n return \"List\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"ListModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n const resourceType = data.contributions?.resourcetype ?? \"\";\n return (\n resourceType.endsWith(\"List\") ||\n resourceType.endsWith(\"ListPanel\") ||\n resourceType.endsWith(\"RelatedDataStorePanel\") ||\n resourceType.endsWith(\"RelatedDatastorePanel\") ||\n [\n \"list-related-cases\",\n \"RecordPanel\",\n \"EventHistoryPanel\",\n \"NotePanel\",\n \"AppointmentPanel\",\n \"DocumentPanel\",\n \"AssignmentPanel\",\n ].includes(resourceType)\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n if (\n this.layouthint.has(SHOW_ONE_RESULT_AS_DETAIL) &&\n this.listItemCollection.length === 1\n ) {\n return this.listItemCollection.map((listItem) => {\n const listDetailLink = listItem.selflink;\n listDetailLink.targetModel = ListDetailModel;\n return listDetailLink;\n });\n }\n\n return [];\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n this.detail = models.find((childModel) => childModel.type === \"ListDetail\");\n }\n\n /**\n */\n get requestMethod(): $Keys<typeof HTTP_METHODS> {\n const mustPost = this.filterCollection.some(\n (filter) =>\n filter.parameterType === PARAMETER_TYPES.BODY && filter.hasValue(),\n );\n return mustPost ? HTTP_METHODS.POST : HTTP_METHODS.GET;\n }\n\n /**\n * Getting the label of the list\n */\n get label(): string {\n return this.contributions.label;\n }\n\n /**\n * Getting the introduction text\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 results\n */\n get listItemCollection(): ListItemCollection {\n if (!this._listItemCollection) {\n this._listItemCollection = ListItemCollection.createFromList(this);\n }\n\n return this._listItemCollection;\n }\n\n /**\n * Set results\n */\n set listItemCollection(listItemCollection: ListItemCollection) {\n this._listItemCollection = listItemCollection;\n }\n\n /**\n * Getting the detail\n */\n get detail(): ?ListDetailModel {\n return this._detail;\n }\n\n /**\n * Add detail model to the {ListModel}\n */\n set detail(detail: ?ModularUIModel) {\n if (detail instanceof ListDetailModel) {\n const listitemHref = detail.selfhref;\n\n const listitem = this.listItemCollection.find((listItem) =>\n listItem.selfhref.equals(listitemHref),\n );\n\n if (listitem) {\n detail.listitem = listitem;\n }\n\n this._detail = detail;\n }\n }\n\n /**\n * Retrieve grouping information\n */\n get grouping(): GroupingModel {\n if (!this._grouping) {\n this._grouping = this.setGrouping();\n }\n\n return this._grouping;\n }\n\n /**\n */\n setGrouping(): GroupingModel {\n return new GroupingModel(\n { ...this.data.grouping, dynamicschema: this.data.dynamicschema },\n this.contributions.contexts,\n this.modelOptions,\n );\n }\n\n /**\n */\n hasGrouping(): boolean {\n return this.grouping.hasGroups();\n }\n\n /**\n * Check if list has results\n */\n hasResults(): boolean {\n return this.listItemCollection.hasItems;\n }\n\n /**\n */\n get shouldHide(): boolean {\n return (\n this.layouthint.has(HIDE_WHEN_EMPTY) &&\n !this.hasResults() &&\n this.actionCollection.isEmpty &&\n !this.filterCollection.hasActiveFilters()\n );\n }\n\n /**\n * Get list item by ID\n */\n getListItemById(id: string | number): ListItemModel | null {\n const decodedId = decodeURIComponent(id.toString());\n return this.listItemCollection.find(\n (result) => result.id.toString() === decodedId,\n );\n }\n\n /**\n * Get list item by Href\n */\n getListItemByHref(href: ListHref): ListItemModel | null {\n return this.listItemCollection.find((result) =>\n result.selfhref.equals(href),\n );\n }\n\n /**\n * Getting paging information\n */\n get paging(): PagingModel {\n if (!this._paging) {\n this._paging = this.setPaging();\n }\n return this._paging;\n }\n\n /**\n */\n setPaging(): PagingModel {\n return new PagingModel(this.data.paging, this.contributions.paging);\n }\n\n /**\n * Getting sorting information\n */\n get sorting(): SortingModel {\n if (!this._sorting) {\n this._sorting = this.setSorting();\n }\n\n return this._sorting;\n }\n\n /**\n */\n setSorting(): SortingModel {\n return new SortingModel(\n this.contributions,\n this.getSortingLabels(),\n this.grouping,\n this.data.sorting,\n );\n }\n\n /**\n * Getting the filters\n */\n get filterCollection(): FilterCollection {\n if (!this._filterCollection) {\n this._filterCollection = this.setFilters();\n }\n\n return this._filterCollection;\n }\n\n /**\n * Set filterCollection\n */\n set filterCollection(filterCollection: FilterCollection | Array<FilterType>) {\n if (Array.isArray(filterCollection)) {\n this._filterCollection.collection = filterCollection;\n } else {\n this._filterCollection = filterCollection;\n }\n }\n\n /**\n */\n setFilters(): FilterCollection {\n return new FilterCollection(\n this.data.filter,\n {\n listkey: this.key,\n filter: this.contributions.filter,\n contexts: this.contributions.contexts,\n dynamicschema: this.data.dynamicschema,\n },\n this.modelOptions,\n );\n }\n\n /**\n * Indicates if list results are filtered\n */\n isFiltered(): boolean {\n return this.filterCollection.hasActiveFilters();\n }\n\n /**\n * Getting actions\n */\n get actionCollection(): ActionCollection {\n if (!this._actionCollection) {\n this._actionCollection = this.setActionCollection();\n }\n return this._actionCollection;\n }\n\n /**\n */\n setActionCollection(): ActionCollection {\n return new ActionCollection(\n this.data.actions,\n this.contributions.actions,\n this.modelOptions,\n );\n }\n\n /**\n * Contains this model list data\n */\n hasList(): boolean {\n return this.key != null;\n }\n\n /**\n * Sets self href from links collection\n */\n getSelfHref(): ListHref {\n const selfLink = this.links ? this.links.getLinkByKey(\"self\") : null;\n\n if (selfLink !== null) {\n return new ListHref(selfLink.href, this);\n }\n\n return new ListHref();\n }\n\n /**\n * Getting the self link of this list\n */\n get selfhref(): ListHref {\n return this.getSelfHref();\n }\n\n /**\n * Getting the headers of this list\n */\n get headers(): Array<ListHeaderModel> {\n if (!this._headers) {\n this._headers = this.setHeaders();\n }\n\n return this._headers;\n }\n\n /**\n * Set initial headers of list\n */\n setHeaders(): Array<ListHeaderModel> {\n const tempHeaders = [];\n\n if (this.contributions.results) {\n const { results } = this.contributions;\n\n Object.keys(results).forEach((key) => {\n results[key].attributes.forEach((attribute) => {\n const listHeader = new ListHeaderModel(attribute, this.sorting);\n\n const exists = tempHeaders.some((tempHeader) =>\n tempHeader.equals(listHeader),\n );\n\n if (!exists && !listHeader.layouthint.has(CASEVIEW_LINK)) {\n tempHeaders.push(listHeader);\n }\n });\n });\n }\n\n return tempHeaders;\n }\n\n /**\n */\n getSortingLabels(): { [string]: string } {\n const sortingLabels: { [string]: string } = {};\n\n if (this.contributions.results) {\n const { results } = this.contributions;\n Object.keys(results).forEach((key) => {\n results[key].attributes.forEach((attribute) => {\n const attributeKey = Object.keys(attribute)[0];\n sortingLabels[attributeKey] = attribute[attributeKey].label;\n });\n });\n }\n\n return sortingLabels;\n }\n\n /**\n * Retrieve all actions by type\n */\n getActionsByType(actionType: string): ActionCollection {\n return this.actionCollection.getActionsByType(actionType);\n }\n\n /**\n * Retrieves the label of the first additional detail link by resource type\n */\n getAdditionalDetailLabel(resourceType: string): string | null {\n const resultTypes = Object.keys(this.contributions.results);\n\n for (const resultType of resultTypes) {\n const link = this.contributions.results[resultType]._links?.panel?.find(\n (panelLink) => panelLink.resourcetype === resourceType,\n );\n if (link) {\n return link.label;\n }\n }\n\n return null;\n }\n\n /**\n */\n get formdata(): string {\n return JSON.stringify(this.filterCollection.formdata);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ListModel.js","names":["_ModularUIResponse","_interopRequireDefault","require","_ListItemCollection","_ListDetailModel","_ActionCollection","_FilterCollection","_GroupingModel","_ListHeaderModel","_ListHref","_ListItemModel","_PagingModel","_ResourceModel","_SortingModel","_constants","_LayoutHints","ListModel","ResourceModel","constructor","args","_defineProperty2","default","type","modelName","isApplicableModel","data","_context","resourceType","contributions","resourcetype","_endsWith","call","_includes","getInitialChildModelLinks","layouthint","has","SHOW_ONE_RESULT_AS_DETAIL","listItemCollection","length","_context2","_map","listItem","listDetailLink","selflink","targetModel","ListDetailModel","setChildModels","models","detail","_find","childModel","requestMethod","mustPost","filterCollection","some","filter","parameterType","PARAMETER_TYPES","BODY","hasValue","HTTP_METHODS","POST","GET","label","introtext","content","text","message","Array","isArray","texts","_listItemCollection","ListItemCollection","createFromList","_detail","_context3","listitemHref","selfhref","listitem","equals","grouping","_grouping","setGrouping","GroupingModel","dynamicschema","contexts","modelOptions","hasGrouping","hasGroups","hasResults","hasItems","shouldHide","HIDE_WHEN_EMPTY","actionCollection","isEmpty","hasActiveFilters","getListItemById","id","_context4","decodedId","decodeURIComponent","toString","result","getListItemByHref","href","_context5","paging","_paging","setPaging","PagingModel","sorting","_sorting","setSorting","SortingModel","getSortingLabels","_filterCollection","setFilters","collection","FilterCollection","_filter","listkey","key","isFiltered","_actionCollection","setActionCollection","ActionCollection","actions","hasList","getSelfHref","selfLink","links","getLinkByKey","ListHref","headers","_headers","setHeaders","tempHeaders","results","_keys","forEach","attributes","attribute","listHeader","ListHeaderModel","exists","tempHeader","CASEVIEW_LINK","push","sortingLabels","attributeKey","getActionsByType","actionType","getAdditionalDetailLabel","resultTypes","resultType","_context6","link","_links","panel","Function","bind","panelLink","formdata","_stringify","exports"],"sources":["../../../src/models/list/ListModel.js"],"sourcesContent":["// @flow\nimport ModularUIResponse from \"../../modularui/ModularUIResponse\";\n\nimport ListItemCollection from \"../list/ListItemCollection\";\nimport ListDetailModel from \"../list/ListDetailModel\";\nimport ActionCollection from \"../actions/ActionCollection\";\nimport FilterCollection from \"../filters/FilterCollection\";\nimport GroupingModel from \"../grouping/GroupingModel\";\nimport ListHeaderModel from \"../list/ListHeaderModel\";\nimport ListHref from \"../href/ListHref\";\nimport ListItemModel from \"../list/ListItemModel\";\nimport PagingModel from \"../paging/PagingModel\";\nimport ResourceModel from \"../base/ResourceModel\";\nimport SortingModel from \"../sorting/SortingModel\";\nimport { HTTP_METHODS, PARAMETER_TYPES } from \"../../constants\";\n\nimport {\n CASEVIEW_LINK,\n HIDE_WHEN_EMPTY,\n SHOW_ONE_RESULT_AS_DETAIL,\n} from \"../../constants/LayoutHints\";\n\nimport type { ModularUIModel, IFilter } from \"../types\";\nimport type LinkModel from \"../links/LinkModel\";\n\n/**\n * Defines a list object\n */\nexport default class ListModel extends ResourceModel {\n _detail: ?ListDetailModel = null;\n _headers: Array<ListHeaderModel>;\n _paging: PagingModel;\n _filterCollection: FilterCollection;\n _sorting: SortingModel;\n _actionCollection: ActionCollection;\n _listItemCollection: ListItemCollection;\n _grouping: GroupingModel;\n\n /**\n */\n get type(): string {\n return \"List\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"ListModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n const resourceType = data.contributions?.resourcetype ?? \"\";\n return (\n resourceType.endsWith(\"List\") ||\n resourceType.endsWith(\"ListPanel\") ||\n resourceType.endsWith(\"RelatedDataStorePanel\") ||\n resourceType.endsWith(\"RelatedDatastorePanel\") ||\n [\n \"list-related-cases\",\n \"RecordPanel\",\n \"EventHistoryPanel\",\n \"NotePanel\",\n \"AppointmentPanel\",\n \"DocumentPanel\",\n \"AssignmentPanel\",\n ].includes(resourceType)\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n if (\n this.layouthint.has(SHOW_ONE_RESULT_AS_DETAIL) &&\n this.listItemCollection.length === 1\n ) {\n return this.listItemCollection.map((listItem) => {\n const listDetailLink = listItem.selflink;\n listDetailLink.targetModel = ListDetailModel;\n return listDetailLink;\n });\n }\n\n return [];\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n this.detail = models.find((childModel) => childModel.type === \"ListDetail\");\n }\n\n /**\n */\n get requestMethod(): $Keys<typeof HTTP_METHODS> {\n const mustPost = this.filterCollection.some(\n (filter) =>\n filter.parameterType === PARAMETER_TYPES.BODY && filter.hasValue(),\n );\n return mustPost ? HTTP_METHODS.POST : HTTP_METHODS.GET;\n }\n\n /**\n * Getting the label of the list\n */\n get label(): string {\n return this.contributions.label;\n }\n\n /**\n * Getting the introduction text\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 results\n */\n get listItemCollection(): ListItemCollection {\n if (!this._listItemCollection) {\n this._listItemCollection = ListItemCollection.createFromList(this);\n }\n\n return this._listItemCollection;\n }\n\n /**\n * Set results\n */\n set listItemCollection(listItemCollection: ListItemCollection) {\n this._listItemCollection = listItemCollection;\n }\n\n /**\n * Getting the detail\n */\n get detail(): ?ListDetailModel {\n return this._detail;\n }\n\n /**\n * Add detail model to the {ListModel}\n */\n set detail(detail: ?ModularUIModel) {\n if (detail instanceof ListDetailModel) {\n const listitemHref = detail.selfhref;\n\n const listitem = this.listItemCollection.find((listItem) =>\n listItem.selfhref.equals(listitemHref),\n );\n\n if (listitem) {\n detail.listitem = listitem;\n }\n\n this._detail = detail;\n }\n }\n\n /**\n * Retrieve grouping information\n */\n get grouping(): GroupingModel {\n if (!this._grouping) {\n this._grouping = this.setGrouping();\n }\n\n return this._grouping;\n }\n\n /**\n */\n setGrouping(): GroupingModel {\n return new GroupingModel(\n { ...this.data.grouping, dynamicschema: this.data.dynamicschema },\n this.contributions.contexts,\n this.modelOptions,\n );\n }\n\n /**\n */\n hasGrouping(): boolean {\n return this.grouping.hasGroups();\n }\n\n /**\n * Check if list has results\n */\n hasResults(): boolean {\n return this.listItemCollection.hasItems;\n }\n\n /**\n */\n get shouldHide(): boolean {\n return (\n this.layouthint.has(HIDE_WHEN_EMPTY) &&\n !this.hasResults() &&\n this.actionCollection.isEmpty &&\n !this.filterCollection.hasActiveFilters()\n );\n }\n\n /**\n * Get list item by ID\n */\n getListItemById(id: string | number): ListItemModel | null {\n const decodedId = decodeURIComponent(id.toString());\n return this.listItemCollection.find(\n (result) => result.id.toString() === decodedId,\n );\n }\n\n /**\n * Get list item by Href\n */\n getListItemByHref(href: ListHref): ListItemModel | null {\n return this.listItemCollection.find((result) =>\n result.selfhref.equals(href),\n );\n }\n\n /**\n * Getting paging information\n */\n get paging(): PagingModel {\n if (!this._paging) {\n this._paging = this.setPaging();\n }\n return this._paging;\n }\n\n /**\n */\n setPaging(): PagingModel {\n return new PagingModel(this.data.paging, this.contributions.paging);\n }\n\n /**\n * Getting sorting information\n */\n get sorting(): SortingModel {\n if (!this._sorting) {\n this._sorting = this.setSorting();\n }\n\n return this._sorting;\n }\n\n /**\n */\n setSorting(): SortingModel {\n return new SortingModel(\n this.contributions,\n this.getSortingLabels(),\n this.grouping,\n this.data.sorting,\n );\n }\n\n /**\n * Getting the filters\n */\n get filterCollection(): FilterCollection {\n if (!this._filterCollection) {\n this._filterCollection = this.setFilters();\n }\n\n return this._filterCollection;\n }\n\n /**\n * Set filterCollection\n */\n set filterCollection(filterCollection: FilterCollection | Array<IFilter>) {\n if (Array.isArray(filterCollection)) {\n this._filterCollection.collection = filterCollection;\n } else {\n this._filterCollection = filterCollection;\n }\n }\n\n /**\n */\n setFilters(): FilterCollection {\n return new FilterCollection(\n this.data.filter,\n {\n listkey: this.key,\n filter: this.contributions.filter,\n contexts: this.contributions.contexts,\n dynamicschema: this.data.dynamicschema,\n },\n this.modelOptions,\n );\n }\n\n /**\n * Indicates if list results are filtered\n */\n isFiltered(): boolean {\n return this.filterCollection.hasActiveFilters();\n }\n\n /**\n * Getting actions\n */\n get actionCollection(): ActionCollection {\n if (!this._actionCollection) {\n this._actionCollection = this.setActionCollection();\n }\n return this._actionCollection;\n }\n\n /**\n */\n setActionCollection(): ActionCollection {\n return new ActionCollection(\n this.data.actions,\n this.contributions.actions,\n this.modelOptions,\n );\n }\n\n /**\n * Contains this model list data\n */\n hasList(): boolean {\n return this.key != null;\n }\n\n /**\n * Sets self href from links collection\n */\n getSelfHref(): ListHref {\n const selfLink = this.links ? this.links.getLinkByKey(\"self\") : null;\n\n if (selfLink !== null) {\n return new ListHref(selfLink.href, this);\n }\n\n return new ListHref();\n }\n\n /**\n * Getting the self link of this list\n */\n get selfhref(): ListHref {\n return this.getSelfHref();\n }\n\n /**\n * Getting the headers of this list\n */\n get headers(): Array<ListHeaderModel> {\n if (!this._headers) {\n this._headers = this.setHeaders();\n }\n\n return this._headers;\n }\n\n /**\n * Set initial headers of list\n */\n setHeaders(): Array<ListHeaderModel> {\n const tempHeaders = [];\n\n if (this.contributions.results) {\n const { results } = this.contributions;\n\n Object.keys(results).forEach((key) => {\n results[key].attributes.forEach((attribute) => {\n const listHeader = new ListHeaderModel(attribute, this.sorting);\n\n const exists = tempHeaders.some((tempHeader) =>\n tempHeader.equals(listHeader),\n );\n\n if (!exists && !listHeader.layouthint.has(CASEVIEW_LINK)) {\n tempHeaders.push(listHeader);\n }\n });\n });\n }\n\n return tempHeaders;\n }\n\n /**\n */\n getSortingLabels(): { [string]: string } {\n const sortingLabels: { [string]: string } = {};\n\n if (this.contributions.results) {\n const { results } = this.contributions;\n Object.keys(results).forEach((key) => {\n results[key].attributes.forEach((attribute) => {\n const attributeKey = Object.keys(attribute)[0];\n sortingLabels[attributeKey] = attribute[attributeKey].label;\n });\n });\n }\n\n return sortingLabels;\n }\n\n /**\n * Retrieve all actions by type\n */\n getActionsByType(actionType: string): ActionCollection {\n return this.actionCollection.getActionsByType(actionType);\n }\n\n /**\n * Retrieves the label of the first additional detail link by resource type\n */\n getAdditionalDetailLabel(resourceType: string): string | null {\n const resultTypes = Object.keys(this.contributions.results);\n\n for (const resultType of resultTypes) {\n const link = this.contributions.results[resultType]._links?.panel?.find(\n (panelLink) => panelLink.resourcetype === resourceType,\n );\n if (link) {\n return link.label;\n }\n }\n\n return null;\n }\n\n /**\n */\n get formdata(): string {\n return JSON.stringify(this.filterCollection.formdata);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"CaseSearchModel.js","names":["_ListModel","_interopRequireDefault","require","CaseSearchModel","ListModel","type","modelName","isApplicableModel","data","contributions","resourcetype","getQuickSearchFilters","_context","filterCollection","_filter","default","call","filter","isQuickSearch","hasQuickSearchFilters","length","exports"],"sources":["../../../src/models/search/CaseSearchModel.js"],"sourcesContent":["// @flow\nimport ListModel from \"../list/ListModel\";\n\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type { FilterType } from \"../types\";\n\n/**\n * Case search model\n */\nexport default class CaseSearchModel extends ListModel {\n /**\n */\n get type(): string {\n return \"CaseSearch\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"CaseSearchModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"CaseSearch\"\n );\n }\n\n /**\n * Retrieve quick search filters\n */\n getQuickSearchFilters(): Array<FilterType> {\n return this.filterCollection\n ? this.filterCollection.filter((filter) => filter.isQuickSearch())\n : [];\n }\n\n /**\n */\n hasQuickSearchFilters(): boolean {\n return this.getQuickSearchFilters().length > 0;\n }\n}\n"],"mappings":";;;;;;;;AACA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA;AACA;AACA;AACe,MAAMC,eAAe,SAASC,kBAAS,CAAC;EACrD;AACF;EACE,IAAIC,IAAIA,CAAA,EAAW;IACjB,OAAO,YAAY;EACrB;;EAEA;AACF;EACE,WAAWC,SAASA,CAAA,EAAW;IAC7B,OAAO,iBAAiB;EAC1B;;EAEA;AACF;EACE,OAAOC,iBAAiBA,CAACC,IAAuB,EAAW;IACzD,OACEA,IAAI,CAACC,aAAa,CAACC,YAAY,IAC/BF,IAAI,CAACC,aAAa,CAACC,YAAY,KAAK,YAAY;EAEpD;;EAEA;AACF;AACA;EACEC,qBAAqBA,CAAA,EAAsB;IAAA,IAAAC,QAAA;IACzC,OAAO,IAAI,CAACC,gBAAgB,GACxB,IAAAC,OAAA,CAAAC,OAAA,EAAAH,QAAA,OAAI,CAACC,gBAAgB,EAAAG,IAAA,CAAAJ,QAAA,EAASK,MAAM,IAAKA,MAAM,CAACC,aAAa,CAAC,CAAC,CAAC,GAChE,EAAE;EACR;;EAEA;AACF;EACEC,qBAAqBA,CAAA,EAAY;IAC/B,OAAO,IAAI,CAACR,qBAAqB,CAAC,CAAC,CAACS,MAAM,GAAG,CAAC;EAChD;AACF;AAACC,OAAA,CAAAN,OAAA,GAAAZ,eAAA","ignoreList":[]}
1
+ {"version":3,"file":"CaseSearchModel.js","names":["_ListModel","_interopRequireDefault","require","CaseSearchModel","ListModel","type","modelName","isApplicableModel","data","contributions","resourcetype","getQuickSearchFilters","_context","filterCollection","_filter","default","call","filter","isQuickSearch","hasQuickSearchFilters","length","exports"],"sources":["../../../src/models/search/CaseSearchModel.js"],"sourcesContent":["// @flow\nimport ListModel from \"../list/ListModel\";\n\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type { IFilter } from \"../types\";\n\n/**\n * Case search model\n */\nexport default class CaseSearchModel extends ListModel {\n /**\n */\n get type(): string {\n return \"CaseSearch\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"CaseSearchModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"CaseSearch\"\n );\n }\n\n /**\n * Retrieve quick search filters\n */\n getQuickSearchFilters(): Array<IFilter> {\n return this.filterCollection\n ? this.filterCollection.filter((filter) => filter.isQuickSearch())\n : [];\n }\n\n /**\n */\n hasQuickSearchFilters(): boolean {\n return this.getQuickSearchFilters().length > 0;\n }\n}\n"],"mappings":";;;;;;;;AACA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA;AACA;AACA;AACe,MAAMC,eAAe,SAASC,kBAAS,CAAC;EACrD;AACF;EACE,IAAIC,IAAIA,CAAA,EAAW;IACjB,OAAO,YAAY;EACrB;;EAEA;AACF;EACE,WAAWC,SAASA,CAAA,EAAW;IAC7B,OAAO,iBAAiB;EAC1B;;EAEA;AACF;EACE,OAAOC,iBAAiBA,CAACC,IAAuB,EAAW;IACzD,OACEA,IAAI,CAACC,aAAa,CAACC,YAAY,IAC/BF,IAAI,CAACC,aAAa,CAACC,YAAY,KAAK,YAAY;EAEpD;;EAEA;AACF;AACA;EACEC,qBAAqBA,CAAA,EAAmB;IAAA,IAAAC,QAAA;IACtC,OAAO,IAAI,CAACC,gBAAgB,GACxB,IAAAC,OAAA,CAAAC,OAAA,EAAAH,QAAA,OAAI,CAACC,gBAAgB,EAAAG,IAAA,CAAAJ,QAAA,EAASK,MAAM,IAAKA,MAAM,CAACC,aAAa,CAAC,CAAC,CAAC,GAChE,EAAE;EACR;;EAEA;AACF;EACEC,qBAAqBA,CAAA,EAAY;IAC/B,OAAO,IAAI,CAACR,qBAAqB,CAAC,CAAC,CAACS,MAAM,GAAG,CAAC;EAChD;AACF;AAACC,OAAA,CAAAN,OAAA,GAAAZ,eAAA","ignoreList":[]}
@@ -1,2 +1,4 @@
1
1
  "use strict";
2
+
3
+ var _constants = require("../constants");
2
4
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../src/models/types.js"],"sourcesContent":["// @flow\nimport type ApplicationModel from \"./application/ApplicationModel\";\nimport type BooleanAttributeModel from \"./attributes/BooleanAttributeModel\";\nimport type CaptchaAttributeModel from \"./attributes/CaptchaAttributeModel\";\nimport type ChoiceAttributeModel from \"./attributes/ChoiceAttributeModel\";\nimport type CompositeAttributeModel from \"./attributes/CompositeAttributeModel\";\nimport type DatetimeAttributeModel from \"./attributes/DatetimeAttributeModel\";\nimport type HelptextAttributeModel from \"./attributes/HelptextAttributeModel\";\nimport type LabelAttributeModel from \"./attributes/LabelAttributeModel\";\nimport type MemoAttributeModel from \"./attributes/MemoAttributeModel\";\nimport type MoneyAttributeModel from \"./attributes/MoneyAttributeModel\";\nimport type NumberAttributeModel from \"./attributes/NumberAttributeModel\";\nimport type PasswordAttributeModel from \"./attributes/PasswordAttributeModel\";\nimport type StringAttributeModel from \"./attributes/StringAttributeModel\";\nimport type UploadAttributeModel from \"./attributes/UploadAttributeModel\";\nimport type XMLAttributeModel from \"./attributes/XMLAttributeModel\";\nimport type CaseViewModel from \"./caseview/CaseViewModel\";\nimport type BusinessScenarioModel from \"./concepts/BusinessScenarioModel\";\nimport type ConceptDetailModel from \"./concepts/ConceptDetailModel\";\nimport type ConceptIndexModel from \"./concepts/ConceptIndexModel\";\nimport type ConceptTypeDetailModel from \"./concepts/ConceptTypeDetailModel\";\nimport type ContentIndexModel from \"./content/ContentIndexModel\";\nimport type ContentModel from \"./content/ContentModel\";\nimport type SectionModel from \"./content/SectionModel\";\nimport type ContentTOCModel from \"./content/ContentTOCModel\";\nimport type ContentTypeModel from \"./content/ContentTypeModel\";\nimport type DetailModel from \"./detail/DetailModel\";\nimport type AssignmentFilterModel from \"./filters/AssignmentFilterModel\";\nimport type FilterModel from \"./filters/FilterModel\";\nimport type RangeFilterModel from \"./filters/RangeFilterModel\";\nimport type ConceptIndexFilterModel from \"./filters/ConceptIndexFilterModel\";\nimport type FormModel from \"./form/FormModel\";\nimport type ListDetailModel from \"./list/ListDetailModel\";\nimport type ListModel from \"./list/ListModel\";\nimport type ModelCatalogModel from \"./modelcatalog/ModelCatalogModel\";\nimport type GroupingPanelModel from \"./panels/GroupingPanelModel\";\nimport type CaseSearchModel from \"./search/CaseSearchModel\";\nimport type TabModel from \"./tab/TabModel\";\nimport type TaskGroupModel from \"./taskgroup/TaskGroupModel\";\nimport type UserModel from \"./user/UserModel\";\nimport type UserServicesModel from \"./user/UserServicesModel\";\nimport type LinkModel from \"./links/LinkModel\";\nimport type LookupOptionsModel from \"./lookup/LookupOptionsModel\";\nimport type AttributeCollection from \"./attributes/AttributeCollection\";\nimport type AttributeModel from \"./attributes/AttributeModel\";\nimport type LayoutHintCollection from \"./layouthint/LayoutHintCollection\";\nimport type ErrorResponse from \"./error/ErrorResponse\";\n\nexport type ModularUIModel =\n | ApplicationModel\n | CaseSearchModel\n | CaseViewModel\n | ListDetailModel\n | DetailModel\n | FormModel\n | GroupingPanelModel\n | ListModel\n | TabModel\n | TaskGroupModel\n | UserModel\n | UserServicesModel\n | ModelCatalogModel\n | ConceptIndexModel\n | ConceptDetailModel\n | BusinessScenarioModel\n | ConceptTypeDetailModel\n | ContentIndexModel\n | ContentTOCModel\n | ContentModel\n | ContentTypeModel\n | LookupOptionsModel;\n\nexport type AttributeType =\n | BooleanAttributeModel\n | CaptchaAttributeModel\n | ChoiceAttributeModel\n | DatetimeAttributeModel\n | HelptextAttributeModel\n | LabelAttributeModel\n | MemoAttributeModel\n | MoneyAttributeModel\n | NumberAttributeModel\n | PasswordAttributeModel\n | CompositeAttributeModel\n | StringAttributeModel\n | UploadAttributeModel\n | XMLAttributeModel;\n\nexport type RangeChildAttributeType =\n | NumberAttributeModel\n | DatetimeAttributeModel;\n\nexport type FilterType =\n | AssignmentFilterModel\n | FilterModel\n | RangeFilterModel\n | ConceptIndexFilterModel;\n\nexport type FormErrorAnchor = {\n id: string,\n properties?: {\n [propertyName: string]: string | number,\n },\n anchor?: {\n objectid: string,\n elementid?: string,\n _links?: Object,\n index?: number,\n \"index-identifier\"?: string,\n },\n layouthint: LayoutHintCollection,\n message: string,\n param?: {\n name: string,\n },\n};\n\nexport type labelsJSON = {\n _id: string,\n label: string,\n value: string,\n};\n\nexport type propertyJSON = {\n _id: string,\n type: string,\n mandatory: string,\n label: string,\n value: string,\n};\n\nexport type textfragmentJSON = {\n label: string,\n text: string,\n type: string,\n};\n\nexport interface IConstraintModel {\n +id: string;\n +defaultMessage: string;\n +parameters: Object;\n +isMandatoryConstraint: boolean;\n validate(value: any): boolean;\n hasValidation(): boolean;\n}\n\nexport interface ILayoutHintRule {\n process(attribute: AttributeModel, attributes: AttributeCollection): void;\n}\n\nexport interface IModelWithChildModels {\n getInitialChildModelLinks(): Array<LinkModel>;\n setChildModels(\n models: Array<ModularUIModel>,\n errors: Array<ErrorResponse>,\n ): void;\n}\n\nexport type AuthenticationType = {\n name: string,\n authentication: string,\n redirectUri?: string,\n isPrimary: boolean,\n};\n\nexport type FileEntryType = {\n name: string,\n size?: number,\n progress: number,\n error?: string,\n token?: string,\n};\n\nexport type FilesType = {\n [filename: string]: FileEntryType,\n};\n\nexport type FiletypeConstraintsType = Array<{|\n extensions: Array<string>,\n mimeTypes: Array<string>,\n|}>;\n\nexport type FilesizeConstraintsType = {\n fileSize: ?number,\n maxTotalFileSize: ?number,\n isMaxTotal: boolean,\n};\n\nexport type PropertyData = { type: string, label: string, value: string };\nexport type TextFragmentData = {\n type: string,\n label: string,\n text: string | { id?: string, message: string, properties?: Object },\n};\nexport type SectionData = {\n id: string,\n type: string,\n label?: string,\n number?: string,\n body: string | { id?: string, message: string, properties?: Object },\n _links: { self: { href: string } },\n childSections?: Array<SectionData>,\n sections?: Array<SectionData>,\n subSections: Array<SectionData>,\n};\n\nexport type PropertyElement = {\n propertyElement: {\n label: string,\n layouthint: Array<string>,\n properties: Array<PropertyData>,\n },\n};\nexport type TextFragmentElement = {\n textFragmentElement: {\n label: string,\n layouthint: Array<string>,\n textfragments: Array<TextFragmentData>,\n },\n};\nexport type ContentElement = {\n contentElement: {\n label: string,\n layouthint: Array<string>,\n sections: Array<SectionData>,\n },\n};\n\nexport type PropertyElementMapped = {\n propertyElement: {\n label: string,\n layouthint: LayoutHintCollection,\n properties: Array<PropertyData>,\n },\n};\nexport type TextFragmentElementMapped = {\n textFragmentElement: {\n label: string,\n layouthint: LayoutHintCollection,\n textfragments: Array<TextFragmentData>,\n },\n};\nexport type ContentElementMapped = {\n contentElement: {\n label: string,\n layouthint: LayoutHintCollection,\n sections: Array<SectionModel>,\n },\n};\n\nexport type ContentAll = Array<\n PropertyElementMapped | TextFragmentElementMapped | ContentElementMapped,\n>;\n\nexport type ContentData = {\n header: {\n label?: string,\n description?: { id?: string, message: string, properties?: Object },\n },\n label?: string,\n elements: Array<PropertyElement | TextFragmentElement | ContentElement>,\n};\n\nexport type SectionFragment = {\n text: string,\n startOffset: number,\n endOffset: number,\n};\n\nexport type ModelOptions = {\n origin?: ?string,\n contextPath?: ?string,\n};\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":["_constants","require"],"sources":["../../src/models/types.js"],"sourcesContent":["// @flow\nimport type ApplicationModel from \"./application/ApplicationModel\";\nimport type BooleanAttributeModel from \"./attributes/BooleanAttributeModel\";\nimport type CaptchaAttributeModel from \"./attributes/CaptchaAttributeModel\";\nimport type ChoiceAttributeModel from \"./attributes/ChoiceAttributeModel\";\nimport type CompositeAttributeModel from \"./attributes/CompositeAttributeModel\";\nimport type DatetimeAttributeModel from \"./attributes/DatetimeAttributeModel\";\nimport type HelptextAttributeModel from \"./attributes/HelptextAttributeModel\";\nimport type LabelAttributeModel from \"./attributes/LabelAttributeModel\";\nimport type MemoAttributeModel from \"./attributes/MemoAttributeModel\";\nimport type MoneyAttributeModel from \"./attributes/MoneyAttributeModel\";\nimport type NumberAttributeModel from \"./attributes/NumberAttributeModel\";\nimport type PasswordAttributeModel from \"./attributes/PasswordAttributeModel\";\nimport type StringAttributeModel from \"./attributes/StringAttributeModel\";\nimport type UploadAttributeModel from \"./attributes/UploadAttributeModel\";\nimport type XMLAttributeModel from \"./attributes/XMLAttributeModel\";\nimport type CaseViewModel from \"./caseview/CaseViewModel\";\nimport type BusinessScenarioModel from \"./concepts/BusinessScenarioModel\";\nimport type ConceptDetailModel from \"./concepts/ConceptDetailModel\";\nimport type ConceptIndexModel from \"./concepts/ConceptIndexModel\";\nimport type ConceptTypeDetailModel from \"./concepts/ConceptTypeDetailModel\";\nimport type ContentIndexModel from \"./content/ContentIndexModel\";\nimport type ContentModel from \"./content/ContentModel\";\nimport type SectionModel from \"./content/SectionModel\";\nimport type ContentTOCModel from \"./content/ContentTOCModel\";\nimport type ContentTypeModel from \"./content/ContentTypeModel\";\nimport type DetailModel from \"./detail/DetailModel\";\nimport type FormModel from \"./form/FormModel\";\nimport type ListDetailModel from \"./list/ListDetailModel\";\nimport type ListModel from \"./list/ListModel\";\nimport type ModelCatalogModel from \"./modelcatalog/ModelCatalogModel\";\nimport type GroupingPanelModel from \"./panels/GroupingPanelModel\";\nimport type CaseSearchModel from \"./search/CaseSearchModel\";\nimport type TabModel from \"./tab/TabModel\";\nimport type TaskGroupModel from \"./taskgroup/TaskGroupModel\";\nimport type UserModel from \"./user/UserModel\";\nimport type UserServicesModel from \"./user/UserServicesModel\";\nimport type LinkModel from \"./links/LinkModel\";\nimport type LookupOptionsModel from \"./lookup/LookupOptionsModel\";\nimport type AttributeCollection from \"./attributes/AttributeCollection\";\nimport type AttributeModel from \"./attributes/AttributeModel\";\nimport type LayoutHintCollection from \"./layouthint/LayoutHintCollection\";\nimport type ErrorResponse from \"./error/ErrorResponse\";\nimport { PARAMETER_TYPES } from \"../constants\";\n\nexport type ModularUIModel =\n | ApplicationModel\n | CaseSearchModel\n | CaseViewModel\n | ListDetailModel\n | DetailModel\n | FormModel\n | GroupingPanelModel\n | ListModel\n | TabModel\n | TaskGroupModel\n | UserModel\n | UserServicesModel\n | ModelCatalogModel\n | ConceptIndexModel\n | ConceptDetailModel\n | BusinessScenarioModel\n | ConceptTypeDetailModel\n | ContentIndexModel\n | ContentTOCModel\n | ContentModel\n | ContentTypeModel\n | LookupOptionsModel;\n\nexport type AttributeType =\n | BooleanAttributeModel\n | CaptchaAttributeModel\n | ChoiceAttributeModel\n | DatetimeAttributeModel\n | HelptextAttributeModel\n | LabelAttributeModel\n | MemoAttributeModel\n | MoneyAttributeModel\n | NumberAttributeModel\n | PasswordAttributeModel\n | CompositeAttributeModel\n | StringAttributeModel\n | UploadAttributeModel\n | XMLAttributeModel;\n\nexport type RangeChildAttributeType =\n | NumberAttributeModel\n | DatetimeAttributeModel;\n\nexport type FormErrorAnchor = {\n id: string,\n properties?: {\n [propertyName: string]: string | number,\n },\n anchor?: {\n objectid: string,\n elementid?: string,\n _links?: Object,\n index?: number,\n \"index-identifier\"?: string,\n },\n layouthint: LayoutHintCollection,\n message: string,\n param?: {\n name: string,\n },\n};\n\nexport type labelsJSON = {\n _id: string,\n label: string,\n value: string,\n};\n\nexport type propertyJSON = {\n _id: string,\n type: string,\n mandatory: string,\n label: string,\n value: string,\n};\n\nexport type textfragmentJSON = {\n label: string,\n text: string,\n type: string,\n};\n\nexport interface IFilter {\n +type: string;\n +parameterType: $Values<typeof PARAMETER_TYPES>;\n +isMultiple: boolean;\n context: Object;\n +contextid: string;\n +contextLabel: string;\n listkey: string;\n +label: string;\n +key: string;\n +name: string;\n +param: string;\n +params: Array<{ name: string, value: ?string }>;\n isQuickSearch(): boolean;\n +assistantMessage: string | null;\n +value: string | { [string]: string } | null;\n +inputvalue: string | { [string]: string };\n hasValue(): boolean;\n reset(): IFilter;\n update(attribute: AttributeType, value: string): void;\n isActive(): boolean;\n +isValid: boolean;\n +readonlyvalue: string | { [string]: string };\n +formdata: { [string]: any } | null;\n clone(): IFilter;\n}\n\nexport interface IConstraintModel {\n +id: string;\n +defaultMessage: string;\n +parameters: Object;\n +isMandatoryConstraint: boolean;\n validate(value: any): boolean;\n hasValidation(): boolean;\n}\n\nexport interface ILayoutHintRule {\n process(attribute: AttributeModel, attributes: AttributeCollection): void;\n}\n\nexport interface IModelWithChildModels {\n getInitialChildModelLinks(): Array<LinkModel>;\n setChildModels(\n models: Array<ModularUIModel>,\n errors: Array<ErrorResponse>,\n ): void;\n}\n\nexport type AuthenticationType = {\n name: string,\n authentication: string,\n redirectUri?: string,\n isPrimary: boolean,\n};\n\nexport type FileEntryType = {\n name: string,\n size?: number,\n progress: number,\n error?: string,\n token?: string,\n};\n\nexport type FilesType = {\n [filename: string]: FileEntryType,\n};\n\nexport type FiletypeConstraintsType = Array<{|\n extensions: Array<string>,\n mimeTypes: Array<string>,\n|}>;\n\nexport type FilesizeConstraintsType = {\n fileSize: ?number,\n maxTotalFileSize: ?number,\n isMaxTotal: boolean,\n};\n\nexport type PropertyData = { type: string, label: string, value: string };\nexport type TextFragmentData = {\n type: string,\n label: string,\n text: string | { id?: string, message: string, properties?: Object },\n};\nexport type SectionData = {\n id: string,\n type: string,\n label?: string,\n number?: string,\n body: string | { id?: string, message: string, properties?: Object },\n _links: { self: { href: string } },\n childSections?: Array<SectionData>,\n sections?: Array<SectionData>,\n subSections: Array<SectionData>,\n};\n\nexport type PropertyElement = {\n propertyElement: {\n label: string,\n layouthint: Array<string>,\n properties: Array<PropertyData>,\n },\n};\nexport type TextFragmentElement = {\n textFragmentElement: {\n label: string,\n layouthint: Array<string>,\n textfragments: Array<TextFragmentData>,\n },\n};\nexport type ContentElement = {\n contentElement: {\n label: string,\n layouthint: Array<string>,\n sections: Array<SectionData>,\n },\n};\n\nexport type PropertyElementMapped = {\n propertyElement: {\n label: string,\n layouthint: LayoutHintCollection,\n properties: Array<PropertyData>,\n },\n};\nexport type TextFragmentElementMapped = {\n textFragmentElement: {\n label: string,\n layouthint: LayoutHintCollection,\n textfragments: Array<TextFragmentData>,\n },\n};\nexport type ContentElementMapped = {\n contentElement: {\n label: string,\n layouthint: LayoutHintCollection,\n sections: Array<SectionModel>,\n },\n};\n\nexport type ContentAll = Array<\n PropertyElementMapped | TextFragmentElementMapped | ContentElementMapped,\n>;\n\nexport type ContentData = {\n header: {\n label?: string,\n description?: { id?: string, message: string, properties?: Object },\n },\n label?: string,\n elements: Array<PropertyElement | TextFragmentElement | ContentElement>,\n};\n\nexport type SectionFragment = {\n text: string,\n startOffset: number,\n endOffset: number,\n};\n\nexport type ModelOptions = {\n origin?: ?string,\n contextPath?: ?string,\n};\n"],"mappings":";;AA2CA,IAAAA,UAAA,GAAAC,OAAA","ignoreList":[]}
@@ -22,8 +22,8 @@ var _requestInformation = require("./requestInformation");
22
22
  var _I18nActions = require("../redux/_i18n/I18nActions");
23
23
  var _Preferences = require("../redux/actions/Preferences");
24
24
  var _Settings = require("../constants/Settings");
25
- var _exceptions = require("../exceptions");
26
- var _redux = require("../redux");
25
+ var _IllegalArgumentException = _interopRequireDefault(require("../exceptions/IllegalArgumentException"));
26
+ var _ModularUIActions = require("../redux/_modularui/ModularUIActions");
27
27
  var _i18n = require("../redux/selectors/i18n");
28
28
  var _ModularUIRequest = _interopRequireDefault(require("../modularui/ModularUIRequest"));
29
29
  function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && _Object$getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
@@ -45,10 +45,10 @@ const createReduxStore = (requestHref, customReducers, initialState) => {
45
45
  exports.createReduxStore = createReduxStore;
46
46
  const setI18n = (store, locales = [], request) => {
47
47
  if (!Array.isArray(locales)) {
48
- throw new _exceptions.IllegalArgumentException("locales must be an array of objects");
48
+ throw new _IllegalArgumentException.default("locales must be an array of objects");
49
49
  }
50
50
  if (!request) {
51
- throw new _exceptions.IllegalArgumentException("missing request argument");
51
+ throw new _IllegalArgumentException.default("missing request argument");
52
52
  }
53
53
  const mergedLocales = (0, _map.default)(_Locales.availableLocales).call(_Locales.availableLocales, locale => {
54
54
  const code = locale.code;
@@ -140,7 +140,7 @@ const setApplication = store => {
140
140
  locale: locale
141
141
  }).fetchSync();
142
142
  application.connectKey = `application(/)(${locale})`;
143
- store.dispatch((0, _redux.initModels)([{
143
+ store.dispatch((0, _ModularUIActions.initModels)([{
144
144
  key: `application(/)(${locale})`,
145
145
  model: application
146
146
  }]));