@campxdev/react-blueprint 1.3.2 → 1.3.3
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/package.json
CHANGED
|
@@ -103,7 +103,11 @@ const singleSelectReducer = (
|
|
|
103
103
|
return { ...state, open: true };
|
|
104
104
|
}
|
|
105
105
|
case SingleSelectActionsTypes.CLOSE: {
|
|
106
|
-
return {
|
|
106
|
+
return {
|
|
107
|
+
...state,
|
|
108
|
+
open: false,
|
|
109
|
+
loadingInternalOptions: false,
|
|
110
|
+
};
|
|
107
111
|
}
|
|
108
112
|
case SingleSelectActionsTypes.LOAD_INTERNAL_OPTIONS_START: {
|
|
109
113
|
return { ...state, loadingInternalOptions: true };
|
|
@@ -121,15 +125,19 @@ const singleSelectReducer = (
|
|
|
121
125
|
return { ...state, ...stateChanges };
|
|
122
126
|
}
|
|
123
127
|
case SingleSelectActionsTypes.SET_SEARCH: {
|
|
124
|
-
return {
|
|
128
|
+
return {
|
|
129
|
+
...state,
|
|
130
|
+
search: stateChanges.search,
|
|
131
|
+
hasMore: true,
|
|
132
|
+
};
|
|
125
133
|
}
|
|
126
134
|
case SingleSelectActionsTypes.CLEAR_SEARCH: {
|
|
127
135
|
return {
|
|
128
136
|
...state,
|
|
129
137
|
search: null,
|
|
130
138
|
offset: 0,
|
|
131
|
-
internalOptions:
|
|
132
|
-
internalOptionsMap:
|
|
139
|
+
internalOptions: stateChanges.internalOptions,
|
|
140
|
+
internalOptionsMap: stateChanges.internalOptionsMap,
|
|
133
141
|
};
|
|
134
142
|
}
|
|
135
143
|
case SingleSelectActionsTypes.SET_INTERNAL_OPTIONS: {
|
|
@@ -285,6 +293,16 @@ export const SingleSelect = ({
|
|
|
285
293
|
if (optionsApiEndPoint) {
|
|
286
294
|
dispatch({
|
|
287
295
|
actionType: SingleSelectActionsTypes.CLEAR_SEARCH,
|
|
296
|
+
stateChanges: {
|
|
297
|
+
internalOptions: internalOptions.filter((o: any) =>
|
|
298
|
+
reason != 'selectOption' ? o.value == value : o.value != value,
|
|
299
|
+
),
|
|
300
|
+
internalOptionsMap: generateOptionsMap(
|
|
301
|
+
internalOptions.filter((o: any) =>
|
|
302
|
+
reason != 'selectOption' ? o.value == value : o.value != value,
|
|
303
|
+
),
|
|
304
|
+
),
|
|
305
|
+
},
|
|
288
306
|
});
|
|
289
307
|
}
|
|
290
308
|
if (onClose) {
|
|
@@ -308,13 +326,16 @@ export const SingleSelect = ({
|
|
|
308
326
|
params: {
|
|
309
327
|
limit: limit,
|
|
310
328
|
offset: offset + 10,
|
|
311
|
-
|
|
329
|
+
|
|
312
330
|
dbValueProps: {
|
|
313
331
|
...dbValueProps,
|
|
314
332
|
...(dbValueProps.isObjectId && { isObjectId: true }),
|
|
315
333
|
selectedValueData: value,
|
|
316
334
|
},
|
|
317
|
-
dbLabelProps
|
|
335
|
+
dbLabelProps: {
|
|
336
|
+
search: search,
|
|
337
|
+
...dbLabelProps,
|
|
338
|
+
},
|
|
318
339
|
...optionsApiEndpointParams,
|
|
319
340
|
},
|
|
320
341
|
})
|
|
@@ -345,6 +366,12 @@ export const SingleSelect = ({
|
|
|
345
366
|
if (!searchValue || searchValue.trim() === '') {
|
|
346
367
|
dispatch({
|
|
347
368
|
actionType: SingleSelectActionsTypes.CLEAR_SEARCH,
|
|
369
|
+
stateChanges: {
|
|
370
|
+
internalOptions: internalOptions.filter((o: any) => o.value == value),
|
|
371
|
+
internalOptionsMap: generateOptionsMap(
|
|
372
|
+
internalOptions.filter((o: any) => o.value == value),
|
|
373
|
+
),
|
|
374
|
+
},
|
|
348
375
|
});
|
|
349
376
|
}
|
|
350
377
|
if (optionsApiEndPoint) {
|
|
@@ -362,8 +389,10 @@ export const SingleSelect = ({
|
|
|
362
389
|
...(dbValueProps.isObjectId && { isObjectId: true }),
|
|
363
390
|
selectedValueData: value,
|
|
364
391
|
},
|
|
365
|
-
dbLabelProps
|
|
366
|
-
|
|
392
|
+
dbLabelProps: {
|
|
393
|
+
search: searchValue,
|
|
394
|
+
...dbLabelProps,
|
|
395
|
+
},
|
|
367
396
|
...optionsApiEndpointParams,
|
|
368
397
|
},
|
|
369
398
|
})
|
|
@@ -373,8 +402,14 @@ export const SingleSelect = ({
|
|
|
373
402
|
dispatch({
|
|
374
403
|
actionType: SingleSelectActionsTypes.SET_INTERNAL_OPTIONS,
|
|
375
404
|
stateChanges: {
|
|
376
|
-
internalOptions:
|
|
377
|
-
|
|
405
|
+
internalOptions: [
|
|
406
|
+
...options,
|
|
407
|
+
...internalOptions.filter((o: any) => o.value == value),
|
|
408
|
+
],
|
|
409
|
+
internalOptionsMap: generateOptionsMap([
|
|
410
|
+
...options,
|
|
411
|
+
...internalOptions.filter((o: any) => o.value == value),
|
|
412
|
+
]),
|
|
378
413
|
},
|
|
379
414
|
});
|
|
380
415
|
} catch (e) {
|
|
@@ -397,11 +432,11 @@ export const SingleSelect = ({
|
|
|
397
432
|
}, 300);
|
|
398
433
|
}, [searchDb]);
|
|
399
434
|
|
|
400
|
-
const handleSearch = async (
|
|
401
|
-
e
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
435
|
+
const handleSearch = async (e: any) => {
|
|
436
|
+
if (e) {
|
|
437
|
+
const searchValue = e.target.value;
|
|
438
|
+
debouncedSendRequest(searchValue);
|
|
439
|
+
}
|
|
405
440
|
};
|
|
406
441
|
|
|
407
442
|
const loadSelectedOptions = async () => {
|
|
@@ -468,6 +503,7 @@ export const SingleSelect = ({
|
|
|
468
503
|
onChange={(e, value) => {
|
|
469
504
|
onChange(getValue ? getValue(value) : value?.value);
|
|
470
505
|
}}
|
|
506
|
+
onInputCapture={handleSearch}
|
|
471
507
|
open={open}
|
|
472
508
|
autoFocus={true}
|
|
473
509
|
filterOptions={(options, state) => {
|
|
@@ -511,7 +547,6 @@ export const SingleSelect = ({
|
|
|
511
547
|
label={label}
|
|
512
548
|
required={required}
|
|
513
549
|
name={name}
|
|
514
|
-
onChange={handleSearch}
|
|
515
550
|
error={error}
|
|
516
551
|
helperText={helperText}
|
|
517
552
|
/>
|