@dartech/arsenal-ui 1.4.48 → 1.4.49
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/index.js
CHANGED
|
@@ -922,6 +922,7 @@ function ControlQueryAutocomplete(_a) {
|
|
|
922
922
|
searchBy,
|
|
923
923
|
labelKey,
|
|
924
924
|
multiple = false,
|
|
925
|
+
mongoQueryJson,
|
|
925
926
|
disabled,
|
|
926
927
|
valueKey,
|
|
927
928
|
sortBy = '',
|
|
@@ -934,7 +935,7 @@ function ControlQueryAutocomplete(_a) {
|
|
|
934
935
|
itemQueryFunction,
|
|
935
936
|
requiredErrorText = ''
|
|
936
937
|
} = _a,
|
|
937
|
-
autocompleteProps = __rest(_a, ["name", "label", "control", "required", "searchBy", "labelKey", "multiple", "disabled", "valueKey", "sortBy", "hideErrorMessage", "disableCloseOnSelect", "textFieldProps", "onChange", "queryFunction", "validate", "itemQueryFunction", "requiredErrorText"]);
|
|
938
|
+
autocompleteProps = __rest(_a, ["name", "label", "control", "required", "searchBy", "labelKey", "multiple", "mongoQueryJson", "disabled", "valueKey", "sortBy", "hideErrorMessage", "disableCloseOnSelect", "textFieldProps", "onChange", "queryFunction", "validate", "itemQueryFunction", "requiredErrorText"]);
|
|
938
939
|
const _b = useController({
|
|
939
940
|
control,
|
|
940
941
|
name,
|
|
@@ -994,9 +995,31 @@ function ControlQueryAutocomplete(_a) {
|
|
|
994
995
|
}
|
|
995
996
|
}
|
|
996
997
|
});
|
|
998
|
+
const modifyFieldsWithString = (data, replacement) => {
|
|
999
|
+
if (typeof data === 'object') {
|
|
1000
|
+
if (Array.isArray(data)) {
|
|
1001
|
+
return data.map(item => modifyFieldsWithString(item, replacement));
|
|
1002
|
+
} else {
|
|
1003
|
+
const modifiedData = {};
|
|
1004
|
+
for (const key in data) {
|
|
1005
|
+
modifiedData[key] = modifyFieldsWithString(data[key], replacement);
|
|
1006
|
+
}
|
|
1007
|
+
return modifiedData;
|
|
1008
|
+
}
|
|
1009
|
+
// eslint-disable-next-line no-template-curly-in-string
|
|
1010
|
+
} else if (typeof data === 'string' && data.includes('${variable}')) {
|
|
1011
|
+
// eslint-disable-next-line no-template-curly-in-string
|
|
1012
|
+
return data.replace('${variable}', replacement);
|
|
1013
|
+
} else {
|
|
1014
|
+
return data;
|
|
1015
|
+
}
|
|
1016
|
+
};
|
|
997
1017
|
const debouncedChange = useDebounce(val => {
|
|
998
1018
|
setPage(0);
|
|
999
|
-
|
|
1019
|
+
if (mongoQueryJson) {
|
|
1020
|
+
const obj = modifyFieldsWithString(mongoQueryJson, val);
|
|
1021
|
+
setSearchValue(JSON.stringify(obj));
|
|
1022
|
+
} else setSearchValue(val);
|
|
1000
1023
|
}, 500);
|
|
1001
1024
|
const handleInputChange = useCallback((_, value) => {
|
|
1002
1025
|
setInputValue(value);
|
package/package.json
CHANGED
|
@@ -8,10 +8,11 @@ type PaginateParams = {
|
|
|
8
8
|
};
|
|
9
9
|
type ControlQueryAutocompleteProps<T> = Omit<ControlAutocompleteProps, 'options'> & {
|
|
10
10
|
searchBy: string;
|
|
11
|
+
mongoQueryJson?: any;
|
|
11
12
|
sortBy?: string;
|
|
12
13
|
queryFunction: (params: PaginateParams) => Promise<PaginateData<T>>;
|
|
13
14
|
itemQueryFunction?: (valueKey: string) => Promise<T>;
|
|
14
15
|
requiredErrorText?: string;
|
|
15
16
|
};
|
|
16
|
-
export declare function ControlQueryAutocomplete<T>({ name, label, control, required, searchBy, labelKey, multiple, disabled, valueKey, sortBy, hideErrorMessage, disableCloseOnSelect, textFieldProps, onChange, queryFunction, validate, itemQueryFunction, requiredErrorText, ...autocompleteProps }: ControlQueryAutocompleteProps<T>): JSX.Element;
|
|
17
|
+
export declare function ControlQueryAutocomplete<T>({ name, label, control, required, searchBy, labelKey, multiple, mongoQueryJson, disabled, valueKey, sortBy, hideErrorMessage, disableCloseOnSelect, textFieldProps, onChange, queryFunction, validate, itemQueryFunction, requiredErrorText, ...autocompleteProps }: ControlQueryAutocompleteProps<T>): JSX.Element;
|
|
17
18
|
export default ControlQueryAutocomplete;
|