Skip to content

Commit 7687e98

Browse files
committed
PTR-4515 Avoid unnecessary evaluations
1 parent 15a3d25 commit 7687e98

4 files changed

Lines changed: 16 additions & 5 deletions

File tree

  • modules/apps

modules/apps/data-engine/data-engine-js-components-web/src/main/resources/META-INF/resources/js/core/components/PageRenderer/Layout.es.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ export function Layout({components, editable, itemPath, rows, viewMode}) {
101101
),
102102
properties,
103103
submitButtonId,
104+
viewMode,
104105
})
105106
)
106107
}

modules/apps/data-engine/data-engine-js-components-web/src/main/resources/META-INF/resources/js/core/hooks/useEvaluate.es.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import {useFormState} from './useForm.es';
1414
* the `evaluate` function.
1515
*/
1616
export function useEvaluate(thunk) {
17-
const {groupId, portletNamespace, viewMode} = useConfig();
17+
const {groupId, portletNamespace} = useConfig();
1818
const {
1919
defaultLanguageId,
2020
editingLanguageId,
@@ -35,7 +35,6 @@ export function useEvaluate(thunk) {
3535
portletNamespace,
3636
rules,
3737
title,
38-
viewMode,
3938
...args,
4039
}),
4140
[
@@ -48,7 +47,6 @@ export function useEvaluate(thunk) {
4847
rules,
4948
thunk,
5049
title,
51-
viewMode,
5250
]
5351
);
5452
}

modules/apps/data-engine/data-engine-js-components-web/src/main/resources/META-INF/resources/js/core/thunks/fieldChange.es.js

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,18 @@ import {disableSubmitButton} from '../utils/submitButtonController.es';
1010

1111
let REVALIDATE_UPDATES = [];
1212

13+
const requireUpdatePageFieldNames = [
14+
'autocomplete',
15+
'requireConfirmation',
16+
'required',
17+
'validation',
18+
'inputMask',
19+
];
20+
21+
const needsPageUpdate = (fieldName) => {
22+
return requireUpdatePageFieldNames.includes(fieldName);
23+
};
24+
1325
const getEditedPages = ({
1426
editingLanguageId,
1527
key = 'value',
@@ -83,7 +95,7 @@ export default function fieldChange({
8395

8496
dispatch({payload: editedPages, type: EVENT_TYPES.PAGE.UPDATE});
8597

86-
if (evaluable) {
98+
if (evaluable && (viewMode || needsPageUpdate(fieldName))) {
8799
try {
88100
disableSubmitButton(submitButtonId);
89101

modules/apps/dynamic-data-mapping/dynamic-data-mapping-form-field-type/src/main/resources/META-INF/resources/Text/Text.es.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,7 @@ const Autocomplete = ({
279279
const itemListRef = useRef(null);
280280

281281
const escapeChars = (string) =>
282-
string.replace(/[.*+\-?^${}()|[\]\\]/g, '\\$&');
282+
string?.replace(/[.*+\-?^${}()|[\]\\]/g, '\\$&');
283283

284284
const filteredItems = options.filter(
285285
(item) => item && item.match(escapeChars(value))

0 commit comments

Comments
 (0)