@homebound/beam 2.377.0 → 2.377.1
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.
|
@@ -62,6 +62,7 @@ export type DateFilter = NonNullable<FilterDefs<ProjectFilter>["date"]>;
|
|
|
62
62
|
export type DateRangeFilter = NonNullable<FilterDefs<ProjectFilter>["dateRange"]>;
|
|
63
63
|
export declare const stageFilter: StageFilter;
|
|
64
64
|
export declare const stageFilterDisabledOptions: StageFilter;
|
|
65
|
+
export declare const stageOnSearch: StageFilter;
|
|
65
66
|
export declare const stageSingleFilter: StageSingleFilter;
|
|
66
67
|
export declare const stageFilterWithNothingSelectedText: StageSingleFilter;
|
|
67
68
|
export declare const taskDueFilter: DateFilter;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ScheduleTypes = exports.TaskStatus = exports.taskCompleteFilter = exports.taskDueFilter = exports.stageFilterWithNothingSelectedText = exports.stageSingleFilter = exports.stageFilterDisabledOptions = exports.stageFilter = exports.Stage = void 0;
|
|
3
|
+
exports.ScheduleTypes = exports.TaskStatus = exports.taskCompleteFilter = exports.taskDueFilter = exports.stageFilterWithNothingSelectedText = exports.stageSingleFilter = exports.stageOnSearch = exports.stageFilterDisabledOptions = exports.stageFilter = exports.Stage = void 0;
|
|
4
4
|
const DateFilter_1 = require("./DateFilter");
|
|
5
5
|
const DateRangeFilter_1 = require("./DateRangeFilter");
|
|
6
6
|
const MultiFilter_1 = require("./MultiFilter");
|
|
@@ -25,6 +25,12 @@ exports.stageFilterDisabledOptions = (0, MultiFilter_1.multiFilter)({
|
|
|
25
25
|
getOptionLabel: (s) => s.name,
|
|
26
26
|
disabledOptions: [{ value: Stage.StageOne, reason: "I have a reason to be disabled." }, Stage.StageTwo],
|
|
27
27
|
});
|
|
28
|
+
exports.stageOnSearch = (0, MultiFilter_1.multiFilter)({
|
|
29
|
+
options: stageOptions,
|
|
30
|
+
getOptionValue: (s) => s.code,
|
|
31
|
+
getOptionLabel: (s) => s.name,
|
|
32
|
+
onSearch: () => { },
|
|
33
|
+
});
|
|
28
34
|
exports.stageSingleFilter = (0, SingleFilter_1.singleFilter)({
|
|
29
35
|
options: stageOptions,
|
|
30
36
|
getOptionValue: (s) => s.code,
|
|
@@ -191,6 +191,9 @@ function ComboBoxBase(props) {
|
|
|
191
191
|
const [debouncedSearch] = (0, use_debounce_1.useDebounce)(searchValue, 300);
|
|
192
192
|
// Reset inputValue when closed or selected changes
|
|
193
193
|
(0, react_1.useEffect)(() => {
|
|
194
|
+
// if we are using the onSearch functionality with debounceSearch, we don't want to reset the input value
|
|
195
|
+
if (onSearch && debouncedSearch)
|
|
196
|
+
return;
|
|
194
197
|
if (state.isOpen && multiselect) {
|
|
195
198
|
// While the multiselect is open, let the user keep typing
|
|
196
199
|
setFieldState((prevState) => ({
|
|
@@ -206,7 +209,16 @@ function ComboBoxBase(props) {
|
|
|
206
209
|
inputValue: getInputValue(selectedOptions, getOptionLabel, multiselect, nothingSelectedText, isReadOnly),
|
|
207
210
|
}));
|
|
208
211
|
}
|
|
209
|
-
}, [
|
|
212
|
+
}, [
|
|
213
|
+
state.isOpen,
|
|
214
|
+
selectedOptions,
|
|
215
|
+
getOptionLabel,
|
|
216
|
+
multiselect,
|
|
217
|
+
nothingSelectedText,
|
|
218
|
+
isReadOnly,
|
|
219
|
+
onSearch,
|
|
220
|
+
debouncedSearch,
|
|
221
|
+
]);
|
|
210
222
|
// Call on search callback when the user types in the input field
|
|
211
223
|
(0, react_1.useEffect)(() => {
|
|
212
224
|
onSearch === null || onSearch === void 0 ? void 0 : onSearch(debouncedSearch !== null && debouncedSearch !== void 0 ? debouncedSearch : "");
|