@pega/react-sdk-components 0.23.34 → 0.23.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/field/Checkbox/Checkbox.d.ts +7 -0
- package/lib/components/field/Checkbox/Checkbox.d.ts.map +1 -1
- package/lib/components/field/Checkbox/Checkbox.js +51 -9
- package/lib/components/field/Checkbox/Checkbox.js.map +1 -1
- package/lib/components/field/Currency/Currency.d.ts.map +1 -1
- package/lib/components/field/Currency/Currency.js.map +1 -1
- package/lib/components/field/Decimal/Decimal.d.ts +1 -0
- package/lib/components/field/Decimal/Decimal.d.ts.map +1 -1
- package/lib/components/field/Decimal/Decimal.js +10 -3
- package/lib/components/field/Decimal/Decimal.js.map +1 -1
- package/lib/components/field/MultiSelect/Multiselect.d.ts +3 -0
- package/lib/components/field/MultiSelect/Multiselect.d.ts.map +1 -0
- package/lib/components/field/MultiSelect/Multiselect.js +175 -0
- package/lib/components/field/MultiSelect/Multiselect.js.map +1 -0
- package/lib/components/field/MultiSelect/index.d.ts +2 -0
- package/lib/components/field/MultiSelect/index.d.ts.map +1 -0
- package/lib/components/field/MultiSelect/index.js +2 -0
- package/lib/components/field/MultiSelect/index.js.map +1 -0
- package/lib/components/field/MultiSelect/utils.d.ts +10 -0
- package/lib/components/field/MultiSelect/utils.d.ts.map +1 -0
- package/lib/components/field/MultiSelect/utils.js +197 -0
- package/lib/components/field/MultiSelect/utils.js.map +1 -0
- package/lib/components/field/Percentage/Percentage.d.ts.map +1 -1
- package/lib/components/field/Percentage/Percentage.js.map +1 -1
- package/lib/components/helpers/instructions-utils.d.ts +5 -0
- package/lib/components/helpers/instructions-utils.d.ts.map +1 -0
- package/lib/components/helpers/instructions-utils.js +36 -0
- package/lib/components/helpers/instructions-utils.js.map +1 -0
- package/lib/components/infra/Reference/Reference.js +1 -1
- package/lib/components/infra/Reference/Reference.js.map +1 -1
- package/lib/components/template/ListView/ListView.d.ts.map +1 -1
- package/lib/components/template/ListView/ListView.js +6 -5
- package/lib/components/template/ListView/ListView.js.map +1 -1
- package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.js +4 -4
- package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.js.map +1 -1
- package/lib/doc/KeyReleaseUpdates.md +1 -2
- package/lib/sdk-pega-component-map.d.ts +2 -0
- package/lib/sdk-pega-component-map.js +2 -0
- package/lib/sdk-pega-component-map.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
import { useRef } from 'react';
|
|
2
|
+
import equal from 'fast-deep-equal';
|
|
3
|
+
import cloneDeep from 'lodash/cloneDeep';
|
|
4
|
+
import { updateNewInstuctions, insertInstruction, deleteInstruction } from '../../helpers/instructions-utils';
|
|
5
|
+
export const setVisibilityForList = (c11nEnv, visibility) => {
|
|
6
|
+
const { selectionMode, selectionList, renderMode, referenceList } = c11nEnv.getComponentConfig();
|
|
7
|
+
// usecase:multiselect, fieldgroup, editable table
|
|
8
|
+
if ((selectionMode === PCore.getConstants().LIST_SELECTION_MODE.MULTI && selectionList) || (renderMode === 'Editable' && referenceList)) {
|
|
9
|
+
c11nEnv.getListActions().setVisibility(visibility);
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
const useDeepMemo = (memoFn, key) => {
|
|
13
|
+
const ref = useRef();
|
|
14
|
+
if (!ref.current || !equal(key, ref.current.key)) {
|
|
15
|
+
ref.current = { key, value: memoFn() };
|
|
16
|
+
}
|
|
17
|
+
return ref.current.value;
|
|
18
|
+
};
|
|
19
|
+
const preProcessColumns = columns => {
|
|
20
|
+
return columns?.map(col => {
|
|
21
|
+
const tempColObj = { ...col };
|
|
22
|
+
tempColObj.value = col.value && col.value.startsWith('.') ? col.value.substring(1) : col.value;
|
|
23
|
+
if (tempColObj.setProperty) {
|
|
24
|
+
tempColObj.setProperty = col.setProperty && col.setProperty.startsWith('.') ? col.setProperty.substring(1) : col.setProperty;
|
|
25
|
+
}
|
|
26
|
+
return tempColObj;
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
const getDisplayFieldsMetaData = columns => {
|
|
30
|
+
const displayColumns = columns?.filter(col => col.display === 'true');
|
|
31
|
+
const metaDataObj = {
|
|
32
|
+
key: '',
|
|
33
|
+
primary: '',
|
|
34
|
+
secondary: []
|
|
35
|
+
};
|
|
36
|
+
const keyCol = columns?.filter(col => col.key === 'true');
|
|
37
|
+
metaDataObj.key = keyCol?.length > 0 ? keyCol[0].value : 'auto';
|
|
38
|
+
const itemsRecordsColumn = columns?.filter(col => col.itemsRecordsColumn === 'true');
|
|
39
|
+
if (itemsRecordsColumn?.length > 0) {
|
|
40
|
+
metaDataObj.itemsRecordsColumn = itemsRecordsColumn[0].value;
|
|
41
|
+
}
|
|
42
|
+
const itemsGroupKeyColumn = columns?.filter(col => col.itemsGroupKeyColumn === 'true');
|
|
43
|
+
if (itemsGroupKeyColumn?.length > 0) {
|
|
44
|
+
metaDataObj.itemsGroupKeyColumn = itemsGroupKeyColumn[0].value;
|
|
45
|
+
}
|
|
46
|
+
for (let index = 0; index < displayColumns?.length; index += 1) {
|
|
47
|
+
if (displayColumns[index].secondary === 'true') {
|
|
48
|
+
metaDataObj.secondary.push(displayColumns[index].value);
|
|
49
|
+
}
|
|
50
|
+
else if (displayColumns[index].primary === 'true') {
|
|
51
|
+
metaDataObj.primary = displayColumns[index].value;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return metaDataObj;
|
|
55
|
+
};
|
|
56
|
+
const createSingleTreeObejct = (entry, displayFieldMeta, showSecondaryData, selected) => {
|
|
57
|
+
const secondaryArr = [];
|
|
58
|
+
displayFieldMeta.secondary.forEach(col => {
|
|
59
|
+
secondaryArr.push(entry[col]);
|
|
60
|
+
});
|
|
61
|
+
const isSelected = selected.some(item => item.id === entry[displayFieldMeta.key]);
|
|
62
|
+
return {
|
|
63
|
+
id: entry[displayFieldMeta.key],
|
|
64
|
+
primary: entry[displayFieldMeta.primary],
|
|
65
|
+
secondary: showSecondaryData ? secondaryArr : [],
|
|
66
|
+
selected: isSelected
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
const putItemsDataInItemsTree = (listObjData, displayFieldMeta, itemsTree, showSecondaryInSearchOnly, selected) => {
|
|
70
|
+
let newTreeItems = itemsTree.slice();
|
|
71
|
+
const showSecondaryData = !showSecondaryInSearchOnly;
|
|
72
|
+
for (const obj of listObjData) {
|
|
73
|
+
const items = obj[displayFieldMeta.itemsRecordsColumn].map(entry => createSingleTreeObejct(entry, displayFieldMeta, showSecondaryData, selected));
|
|
74
|
+
newTreeItems = newTreeItems.map(caseObject => {
|
|
75
|
+
if (caseObject.id === obj[displayFieldMeta.itemsGroupKeyColumn]) {
|
|
76
|
+
caseObject.items = [...items];
|
|
77
|
+
}
|
|
78
|
+
return caseObject;
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
return newTreeItems;
|
|
82
|
+
};
|
|
83
|
+
const prepareSearchResults = (listObjData, displayFieldMeta) => {
|
|
84
|
+
const searchResults = [];
|
|
85
|
+
for (const obj of listObjData) {
|
|
86
|
+
searchResults.push(...obj[displayFieldMeta.itemsRecordsColumn]);
|
|
87
|
+
}
|
|
88
|
+
return searchResults;
|
|
89
|
+
};
|
|
90
|
+
const doSearch = async (searchText, clickedGroup, initialCaseClass, displayFieldMeta, dataApiObj, // deep clone of the dataApiObj
|
|
91
|
+
itemsTree, isGroupData, showSecondaryInSearchOnly, selected) => {
|
|
92
|
+
let searchTextForUngroupedData = '';
|
|
93
|
+
if (dataApiObj) {
|
|
94
|
+
// creating dataApiObject in grouped data cases
|
|
95
|
+
if (isGroupData) {
|
|
96
|
+
dataApiObj = cloneDeep(dataApiObj);
|
|
97
|
+
dataApiObj.fetchedNQData = false;
|
|
98
|
+
dataApiObj.cache = {};
|
|
99
|
+
// if we have no search text and no group selected, return the original tree
|
|
100
|
+
if (searchText === '' && clickedGroup === '') {
|
|
101
|
+
return itemsTree;
|
|
102
|
+
}
|
|
103
|
+
// setting the inital search text & search classes in ApiObject
|
|
104
|
+
dataApiObj.parameters[Object.keys(dataApiObj.parameters)[1]] = searchText;
|
|
105
|
+
dataApiObj.parameters[Object.keys(dataApiObj.parameters)[0]] = initialCaseClass;
|
|
106
|
+
// if we have a selected group
|
|
107
|
+
if (clickedGroup) {
|
|
108
|
+
// check if the data for this group is already present and no search text
|
|
109
|
+
if (searchText === '') {
|
|
110
|
+
const containsData = itemsTree.find(item => item.id === clickedGroup);
|
|
111
|
+
// do not make API call when items of respective group are already fetched
|
|
112
|
+
if (containsData?.items?.length)
|
|
113
|
+
return itemsTree;
|
|
114
|
+
}
|
|
115
|
+
dataApiObj.parameters[Object.keys(dataApiObj.parameters)[0]] = JSON.stringify([clickedGroup]);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
searchTextForUngroupedData = searchText;
|
|
120
|
+
}
|
|
121
|
+
// search API call
|
|
122
|
+
const response = await dataApiObj.fetchData(searchTextForUngroupedData).catch(() => {
|
|
123
|
+
return itemsTree;
|
|
124
|
+
});
|
|
125
|
+
let listObjData = response.data;
|
|
126
|
+
let newItemsTree = [];
|
|
127
|
+
if (isGroupData) {
|
|
128
|
+
if (searchText) {
|
|
129
|
+
listObjData = prepareSearchResults(listObjData, displayFieldMeta);
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
newItemsTree = putItemsDataInItemsTree(listObjData, displayFieldMeta, itemsTree, showSecondaryInSearchOnly, selected);
|
|
133
|
+
return newItemsTree;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
const showSecondaryData = showSecondaryInSearchOnly ? !!searchText : true;
|
|
137
|
+
if (listObjData !== undefined && listObjData.length > 0) {
|
|
138
|
+
newItemsTree = listObjData.map(entry => createSingleTreeObejct(entry, displayFieldMeta, showSecondaryData, selected));
|
|
139
|
+
}
|
|
140
|
+
return newItemsTree;
|
|
141
|
+
}
|
|
142
|
+
return itemsTree;
|
|
143
|
+
};
|
|
144
|
+
const setValuesToPropertyList = (searchText, assocProp, items, columns, actions, updatePropertyInRedux = true) => {
|
|
145
|
+
const setPropertyList = columns
|
|
146
|
+
?.filter(col => col.setProperty)
|
|
147
|
+
.map(col => {
|
|
148
|
+
return {
|
|
149
|
+
source: col.value,
|
|
150
|
+
target: col.setProperty,
|
|
151
|
+
key: col.key,
|
|
152
|
+
primary: col.primary
|
|
153
|
+
};
|
|
154
|
+
});
|
|
155
|
+
const valueToSet = [];
|
|
156
|
+
if (setPropertyList.length > 0) {
|
|
157
|
+
setPropertyList.forEach(prop => {
|
|
158
|
+
items.forEach(item => {
|
|
159
|
+
if (prop.key === 'true' && item) {
|
|
160
|
+
valueToSet.push(item.id);
|
|
161
|
+
}
|
|
162
|
+
else if (prop.primary === 'true' || !item) {
|
|
163
|
+
valueToSet.push(searchText);
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
if (updatePropertyInRedux) {
|
|
167
|
+
// BUG-666851 setting options so that the store values are replaced and not merged
|
|
168
|
+
const options = {
|
|
169
|
+
isArrayDeepMerge: false
|
|
170
|
+
};
|
|
171
|
+
if (prop.target === 'Associated property') {
|
|
172
|
+
actions.updateFieldValue(assocProp, valueToSet, options);
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
actions.updateFieldValue(`.${prop.target}`, valueToSet, options);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
return valueToSet;
|
|
181
|
+
};
|
|
182
|
+
const getGroupDataForItemsTree = (groupDataSource, groupsDisplayFieldMeta, showSecondaryInSearchOnly) => {
|
|
183
|
+
return groupDataSource?.map(group => {
|
|
184
|
+
const secondaryArr = [];
|
|
185
|
+
groupsDisplayFieldMeta.secondary.forEach(col => {
|
|
186
|
+
secondaryArr.push(group[col]);
|
|
187
|
+
});
|
|
188
|
+
return {
|
|
189
|
+
id: group[groupsDisplayFieldMeta.key],
|
|
190
|
+
primary: group[groupsDisplayFieldMeta.primary],
|
|
191
|
+
secondary: showSecondaryInSearchOnly ? [] : secondaryArr,
|
|
192
|
+
items: []
|
|
193
|
+
};
|
|
194
|
+
});
|
|
195
|
+
};
|
|
196
|
+
export { useDeepMemo, preProcessColumns, getDisplayFieldsMetaData, doSearch, setValuesToPropertyList, getGroupDataForItemsTree, updateNewInstuctions, insertInstruction, deleteInstruction };
|
|
197
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/components/field/MultiSelect/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { useRef } from 'react';\nimport equal from 'fast-deep-equal';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { updateNewInstuctions, insertInstruction, deleteInstruction } from '../../helpers/instructions-utils';\n\nexport const setVisibilityForList = (c11nEnv, visibility) => {\n const { selectionMode, selectionList, renderMode, referenceList } = c11nEnv.getComponentConfig();\n // usecase:multiselect, fieldgroup, editable table\n if ((selectionMode === PCore.getConstants().LIST_SELECTION_MODE.MULTI && selectionList) || (renderMode === 'Editable' && referenceList)) {\n c11nEnv.getListActions().setVisibility(visibility);\n }\n};\n\nconst useDeepMemo = (memoFn, key) => {\n const ref: any = useRef();\n if (!ref.current || !equal(key, ref.current.key)) {\n ref.current = { key, value: memoFn() };\n }\n return ref.current.value;\n};\n\nconst preProcessColumns = columns => {\n return columns?.map(col => {\n const tempColObj = { ...col };\n tempColObj.value = col.value && col.value.startsWith('.') ? col.value.substring(1) : col.value;\n if (tempColObj.setProperty) {\n tempColObj.setProperty = col.setProperty && col.setProperty.startsWith('.') ? col.setProperty.substring(1) : col.setProperty;\n }\n return tempColObj;\n });\n};\n\nconst getDisplayFieldsMetaData = columns => {\n const displayColumns = columns?.filter(col => col.display === 'true');\n const metaDataObj: any = {\n key: '',\n primary: '',\n secondary: []\n };\n const keyCol = columns?.filter(col => col.key === 'true');\n metaDataObj.key = keyCol?.length > 0 ? keyCol[0].value : 'auto';\n const itemsRecordsColumn = columns?.filter(col => col.itemsRecordsColumn === 'true');\n if (itemsRecordsColumn?.length > 0) {\n metaDataObj.itemsRecordsColumn = itemsRecordsColumn[0].value;\n }\n const itemsGroupKeyColumn = columns?.filter(col => col.itemsGroupKeyColumn === 'true');\n if (itemsGroupKeyColumn?.length > 0) {\n metaDataObj.itemsGroupKeyColumn = itemsGroupKeyColumn[0].value;\n }\n for (let index = 0; index < displayColumns?.length; index += 1) {\n if (displayColumns[index].secondary === 'true') {\n metaDataObj.secondary.push(displayColumns[index].value);\n } else if (displayColumns[index].primary === 'true') {\n metaDataObj.primary = displayColumns[index].value;\n }\n }\n return metaDataObj;\n};\n\nconst createSingleTreeObejct = (entry, displayFieldMeta, showSecondaryData, selected) => {\n const secondaryArr: any = [];\n displayFieldMeta.secondary.forEach(col => {\n secondaryArr.push(entry[col]);\n });\n const isSelected = selected.some(item => item.id === entry[displayFieldMeta.key]);\n\n return {\n id: entry[displayFieldMeta.key],\n primary: entry[displayFieldMeta.primary],\n secondary: showSecondaryData ? secondaryArr : [],\n selected: isSelected\n };\n};\n\nconst putItemsDataInItemsTree = (listObjData, displayFieldMeta, itemsTree, showSecondaryInSearchOnly, selected) => {\n let newTreeItems = itemsTree.slice();\n const showSecondaryData = !showSecondaryInSearchOnly;\n for (const obj of listObjData) {\n const items = obj[displayFieldMeta.itemsRecordsColumn].map(entry => createSingleTreeObejct(entry, displayFieldMeta, showSecondaryData, selected));\n\n newTreeItems = newTreeItems.map(caseObject => {\n if (caseObject.id === obj[displayFieldMeta.itemsGroupKeyColumn]) {\n caseObject.items = [...items];\n }\n return caseObject;\n });\n }\n return newTreeItems;\n};\n\nconst prepareSearchResults = (listObjData, displayFieldMeta) => {\n const searchResults: any = [];\n for (const obj of listObjData) {\n searchResults.push(...obj[displayFieldMeta.itemsRecordsColumn]);\n }\n return searchResults;\n};\n\nconst doSearch = async (\n searchText,\n clickedGroup,\n initialCaseClass,\n displayFieldMeta,\n dataApiObj, // deep clone of the dataApiObj\n itemsTree,\n isGroupData,\n showSecondaryInSearchOnly,\n selected\n) => {\n let searchTextForUngroupedData = '';\n if (dataApiObj) {\n // creating dataApiObject in grouped data cases\n if (isGroupData) {\n dataApiObj = cloneDeep(dataApiObj);\n dataApiObj.fetchedNQData = false;\n dataApiObj.cache = {};\n\n // if we have no search text and no group selected, return the original tree\n if (searchText === '' && clickedGroup === '') {\n return itemsTree;\n }\n\n // setting the inital search text & search classes in ApiObject\n dataApiObj.parameters[Object.keys(dataApiObj.parameters)[1]] = searchText;\n dataApiObj.parameters[Object.keys(dataApiObj.parameters)[0]] = initialCaseClass;\n\n // if we have a selected group\n if (clickedGroup) {\n // check if the data for this group is already present and no search text\n if (searchText === '') {\n const containsData = itemsTree.find(item => item.id === clickedGroup);\n // do not make API call when items of respective group are already fetched\n if (containsData?.items?.length) return itemsTree;\n }\n\n dataApiObj.parameters[Object.keys(dataApiObj.parameters)[0]] = JSON.stringify([clickedGroup]);\n }\n } else {\n searchTextForUngroupedData = searchText;\n }\n\n // search API call\n const response = await dataApiObj.fetchData(searchTextForUngroupedData).catch(() => {\n return itemsTree;\n });\n\n let listObjData = response.data;\n let newItemsTree = [];\n if (isGroupData) {\n if (searchText) {\n listObjData = prepareSearchResults(listObjData, displayFieldMeta);\n } else {\n newItemsTree = putItemsDataInItemsTree(listObjData, displayFieldMeta, itemsTree, showSecondaryInSearchOnly, selected);\n return newItemsTree;\n }\n }\n const showSecondaryData = showSecondaryInSearchOnly ? !!searchText : true;\n if (listObjData !== undefined && listObjData.length > 0) {\n newItemsTree = listObjData.map(entry => createSingleTreeObejct(entry, displayFieldMeta, showSecondaryData, selected));\n }\n return newItemsTree;\n }\n\n return itemsTree;\n};\n\nconst setValuesToPropertyList = (searchText, assocProp, items, columns, actions, updatePropertyInRedux = true) => {\n const setPropertyList = columns\n ?.filter(col => col.setProperty)\n .map(col => {\n return {\n source: col.value,\n target: col.setProperty,\n key: col.key,\n primary: col.primary\n };\n });\n const valueToSet: any = [];\n if (setPropertyList.length > 0) {\n setPropertyList.forEach(prop => {\n items.forEach(item => {\n if (prop.key === 'true' && item) {\n valueToSet.push(item.id);\n } else if (prop.primary === 'true' || !item) {\n valueToSet.push(searchText);\n }\n });\n\n if (updatePropertyInRedux) {\n // BUG-666851 setting options so that the store values are replaced and not merged\n const options = {\n isArrayDeepMerge: false\n };\n if (prop.target === 'Associated property') {\n actions.updateFieldValue(assocProp, valueToSet, options);\n } else {\n actions.updateFieldValue(`.${prop.target}`, valueToSet, options);\n }\n }\n });\n }\n return valueToSet;\n};\n\nconst getGroupDataForItemsTree = (groupDataSource, groupsDisplayFieldMeta, showSecondaryInSearchOnly) => {\n return groupDataSource?.map(group => {\n const secondaryArr: any = [];\n groupsDisplayFieldMeta.secondary.forEach(col => {\n secondaryArr.push(group[col]);\n });\n return {\n id: group[groupsDisplayFieldMeta.key],\n primary: group[groupsDisplayFieldMeta.primary],\n secondary: showSecondaryInSearchOnly ? [] : secondaryArr,\n items: []\n };\n });\n};\n\nexport {\n useDeepMemo,\n preProcessColumns,\n getDisplayFieldsMetaData,\n doSearch,\n setValuesToPropertyList,\n getGroupDataForItemsTree,\n updateNewInstuctions,\n insertInstruction,\n deleteInstruction\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Percentage.d.ts","sourceRoot":"","sources":["../../../../src/components/field/Percentage/Percentage.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"Percentage.d.ts","sourceRoot":"","sources":["../../../../src/components/field/Percentage/Percentage.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAQ5D,UAAU,eAAgB,SAAQ,eAAe;IAE/C,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAK,EAAE,eAAe,eAgFxD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Percentage.js","sourceRoot":"","sources":["../../../../src/components/field/Percentage/Percentage.tsx"],"names":[],"mappings":";AAAA,OAAO,iBAAiB,MAAM,wCAAwC,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAEhF,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACvF,OAAO,WAAW,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"Percentage.js","sourceRoot":"","sources":["../../../../src/components/field/Percentage/Percentage.tsx"],"names":[],"mappings":"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","sourcesContent":["import CurrencyTextField from '@unicef/material-ui-currency-textfield';\n\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport { PConnFieldProps } from '../../../types/PConnProps';\nimport { getCurrencyCharacters, getCurrencyOptions } from '../Currency/currency-utils';\nimport handleEvent from '../../helpers/event-utils';\nimport { format } from '../../helpers/formatters';\n\n/* Using @unicef/material-ui-currency-textfield component here, since it allows formatting decimal values,\nas per the locale.\n*/\ninterface PercentageProps extends PConnFieldProps {\n // If any, enter additional props that only exist on Percentage here\n currencyISOCode?: string;\n}\n\nexport default function Percentage(props: PercentageProps) {\n // Get emitted components from map (so we can get any override that may exist)\n const FieldValueList = getComponentFromMap('FieldValueList');\n\n const {\n getPConnect,\n label,\n required,\n disabled,\n value = '',\n validatemessage,\n status,\n // onChange,\n // onBlur,\n readOnly,\n currencyISOCode = 'USD',\n testId,\n helperText,\n displayMode,\n hideLabel,\n placeholder\n } = props;\n\n const pConn = getPConnect();\n const actions = pConn.getActionsApi();\n const propName = (pConn.getStateProps() as any).value;\n const helperTextToDisplay = validatemessage || helperText;\n\n const theCurrencyOptions = getCurrencyOptions(currencyISOCode);\n const formattedValue = format(value, pConn.getComponentName().toLowerCase(), theCurrencyOptions);\n\n // console.log(`Percentage: label: ${label} value: ${value}`);\n\n if (displayMode === 'LABELS_LEFT') {\n return <FieldValueList name={hideLabel ? '' : label} value={formattedValue} />;\n }\n\n if (displayMode === 'STACKED_LARGE_VAL') {\n return <FieldValueList name={hideLabel ? '' : label} value={formattedValue} variant='stacked' />;\n }\n\n let testProp = {};\n\n testProp = {\n 'data-test-id': testId\n };\n\n const theSymbols = getCurrencyCharacters(currencyISOCode);\n const theCurrDec = theSymbols.theDecimalIndicator;\n const theCurrSep = theSymbols.theDigitGroupSeparator;\n\n function PercentageOnBlur(event, inValue) {\n handleEvent(actions, 'changeNblur', propName, inValue !== '' ? Number(inValue) : inValue);\n }\n\n return (\n <CurrencyTextField\n fullWidth\n variant={readOnly ? 'standard' : 'outlined'}\n helperText={helperTextToDisplay}\n placeholder={placeholder ?? ''}\n size='small'\n required={required}\n disabled={disabled}\n readOnly={!!readOnly}\n error={status === 'error'}\n label={label}\n value={value}\n type='text'\n outputFormat='number'\n textAlign='left'\n InputProps={{\n inputProps: { ...testProp }\n }}\n currencySymbol=''\n decimalCharacter={theCurrDec}\n digitGroupSeparator={theCurrSep}\n onBlur={!readOnly ? PercentageOnBlur : undefined}\n />\n );\n}\n"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
declare const updateNewInstuctions: (c11nEnv: any, selectionList: any) => void;
|
|
2
|
+
declare const insertInstruction: (c11nEnv: any, selectionList: any, selectionKey: any, primaryField: any, item: any) => void;
|
|
3
|
+
declare const deleteInstruction: (c11nEnv: any, selectionList: any, selectionKey: any, item: any) => void;
|
|
4
|
+
export { updateNewInstuctions, insertInstruction, deleteInstruction };
|
|
5
|
+
//# sourceMappingURL=instructions-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instructions-utils.d.ts","sourceRoot":"","sources":["../../../src/components/helpers/instructions-utils.ts"],"names":[],"mappings":"AAMA,QAAA,MAAM,oBAAoB,4CAOzB,CAAC;AAEF,QAAA,MAAM,iBAAiB,6FAYtB,CAAC;AAEF,QAAA,MAAM,iBAAiB,0EAMtB,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
const isSelfReferencedProperty = (param, referenceProp) => {
|
|
2
|
+
const [, parentPropName] = param.split('.');
|
|
3
|
+
const referencePropParent = referenceProp?.split('.').pop();
|
|
4
|
+
return parentPropName === referencePropParent;
|
|
5
|
+
};
|
|
6
|
+
const updateNewInstuctions = (c11nEnv, selectionList) => {
|
|
7
|
+
const { datasource: { parameters = {} } = {} } = c11nEnv.getFieldMetadata(selectionList) || {};
|
|
8
|
+
const compositeKeys = [];
|
|
9
|
+
Object.values(parameters).forEach((param) => {
|
|
10
|
+
if (isSelfReferencedProperty(param, selectionList))
|
|
11
|
+
compositeKeys.push(param.substring(param.lastIndexOf('.') + 1));
|
|
12
|
+
});
|
|
13
|
+
c11nEnv.getListActions().initDefaultPageInstructions(selectionList, compositeKeys);
|
|
14
|
+
};
|
|
15
|
+
const insertInstruction = (c11nEnv, selectionList, selectionKey, primaryField, item) => {
|
|
16
|
+
const { id, primary } = item;
|
|
17
|
+
const actualProperty = selectionKey.startsWith('.') ? selectionKey.substring(1) : selectionKey;
|
|
18
|
+
const displayProperty = primaryField.startsWith('.') ? primaryField.substring(1) : primaryField;
|
|
19
|
+
const rows = c11nEnv.getValue(`${c11nEnv.getPageReference()}${selectionList}`) || [];
|
|
20
|
+
const startIndex = rows.length;
|
|
21
|
+
const content = {
|
|
22
|
+
[actualProperty]: id,
|
|
23
|
+
[displayProperty]: primary,
|
|
24
|
+
nonFormProperties: actualProperty !== displayProperty ? [displayProperty] : []
|
|
25
|
+
};
|
|
26
|
+
c11nEnv.getListActions().insert(content, startIndex);
|
|
27
|
+
};
|
|
28
|
+
const deleteInstruction = (c11nEnv, selectionList, selectionKey, item) => {
|
|
29
|
+
const { id } = item;
|
|
30
|
+
const actualProperty = selectionKey.startsWith('.') ? selectionKey.substring(1) : selectionKey;
|
|
31
|
+
const rows = c11nEnv.getValue(`${c11nEnv.getPageReference()}${selectionList}`) || [];
|
|
32
|
+
const index = rows.findIndex(row => row[actualProperty] === id);
|
|
33
|
+
c11nEnv.getListActions().deleteEntry(index);
|
|
34
|
+
};
|
|
35
|
+
export { updateNewInstuctions, insertInstruction, deleteInstruction };
|
|
36
|
+
//# sourceMappingURL=instructions-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instructions-utils.js","sourceRoot":"","sources":["../../../src/components/helpers/instructions-utils.ts"],"names":[],"mappings":"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","sourcesContent":["const isSelfReferencedProperty = (param, referenceProp) => {\n const [, parentPropName] = param.split('.');\n const referencePropParent = referenceProp?.split('.').pop();\n return parentPropName === referencePropParent;\n};\n\nconst updateNewInstuctions = (c11nEnv, selectionList) => {\n const { datasource: { parameters = {} } = {} } = c11nEnv.getFieldMetadata(selectionList) || {};\n const compositeKeys: any = [];\n Object.values(parameters).forEach((param: any) => {\n if (isSelfReferencedProperty(param, selectionList)) compositeKeys.push(param.substring(param.lastIndexOf('.') + 1));\n });\n c11nEnv.getListActions().initDefaultPageInstructions(selectionList, compositeKeys);\n};\n\nconst insertInstruction = (c11nEnv, selectionList, selectionKey, primaryField, item) => {\n const { id, primary } = item;\n const actualProperty = selectionKey.startsWith('.') ? selectionKey.substring(1) : selectionKey;\n const displayProperty = primaryField.startsWith('.') ? primaryField.substring(1) : primaryField;\n const rows = c11nEnv.getValue(`${c11nEnv.getPageReference()}${selectionList}`) || [];\n const startIndex = rows.length;\n const content = {\n [actualProperty]: id,\n [displayProperty]: primary,\n nonFormProperties: actualProperty !== displayProperty ? [displayProperty] : []\n };\n c11nEnv.getListActions().insert(content, startIndex);\n};\n\nconst deleteInstruction = (c11nEnv, selectionList, selectionKey, item) => {\n const { id } = item;\n const actualProperty = selectionKey.startsWith('.') ? selectionKey.substring(1) : selectionKey;\n const rows = c11nEnv.getValue(`${c11nEnv.getPageReference()}${selectionList}`) || [];\n const index = rows.findIndex(row => row[actualProperty] === id);\n c11nEnv.getListActions().deleteEntry(index);\n};\n\nexport { updateNewInstuctions, insertInstruction, deleteInstruction };\n"]}
|
|
@@ -21,7 +21,7 @@ export default function Reference(props) {
|
|
|
21
21
|
};
|
|
22
22
|
// @ts-ignore - Argument of type 'null' is not assignable to parameter of type 'string'.
|
|
23
23
|
const viewComponent = pConnect.createComponent(viewObject, null, null, {
|
|
24
|
-
pageReference: context
|
|
24
|
+
pageReference: context && context.startsWith('@CLASS') ? '' : context
|
|
25
25
|
});
|
|
26
26
|
viewComponent.props.getPConnect().setInheritedConfig({
|
|
27
27
|
...referenceConfig,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Reference.js","sourceRoot":"","sources":["../../../../src/components/infra/Reference/Reference.tsx"],"names":[],"mappings":";AAUA,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,KAAqB;IACrD,MAAM,EAAE,UAAU,GAAG,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE,WAAW,EAAE,QAAQ,GAAG,KAAK,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,KAAK,CAAC;IAEnG,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,oGAAoG;IACpG,MAAM,eAAe,GAAG,EAAE,GAAG,QAAQ,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,CAAC;IAEnE,OAAO,eAAe,EAAE,IAAI,CAAC;IAC7B,OAAO,eAAe,EAAE,IAAI,CAAC;IAC7B,OAAO,eAAe,EAAE,UAAU,CAAC;IAEnC,MAAM,YAAY,GAAQ,QAAQ,CAAC,iBAAiB,EAAE,CAAC;IAEvD,IAAI,CAAC,YAAY,EAAE;QACjB,iEAAiE;QACjE,OAAO,IAAI,CAAC;KACb;IAED,MAAM,UAAU,GAAG;QACjB,GAAG,YAAY;QACf,MAAM,EAAE;YACN,GAAG,YAAY,CAAC,MAAM;YACtB,GAAG,eAAe;SACnB;KACF,CAAC;IAEF,wFAAwF;IACxF,MAAM,aAAa,GAAQ,QAAQ,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;QAC1E,aAAa,EAAE,OAAO;
|
|
1
|
+
{"version":3,"file":"Reference.js","sourceRoot":"","sources":["../../../../src/components/infra/Reference/Reference.tsx"],"names":[],"mappings":";AAUA,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,KAAqB;IACrD,MAAM,EAAE,UAAU,GAAG,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE,WAAW,EAAE,QAAQ,GAAG,KAAK,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,KAAK,CAAC;IAEnG,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,oGAAoG;IACpG,MAAM,eAAe,GAAG,EAAE,GAAG,QAAQ,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,CAAC;IAEnE,OAAO,eAAe,EAAE,IAAI,CAAC;IAC7B,OAAO,eAAe,EAAE,IAAI,CAAC;IAC7B,OAAO,eAAe,EAAE,UAAU,CAAC;IAEnC,MAAM,YAAY,GAAQ,QAAQ,CAAC,iBAAiB,EAAE,CAAC;IAEvD,IAAI,CAAC,YAAY,EAAE;QACjB,iEAAiE;QACjE,OAAO,IAAI,CAAC;KACb;IAED,MAAM,UAAU,GAAG;QACjB,GAAG,YAAY;QACf,MAAM,EAAE;YACN,GAAG,YAAY,CAAC,MAAM;YACtB,GAAG,eAAe;SACnB;KACF,CAAC;IAEF,wFAAwF;IACxF,MAAM,aAAa,GAAQ,QAAQ,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;QAC1E,aAAa,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO;KACtE,CAAC,CAAC;IAEH,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,kBAAkB,CAAC;QACnD,GAAG,eAAe;QAClB,QAAQ;QACR,WAAW;KACZ,CAAC,CAAC;IAEH,IAAI,UAAU,KAAK,KAAK,EAAE;QACxB,OAAO,4BAAG,aAAa,GAAI,CAAC;KAC7B;IACD,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import { PConnProps } from '../../../types/PConnProps';\n\ninterface ReferenceProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n visibility?: boolean;\n context?: string;\n readOnly?: boolean;\n displayMode?: string;\n}\n\nexport default function Reference(props: ReferenceProps) {\n const { visibility = true, context = '', getPConnect, readOnly = false, displayMode = '' } = props;\n\n const pConnect = getPConnect();\n // @ts-ignore - Property 'getComponentConfig' is private and only accessible within class 'C11nEnv'.\n const referenceConfig = { ...pConnect.getComponentConfig() } || {};\n\n delete referenceConfig?.name;\n delete referenceConfig?.type;\n delete referenceConfig?.visibility;\n\n const viewMetadata: any = pConnect.getReferencedView();\n\n if (!viewMetadata) {\n // console.log(\"View not found \", pConnect.getComponentConfig());\n return null;\n }\n\n const viewObject = {\n ...viewMetadata,\n config: {\n ...viewMetadata.config,\n ...referenceConfig\n }\n };\n\n // @ts-ignore - Argument of type 'null' is not assignable to parameter of type 'string'.\n const viewComponent: any = pConnect.createComponent(viewObject, null, null, {\n pageReference: context && context.startsWith('@CLASS') ? '' : context\n });\n\n viewComponent.props.getPConnect().setInheritedConfig({\n ...referenceConfig,\n readOnly,\n displayMode\n });\n\n if (visibility !== false) {\n return <>{viewComponent}</>;\n }\n return null;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListView.d.ts","sourceRoot":"","sources":["../../../../src/components/template/ListView/ListView.tsx"],"names":[],"mappings":";AAwCA,OAAO,gBAAgB,CAAC;AAMxB,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,UAAU,aAAc,SAAQ,UAAU;IAExC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;IAEtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,GAAG,CAAC;IAC1B,KAAK,EAAE,GAAG,CAAC;CACZ;AAeD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"ListView.d.ts","sourceRoot":"","sources":["../../../../src/components/template/ListView/ListView.tsx"],"names":[],"mappings":";AAwCA,OAAO,gBAAgB,CAAC;AAMxB,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,UAAU,aAAc,SAAQ,UAAU;IAExC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;IAEtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,GAAG,CAAC;IAC1B,KAAK,EAAE,GAAG,CAAC;CACZ;AAeD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,aAAa,eAypCpD"}
|
|
@@ -103,7 +103,8 @@ export default function ListView(props) {
|
|
|
103
103
|
paper: {
|
|
104
104
|
width: '100%',
|
|
105
105
|
marginTop: theme.spacing(2),
|
|
106
|
-
marginBottom: theme.spacing(2)
|
|
106
|
+
marginBottom: theme.spacing(2),
|
|
107
|
+
display: 'grid'
|
|
107
108
|
},
|
|
108
109
|
search: {
|
|
109
110
|
padding: '5px 5px'
|
|
@@ -152,10 +153,10 @@ export default function ListView(props) {
|
|
|
152
153
|
handleRequestSort(event, property);
|
|
153
154
|
};
|
|
154
155
|
function descendingComparator(a, b, orderedBy) {
|
|
155
|
-
if (b[orderedBy] < a[orderedBy]) {
|
|
156
|
+
if (!b[orderedBy] || b[orderedBy] < a[orderedBy]) {
|
|
156
157
|
return -1;
|
|
157
158
|
}
|
|
158
|
-
if (b[orderedBy] > a[orderedBy]) {
|
|
159
|
+
if (!a[orderedBy] || b[orderedBy] > a[orderedBy]) {
|
|
159
160
|
return 1;
|
|
160
161
|
}
|
|
161
162
|
return 0;
|
|
@@ -808,7 +809,7 @@ export default function ListView(props) {
|
|
|
808
809
|
val = format(value, column.type, theCurrencyOptions);
|
|
809
810
|
break;
|
|
810
811
|
default:
|
|
811
|
-
val = column.format && typeof value === 'number' ? column.format(value) : value;
|
|
812
|
+
val = column.format && typeof value === 'number' ? column.format(value) : value || '---';
|
|
812
813
|
}
|
|
813
814
|
return val;
|
|
814
815
|
};
|
|
@@ -823,7 +824,7 @@ export default function ListView(props) {
|
|
|
823
824
|
const value = row[column.id];
|
|
824
825
|
return (_jsx(TableCell, { align: column.align, className: classes.cell, children: _showButton(column.id, row) || column.displayAsLink ? (_jsx(Link, { component: 'button', onClick: () => {
|
|
825
826
|
_listViewClick(row, column);
|
|
826
|
-
}, children: column.format && typeof value === 'number' ? column.format(value) : value })) : (_jsx(_Fragment, { children: column.format && typeof value === 'number' ? column.format(value) : value })) }, column.id));
|
|
827
|
+
}, children: column.format && typeof value === 'number' ? column.format(value) : value })) : (_jsx(_Fragment, { children: column.format && typeof value === 'number' ? column.format(value) : value || '---' })) }, column.id));
|
|
827
828
|
}) }, row.pxRefObjectInsName || row.pyID));
|
|
828
829
|
}) })] }) })) : (_jsxs(TableContainer, { id: 'list-view', children: [_jsxs(Table, { children: [_jsx(TableHead, { children: _jsxs(TableRow, { children: [(selectionMode === SELECTION_MODE.SINGLE || selectionMode === SELECTION_MODE.MULTI) && _jsx(TableCell, {}), arColumns.map(column => {
|
|
829
830
|
return (_jsx(TableCell, { className: classes.cell, sortDirection: orderBy === column.id ? order : false, children: _jsxs(TableSortLabel, { active: orderBy === column.id, direction: orderBy === column.id ? order : 'asc', onClick: createSortHandler(column.id), children: [column.label, orderBy === column.id ? (_jsx("span", { className: classes.visuallyHidden, children: order === 'desc' ? 'sorted descending' : 'sorted ascending' })) : null] }) }, column.id));
|