draft-components 1.9.0 → 1.10.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.
- package/cjs/components/filtered-search/string-set-filter-item.cjs +11 -11
- package/css/draft-components.css +1 -0
- package/esm/components/filtered-search/string-set-filter-item.js +11 -11
- package/package.json +1 -1
- package/types/components/filtered-search/index.d.ts +2 -2
- package/types/components/filtered-search/model/string-set-filter.d.ts +1 -0
- package/types/components/filtered-search/string-set-filter-item.d.ts +1 -1
|
@@ -15,7 +15,7 @@ function StringSetFilterItem({ filter, isEditing, onEditStart, onEditCancel, onR
|
|
|
15
15
|
const translations = useTranslations.useTranslations();
|
|
16
16
|
const [filterOperator, setFilterOperator] = react.useState(filter.operator);
|
|
17
17
|
const [filterValue, setFilterValue] = react.useState(filter.value);
|
|
18
|
-
const { label, values, operators, operatorSelectAccessibleName, valueFormatter: formatValue = defaultValueFormatter, operatorFormatter: formatOperator = defaultOperatorFormatter, } = filter.config;
|
|
18
|
+
const { label, values, operators, operatorSelectAccessibleName, valueFormatter: formatValue = defaultValueFormatter, valuesFormatter: formatValues = defaultValuesFormatter, operatorFormatter: formatOperator = defaultOperatorFormatter, } = filter.config;
|
|
19
19
|
const cancelEdit = () => {
|
|
20
20
|
onEditCancel(filter);
|
|
21
21
|
};
|
|
@@ -44,23 +44,16 @@ function StringSetFilterItem({ filter, isEditing, onEditStart, onEditCancel, onR
|
|
|
44
44
|
}
|
|
45
45
|
onChange(changedFilter);
|
|
46
46
|
};
|
|
47
|
-
const anchor = (jsxRuntime.jsxs(filterToken.FilterToken, { isHighlighted: isEditing, onClickLabel: startEdit, onClickCloseButton: onClickCloseButton, children: [label, filter.value.length > 0 ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: ["\u00A0", jsxRuntime.jsx("span", { children: formatOperator(filter.operator) }), "\u00A0", jsxRuntime.jsx("b", { children:
|
|
47
|
+
const anchor = (jsxRuntime.jsxs(filterToken.FilterToken, { isHighlighted: isEditing, onClickLabel: startEdit, onClickCloseButton: onClickCloseButton, children: [label, filter.value.length > 0 ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: ["\u00A0", jsxRuntime.jsx("span", { children: formatOperator(filter.operator) }), "\u00A0", jsxRuntime.jsx("b", { children: formatValues(filter.value) })] })) : null] }));
|
|
48
48
|
return (jsxRuntime.jsx(popover.Popover, { className: "dc-filter-popover", anchor: anchor, anchorGap: 2, transitionDurationMs: 0, isOpen: isEditing, onClose: cancelEdit, children: jsxRuntime.jsxs("form", { className: "dc-filter-form", onSubmit: onSubmit, children: [jsxRuntime.jsx(filterOperatorSelect.FilterOperatorSelect, { className: "dc-filter-form__operator", accessibleName: operatorSelectAccessibleName, label: label, values: operators, value: filterOperator, onChange: setFilterOperator, formatValue: formatOperator }), jsxRuntime.jsx(filterValueList.FilterValueList, { className: "dc-filter-form__value-list", values: values, checkedValues: filterValue, onChangeCheckedValues: setFilterValue, formatValue: formatValue }), jsxRuntime.jsxs("div", { className: "dc-filter-form__buttons", children: [jsxRuntime.jsx(button.Button, { variant: "plain", type: "button", onClick: cancelEdit, children: translations.cancelButton }), jsxRuntime.jsx(button.Button, { appearance: "primary", type: "submit", disabled: filterValue.length < 1, children: translations.applyButton })] })] }) }));
|
|
49
49
|
}
|
|
50
50
|
StringSetFilterItem.defaultValueFormatter = defaultValueFormatter;
|
|
51
|
+
StringSetFilterItem.defaultValuesFormatter = defaultValuesFormatter;
|
|
51
52
|
StringSetFilterItem.defaultOperatorFormatter = defaultOperatorFormatter;
|
|
52
|
-
StringSetFilterItem.formatFilterValue = formatFilterValue;
|
|
53
53
|
function defaultValueFormatter(value) {
|
|
54
54
|
return value[0].toUpperCase() + value.slice(1);
|
|
55
55
|
}
|
|
56
|
-
function
|
|
57
|
-
const messages = {
|
|
58
|
-
[stringSetFilter.StringSetFilter.Operators.in]: 'is',
|
|
59
|
-
[stringSetFilter.StringSetFilter.Operators.notIn]: 'is not',
|
|
60
|
-
};
|
|
61
|
-
return messages[operator];
|
|
62
|
-
}
|
|
63
|
-
function formatFilterValue(values) {
|
|
56
|
+
function defaultValuesFormatter(values) {
|
|
64
57
|
const list = values.map(defaultValueFormatter);
|
|
65
58
|
if (list.length <= 1) {
|
|
66
59
|
return list.toString();
|
|
@@ -73,5 +66,12 @@ function formatFilterValue(values) {
|
|
|
73
66
|
}
|
|
74
67
|
return list.slice(0, 2).join(', ') + `, and ${list.length - 2} more`;
|
|
75
68
|
}
|
|
69
|
+
function defaultOperatorFormatter(operator) {
|
|
70
|
+
const messages = {
|
|
71
|
+
[stringSetFilter.StringSetFilter.Operators.in]: 'is',
|
|
72
|
+
[stringSetFilter.StringSetFilter.Operators.notIn]: 'is not',
|
|
73
|
+
};
|
|
74
|
+
return messages[operator];
|
|
75
|
+
}
|
|
76
76
|
|
|
77
77
|
exports.StringSetFilterItem = StringSetFilterItem;
|
package/css/draft-components.css
CHANGED
|
@@ -13,7 +13,7 @@ function StringSetFilterItem({ filter, isEditing, onEditStart, onEditCancel, onR
|
|
|
13
13
|
const translations = useTranslations();
|
|
14
14
|
const [filterOperator, setFilterOperator] = useState(filter.operator);
|
|
15
15
|
const [filterValue, setFilterValue] = useState(filter.value);
|
|
16
|
-
const { label, values, operators, operatorSelectAccessibleName, valueFormatter: formatValue = defaultValueFormatter, operatorFormatter: formatOperator = defaultOperatorFormatter, } = filter.config;
|
|
16
|
+
const { label, values, operators, operatorSelectAccessibleName, valueFormatter: formatValue = defaultValueFormatter, valuesFormatter: formatValues = defaultValuesFormatter, operatorFormatter: formatOperator = defaultOperatorFormatter, } = filter.config;
|
|
17
17
|
const cancelEdit = () => {
|
|
18
18
|
onEditCancel(filter);
|
|
19
19
|
};
|
|
@@ -42,23 +42,16 @@ function StringSetFilterItem({ filter, isEditing, onEditStart, onEditCancel, onR
|
|
|
42
42
|
}
|
|
43
43
|
onChange(changedFilter);
|
|
44
44
|
};
|
|
45
|
-
const anchor = (jsxs(FilterToken, { isHighlighted: isEditing, onClickLabel: startEdit, onClickCloseButton: onClickCloseButton, children: [label, filter.value.length > 0 ? (jsxs(Fragment, { children: ["\u00A0", jsx("span", { children: formatOperator(filter.operator) }), "\u00A0", jsx("b", { children:
|
|
45
|
+
const anchor = (jsxs(FilterToken, { isHighlighted: isEditing, onClickLabel: startEdit, onClickCloseButton: onClickCloseButton, children: [label, filter.value.length > 0 ? (jsxs(Fragment, { children: ["\u00A0", jsx("span", { children: formatOperator(filter.operator) }), "\u00A0", jsx("b", { children: formatValues(filter.value) })] })) : null] }));
|
|
46
46
|
return (jsx(Popover, { className: "dc-filter-popover", anchor: anchor, anchorGap: 2, transitionDurationMs: 0, isOpen: isEditing, onClose: cancelEdit, children: jsxs("form", { className: "dc-filter-form", onSubmit: onSubmit, children: [jsx(FilterOperatorSelect, { className: "dc-filter-form__operator", accessibleName: operatorSelectAccessibleName, label: label, values: operators, value: filterOperator, onChange: setFilterOperator, formatValue: formatOperator }), jsx(FilterValueList, { className: "dc-filter-form__value-list", values: values, checkedValues: filterValue, onChangeCheckedValues: setFilterValue, formatValue: formatValue }), jsxs("div", { className: "dc-filter-form__buttons", children: [jsx(Button, { variant: "plain", type: "button", onClick: cancelEdit, children: translations.cancelButton }), jsx(Button, { appearance: "primary", type: "submit", disabled: filterValue.length < 1, children: translations.applyButton })] })] }) }));
|
|
47
47
|
}
|
|
48
48
|
StringSetFilterItem.defaultValueFormatter = defaultValueFormatter;
|
|
49
|
+
StringSetFilterItem.defaultValuesFormatter = defaultValuesFormatter;
|
|
49
50
|
StringSetFilterItem.defaultOperatorFormatter = defaultOperatorFormatter;
|
|
50
|
-
StringSetFilterItem.formatFilterValue = formatFilterValue;
|
|
51
51
|
function defaultValueFormatter(value) {
|
|
52
52
|
return value[0].toUpperCase() + value.slice(1);
|
|
53
53
|
}
|
|
54
|
-
function
|
|
55
|
-
const messages = {
|
|
56
|
-
[StringSetFilter.Operators.in]: 'is',
|
|
57
|
-
[StringSetFilter.Operators.notIn]: 'is not',
|
|
58
|
-
};
|
|
59
|
-
return messages[operator];
|
|
60
|
-
}
|
|
61
|
-
function formatFilterValue(values) {
|
|
54
|
+
function defaultValuesFormatter(values) {
|
|
62
55
|
const list = values.map(defaultValueFormatter);
|
|
63
56
|
if (list.length <= 1) {
|
|
64
57
|
return list.toString();
|
|
@@ -71,5 +64,12 @@ function formatFilterValue(values) {
|
|
|
71
64
|
}
|
|
72
65
|
return list.slice(0, 2).join(', ') + `, and ${list.length - 2} more`;
|
|
73
66
|
}
|
|
67
|
+
function defaultOperatorFormatter(operator) {
|
|
68
|
+
const messages = {
|
|
69
|
+
[StringSetFilter.Operators.in]: 'is',
|
|
70
|
+
[StringSetFilter.Operators.notIn]: 'is not',
|
|
71
|
+
};
|
|
72
|
+
return messages[operator];
|
|
73
|
+
}
|
|
74
74
|
|
|
75
75
|
export { StringSetFilterItem };
|
package/package.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { FilteredSearch, type FilteredSearchProps, type FilteredSearchBaseProps, type FilteredSearchHTMLProps, } from './filtered-search';
|
|
2
2
|
export { type Filter, type FilterConfig, } from './types';
|
|
3
|
-
export { StringFilter, type StringFilterState, type StringFilterConfig, } from './model/string-filter';
|
|
4
|
-
export { StringSetFilter, type StringSetFilterState, type StringSetFilterConfig, } from './model/string-set-filter';
|
|
3
|
+
export { StringFilter, type StringFilterState, type StringFilterConfig, type StringFilterOperator, } from './model/string-filter';
|
|
4
|
+
export { StringSetFilter, type StringSetFilterState, type StringSetFilterConfig, type StringSetFilterOperator, } from './model/string-set-filter';
|
|
@@ -12,6 +12,7 @@ export type StringSetFilterConfig = {
|
|
|
12
12
|
label: string;
|
|
13
13
|
values: string[];
|
|
14
14
|
valueFormatter?: (value: string) => string;
|
|
15
|
+
valuesFormatter?: (values: string[]) => string;
|
|
15
16
|
operatorSelectAccessibleName?: string;
|
|
16
17
|
operators: StringSetFilterOperator[];
|
|
17
18
|
operatorFormatter?: (operator: StringSetFilterOperator) => string;
|
|
@@ -10,6 +10,6 @@ export type StringSetFilterItemProps = {
|
|
|
10
10
|
export declare function StringSetFilterItem({ filter, isEditing, onEditStart, onEditCancel, onRemove, onChange, }: StringSetFilterItemProps): import("react/jsx-runtime").JSX.Element;
|
|
11
11
|
export declare namespace StringSetFilterItem {
|
|
12
12
|
var defaultValueFormatter: (value: string) => string;
|
|
13
|
+
var defaultValuesFormatter: (values: string[]) => string;
|
|
13
14
|
var defaultOperatorFormatter: (operator: StringSetFilterOperator) => string;
|
|
14
|
-
var formatFilterValue: (values: string[]) => string;
|
|
15
15
|
}
|