@true-engineering/true-react-common-ui-kit 3.48.0 → 3.49.0
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/README.md +8 -0
- package/dist/components/FiltersPane/types.d.ts +15 -5
- package/dist/true-react-common-ui-kit.js +19 -17
- package/dist/true-react-common-ui-kit.js.map +1 -1
- package/dist/true-react-common-ui-kit.umd.cjs +19 -17
- package/dist/true-react-common-ui-kit.umd.cjs.map +1 -1
- package/package.json +1 -1
- package/src/components/FiltersPane/components/FilterValueView/FilterValueView.tsx +19 -17
- package/src/components/FiltersPane/types.ts +23 -5
package/README.md
CHANGED
|
@@ -11,6 +11,14 @@
|
|
|
11
11
|
|
|
12
12
|
# Release Notes
|
|
13
13
|
|
|
14
|
+
## 3.49.0
|
|
15
|
+
|
|
16
|
+
### Changes
|
|
17
|
+
|
|
18
|
+
- **FiltersPane**: Добавлен `getSelectedValue` для удобного рендера значения в `custom`-фильтре с `valueViewType: 'multiple'`
|
|
19
|
+
- **FiltersPane**: Добавлен экспорт `ICustomComponentProps` для `CustomComponent` в `ICustomConfigItem`
|
|
20
|
+
- **FiltersPane**: Кастомный фильтр разделён на два типа `ICustomRangeConfigItem` и `ICustomMultipleConfigItem`
|
|
21
|
+
|
|
14
22
|
## 3.48.0
|
|
15
23
|
|
|
16
24
|
### Changes
|
|
@@ -54,20 +54,30 @@ export type IDateRangeConfigItem<Value> = IConfigItemBasicBase<Value> & {
|
|
|
54
54
|
type: 'dateRange';
|
|
55
55
|
dateFormat?: string;
|
|
56
56
|
} & Omit<IFilterWithPeriodProps, 'value' | 'onChange' | 'setIsOpen'>;
|
|
57
|
-
export
|
|
57
|
+
export interface ICustomComponentProps<Value> {
|
|
58
58
|
value?: Value;
|
|
59
59
|
onChange: (v?: Value) => void;
|
|
60
60
|
onClose?: () => void;
|
|
61
61
|
filter: ICustomConfigItem<Value>;
|
|
62
62
|
localeKey?: IFilterLocaleKey;
|
|
63
63
|
locale?: IPartialFilterLocale;
|
|
64
|
-
}
|
|
65
|
-
export
|
|
66
|
-
|
|
64
|
+
}
|
|
65
|
+
export type CustomComponent<Value> = FC<ICustomComponentProps<Value>>;
|
|
66
|
+
export type ICustomValue<V> = V extends Array<infer T> ? T : never;
|
|
67
|
+
export interface ICustomRangeConfigItem<Value> extends IConfigItemBasicBase<Value> {
|
|
68
|
+
[key: string & {}]: any;
|
|
69
|
+
type: 'custom';
|
|
70
|
+
component: CustomComponent<Value>;
|
|
71
|
+
valueViewType?: 'range';
|
|
72
|
+
}
|
|
73
|
+
export interface ICustomMultipleConfigItem<Value> extends IConfigItemBasicBase<Value> {
|
|
74
|
+
[key: string & {}]: any;
|
|
67
75
|
type: 'custom';
|
|
68
76
|
component: CustomComponent<Value>;
|
|
69
|
-
valueViewType?: '
|
|
77
|
+
valueViewType?: 'multiple';
|
|
78
|
+
getSelectedValue?: (v: ICustomValue<Value>) => ReactNode;
|
|
70
79
|
}
|
|
80
|
+
export type ICustomConfigItem<Value> = ICustomRangeConfigItem<Value> | ICustomMultipleConfigItem<Value>;
|
|
71
81
|
export type ConfigItem<Value> = ISelectConfigItem<Value> | IMultiSelectConfigItem<Value> | ICustomConfigItem<Value> | IDateRangeWithoutPeriodConfigItem<Value> | IDateRangeConfigItem<Value> | IIntervalConfigItem<Value> | IBooleanConfigItem<Value>;
|
|
72
82
|
export type ConfigType<Values> = {
|
|
73
83
|
[K in keyof Values]: ConfigItem<Values[K]>;
|
|
@@ -19060,7 +19060,7 @@ function FilterValueView(param) {
|
|
|
19060
19060
|
if (isEmpty(value)) {
|
|
19061
19061
|
return /* @__PURE__ */ jsx(Fragment, {});
|
|
19062
19062
|
}
|
|
19063
|
-
if (filter.getSelectedValueView
|
|
19063
|
+
if (isNotEmpty(filter.getSelectedValueView)) {
|
|
19064
19064
|
return /* @__PURE__ */ jsx("span", {
|
|
19065
19065
|
className: classes.text,
|
|
19066
19066
|
children: filter.getSelectedValueView(value)
|
|
@@ -19129,22 +19129,6 @@ function FilterValueView(param) {
|
|
|
19129
19129
|
children: intervals.join(" ")
|
|
19130
19130
|
});
|
|
19131
19131
|
}
|
|
19132
|
-
if (isMultiple) {
|
|
19133
|
-
return /* @__PURE__ */ jsx(Fragment, {
|
|
19134
|
-
children: Array.isArray(value) && value.length > 0 && /* @__PURE__ */ jsxs(Fragment, {
|
|
19135
|
-
children: [
|
|
19136
|
-
/* @__PURE__ */ jsx("span", {
|
|
19137
|
-
className: classes.text,
|
|
19138
|
-
children: displayValue(value[0])
|
|
19139
|
-
}),
|
|
19140
|
-
/* @__PURE__ */ jsx("span", {
|
|
19141
|
-
className: classes.count,
|
|
19142
|
-
children: value.length > 1 && " (+".concat(value.length - 1, ")")
|
|
19143
|
-
})
|
|
19144
|
-
]
|
|
19145
|
-
})
|
|
19146
|
-
});
|
|
19147
|
-
}
|
|
19148
19132
|
if (isDate) {
|
|
19149
19133
|
var from = value.from, to = value.to, periodType = value.periodType, label = value.label;
|
|
19150
19134
|
var hasFrom = from !== void 0 && from !== null;
|
|
@@ -19175,6 +19159,24 @@ function FilterValueView(param) {
|
|
|
19175
19159
|
children: range.join(" ")
|
|
19176
19160
|
});
|
|
19177
19161
|
}
|
|
19162
|
+
if (isMultiple) {
|
|
19163
|
+
var _filter_getSelectedValue;
|
|
19164
|
+
var convertValue = (_filter_getSelectedValue = filter.getSelectedValue) !== null && _filter_getSelectedValue !== void 0 ? _filter_getSelectedValue : displayValue;
|
|
19165
|
+
return /* @__PURE__ */ jsx(Fragment, {
|
|
19166
|
+
children: Array.isArray(value) && value.length > 0 && /* @__PURE__ */ jsxs(Fragment, {
|
|
19167
|
+
children: [
|
|
19168
|
+
/* @__PURE__ */ jsx("span", {
|
|
19169
|
+
className: classes.text,
|
|
19170
|
+
children: convertValue(value[0])
|
|
19171
|
+
}),
|
|
19172
|
+
/* @__PURE__ */ jsx("span", {
|
|
19173
|
+
className: classes.count,
|
|
19174
|
+
children: value.length > 1 && " (+".concat(value.length - 1, ")")
|
|
19175
|
+
})
|
|
19176
|
+
]
|
|
19177
|
+
})
|
|
19178
|
+
});
|
|
19179
|
+
}
|
|
19178
19180
|
if (isRange && Array.isArray(value)) {
|
|
19179
19181
|
var rangeValue = value;
|
|
19180
19182
|
var rangeValueFrom = rangeValue[0];
|