@ahoo-wang/fetcher-viewer 2.13.1 → 2.13.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/README.md +7 -10
- package/dist/components/stories/NumberRange.stories.d.ts +13 -0
- package/dist/components/stories/NumberRange.stories.d.ts.map +1 -0
- package/dist/components/stories/TagInput.stories.d.ts +17 -0
- package/dist/components/stories/TagInput.stories.d.ts.map +1 -0
- package/dist/filter/TypedFilter.d.ts.map +1 -1
- package/dist/filter/panel/AvailableFilterSelect.d.ts +22 -0
- package/dist/filter/panel/AvailableFilterSelect.d.ts.map +1 -0
- package/dist/filter/panel/AvailableFilterSelectModal.d.ts +8 -0
- package/dist/filter/panel/AvailableFilterSelectModal.d.ts.map +1 -0
- package/dist/filter/panel/EditableFilterPanel.d.ts +7 -0
- package/dist/filter/panel/EditableFilterPanel.d.ts.map +1 -0
- package/dist/filter/panel/FilterPanel.d.ts +18 -0
- package/dist/filter/panel/FilterPanel.d.ts.map +1 -0
- package/dist/filter/panel/RemovableTypedFilter.d.ts +6 -0
- package/dist/filter/panel/RemovableTypedFilter.d.ts.map +1 -0
- package/dist/filter/panel/index.d.ts +6 -0
- package/dist/filter/panel/index.d.ts.map +1 -0
- package/dist/filter/panel/stories/AvailableFilterSelect.stories.d.ts +7 -0
- package/dist/filter/panel/stories/AvailableFilterSelect.stories.d.ts.map +1 -0
- package/dist/filter/panel/stories/AvailableFilterSelectModal.stories.d.ts +7 -0
- package/dist/filter/panel/stories/AvailableFilterSelectModal.stories.d.ts.map +1 -0
- package/dist/filter/panel/stories/EditableFilterPanel.stories.d.ts +11 -0
- package/dist/filter/panel/stories/EditableFilterPanel.stories.d.ts.map +1 -0
- package/dist/filter/panel/stories/FilterPanel.stories.d.ts +11 -0
- package/dist/filter/panel/stories/FilterPanel.stories.d.ts.map +1 -0
- package/dist/filter/stories/FallbackFilter.stories.d.ts +10 -0
- package/dist/filter/stories/FallbackFilter.stories.d.ts.map +1 -0
- package/dist/filter/stories/IdFilter.stories.d.ts +13 -0
- package/dist/filter/stories/IdFilter.stories.d.ts.map +1 -0
- package/dist/filter/stories/NumberFilter.stories.d.ts +15 -0
- package/dist/filter/stories/NumberFilter.stories.d.ts.map +1 -0
- package/dist/filter/stories/TextFilter.stories.d.ts +14 -0
- package/dist/filter/stories/TextFilter.stories.d.ts.map +1 -0
- package/dist/filter/stories/TypedFilter.stories.d.ts +11 -0
- package/dist/filter/stories/TypedFilter.stories.d.ts.map +1 -0
- package/dist/filter/types.d.ts +2 -2
- package/dist/filter/types.d.ts.map +1 -1
- package/dist/index.es.js +4 -4
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -24,23 +24,20 @@
|
|
|
24
24
|
- extra
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
## Filter
|
|
27
|
+
## Filter Panel
|
|
28
28
|
|
|
29
|
-
-
|
|
30
|
-
-
|
|
29
|
+
- availableFilters
|
|
30
|
+
- filters
|
|
31
31
|
- actions
|
|
32
32
|
- search
|
|
33
|
-
-
|
|
34
|
-
-
|
|
33
|
+
- addFilter
|
|
34
|
+
- removeFilter
|
|
35
|
+
- addGroupFilter
|
|
35
36
|
- group: and , or , nor
|
|
36
|
-
- friendly
|
|
37
37
|
|
|
38
|
-
###
|
|
38
|
+
### Filter
|
|
39
39
|
|
|
40
40
|
- type
|
|
41
|
-
- filter friendly
|
|
42
|
-
- actions
|
|
43
|
-
- reset
|
|
44
41
|
|
|
45
42
|
## Table
|
|
46
43
|
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { NumberRange } from '../NumberRange';
|
|
3
|
+
declare const meta: Meta<typeof NumberRange>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof meta>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
export declare const WithDefaultValues: Story;
|
|
8
|
+
export declare const WithConstraints: Story;
|
|
9
|
+
export declare const WithPrecision: Story;
|
|
10
|
+
export declare const CustomPlaceholders: Story;
|
|
11
|
+
export declare const WithChangeHandler: Story;
|
|
12
|
+
export declare const LargeRange: Story;
|
|
13
|
+
//# sourceMappingURL=NumberRange.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NumberRange.stories.d.ts","sourceRoot":"","sources":["../../../src/components/stories/NumberRange.stories.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,WAAW,CAuClC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAQ/B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAU7B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAS3B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,KAQhC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAe/B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAUxB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { TagInput } from '../TagInput';
|
|
3
|
+
declare const meta: Meta<typeof TagInput>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof meta>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
export declare const WithDefaultValues: Story;
|
|
8
|
+
export declare const NumberTags: Story;
|
|
9
|
+
export declare const NumberTagsWithDefaults: Story;
|
|
10
|
+
export declare const CustomSeparators: Story;
|
|
11
|
+
export declare const MaxTagCount: Story;
|
|
12
|
+
export declare const Disabled: Story;
|
|
13
|
+
export declare const NoClear: Story;
|
|
14
|
+
export declare const WithChangeHandler: Story;
|
|
15
|
+
export declare const EmailTags: Story;
|
|
16
|
+
export declare const CompactLayout: Story;
|
|
17
|
+
//# sourceMappingURL=TagInput.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TagInput.stories.d.ts","sourceRoot":"","sources":["../../../src/components/stories/TagInput.stories.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAgC,MAAM,aAAa,CAAC;AAErE,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,QAAQ,CAa/B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAWrB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAe/B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAaxB,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,KAapC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAY9B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAkBzB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAYtB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAYrB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAmB/B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAavB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAY3B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypedFilter.d.ts","sourceRoot":"","sources":["../../src/filter/TypedFilter.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAItC,MAAM,
|
|
1
|
+
{"version":3,"file":"TypedFilter.d.ts","sourceRoot":"","sources":["../../src/filter/TypedFilter.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAItC,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAEhC,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAGlD;yBAHe,WAAW"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { FilterField } from '../types';
|
|
2
|
+
import { FilterType } from '../TypedFilter';
|
|
3
|
+
import { StyleCapable } from '../../types';
|
|
4
|
+
import { RefAttributes } from 'react';
|
|
5
|
+
import { ActiveFilter } from './FilterPanel';
|
|
6
|
+
export interface AvailableFilter {
|
|
7
|
+
field: FilterField;
|
|
8
|
+
component: FilterType;
|
|
9
|
+
}
|
|
10
|
+
export interface AvailableFilterGroup {
|
|
11
|
+
label: string;
|
|
12
|
+
filters: AvailableFilter[];
|
|
13
|
+
}
|
|
14
|
+
export interface AvailableFilterSelectRef {
|
|
15
|
+
getValue(): AvailableFilter[];
|
|
16
|
+
}
|
|
17
|
+
export interface AvailableFilterSelectProps extends StyleCapable, RefAttributes<AvailableFilterSelectRef> {
|
|
18
|
+
filters: AvailableFilterGroup[];
|
|
19
|
+
activeFilters?: ActiveFilter[];
|
|
20
|
+
}
|
|
21
|
+
export declare function AvailableFilterSelect(props: AvailableFilterSelectProps): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
//# sourceMappingURL=AvailableFilterSelect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AvailableFilterSelect.d.ts","sourceRoot":"","sources":["../../../src/filter/panel/AvailableFilterSelect.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,aAAa,EAA4C,MAAM,OAAO,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,UAAU,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,IAAI,eAAe,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,0BAA2B,SAAQ,YAAY,EAAE,aAAa,CAAC,wBAAwB,CAAC;IACvG,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;CAChC;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,2CAqDtE"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ModalProps } from 'antd';
|
|
2
|
+
import { AvailableFilter, AvailableFilterSelectProps } from './AvailableFilterSelect';
|
|
3
|
+
export interface AvailableFiltersModalProps extends Omit<ModalProps, 'onOk'> {
|
|
4
|
+
availableFilters: Omit<AvailableFilterSelectProps, 'ref'>;
|
|
5
|
+
onSave?: (filters: AvailableFilter[]) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare function AvailableFilterSelectModal(props: AvailableFiltersModalProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
//# sourceMappingURL=AvailableFilterSelectModal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AvailableFilterSelectModal.d.ts","sourceRoot":"","sources":["../../../src/filter/panel/AvailableFilterSelectModal.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAS,UAAU,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,EAAE,eAAe,EAAyB,0BAA0B,EAA4B,MAAM,yBAAyB,CAAC;AAGvI,MAAM,WAAW,0BAA2B,SAAQ,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC;IAC1E,gBAAgB,EAAE,IAAI,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;IAC1D,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,IAAI,CAAC;CAC/C;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,0BAA0B,2CAU3E"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AvailableFilterGroup } from './AvailableFilterSelect';
|
|
2
|
+
import { FilterPanelProps } from './FilterPanel';
|
|
3
|
+
export interface EditableFilterPanelProps extends Omit<FilterPanelProps, 'actions'> {
|
|
4
|
+
availableFilters: AvailableFilterGroup[];
|
|
5
|
+
}
|
|
6
|
+
export declare function EditableFilterPanel(props: EditableFilterPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
//# sourceMappingURL=EditableFilterPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EditableFilterPanel.d.ts","sourceRoot":"","sources":["../../../src/filter/panel/EditableFilterPanel.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,yBAAyB,CAAC;AAGhF,OAAO,EAAgB,gBAAgB,EAAe,MAAM,eAAe,CAAC;AAE5E,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC;IACjF,gBAAgB,EAAE,oBAAoB,EAAE,CAAC;CAC1C;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,2CAoDlE"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { default as React, Key } from 'react';
|
|
2
|
+
import { TypedFilterProps } from '../TypedFilter';
|
|
3
|
+
import { StyleCapable } from '../../types';
|
|
4
|
+
import { Condition } from '@ahoo-wang/fetcher-wow';
|
|
5
|
+
import { ColProps } from 'antd';
|
|
6
|
+
export interface ActiveFilter extends Omit<TypedFilterProps, 'onChange' | 'ref'> {
|
|
7
|
+
key: Key;
|
|
8
|
+
onRemove?: () => void;
|
|
9
|
+
}
|
|
10
|
+
export interface FilterPanelProps extends StyleCapable {
|
|
11
|
+
filters: ActiveFilter[];
|
|
12
|
+
actions?: React.ReactNode;
|
|
13
|
+
onSearch?: (condition: Condition) => void;
|
|
14
|
+
colSpan?: ColProps['span'];
|
|
15
|
+
loading?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export declare function FilterPanel(props: FilterPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
//# sourceMappingURL=FilterPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterPanel.d.ts","sourceRoot":"","sources":["../../../src/filter/panel/FilterPanel.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAO,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAA2B,QAAQ,EAAE,MAAM,MAAM,CAAC;AAKzD,MAAM,WAAW,YACf,SAAQ,IAAI,CAAC,gBAAgB,EAAE,UAAU,GAAG,KAAK,CAAC;IAClD,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACpD,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CA+ClD"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { TypedFilterProps } from '../TypedFilter';
|
|
2
|
+
export interface RemovableTypedFilterProps extends TypedFilterProps {
|
|
3
|
+
onRemove?: () => void;
|
|
4
|
+
}
|
|
5
|
+
export declare function RemovableTypedFilter(props: RemovableTypedFilterProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
//# sourceMappingURL=RemovableTypedFilter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RemovableTypedFilter.d.ts","sourceRoot":"","sources":["../../../src/filter/panel/RemovableTypedFilter.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAe,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAK/D,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IACjE,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,2CAcpE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/filter/panel/index.ts"],"names":[],"mappings":"AAaA,cAAc,yBAAyB,CAAA;AACvC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,uBAAuB,CAAA;AACrC,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { AvailableFilterSelect } from '../AvailableFilterSelect';
|
|
3
|
+
declare const meta: Meta<typeof AvailableFilterSelect>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof meta>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
//# sourceMappingURL=AvailableFilterSelect.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AvailableFilterSelect.stories.d.ts","sourceRoot":"","sources":["../../../../src/filter/panel/stories/AvailableFilterSelect.stories.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EACL,qBAAqB,EAGtB,MAAM,0BAA0B,CAAC;AAGlC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,qBAAqB,CA0B5C,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAoCnC,eAAO,MAAM,OAAO,EAAE,KAiCrB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { AvailableFilterSelectModal } from '../AvailableFilterSelectModal';
|
|
3
|
+
declare const meta: Meta<typeof AvailableFilterSelectModal>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof meta>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
//# sourceMappingURL=AvailableFilterSelectModal.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AvailableFilterSelectModal.stories.d.ts","sourceRoot":"","sources":["../../../../src/filter/panel/stories/AvailableFilterSelectModal.stories.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAG3E,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,0BAA0B,CAOjD,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AA+BnC,eAAO,MAAM,OAAO,EAAE,KAOrB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { EditableFilterPanelProps } from '../EditableFilterPanel';
|
|
3
|
+
declare function EditableFilterPanelDemo(props: EditableFilterPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
declare const meta: Meta<typeof EditableFilterPanelDemo>;
|
|
5
|
+
export default meta;
|
|
6
|
+
type Story = StoryObj<typeof meta>;
|
|
7
|
+
export declare const Default: Story;
|
|
8
|
+
export declare const WithInitialFilters: Story;
|
|
9
|
+
export declare const CustomColSpan: Story;
|
|
10
|
+
export declare const MultipleGroups: Story;
|
|
11
|
+
//# sourceMappingURL=EditableFilterPanel.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EditableFilterPanel.stories.d.ts","sourceRoot":"","sources":["../../../../src/filter/panel/stories/EditableFilterPanel.stories.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAEL,wBAAwB,EACzB,MAAM,wBAAwB,CAAC;AAMhC,iBAAS,uBAAuB,CAAC,KAAK,EAAE,wBAAwB,2CAa/D;AAED,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,uBAAuB,CAa9C,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAuDnC,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,KAqBhC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAM3B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KA4B5B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { FilterPanelProps } from '../FilterPanel';
|
|
3
|
+
declare function FilterPanelDemo(props: FilterPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
declare const meta: Meta<typeof FilterPanelDemo>;
|
|
5
|
+
export default meta;
|
|
6
|
+
type Story = StoryObj<typeof meta>;
|
|
7
|
+
export declare const Default: Story;
|
|
8
|
+
export declare const WithActions: Story;
|
|
9
|
+
export declare const CustomColSpan: Story;
|
|
10
|
+
export declare const MultipleFilters: Story;
|
|
11
|
+
//# sourceMappingURL=FilterPanel.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterPanel.stories.d.ts","sourceRoot":"","sources":["../../../../src/filter/panel/stories/FilterPanel.stories.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAe,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAK/D,iBAAS,eAAe,CAAC,KAAK,EAAE,gBAAgB,2CAW/C;AAED,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,eAAe,CAatC,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAmCrB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAqBzB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAqB3B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAkD7B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { FallbackFilter } from '../FallbackFilter';
|
|
3
|
+
declare const meta: Meta<typeof FallbackFilter>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof meta>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
export declare const CustomType: Story;
|
|
8
|
+
export declare const WithComplexType: Story;
|
|
9
|
+
export declare const EmptyType: Story;
|
|
10
|
+
//# sourceMappingURL=FallbackFilter.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FallbackFilter.stories.d.ts","sourceRoot":"","sources":["../../../src/filter/stories/FallbackFilter.stories.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,cAAc,CAarC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAiBrB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAiBxB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAiB7B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAiBvB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { IdFilter } from '../IdFilter';
|
|
3
|
+
declare const meta: Meta<typeof IdFilter>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof meta>;
|
|
6
|
+
export declare const SingleId: Story;
|
|
7
|
+
export declare const MultipleIds: Story;
|
|
8
|
+
export declare const SingleIdWithPlaceholder: Story;
|
|
9
|
+
export declare const MultipleIdsWithDefaults: Story;
|
|
10
|
+
export declare const EmptyMultipleIds: Story;
|
|
11
|
+
export declare const WithChangeHandler: Story;
|
|
12
|
+
export declare const MultipleWithChangeHandler: Story;
|
|
13
|
+
//# sourceMappingURL=IdFilter.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IdFilter.stories.d.ts","sourceRoot":"","sources":["../../../src/filter/stories/IdFilter.stories.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,QAAQ,CAa/B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,QAAQ,EAAE,KAmBtB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAmBzB,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,KAoBrC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,KAmBrC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAoB9B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KA0B/B,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,KA6BvC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { NumberFilter } from '../NumberFilter';
|
|
3
|
+
declare const meta: Meta<typeof NumberFilter>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof meta>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
export declare const GreaterThan: Story;
|
|
8
|
+
export declare const LessThanOrEqual: Story;
|
|
9
|
+
export declare const Between: Story;
|
|
10
|
+
export declare const InOperator: Story;
|
|
11
|
+
export declare const NotInOperator: Story;
|
|
12
|
+
export declare const WithConstraints: Story;
|
|
13
|
+
export declare const WithPrecision: Story;
|
|
14
|
+
export declare const WithChangeHandler: Story;
|
|
15
|
+
//# sourceMappingURL=NumberFilter.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NumberFilter.stories.d.ts","sourceRoot":"","sources":["../../../src/filter/stories/NumberFilter.stories.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,YAAY,CAanC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAmBrB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAmBzB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAmB7B,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAmBrB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAmBxB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAmB3B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAoB7B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAoB3B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KA0B/B,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { TextFilter } from '../TextFilter';
|
|
3
|
+
declare const meta: Meta<typeof TextFilter>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof meta>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
export declare const Contains: Story;
|
|
8
|
+
export declare const StartsWith: Story;
|
|
9
|
+
export declare const EndsWith: Story;
|
|
10
|
+
export declare const InOperator: Story;
|
|
11
|
+
export declare const NotInOperator: Story;
|
|
12
|
+
export declare const WithPlaceholder: Story;
|
|
13
|
+
export declare const WithChangeHandler: Story;
|
|
14
|
+
//# sourceMappingURL=TextFilter.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextFilter.stories.d.ts","sourceRoot":"","sources":["../../../src/filter/stories/TextFilter.stories.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,UAAU,CAajC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAmBrB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAmBtB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAmBxB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAmBtB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAmBxB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAmB3B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAoB7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KA0B/B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { TypedFilter } from '../TypedFilter';
|
|
3
|
+
declare const meta: Meta<typeof TypedFilter>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof meta>;
|
|
6
|
+
export declare const TextFilter: Story;
|
|
7
|
+
export declare const NumberFilter: Story;
|
|
8
|
+
export declare const IdFilter: Story;
|
|
9
|
+
export declare const UnsupportedType: Story;
|
|
10
|
+
export declare const WithChangeHandler: Story;
|
|
11
|
+
//# sourceMappingURL=TypedFilter.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TypedFilter.stories.d.ts","sourceRoot":"","sources":["../../../src/filter/stories/TypedFilter.stories.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,WAAW,CAalC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,UAAU,EAAE,KAoBxB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAoB1B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAoBtB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAoB7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KA2B/B,CAAC"}
|
package/dist/filter/types.d.ts
CHANGED
|
@@ -28,8 +28,8 @@ export interface FilterValue extends ConditionCapable {
|
|
|
28
28
|
export interface FilterProps<ValueType = any> extends AttributesCapable, RefAttributes<FilterRef> {
|
|
29
29
|
field: FilterField;
|
|
30
30
|
label?: LabelProps;
|
|
31
|
-
operator
|
|
32
|
-
value
|
|
31
|
+
operator?: OperatorProps;
|
|
32
|
+
value?: ValueProps<ValueType>;
|
|
33
33
|
onChange?: (value?: FilterValue) => void;
|
|
34
34
|
}
|
|
35
35
|
export type FilterComponent = React.FC<FilterProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/filter/types.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGxC;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,YAAY;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,IAAI,WAAW,GAAG,SAAS,CAAC;CACrC;AAED,MAAM,WAAW,UAAW,SAAQ,YAAY;CAC/C;AAED,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACzE,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,UAAU,CAAC,SAAS,GAAG,GAAG,CAAE,SAAQ,YAAY;IAC/D,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAY,SAAQ,gBAAgB;CACpD;AAED,MAAM,WAAW,WAAW,CAAC,SAAS,GAAG,GAAG,CAAE,SAAQ,iBAAiB,EAAE,aAAa,CAAC,SAAS,CAAC;IAC/F,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/filter/types.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGxC;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,YAAY;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,IAAI,WAAW,GAAG,SAAS,CAAC;CACrC;AAED,MAAM,WAAW,UAAW,SAAQ,YAAY;CAC/C;AAED,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACzE,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,UAAU,CAAC,SAAS,GAAG,GAAG,CAAE,SAAQ,YAAY;IAC/D,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAY,SAAQ,gBAAgB;CACpD;AAED,MAAM,WAAW,WAAW,CAAC,SAAS,GAAG,GAAG,CAAE,SAAQ,iBAAiB,EAAE,aAAa,CAAC,SAAS,CAAC;IAC/F,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,KAAK,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAC9B,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,WAAW,KAAK,IAAI,CAAC;CAC1C;AAED,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC"}
|
package/dist/index.es.js
CHANGED
|
@@ -91,13 +91,13 @@ u(Y, "useFilterState");
|
|
|
91
91
|
function R(t) {
|
|
92
92
|
if (!t.supportedOperators || t.supportedOperators.length === 0)
|
|
93
93
|
throw new Error("supportedOperators must be a non-empty array");
|
|
94
|
-
const e = t.operator
|
|
95
|
-
let l = t.operator
|
|
94
|
+
const e = t.operator?.locale ?? k;
|
|
95
|
+
let l = t.operator?.defaultValue;
|
|
96
96
|
(!l || !t.supportedOperators.includes(l)) && (l = t.supportedOperators[0]);
|
|
97
97
|
const n = Y({
|
|
98
98
|
field: t.field.name,
|
|
99
99
|
operator: l,
|
|
100
|
-
value: t.value
|
|
100
|
+
value: t.value?.defaultValue,
|
|
101
101
|
ref: t.ref,
|
|
102
102
|
validate: t.validate,
|
|
103
103
|
onChange: t.onChange
|
|
@@ -265,7 +265,7 @@ function $(t) {
|
|
|
265
265
|
const {
|
|
266
266
|
defaultValue: o,
|
|
267
267
|
...i
|
|
268
|
-
} = t.value, d = Array.isArray(o) ? o[0] : o;
|
|
268
|
+
} = t.value ?? {}, d = Array.isArray(o) ? o[0] : o;
|
|
269
269
|
return /* @__PURE__ */ E(V, { defaultValue: d, onChange: /* @__PURE__ */ u((v) => {
|
|
270
270
|
a.setValue(v ?? void 0);
|
|
271
271
|
}, "onChange"), ...i });
|
package/dist/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../src/filter/locale/operator.zh_CN.ts","../src/filter/useFilterState.ts","../src/filter/AssemblyFilter.tsx","../src/filter/FallbackFilter.tsx","../src/components/TagInput.tsx","../src/components/NumberRange.tsx","../src/filter/TextFilter.tsx","../src/filter/IdFilter.tsx","../src/filter/NumberFilter.tsx","../src/filter/filterRegistry.ts","../src/filter/TypedFilter.tsx"],"sourcesContent":["/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nimport { OperatorLocale } from '@ahoo-wang/fetcher-wow';\n\nexport const OPERATOR_zh_CN: OperatorLocale = {\n AND: '与',\n OR: '或',\n NOR: '非或',\n ID: '等于',\n IDS: '包含任一',\n AGGREGATE_ID: '等于',\n AGGREGATE_IDS: '包含任一',\n TENANT_ID: '等于',\n OWNER_ID: '等于',\n DELETED: '已删除',\n ALL: '全部',\n EQ: '等于',\n NE: '不等于',\n GT: '大于',\n LT: '小于',\n GTE: '大于等于',\n LTE: '小于等于',\n CONTAINS: '包含',\n IN: '包含任一',\n NOT_IN: '不包含任一',\n BETWEEN: '介于',\n ALL_IN: '全部包含',\n STARTS_WITH: '以...开头',\n ENDS_WITH: '以...结尾',\n ELEM_MATCH: '元素匹配',\n NULL: '为空',\n NOT_NULL: '不为空',\n TRUE: '为真',\n FALSE: '为假',\n EXISTS: '存在',\n TODAY: '今天',\n BEFORE_TODAY: '今天之前',\n TOMORROW: '明天',\n THIS_WEEK: '本周',\n NEXT_WEEK: '下周',\n LAST_WEEK: '上周',\n THIS_MONTH: '本月',\n LAST_MONTH: '上月',\n RECENT_DAYS: '最近几天',\n EARLIER_DAYS: '几天前',\n RAW: '原始查询',\n};","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Condition, Operator } from '@ahoo-wang/fetcher-wow';\nimport { RefAttributes, useImperativeHandle, useState } from 'react';\nimport { FilterRef, FilterValue } from './types';\nimport { Optional } from '../types';\n\n\nexport interface UseFilterStateOptions<ValueType = any> extends RefAttributes<FilterRef> {\n field?: string;\n operator: Operator;\n value: Optional<ValueType>;\n validate?: (operator: Operator, value: Optional<ValueType>) => boolean;\n onChange?: (condition: Optional<FilterValue>) => void;\n}\n\nexport interface UseFilterStateReturn<ValueType = any> {\n operator: Operator;\n value: Optional<ValueType>;\n setOperator: (operator: Operator) => void;\n setValue: (value: Optional<ValueType>) => void;\n}\n\nconst defaultValueValidate = (operator: Operator, value: any) => {\n if (!operator) return false;\n if (!value) return false;\n return !(Array.isArray(value) && value.length === 0);\n};\n\nexport function useFilterState<ValueType = any>(options: UseFilterStateOptions<ValueType>): UseFilterStateReturn<ValueType> {\n const [operator, setOperator] = useState<Operator>(options.operator);\n const [value, setValue] = useState<Optional<ValueType>>(options.value);\n const valueValidate = options.validate ?? defaultValueValidate;\n const resolveFilterValue = (currentOperator: Operator, currentValue: Optional<ValueType>): Optional<FilterValue> => {\n if (!valueValidate(currentOperator, currentValue)) {\n return undefined;\n }\n const condition: Condition = {\n field: options.field,\n operator: currentOperator,\n value: currentValue,\n };\n return {\n condition,\n };\n };\n const setOperatorFn = (newOperator: Operator) => {\n setOperator(newOperator);\n setValue(undefined);\n const conditionFilterValue = resolveFilterValue(newOperator, undefined);\n options.onChange?.(conditionFilterValue);\n };\n const setValueFn = (newValue: Optional<ValueType>) => {\n setValue(newValue);\n const conditionFilterValue = resolveFilterValue(operator, newValue);\n options.onChange?.(conditionFilterValue);\n };\n useImperativeHandle(options.ref, () => ({\n getValue(): FilterValue | undefined {\n return resolveFilterValue(operator, value);\n },\n }));\n\n return {\n operator,\n value,\n setOperator: setOperatorFn,\n setValue: setValueFn,\n };\n}","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FilterProps } from './types';\nimport { Operator } from '@ahoo-wang/fetcher-wow';\nimport { OPERATOR_zh_CN } from './locale';\nimport {\n useFilterState,\n UseFilterStateReturn,\n} from './useFilterState';\nimport { Button, Select, Space } from 'antd';\nimport { ReactNode } from 'react';\nimport { Optional } from '../types';\n\nexport interface AssemblyFilterProps<ValueType = any>\n extends FilterProps {\n supportedOperators: Operator[];\n validate?: (operator: Operator, value: Optional<ValueType>) => boolean;\n valueInputSupplier: (\n filterState: UseFilterStateReturn<ValueType>,\n ) => ReactNode;\n}\n\nexport function AssemblyFilter<ValueType = any>(\n props: AssemblyFilterProps<ValueType>,\n) {\n // Validate that supportedOperators is not empty\n if (!props.supportedOperators || props.supportedOperators.length === 0) {\n throw new Error('supportedOperators must be a non-empty array');\n }\n\n const operatorLocale = props.operator.locale ?? OPERATOR_zh_CN;\n\n // Determine the initial operator\n let initialOperator = props.operator.defaultValue;\n\n // If no operator is provided or it's not in supported operators, use the first supported operator\n if (!initialOperator || !props.supportedOperators.includes(initialOperator)) {\n initialOperator = props.supportedOperators[0];\n }\n\n const filterState = useFilterState({\n field: props.field.name,\n operator: initialOperator,\n value: props.value.defaultValue,\n ref: props.ref,\n validate: props.validate,\n onChange: props.onChange,\n });\n const valueInput = props.valueInputSupplier(filterState);\n const options = props.supportedOperators.map(supportedOperator => ({\n value: supportedOperator,\n label: operatorLocale[supportedOperator],\n }));\n return (\n <Space.Compact>\n <Button {...props.label}>{props.field.label}</Button>\n <Select\n onChange={filterState.setOperator}\n {...props.operator}\n value={filterState.operator}\n options={options}\n ></Select>\n {valueInput}\n </Space.Compact>\n );\n}\n","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Alert } from 'antd';\nimport React, { useImperativeHandle } from 'react';\nimport { TypedFilterProps } from './TypedFilter';\nimport { FilterValue } from './types';\n\nexport function FallbackFilter(props: TypedFilterProps) {\n useImperativeHandle(props.ref, () => ({\n getValue(): FilterValue | undefined {\n return undefined;\n },\n }));\n return <Alert message={`Unsupported filter type:[${props.type}]`} type=\"warning\" showIcon />;\n}\n\nFallbackFilter.displayName = 'FallbackFilter';","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { RefSelectProps, Select, SelectProps } from 'antd';\nimport { RefObject } from 'react';\nimport { Optional } from '../types';\n\nexport interface TagValueItemSerializer<ValueItemType = string> {\n serialize(value: ValueItemType[]): string[];\n\n deserialize(value: string[]): ValueItemType[];\n}\n\nexport const StringTagValueItemSerializer: TagValueItemSerializer = {\n serialize(value: string[]): string[] {\n return value;\n },\n deserialize(value: string[]): string[] {\n return value;\n },\n};\n\nexport const NumberTagValueItemSerializer: TagValueItemSerializer<number> = {\n serialize(value: number[]): string[] {\n return value.map((item) => item.toString());\n },\n deserialize(value: string[]): number[] {\n return value.map((item) => parseFloat(item));\n },\n};\n\n/**\n * Props for the TagInput component.\n * Extends SelectProps from Antd, excluding 'mode', 'open', and 'suffixIcon' as they are fixed.\n */\nexport interface TagInputProps<ValueItemType = string>\n extends Omit<SelectProps, 'mode' | 'open' | 'suffixIcon' | 'onChange' | 'value'> {\n ref?: RefObject<RefSelectProps>;\n serializer?: TagValueItemSerializer<ValueItemType>;\n onChange?: (value: ValueItemType[]) => void;\n value?: Optional<ValueItemType | ValueItemType[]>;\n}\n\n/**\n * Default token separators for splitting input into tags.\n * Includes common separators like comma, semicolon, and space.\n */\nconst DEFAULT_TOKEN_SEPARATORS = [',', ',', ';', ';', ' '];\n\n/**\n * A tag input component based on Antd's Select in tags mode.\n * Allows users to input multiple tags separated by specified token separators.\n * @param props - The props for the TagInput component.\n * @returns The rendered TagInput component.\n */\nexport function TagInput<ValueItemType = string[]>(props: TagInputProps<ValueItemType>) {\n const {\n tokenSeparators = DEFAULT_TOKEN_SEPARATORS,\n allowClear = true,\n serializer = StringTagValueItemSerializer as TagValueItemSerializer<ValueItemType>,\n value,\n onChange,\n ...restProps\n } = props;\n const onChangeHandler = (value: string[]) => {\n if (!onChange) {\n return;\n }\n const parsedValue = serializer.deserialize(value);\n onChange(parsedValue);\n };\n let serializedValue: string[] | null = null;\n if (value) {\n if (Array.isArray(value)) {\n serializedValue = serializer.serialize(value);\n } else {\n serializedValue = serializer.serialize([value]);\n }\n }\n return (\n <Select\n {...restProps}\n mode={'tags'}\n open={false}\n suffixIcon={null}\n allowClear={allowClear}\n tokenSeparators={tokenSeparators}\n value={serializedValue}\n onChange={onChangeHandler}\n />\n );\n}\n\nTagInput.displayName = 'TagInput';\n","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { InputNumber, Space } from 'antd';\nimport { useState } from 'react';\n\ntype NumberRangeValue = (number | undefined)[];\n\nexport interface NumberRangeProps {\n defaultValue?: NumberRangeValue;\n min?: number;\n max?: number;\n precision?: number;\n placeholder?: string[];\n onChange?: (value: NumberRangeValue) => void;\n}\n\nexport function NumberRange(props: NumberRangeProps) {\n const [defaultStart, defaultEnd] = props.defaultValue || [];\n const [start, setStart] = useState<number | undefined>(defaultStart);\n const [end, setEnd] = useState<number | undefined>(defaultEnd);\n\n const startMax: number | undefined = end !== undefined ? end : props.max;\n const endMin: number | undefined = start !== undefined ? start : props.min;\n\n const handleStartChange = (value: number | null) => {\n const newStart = value ?? undefined;\n setStart(newStart);\n props.onChange?.([newStart, end]);\n };\n\n const handleEndChange = (value: number | null) => {\n const newEnd = value ?? undefined;\n setEnd(newEnd);\n props.onChange?.([start, newEnd]);\n };\n\n return (\n <Space.Compact>\n <InputNumber\n value={start}\n min={props.min}\n max={startMax}\n precision={props.precision}\n placeholder={props.placeholder?.[0] || '最小值'}\n onChange={handleStartChange}\n />\n <InputNumber\n value={end}\n min={endMin}\n max={props.max}\n precision={props.precision}\n placeholder={props.placeholder?.[1] || '最大值'}\n onChange={handleEndChange}\n />\n </Space.Compact>\n );\n}\n","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FilterProps } from './types';\nimport { Input } from 'antd';\nimport { Operator } from '@ahoo-wang/fetcher-wow';\nimport { TagInput } from '../components';\nimport { AssemblyFilter, AssemblyFilterProps } from './AssemblyFilter';\nimport { UseFilterStateReturn } from './useFilterState';\n\nexport const TEXT_FILTER = 'text';\n\nexport function TextFilter(\n props: FilterProps<string | string[]>,\n) {\n const assemblyConditionFilterProps: AssemblyFilterProps<string | string[]> = {\n ...props,\n supportedOperators: [Operator.EQ, Operator.NE, Operator.CONTAINS, Operator.STARTS_WITH, Operator.ENDS_WITH, Operator.IN, Operator.NOT_IN],\n valueInputSupplier: (filterState: UseFilterStateReturn<string | string[]>) => {\n switch (filterState.operator) {\n case Operator.IN:\n case Operator.NOT_IN: {\n return <TagInput\n value={filterState.value}\n onChange={filterState.setValue}\n {...props.value}\n />;\n }\n default: {\n return <Input\n value={filterState.value}\n onChange={e => filterState.setValue(e.target.value)}\n allowClear\n {...props.value}\n />;\n }\n }\n },\n };\n return <AssemblyFilter<string | string[]> {...assemblyConditionFilterProps}></AssemblyFilter>;\n}\n\nTextFilter.displayName = 'TextFilter';\n","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FilterProps } from './types';\nimport { Input } from 'antd';\nimport { Operator } from '@ahoo-wang/fetcher-wow';\nimport { TagInput } from '../components';\nimport { UseFilterStateReturn } from './useFilterState';\nimport {\n AssemblyFilter,\n AssemblyFilterProps,\n} from './AssemblyFilter';\n\nexport const ID_FILTER = 'id';\n\nexport function IdFilter(\n props: FilterProps<string | string[]>,\n) {\n const assemblyConditionFilterProps: AssemblyFilterProps<\n string | string[]\n > = {\n ...props,\n supportedOperators: [Operator.ID, Operator.IDS],\n valueInputSupplier: (\n filterState: UseFilterStateReturn<string | string[]>,\n ) => {\n return filterState.operator === Operator.ID ? (\n <Input\n value={filterState.value}\n onChange={e => filterState.setValue(e.target.value)}\n allowClear\n {...props.value}\n />\n ) : (\n <TagInput\n value={filterState.value}\n onChange={filterState.setValue}\n {...props.value}\n />\n );\n },\n };\n return (\n <AssemblyFilter<string | string[]>\n {...assemblyConditionFilterProps}\n ></AssemblyFilter>\n );\n}\n\nIdFilter.displayName = 'IdConditionFilter';\n","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FilterProps } from './types';\nimport { InputNumber } from 'antd';\nimport { Operator } from '@ahoo-wang/fetcher-wow';\nimport { NumberTagValueItemSerializer, TagInput } from '../components';\nimport { AssemblyFilter, AssemblyFilterProps } from './AssemblyFilter';\nimport { UseFilterStateReturn } from './useFilterState';\nimport { NumberRange } from '../components';\n\nexport const NUMBER_FILTER = 'number';\n\nexport function NumberFilter(props: FilterProps<number | (number | undefined)[]>) {\n const assemblyConditionFilterProps: AssemblyFilterProps<number | (number | undefined)[]> = {\n ...props,\n supportedOperators: [\n Operator.EQ,\n Operator.NE,\n Operator.GT,\n Operator.LT,\n Operator.GTE,\n Operator.LTE,\n Operator.BETWEEN,\n Operator.IN,\n Operator.NOT_IN,\n ],\n validate: (operator, value) => {\n if (operator === Operator.BETWEEN) {\n if (!Array.isArray(value)) {\n return false;\n }\n return value[0] !== undefined && value[1] !== undefined;\n }\n return value != undefined;\n },\n valueInputSupplier: (\n filterState: UseFilterStateReturn<number | (number | undefined)[]>,\n ) => {\n switch (filterState.operator) {\n case Operator.IN:\n case Operator.NOT_IN: {\n return <TagInput\n value={filterState.value}\n serializer={NumberTagValueItemSerializer}\n onChange={e => filterState.setValue(e)}\n {...props.value}\n />;\n }\n case Operator.BETWEEN: {\n return (\n <NumberRange onChange={filterState.setValue}></NumberRange>\n );\n }\n default: {\n const { defaultValue, ...restValue } = props.value;\n const defaultInputNumber = Array.isArray(defaultValue) ? defaultValue[0] : defaultValue;\n return (\n <InputNumber<number>\n defaultValue={defaultInputNumber}\n onChange={v => {\n filterState.setValue(v ?? undefined);\n }} {...restValue}></InputNumber>\n );\n }\n }\n },\n };\n return (\n <AssemblyFilter<number | (number | undefined)[]>\n {...assemblyConditionFilterProps}\n ></AssemblyFilter>\n );\n}\n\nNumberFilter.displayName = 'NumberFilter';\n","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FilterComponent } from './types';\nimport { TEXT_FILTER, TextFilter } from './TextFilter';\nimport { ID_FILTER, IdFilter } from './IdFilter';\nimport { NUMBER_FILTER, NumberFilter } from './NumberFilter';\nimport { FilterType } from './TypedFilter';\n\n/**\n * Registry for managing filter components.\n *\n * Provides a centralized way to register, unregister, and retrieve\n * filter components by their type identifiers.\n */\nexport class FilterRegistry {\n private readonly filters: Map<FilterType, FilterComponent> = new Map<\n FilterType,\n FilterComponent\n >();\n\n constructor() {\n this.register(ID_FILTER, IdFilter);\n this.register(TEXT_FILTER, TextFilter);\n this.register(NUMBER_FILTER, NumberFilter);\n }\n\n /**\n * Registers a filter component for a specific type.\n *\n * @param type - The unique identifier for the filter type\n * @param filter - The filter component to register\n *\n * @example\n * ```typescript\n * filterRegistry.register('text', TextFilter);\n * ```\n */\n register(type: FilterType, filter: FilterComponent) {\n this.filters.set(type, filter);\n }\n\n /**\n * Unregisters a filter component for a specific type.\n *\n * @param type - The unique identifier for the filter type to remove\n * @returns true if the filter was successfully removed, false otherwise\n *\n * @example\n * ```typescript\n * const wasRemoved = filterRegistry.unregister('text');\n * ```\n */\n unregister(type: FilterType) {\n return this.filters.delete(type);\n }\n\n /**\n * Retrieves a filter component for a specific type.\n *\n * @param type - The unique identifier for the filter type\n * @returns The filter component, or undefined if not found\n *\n * @example\n * ```typescript\n * const TextFilter = filterRegistry.get('text');\n * ```\n */\n get(type: FilterType): FilterComponent | undefined {\n return this.filters.get(type);\n }\n}\n\nexport const filterRegistry = new FilterRegistry();\n","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from 'react';\nimport { FilterProps } from './types';\nimport { filterRegistry } from './filterRegistry';\nimport { FallbackFilter } from './FallbackFilter';\n\nexport type FilterType = string\n\nexport interface TypedFilterProps\n extends FilterProps {\n type: FilterType;\n}\n\nexport function TypedFilter(props: TypedFilterProps) {\n const FilterComponent = filterRegistry.get(props.type) || FallbackFilter;\n return <FilterComponent {...props} />;\n}\n\nTypedFilter.displayName = 'TypedFilter';"],"names":["OPERATOR_zh_CN","AND","OR","NOR","ID","IDS","AGGREGATE_ID","AGGREGATE_IDS","TENANT_ID","OWNER_ID","DELETED","ALL","EQ","NE","GT","LT","GTE","LTE","CONTAINS","IN","NOT_IN","BETWEEN","ALL_IN","STARTS_WITH","ENDS_WITH","ELEM_MATCH","NULL","NOT_NULL","TRUE","FALSE","EXISTS","TODAY","BEFORE_TODAY","TOMORROW","THIS_WEEK","NEXT_WEEK","LAST_WEEK","THIS_MONTH","LAST_MONTH","RECENT_DAYS","EARLIER_DAYS","RAW","defaultValueValidate","operator","value","Array","isArray","length","useFilterState","options","$","_c","setOperator","useState","setValue","valueValidate","validate","t0","field","currentOperator","currentValue","condition","resolveFilterValue","t1","newOperator","undefined","conditionFilterValue","onChange","setOperatorFn","t2","newValue","conditionFilterValue_0","setValueFn","t3","getValue","useImperativeHandle","ref","t4","AssemblyFilter","props","supportedOperators","Error","operatorLocale","locale","initialOperator","defaultValue","includes","filterState","name","valueInput","valueInputSupplier","map","supportedOperator","label","jsxs","Space","jsx","Button","Select","FallbackFilter","Alert","type","displayName","StringTagValueItemSerializer","serialize","deserialize","NumberTagValueItemSerializer","item","toString","parseFloat","DEFAULT_TOKEN_SEPARATORS","TagInput","restProps","tokenSeparators","allowClear","serializer","value_0","parsedValue","onChangeHandler","serializedValue","NumberRange","defaultStart","defaultEnd","start","setStart","end","setEnd","startMax","max","endMin","min","newStart","handleStartChange","newEnd","handleEndChange","placeholder","precision","InputNumber","t5","t6","t7","TEXT_FILTER","TextFilter","Symbol","for","Operator","Input","e","target","assemblyConditionFilterProps","ID_FILTER","IdFilter","NUMBER_FILTER","NumberFilter","restValue","defaultInputNumber","v","_temp","FilterRegistry","constructor","filters","Map","register","filter","set","unregister","delete","get","__name","_FilterRegistry","filterRegistry","TypedFilter","FilterComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../src/filter/locale/operator.zh_CN.ts","../src/filter/useFilterState.ts","../src/filter/AssemblyFilter.tsx","../src/filter/FallbackFilter.tsx","../src/components/TagInput.tsx","../src/components/NumberRange.tsx","../src/filter/TextFilter.tsx","../src/filter/IdFilter.tsx","../src/filter/NumberFilter.tsx","../src/filter/filterRegistry.ts","../src/filter/TypedFilter.tsx"],"sourcesContent":["/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nimport { OperatorLocale } from '@ahoo-wang/fetcher-wow';\n\nexport const OPERATOR_zh_CN: OperatorLocale = {\n AND: '与',\n OR: '或',\n NOR: '非或',\n ID: '等于',\n IDS: '包含任一',\n AGGREGATE_ID: '等于',\n AGGREGATE_IDS: '包含任一',\n TENANT_ID: '等于',\n OWNER_ID: '等于',\n DELETED: '已删除',\n ALL: '全部',\n EQ: '等于',\n NE: '不等于',\n GT: '大于',\n LT: '小于',\n GTE: '大于等于',\n LTE: '小于等于',\n CONTAINS: '包含',\n IN: '包含任一',\n NOT_IN: '不包含任一',\n BETWEEN: '介于',\n ALL_IN: '全部包含',\n STARTS_WITH: '以...开头',\n ENDS_WITH: '以...结尾',\n ELEM_MATCH: '元素匹配',\n NULL: '为空',\n NOT_NULL: '不为空',\n TRUE: '为真',\n FALSE: '为假',\n EXISTS: '存在',\n TODAY: '今天',\n BEFORE_TODAY: '今天之前',\n TOMORROW: '明天',\n THIS_WEEK: '本周',\n NEXT_WEEK: '下周',\n LAST_WEEK: '上周',\n THIS_MONTH: '本月',\n LAST_MONTH: '上月',\n RECENT_DAYS: '最近几天',\n EARLIER_DAYS: '几天前',\n RAW: '原始查询',\n};","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Condition, Operator } from '@ahoo-wang/fetcher-wow';\nimport { RefAttributes, useImperativeHandle, useState } from 'react';\nimport { FilterRef, FilterValue } from './types';\nimport { Optional } from '../types';\n\n\nexport interface UseFilterStateOptions<ValueType = any> extends RefAttributes<FilterRef> {\n field?: string;\n operator: Operator;\n value: Optional<ValueType>;\n validate?: (operator: Operator, value: Optional<ValueType>) => boolean;\n onChange?: (condition: Optional<FilterValue>) => void;\n}\n\nexport interface UseFilterStateReturn<ValueType = any> {\n operator: Operator;\n value: Optional<ValueType>;\n setOperator: (operator: Operator) => void;\n setValue: (value: Optional<ValueType>) => void;\n}\n\nconst defaultValueValidate = (operator: Operator, value: any) => {\n if (!operator) return false;\n if (!value) return false;\n return !(Array.isArray(value) && value.length === 0);\n};\n\nexport function useFilterState<ValueType = any>(options: UseFilterStateOptions<ValueType>): UseFilterStateReturn<ValueType> {\n const [operator, setOperator] = useState<Operator>(options.operator);\n const [value, setValue] = useState<Optional<ValueType>>(options.value);\n const valueValidate = options.validate ?? defaultValueValidate;\n const resolveFilterValue = (currentOperator: Operator, currentValue: Optional<ValueType>): Optional<FilterValue> => {\n if (!valueValidate(currentOperator, currentValue)) {\n return undefined;\n }\n const condition: Condition = {\n field: options.field,\n operator: currentOperator,\n value: currentValue,\n };\n return {\n condition,\n };\n };\n const setOperatorFn = (newOperator: Operator) => {\n setOperator(newOperator);\n setValue(undefined);\n const conditionFilterValue = resolveFilterValue(newOperator, undefined);\n options.onChange?.(conditionFilterValue);\n };\n const setValueFn = (newValue: Optional<ValueType>) => {\n setValue(newValue);\n const conditionFilterValue = resolveFilterValue(operator, newValue);\n options.onChange?.(conditionFilterValue);\n };\n useImperativeHandle(options.ref, () => ({\n getValue(): FilterValue | undefined {\n return resolveFilterValue(operator, value);\n },\n }));\n\n return {\n operator,\n value,\n setOperator: setOperatorFn,\n setValue: setValueFn,\n };\n}","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FilterProps } from './types';\nimport { Operator } from '@ahoo-wang/fetcher-wow';\nimport { OPERATOR_zh_CN } from './locale';\nimport {\n useFilterState,\n UseFilterStateReturn,\n} from './useFilterState';\nimport { Button, Select, Space } from 'antd';\nimport { ReactNode } from 'react';\nimport { Optional } from '../types';\n\nexport interface AssemblyFilterProps<ValueType = any>\n extends FilterProps {\n supportedOperators: Operator[];\n validate?: (operator: Operator, value: Optional<ValueType>) => boolean;\n valueInputSupplier: (\n filterState: UseFilterStateReturn<ValueType>,\n ) => ReactNode;\n}\n\nexport function AssemblyFilter<ValueType = any>(\n props: AssemblyFilterProps<ValueType>,\n) {\n // Validate that supportedOperators is not empty\n if (!props.supportedOperators || props.supportedOperators.length === 0) {\n throw new Error('supportedOperators must be a non-empty array');\n }\n\n const operatorLocale = props.operator?.locale ?? OPERATOR_zh_CN;\n\n // Determine the initial operator\n let initialOperator = props.operator?.defaultValue;\n\n // If no operator is provided or it's not in supported operators, use the first supported operator\n if (!initialOperator || !props.supportedOperators.includes(initialOperator)) {\n initialOperator = props.supportedOperators[0];\n }\n\n const filterState = useFilterState({\n field: props.field.name,\n operator: initialOperator,\n value: props.value?.defaultValue,\n ref: props.ref,\n validate: props.validate,\n onChange: props.onChange,\n });\n const valueInput = props.valueInputSupplier(filterState);\n const options = props.supportedOperators.map(supportedOperator => ({\n value: supportedOperator,\n label: operatorLocale[supportedOperator],\n }));\n return (\n <Space.Compact>\n <Button {...props.label}>{props.field.label}</Button>\n <Select\n onChange={filterState.setOperator}\n {...props.operator}\n value={filterState.operator}\n options={options}\n ></Select>\n {valueInput}\n </Space.Compact>\n );\n}\n","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Alert } from 'antd';\nimport React, { useImperativeHandle } from 'react';\nimport { TypedFilterProps } from './TypedFilter';\nimport { FilterValue } from './types';\n\nexport function FallbackFilter(props: TypedFilterProps) {\n useImperativeHandle(props.ref, () => ({\n getValue(): FilterValue | undefined {\n return undefined;\n },\n }));\n return <Alert message={`Unsupported filter type:[${props.type}]`} type=\"warning\" showIcon />;\n}\n\nFallbackFilter.displayName = 'FallbackFilter';","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { RefSelectProps, Select, SelectProps } from 'antd';\nimport { RefObject } from 'react';\nimport { Optional } from '../types';\n\nexport interface TagValueItemSerializer<ValueItemType = string> {\n serialize(value: ValueItemType[]): string[];\n\n deserialize(value: string[]): ValueItemType[];\n}\n\nexport const StringTagValueItemSerializer: TagValueItemSerializer = {\n serialize(value: string[]): string[] {\n return value;\n },\n deserialize(value: string[]): string[] {\n return value;\n },\n};\n\nexport const NumberTagValueItemSerializer: TagValueItemSerializer<number> = {\n serialize(value: number[]): string[] {\n return value.map((item) => item.toString());\n },\n deserialize(value: string[]): number[] {\n return value.map((item) => parseFloat(item));\n },\n};\n\n/**\n * Props for the TagInput component.\n * Extends SelectProps from Antd, excluding 'mode', 'open', and 'suffixIcon' as they are fixed.\n */\nexport interface TagInputProps<ValueItemType = string>\n extends Omit<SelectProps, 'mode' | 'open' | 'suffixIcon' | 'onChange' | 'value'> {\n ref?: RefObject<RefSelectProps>;\n serializer?: TagValueItemSerializer<ValueItemType>;\n onChange?: (value: ValueItemType[]) => void;\n value?: Optional<ValueItemType | ValueItemType[]>;\n}\n\n/**\n * Default token separators for splitting input into tags.\n * Includes common separators like comma, semicolon, and space.\n */\nconst DEFAULT_TOKEN_SEPARATORS = [',', ',', ';', ';', ' '];\n\n/**\n * A tag input component based on Antd's Select in tags mode.\n * Allows users to input multiple tags separated by specified token separators.\n * @param props - The props for the TagInput component.\n * @returns The rendered TagInput component.\n */\nexport function TagInput<ValueItemType = string[]>(props: TagInputProps<ValueItemType>) {\n const {\n tokenSeparators = DEFAULT_TOKEN_SEPARATORS,\n allowClear = true,\n serializer = StringTagValueItemSerializer as TagValueItemSerializer<ValueItemType>,\n value,\n onChange,\n ...restProps\n } = props;\n const onChangeHandler = (value: string[]) => {\n if (!onChange) {\n return;\n }\n const parsedValue = serializer.deserialize(value);\n onChange(parsedValue);\n };\n let serializedValue: string[] | null = null;\n if (value) {\n if (Array.isArray(value)) {\n serializedValue = serializer.serialize(value);\n } else {\n serializedValue = serializer.serialize([value]);\n }\n }\n return (\n <Select\n {...restProps}\n mode={'tags'}\n open={false}\n suffixIcon={null}\n allowClear={allowClear}\n tokenSeparators={tokenSeparators}\n value={serializedValue}\n onChange={onChangeHandler}\n />\n );\n}\n\nTagInput.displayName = 'TagInput';\n","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { InputNumber, Space } from 'antd';\nimport { useState } from 'react';\n\ntype NumberRangeValue = (number | undefined)[];\n\nexport interface NumberRangeProps {\n defaultValue?: NumberRangeValue;\n min?: number;\n max?: number;\n precision?: number;\n placeholder?: string[];\n onChange?: (value: NumberRangeValue) => void;\n}\n\nexport function NumberRange(props: NumberRangeProps) {\n const [defaultStart, defaultEnd] = props.defaultValue || [];\n const [start, setStart] = useState<number | undefined>(defaultStart);\n const [end, setEnd] = useState<number | undefined>(defaultEnd);\n\n const startMax: number | undefined = end !== undefined ? end : props.max;\n const endMin: number | undefined = start !== undefined ? start : props.min;\n\n const handleStartChange = (value: number | null) => {\n const newStart = value ?? undefined;\n setStart(newStart);\n props.onChange?.([newStart, end]);\n };\n\n const handleEndChange = (value: number | null) => {\n const newEnd = value ?? undefined;\n setEnd(newEnd);\n props.onChange?.([start, newEnd]);\n };\n\n return (\n <Space.Compact>\n <InputNumber\n value={start}\n min={props.min}\n max={startMax}\n precision={props.precision}\n placeholder={props.placeholder?.[0] || '最小值'}\n onChange={handleStartChange}\n />\n <InputNumber\n value={end}\n min={endMin}\n max={props.max}\n precision={props.precision}\n placeholder={props.placeholder?.[1] || '最大值'}\n onChange={handleEndChange}\n />\n </Space.Compact>\n );\n}\n","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FilterProps } from './types';\nimport { Input } from 'antd';\nimport { Operator } from '@ahoo-wang/fetcher-wow';\nimport { TagInput } from '../components';\nimport { AssemblyFilter, AssemblyFilterProps } from './AssemblyFilter';\nimport { UseFilterStateReturn } from './useFilterState';\n\nexport const TEXT_FILTER = 'text';\n\nexport function TextFilter(\n props: FilterProps<string | string[]>,\n) {\n const assemblyConditionFilterProps: AssemblyFilterProps<string | string[]> = {\n ...props,\n supportedOperators: [Operator.EQ, Operator.NE, Operator.CONTAINS, Operator.STARTS_WITH, Operator.ENDS_WITH, Operator.IN, Operator.NOT_IN],\n valueInputSupplier: (filterState: UseFilterStateReturn<string | string[]>) => {\n switch (filterState.operator) {\n case Operator.IN:\n case Operator.NOT_IN: {\n return <TagInput\n value={filterState.value}\n onChange={filterState.setValue}\n {...props.value}\n />;\n }\n default: {\n return <Input\n value={filterState.value}\n onChange={e => filterState.setValue(e.target.value)}\n allowClear\n {...props.value}\n />;\n }\n }\n },\n };\n return <AssemblyFilter<string | string[]> {...assemblyConditionFilterProps}></AssemblyFilter>;\n}\n\nTextFilter.displayName = 'TextFilter';\n","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FilterProps } from './types';\nimport { Input } from 'antd';\nimport { Operator } from '@ahoo-wang/fetcher-wow';\nimport { TagInput } from '../components';\nimport { UseFilterStateReturn } from './useFilterState';\nimport {\n AssemblyFilter,\n AssemblyFilterProps,\n} from './AssemblyFilter';\n\nexport const ID_FILTER = 'id';\n\nexport function IdFilter(\n props: FilterProps<string | string[]>,\n) {\n const assemblyConditionFilterProps: AssemblyFilterProps<\n string | string[]\n > = {\n ...props,\n supportedOperators: [Operator.ID, Operator.IDS],\n valueInputSupplier: (\n filterState: UseFilterStateReturn<string | string[]>,\n ) => {\n return filterState.operator === Operator.ID ? (\n <Input\n value={filterState.value}\n onChange={e => filterState.setValue(e.target.value)}\n allowClear\n {...props.value}\n />\n ) : (\n <TagInput\n value={filterState.value}\n onChange={filterState.setValue}\n {...props.value}\n />\n );\n },\n };\n return (\n <AssemblyFilter<string | string[]>\n {...assemblyConditionFilterProps}\n ></AssemblyFilter>\n );\n}\n\nIdFilter.displayName = 'IdConditionFilter';\n","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FilterProps } from './types';\nimport { InputNumber } from 'antd';\nimport { Operator } from '@ahoo-wang/fetcher-wow';\nimport { NumberTagValueItemSerializer, TagInput } from '../components';\nimport { AssemblyFilter, AssemblyFilterProps } from './AssemblyFilter';\nimport { UseFilterStateReturn } from './useFilterState';\nimport { NumberRange } from '../components';\n\nexport const NUMBER_FILTER = 'number';\n\nexport function NumberFilter(props: FilterProps<number | (number | undefined)[]>) {\n const assemblyConditionFilterProps: AssemblyFilterProps<number | (number | undefined)[]> = {\n ...props,\n supportedOperators: [\n Operator.EQ,\n Operator.NE,\n Operator.GT,\n Operator.LT,\n Operator.GTE,\n Operator.LTE,\n Operator.BETWEEN,\n Operator.IN,\n Operator.NOT_IN,\n ],\n validate: (operator, value) => {\n if (operator === Operator.BETWEEN) {\n if (!Array.isArray(value)) {\n return false;\n }\n return value[0] !== undefined && value[1] !== undefined;\n }\n return value != undefined;\n },\n valueInputSupplier: (\n filterState: UseFilterStateReturn<number | (number | undefined)[]>,\n ) => {\n switch (filterState.operator) {\n case Operator.IN:\n case Operator.NOT_IN: {\n return <TagInput\n value={filterState.value}\n serializer={NumberTagValueItemSerializer}\n onChange={e => filterState.setValue(e)}\n {...props.value}\n />;\n }\n case Operator.BETWEEN: {\n return (\n <NumberRange onChange={filterState.setValue}></NumberRange>\n );\n }\n default: {\n const { defaultValue, ...restValue } = props.value ?? {};\n const defaultInputNumber = Array.isArray(defaultValue) ? defaultValue[0] : defaultValue;\n return (\n <InputNumber<number>\n defaultValue={defaultInputNumber}\n onChange={v => {\n filterState.setValue(v ?? undefined);\n }} {...restValue}></InputNumber>\n );\n }\n }\n },\n };\n return (\n <AssemblyFilter<number | (number | undefined)[]>\n {...assemblyConditionFilterProps}\n ></AssemblyFilter>\n );\n}\n\nNumberFilter.displayName = 'NumberFilter';\n","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FilterComponent } from './types';\nimport { TEXT_FILTER, TextFilter } from './TextFilter';\nimport { ID_FILTER, IdFilter } from './IdFilter';\nimport { NUMBER_FILTER, NumberFilter } from './NumberFilter';\nimport { FilterType } from './TypedFilter';\n\n/**\n * Registry for managing filter components.\n *\n * Provides a centralized way to register, unregister, and retrieve\n * filter components by their type identifiers.\n */\nexport class FilterRegistry {\n private readonly filters: Map<FilterType, FilterComponent> = new Map<\n FilterType,\n FilterComponent\n >();\n\n constructor() {\n this.register(ID_FILTER, IdFilter);\n this.register(TEXT_FILTER, TextFilter);\n this.register(NUMBER_FILTER, NumberFilter);\n }\n\n /**\n * Registers a filter component for a specific type.\n *\n * @param type - The unique identifier for the filter type\n * @param filter - The filter component to register\n *\n * @example\n * ```typescript\n * filterRegistry.register('text', TextFilter);\n * ```\n */\n register(type: FilterType, filter: FilterComponent) {\n this.filters.set(type, filter);\n }\n\n /**\n * Unregisters a filter component for a specific type.\n *\n * @param type - The unique identifier for the filter type to remove\n * @returns true if the filter was successfully removed, false otherwise\n *\n * @example\n * ```typescript\n * const wasRemoved = filterRegistry.unregister('text');\n * ```\n */\n unregister(type: FilterType) {\n return this.filters.delete(type);\n }\n\n /**\n * Retrieves a filter component for a specific type.\n *\n * @param type - The unique identifier for the filter type\n * @returns The filter component, or undefined if not found\n *\n * @example\n * ```typescript\n * const TextFilter = filterRegistry.get('text');\n * ```\n */\n get(type: FilterType): FilterComponent | undefined {\n return this.filters.get(type);\n }\n}\n\nexport const filterRegistry = new FilterRegistry();\n","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from 'react';\nimport { FilterProps } from './types';\nimport { filterRegistry } from './filterRegistry';\nimport { FallbackFilter } from './FallbackFilter';\n\nexport type FilterType = string;\n\nexport interface TypedFilterProps extends FilterProps {\n type: FilterType;\n}\n\nexport function TypedFilter(props: TypedFilterProps) {\n const FilterComponent = filterRegistry.get(props.type) || FallbackFilter;\n return <FilterComponent {...props} />;\n}\n\nTypedFilter.displayName = 'TypedFilter';"],"names":["OPERATOR_zh_CN","AND","OR","NOR","ID","IDS","AGGREGATE_ID","AGGREGATE_IDS","TENANT_ID","OWNER_ID","DELETED","ALL","EQ","NE","GT","LT","GTE","LTE","CONTAINS","IN","NOT_IN","BETWEEN","ALL_IN","STARTS_WITH","ENDS_WITH","ELEM_MATCH","NULL","NOT_NULL","TRUE","FALSE","EXISTS","TODAY","BEFORE_TODAY","TOMORROW","THIS_WEEK","NEXT_WEEK","LAST_WEEK","THIS_MONTH","LAST_MONTH","RECENT_DAYS","EARLIER_DAYS","RAW","defaultValueValidate","operator","value","Array","isArray","length","useFilterState","options","$","_c","setOperator","useState","setValue","valueValidate","validate","t0","field","currentOperator","currentValue","condition","resolveFilterValue","t1","newOperator","undefined","conditionFilterValue","onChange","setOperatorFn","t2","newValue","conditionFilterValue_0","setValueFn","t3","getValue","useImperativeHandle","ref","t4","AssemblyFilter","props","supportedOperators","Error","operatorLocale","locale","initialOperator","defaultValue","includes","filterState","name","valueInput","valueInputSupplier","map","supportedOperator","label","jsxs","Space","jsx","Button","Select","FallbackFilter","Alert","type","displayName","StringTagValueItemSerializer","serialize","deserialize","NumberTagValueItemSerializer","item","toString","parseFloat","DEFAULT_TOKEN_SEPARATORS","TagInput","restProps","tokenSeparators","allowClear","serializer","value_0","parsedValue","onChangeHandler","serializedValue","NumberRange","defaultStart","defaultEnd","start","setStart","end","setEnd","startMax","max","endMin","min","newStart","handleStartChange","newEnd","handleEndChange","placeholder","precision","InputNumber","t5","t6","t7","TEXT_FILTER","TextFilter","Symbol","for","Operator","Input","e","target","assemblyConditionFilterProps","ID_FILTER","IdFilter","NUMBER_FILTER","NumberFilter","restValue","defaultInputNumber","v","_temp","FilterRegistry","constructor","filters","Map","register","filter","set","unregister","delete","get","__name","_FilterRegistry","filterRegistry","TypedFilter","FilterComponent"],"mappings":";;;;;;;AAgBO,MAAMA,IAAiC;AAAA,EAC5CC,KAAK;AAAA,EACLC,IAAI;AAAA,EACJC,KAAK;AAAA,EACLC,IAAI;AAAA,EACJC,KAAK;AAAA,EACLC,cAAc;AAAA,EACdC,eAAe;AAAA,EACfC,WAAW;AAAA,EACXC,UAAU;AAAA,EACVC,SAAS;AAAA,EACTC,KAAK;AAAA,EACLC,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,KAAK;AAAA,EACLC,KAAK;AAAA,EACLC,UAAU;AAAA,EACVC,IAAI;AAAA,EACJC,QAAQ;AAAA,EACRC,SAAS;AAAA,EACTC,QAAQ;AAAA,EACRC,aAAa;AAAA,EACbC,WAAW;AAAA,EACXC,YAAY;AAAA,EACZC,MAAM;AAAA,EACNC,UAAU;AAAA,EACVC,MAAM;AAAA,EACNC,OAAO;AAAA,EACPC,QAAQ;AAAA,EACRC,OAAO;AAAA,EACPC,cAAc;AAAA,EACdC,UAAU;AAAA,EACVC,WAAW;AAAA,EACXC,WAAW;AAAA,EACXC,WAAW;AAAA,EACXC,YAAY;AAAA,EACZC,YAAY;AAAA,EACZC,aAAa;AAAA,EACbC,cAAc;AAAA,EACdC,KAAK;AACP,GCxBMC,IAAuBA,gBAAAA,EAAAA,CAACC,GAAoBC,MAC5C,CAACD,KACD,CAACC,IAAc,KACZ,EAAEC,MAAMC,QAAQF,CAAK,KAAKA,EAAMG,WAAW,IAHvBL;AAMtB,SAAAM,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GACL,CAAAR,GAAAS,CAAA,IAAgCC,EAAmBJ,EAAON,QAAS,GACnE,CAAAC,GAAAU,CAAA,IAA0BD,EAA8BJ,EAAOL,KAAM,GACrEW,IAAsBN,EAAOO,YAAPd;AAAyC,MAAAe;AAAA,EAAAP,SAAAD,EAAAS,SAAAR,SAAAK,KACpCE,IAAAA,gBAAAA,EAAAA,CAAAE,GAAAC,MACpBL,EAAcI,GAAiBC,CAAY,IAQzC;AAAA,IAAAC,WALsB;AAAA,MAAAH,OACpBT,EAAOS;AAAAA,MAAMf,UACVgB;AAAAA,MAAef,OAClBgB;AAAAA,IAAAA;AAAAA,EAEFC,IAR0C,QADxBJ,OAY1BP,EAAA,CAAA,IAAAD,EAAAS,OAAAR,OAAAK,GAAAL,OAAAO,KAAAA,IAAAP,EAAA,CAAA;AAZD,QAAAY,IAA2BL;AAYzB,MAAAM;AAAA,EAAAb,EAAA,CAAA,MAAAD,KAAAC,SAAAY,KACoBC,IAAAC,gBAAAA,EAAAA,CAAAA,MAAA;AACpBZ,IAAAA,EAAYY,CAAW,GACvBV,EAASW,MAAS;AAClB,UAAAC,IAA6BJ,EAAmBE,GAAaC,MAAS;AACtEhB,IAAAA,EAAOkB,WAAYD,CAAoB;AAAA,EAAC,GAJpBF,OAKrBd,OAAAD,GAAAC,OAAAY,GAAAZ,OAAAa,KAAAA,IAAAb,EAAA,CAAA;AALD,QAAAkB,IAAsBL;AAKpB,MAAAM;AAAA,EAAAnB,EAAA,CAAA,MAAAP,KAAAO,SAAAD,KAAAC,EAAA,CAAA,MAAAY,KACiBO,IAAAC,gBAAAA,EAAAA,CAAAA,MAAA;AACjBhB,IAAAA,EAASgB,CAAQ;AACjB,UAAAC,IAA6BT,EAAmBnB,GAAU2B,CAAQ;AAClErB,IAAAA,EAAOkB,WAAYD,CAAoB;AAAA,EAAC,GAHvBI,OAIlBpB,OAAAP,GAAAO,OAAAD,GAAAC,OAAAY,GAAAZ,OAAAmB,KAAAA,IAAAnB,EAAA,CAAA;AAJD,QAAAsB,IAAmBH;AAIjB,MAAAI;AAAA,EAAAvB,EAAA,EAAA,MAAAP,KAAAO,UAAAY,KAAAZ,EAAA,EAAA,MAAAN,KAC+B6B,IAAAA,gBAAAA,EAAAA,OAAO;AAAA,IAAAC,WAAA;AAAA,aAE7BZ,EAAmBnB,GAAUC,CAAK;AAAA,IAAC;AAAA,EAAA,IAFb6B,OAI/BvB,QAAAP,GAAAO,QAAAY,GAAAZ,QAAAN,GAAAM,QAAAuB,KAAAA,IAAAvB,EAAA,EAAA,GAJFyB,EAAoB1B,EAAO2B,KAAMH,CAI/B;AAAC,MAAAI;AAAA,SAAA3B,EAAA,EAAA,MAAAP,KAAAO,EAAA,EAAA,MAAAkB,KAAAlB,EAAA,EAAA,MAAAsB,KAAAtB,UAAAN,KAEIiC,IAAA;AAAA,IAAAlC,UAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAQ,aAGQgB;AAAAA,IAAad,UAChBkB;AAAAA,EAAAA,GACXtB,QAAAP,GAAAO,QAAAkB,GAAAlB,QAAAsB,GAAAtB,QAAAN,GAAAM,QAAA2B,KAAAA,IAAA3B,EAAA,EAAA,GALM2B;AAKN;AAvCI7B,EAAAA,GAAAA;ACPA,SAAS8B,EACdC,GACA;AAEA,MAAI,CAACA,EAAMC,sBAAsBD,EAAMC,mBAAmBjC,WAAW;AACnE,UAAM,IAAIkC,MAAM,8CAA8C;AAGhE,QAAMC,IAAiBH,EAAMpC,UAAUwC,UAAUnF;AAGjD,MAAIoF,IAAkBL,EAAMpC,UAAU0C;AAGtC,GAAI,CAACD,KAAmB,CAACL,EAAMC,mBAAmBM,SAASF,CAAe,OACxEA,IAAkBL,EAAMC,mBAAmB,CAAC;AAG9C,QAAMO,IAAcvC,EAAe;AAAA,IACjCU,OAAOqB,EAAMrB,MAAM8B;AAAAA,IACnB7C,UAAUyC;AAAAA,IACVxC,OAAOmC,EAAMnC,OAAOyC;AAAAA,IACpBT,KAAKG,EAAMH;AAAAA,IACXpB,UAAUuB,EAAMvB;AAAAA,IAChBW,UAAUY,EAAMZ;AAAAA,EAAAA,CACjB,GACKsB,IAAaV,EAAMW,mBAAmBH,CAAW,GACjDtC,IAAU8B,EAAMC,mBAAmBW,IAAIC,CAAAA,OAAsB;AAAA,IACjEhD,OAAOgD;AAAAA,IACPC,OAAOX,EAAeU,CAAiB;AAAA,EAAA,EACvC;AACF,SACE,gBAAAE,EAACC,EAAM,SAAN,EACC,UAAA;AAAA,IAAA,gBAAAC,EAACC,KAAO,GAAIlB,EAAMc,OAAQd,UAAAA,EAAMrB,MAAMmC,OAAM;AAAA,IAC5C,gBAAAG,EAACE,GAAA,EACC,UAAUX,EAAYnC,aACtB,GAAI2B,EAAMpC,UACV,OAAO4C,EAAY5C,UACnB,SAAAM,EAAA,CACD;AAAA,IACAwC;AAAAA,EAAAA,GACH;AAEJ;AA3CgBX,EAAAA,GAAAA;ACfT,SAASqB,EAAepB,GAAyB;AACtDJ,SAAAA,EAAoBI,EAAMH,KAAK,OAAO;AAAA,IACpCF,WAAoC;AAAA,IAEpC;AAAA,EAAA,EACA,GACK,gBAAAsB,EAACI,GAAA,EAAM,SAAS,4BAA4BrB,EAAMsB,IAAI,KAAK,MAAK,WAAU,UAAQ,GAAA,CAAA;AAC3F;AAPgBF,EAAAA,GAAAA;AAShBA,EAAeG,cAAc;ACJtB,MAAMC,IAAuD;AAAA,EAClEC,UAAU5D,GAA2B;AACnC,WAAOA;AAAAA,EACT;AAAA,EACA6D,YAAY7D,GAA2B;AACrC,WAAOA;AAAAA,EACT;AACF,GAEa8D,IAA+D;AAAA,EAC1EF,UAAU5D,GAA2B;AACnC,WAAOA,EAAM+C,IAAKgB,CAAAA,MAASA,EAAKC,UAAU;AAAA,EAC5C;AAAA,EACAH,YAAY7D,GAA2B;AACrC,WAAOA,EAAM+C,IAAKgB,CAAAA,MAASE,WAAWF,CAAI,CAAC;AAAA,EAC7C;AACF,GAkBMG,IAA2B,CAAC,KAAK,KAAK,KAAK,KAAK,GAAG;AAQlD,SAAAC,EAAAhC,GAAA;AAAA,QAAA7B,IAAAC,EAAA,EAAA;AAAA,MAAAgB,GAAA6C,GAAAvD,GAAAM,GAAAM,GAAAzB;AAAA,EAAAM,SAAA6B,KACL;AAAA,IAAAkC,iBAAAxD;AAAAA,IAAAyD,YAAAnD;AAAAA,IAAAoD,YAAA9C;AAAAA,IAAAzB,OAAAA;AAAAA,IAAAuB,UAAAA;AAAAA,IAAA,GAAA6C;AAAAA,EAAAA,IAOIjC,GAAM7B,OAAA6B,GAAA7B,OAAAiB,GAAAjB,OAAA8D,GAAA9D,OAAAO,GAAAP,OAAAa,GAAAb,OAAAmB,GAAAnB,OAAAN,MAAAuB,IAAAjB,EAAA,CAAA,GAAA8D,IAAA9D,EAAA,CAAA,GAAAO,IAAAP,EAAA,CAAA,GAAAa,IAAAb,EAAA,CAAA,GAAAmB,IAAAnB,EAAA,CAAA,GAAAN,IAAAM,EAAA,CAAA;AANR,QAAA+D,IAAAxD,MAAAQ,SAAA6C,IAAArD,GACAyD,IAAAnD,MAAAE,SAAA,KAAAF,GACAoD,IAAA9C,MAAAJ,SAAasC,IAAblC;AAAkF,MAAAI;AAAA,EAAAvB,EAAA,CAAA,MAAAiB,KAAAjB,SAAAiE,KAK5D1C,IAAA2C,gBAAAA,EAAAA,CAAAA,MAAA;AACtB,QAAI,CAACjD;AAAQ;AAGb,UAAAkD,IAAoBF,EAAUV,YAAa7D,CAAK;AAChDuB,IAAAA,EAASkD,CAAW;AAAA,EAAC,GALCD,OAMvBlE,OAAAiB,GAAAjB,OAAAiE,GAAAjE,OAAAuB,KAAAA,IAAAvB,EAAA,CAAA;AAND,QAAAoE,IAAwB7C;AAOxB,MAAA8C,IAAuC;AACvC,MAAI3E;AACF,QAAIC,MAAKC,QAASF,CAAK,GAAC;AAAA,UAAAiC;AAAA,MAAA3B,EAAA,EAAA,MAAAiE,KAAAjE,UAAAN,KACJiC,IAAAsC,EAAUX,UAAW5D,CAAK,GAACM,QAAAiE,GAAAjE,QAAAN,GAAAM,QAAA2B,KAAAA,IAAA3B,EAAA,EAAA,GAA7CqE,IAAkBA;AAAAA,IAAH,OAAA;AAAA,UAAA1C;AAAA,MAAA3B,EAAA,EAAA,MAAAiE,KAAAjE,UAAAN,KAEGiC,IAAAsC,EAAUX,UAAW,CAAC5D,CAAK,CAAC,GAACM,QAAAiE,GAAAjE,QAAAN,GAAAM,QAAA2B,KAAAA,IAAA3B,EAAA,EAAA,GAA/CqE,IAAkBA;AAAAA,IAAH;AAElB,MAAA1C;AAAA,SAAA3B,EAAA,EAAA,MAAAgE,KAAAhE,EAAA,EAAA,MAAAoE,KAAApE,EAAA,EAAA,MAAA8D,KAAA9D,EAAA,EAAA,MAAAqE,KAAArE,UAAA+D,KAECpC,sBAACqB,GAAA,EAAM,GACDc,GACE,MAAA,QACA,MAAA,IACM,kBACAE,YAAAA,GACKD,iBAAAA,GACVM,UACGD,UAAAA,GAAe,GACzBpE,QAAAgE,GAAAhE,QAAAoE,GAAApE,QAAA8D,GAAA9D,QAAAqE,GAAArE,QAAA+D,GAAA/D,QAAA2B,KAAAA,IAAA3B,EAAA,EAAA,GATF2B;AASE;AAlCCkC,EAAAA,GAAAA;AAsCPA,EAAST,cAAc;AC5EhB,SAAAkB,EAAAzC,GAAA;AAAA,QAAA7B,IAAAC,EAAA,EAAA;AAAA,MAAAM;AAAA,EAAAP,EAAA,CAAA,MAAA6B,EAAAM,gBAC8B5B,IAAAsB,EAAKM,gBAAL,CAAA,GAAwBnC,EAAA,CAAA,IAAA6B,EAAAM,cAAAnC,OAAAO,KAAAA,IAAAP,EAAA,CAAA;AAA3D,QAAA,CAAAuE,GAAAC,CAAA,IAAmCjE,GACnC,CAAAkE,GAAAC,CAAA,IAA0BvE,EAA6BoE,CAAY,GACnE,CAAAI,GAAAC,CAAA,IAAsBzE,EAA6BqE,CAAU,GAE7DK,IAAqCF,MAAQ5D,SAAR4D,IAA0B9C,EAAKiD,KACpEC,IAAmCN,MAAU1D,SAAV0D,IAA8B5C,EAAKmD;AAAK,MAAAnE;AAAA,EAAAb,EAAA,CAAA,MAAA2E,KAAA3E,SAAA6B,KAEjDhB,IAAAnB,gBAAAA,EAAAA,CAAAA,MAAA;AACxB,UAAAuF,IAAiBvF,KAAAqB;AACjB2D,IAAAA,EAASO,CAAQ,GACjBpD,EAAKZ,WAAY,CAACgE,GAAUN,CAAG,CAAC;AAAA,EAAC,GAHTjF,OAIzBM,OAAA2E,GAAA3E,OAAA6B,GAAA7B,OAAAa,KAAAA,IAAAb,EAAA,CAAA;AAJD,QAAAkF,IAA0BrE;AAIxB,MAAAM;AAAA,EAAAnB,EAAA,CAAA,MAAA6B,KAAA7B,SAAAyE,KAEsBtD,IAAA+C,gBAAAA,EAAAA,CAAAA,MAAA;AACtB,UAAAiB,IAAejB,KAAAnD;AACf6D,IAAAA,EAAOO,CAAM,GACbtD,EAAKZ,WAAY,CAACwD,GAAOU,CAAM,CAAC;AAAA,EAAC,GAHXjB,OAIvBlE,OAAA6B,GAAA7B,OAAAyE,GAAAzE,OAAAmB,KAAAA,IAAAnB,EAAA,CAAA;AAJD,QAAAoF,IAAwBjE,GAaLI,IAAAM,EAAKwD,cAAiB,CAAA,KAAtB;AAA+B,MAAA1D;AAAA,EAAA3B,EAAA,CAAA,MAAAkF,KAAAlF,EAAA,CAAA,MAAA6B,EAAAmD,OAAAhF,EAAA,EAAA,MAAA6B,EAAAyD,aAAAtF,EAAA,EAAA,MAAAyE,KAAAzE,EAAA,EAAA,MAAA6E,KAAA7E,EAAA,EAAA,MAAAuB,KAL9CI,sBAAC4D,GAAA,EACQd,UACF,KAAA5C,EAAKmD,KACLH,KAAAA,GACM,WAAAhD,EAAKyD,WACH,aAAA/D,GACH2D,UAAAA,GAAiB,GAC3BlF,OAAAkF,GAAAlF,EAAA,CAAA,IAAA6B,EAAAmD,KAAAhF,EAAA,EAAA,IAAA6B,EAAAyD,WAAAtF,QAAAyE,GAAAzE,QAAA6E,GAAA7E,QAAAuB,GAAAvB,QAAA2B,KAAAA,IAAA3B,EAAA,EAAA;AAMa,QAAAwF,IAAA3D,EAAKwD,cAAiB,CAAA,KAAtB;AAA+B,MAAAI;AAAA,EAAAzF,EAAA,EAAA,MAAA2E,KAAA3E,EAAA,EAAA,MAAA+E,KAAA/E,EAAA,EAAA,MAAAoF,KAAApF,UAAA6B,EAAAiD,OAAA9E,EAAA,EAAA,MAAA6B,EAAAyD,aAAAtF,EAAA,EAAA,MAAAwF,KAL9CC,sBAACF,GAAA,EACQZ,UACFI,QACA,KAAAlD,EAAKiD,KACC,WAAAjD,EAAKyD,WACH,aAAAE,GACHJ,UAAAA,GAAe,GACzBpF,QAAA2E,GAAA3E,QAAA+E,GAAA/E,QAAAoF,GAAApF,EAAA,EAAA,IAAA6B,EAAAiD,KAAA9E,EAAA,EAAA,IAAA6B,EAAAyD,WAAAtF,QAAAwF,GAAAxF,QAAAyF,KAAAA,IAAAzF,EAAA,EAAA;AAAA,MAAA0F;AAAA,SAAA1F,EAAA,EAAA,MAAA2B,KAAA3B,UAAAyF,KAhBJC,mCACE/D,UAAAA;AAAAA,IAAAA;AAAAA,IAQA8D;AAAAA,EAAAA,GAQF,GAAgBzF,QAAA2B,GAAA3B,QAAAyF,GAAAzF,QAAA0F,KAAAA,IAAA1F,EAAA,EAAA,GAjBhB0F;AAiBgB;AAtCbpB,EAAAA,GAAAA;ACPA,MAAMqB,IAAc;AAEpB,SAAAC,EAAA/D,GAAA;AAAA,QAAA7B,IAAAC,EAAA,CAAA;AAAA,MAAAM;AAAA,EAAAP,EAAA,CAAA,MAAA6F,OAAAC,IAAA,2BAAA,KAKiBvF,IAAA,CAACwF,EAAQrI,IAAKqI,EAAQpI,IAAKoI,EAAQ/H,UAAW+H,EAAQ1H,aAAc0H,EAAQzH,WAAYyH,EAAQ9H,IAAK8H,EAAQ7H,MAAO,GAAC8B,OAAAO,KAAAA,IAAAP,EAAA,CAAA;AAAA,MAAAa;AAAA,EAAAb,EAAA,CAAA,MAAA6B,EAAAnC,SACrHmB,IAAAwB,gBAAAA,EAAAA,CAAAA,MAAA;AAClB,YAAQA,EAAW5C,UAAAA;AAAAA,MAAS,KACrBsG,EAAQ9H;AAAAA,MAAG,KACX8H,EAAQ7H;AAAO,eACX,gBAAA4E,EAACe,GAAA,EACC,OAAAxB,EAAW3C,OACR,UAAA2C,EAAWjC,UAAS,GAC1ByB,EAAKnC,MAAAA,CAAM;AAAA,MACf;AAAA,iCAGMsG,GAAA,EACC,OAAA3D,EAAW3C,OACR,UAAAuG,gBAAAA,EAAAA,CAAAA,MAAK5D,EAAWjC,SAAU6F,EAACC,OAAOxG,KAAM,GAAxCuG,aACV,gBAAU,GACNpE,EAAKnC,OAAM;AAAA,IACf;AAAA,EAEL,GAlBiB2C,OAmBnBrC,EAAA,CAAA,IAAA6B,EAAAnC,OAAAM,OAAAa,KAAAA,IAAAb,EAAA,CAAA;AAAA,MAAAmB;AAAA,MAAAnB,EAAA,CAAA,MAAA6B,KAAA7B,SAAAa,GAAA;AAtBH,UAAAsF,IAA6E;AAAA,MAAA,GACxEtE;AAAAA,MAAKC,oBACYvB;AAAAA,MAAqHiC,oBACrH3B;AAAAA,IAAAA;AAqBfM,IAAAA,IAAA,gBAAA2B,EAAClB,GAAA,EAAc,GAAwBuE,EAAAA,CAA4B,GAAmBnG,OAAA6B,GAAA7B,OAAAa,GAAAb,OAAAmB;AAAAA,EAAA;AAAAA,IAAAA,IAAAnB,EAAA,CAAA;AAAA,SAAtFmB;AAAsF;AA3BxFyE,EAAAA,GAAAA;AA8BPA,EAAWxC,cAAc;AC7BlB,MAAMgD,IAAY;AAElB,SAAAC,EAAAxE,GAAA;AAAA,QAAA7B,IAAAC,EAAA,CAAA;AAAA,MAAAM;AAAA,EAAAP,EAAA,CAAA,MAAA6F,OAAAC,IAAA,2BAAA,KAOiBvF,IAAA,CAACwF,EAAQ7I,IAAK6I,EAAQ5I,GAAI,GAAC6C,OAAAO,KAAAA,IAAAP,EAAA,CAAA;AAAA,MAAAa;AAAA,EAAAb,EAAA,CAAA,MAAA6B,EAAAnC,SAC3BmB,IAAAwB,gBAAAA,EAAAA,CAAAA,MAGXA,EAAW5C,aAAcsG,EAAQ7I,KACtC,gBAAA4F,EAACkD,GAAA,EACQ,OAAA3D,EAAW3C,OACR,UAAAuG,gBAAAA,EAAAA,CAAAA,MAAK5D,EAAWjC,SAAU6F,EAACC,OAAOxG,KAAM,GAAxCuG,aACV,YAAA,IAAU,GACNpE,EAAKnC,MAAAA,CAAM,IAGjB,gBAAAoD,EAACe,GAAA,EACQ,OAAAxB,EAAW3C,OACR,UAAA2C,EAAWjC,UAAS,GAC1ByB,EAAKnC,OAAM,GAdD2C,OAiBnBrC,EAAA,CAAA,IAAA6B,EAAAnC,OAAAM,OAAAa,KAAAA,IAAAb,EAAA,CAAA;AAAA,MAAAmB;AAAA,MAAAnB,EAAA,CAAA,MAAA6B,KAAA7B,SAAAa,GAAA;AAtBH,UAAAsF,IAEI;AAAA,MAAA,GACCtE;AAAAA,MAAKC,oBACYvB;AAAAA,MAA2BiC,oBAC3B3B;AAAAA,IAAAA;AAoBpBM,IAAAA,IAAA,gBAAA2B,EAAClB,GAAA,EAAc,GACTuE,EAAAA,CAA4B,GAChBnG,OAAA6B,GAAA7B,OAAAa,GAAAb,OAAAmB;AAAAA,EAAA;AAAAA,IAAAA,IAAAnB,EAAA,CAAA;AAAA,SAFlBmB;AAEkB;AA9BfkF,EAAAA,GAAAA;AAkCPA,EAASjD,cAAc;ACtChB,MAAMkD,IAAgB;AAEtB,SAAAC,EAAA1E,GAAA;AAAA,QAAA7B,IAAAC,EAAA,CAAA;AAAA,MAAAM;AAAA,EAAAP,EAAA,CAAA,MAAA6F,OAAAC,IAAA,2BAAA,KAGiBvF,KAClBwF,EAAQrI,IACRqI,EAAQpI,IACRoI,EAAQnI,IACRmI,EAAQlI,IACRkI,EAAQjI,KACRiI,EAAQhI,KACRgI,EAAQ5H,SACR4H,EAAQ9H,IACR8H,EAAQ7H,MAAO,GAChB8B,OAAAO,KAAAA,IAAAP,EAAA,CAAA;AAAA,MAAAa;AAAA,EAAAb,EAAA,CAAA,MAAA6B,EAAAnC,SAUmBmB,IAAAwB,gBAAAA,EAAAA,CAAAA,MAAA;AAGlB,YAAQA,EAAW5C,UAAAA;AAAAA,MAAS,KACrBsG,EAAQ9H;AAAAA,MAAG,KACX8H,EAAQ7H;AAAO,eACX,gBAAA4E,EAACe,GAAA,EACC,OAAAxB,EAAW3C,OACN8D,YAAAA,GACF,UAAAyC,gBAAAA,EAAAA,CAAAA,MAAK5D,EAAWjC,SAAU6F,CAAC,GAA3BA,aAA4B,GAClCpE,EAAKnC,OAAM;AAAA,MACf,KAECqG,EAAQ5H;AAAQ,eAEjB,gBAAA2E,EAACwB,GAAA,EAAsB,UAAAjC,EAAWjC,SAAAA,CAAS;AAAA,MAAgB,SAAA;AAI7D,cAAA;AAAA,UAAA+B,cAAAA;AAAAA,UAAA,GAAAqE;AAAAA,QAAAA,IAAuC3E,EAAKnC,SAAL,CAAA,GACvC+G,IAA2B9G,MAAKC,QAASuC,CAA6C,IAA7BA,EAAY,CAAA,IAA1CA;AAA6D,eAEtF,gBAAAW,EAACyC,GAAA,EACekB,cAAAA,GACJ,UAAAC,gBAAAA,EAAAA,CAAAA,MAAA;AACRrE,UAAAA,EAAWjC,SAAUsG,KAAA3F,MAAc;AAAA,QAAC,GAD5B2F,aAET,GAAMF,GAAS;AAAA,MAAgB;AAAA,IAAA;AAAA,EAGvC,GA7BiBnE,OA8BnBrC,EAAA,CAAA,IAAA6B,EAAAnC,OAAAM,OAAAa,KAAAA,IAAAb,EAAA,CAAA;AAAA,MAAAmB;AAAA,MAAAnB,EAAA,CAAA,MAAA6B,KAAA7B,SAAAa,GAAA;AApDH,UAAAsF,IAA2F;AAAA,MAAA,GACtFtE;AAAAA,MAAKC,oBACYvB;AAAAA,MAUnBD,UACSqG;AAAAA,MAQTnE,oBACmB3B;AAAAA,IAAAA;AAiCpBM,IAAAA,IAAA,gBAAA2B,EAAClB,GAAA,EAAc,GACTuE,EAAAA,CAA4B,GAChBnG,OAAA6B,GAAA7B,OAAAa,GAAAb,OAAAmB;AAAAA,EAAA;AAAAA,IAAAA,IAAAnB,EAAA,CAAA;AAAA,SAFlBmB;AAEkB;AA1DfoF,EAAAA,GAAAA;AAAA,SAAAI,GAAAlH,GAAAC,GAAA;AAeD,SAAID,MAAasG,EAAQ5H,UAClBwB,MAAKC,QAASF,CAAK,IAGjBA,SAAaqB,UAAarB,EAAK,CAAA,MAAQqB,SAFrC,KAIJrB,KAASqB;AAAS;AArBxB4F,EAAAA,IAAAA;AA8DPJ,EAAanD,cAAc;AC5DpB,MAAMwD,IAAN,MAAMA,EAAe;AAAA,EAM1BC,cAAc;AALd,SAAiBC,8BAAgDC,IAAAA,GAM/D,KAAKC,SAASZ,GAAWC,CAAQ,GACjC,KAAKW,SAASrB,GAAaC,CAAU,GACrC,KAAKoB,SAASV,GAAeC,CAAY;AAAA,EAC3C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaAS,SAAS7D,GAAkB8D,GAAyB;AAClD,SAAKH,QAAQI,IAAI/D,GAAM8D,CAAM;AAAA,EAC/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaAE,WAAWhE,GAAkB;AAC3B,WAAO,KAAK2D,QAAQM,OAAOjE,CAAI;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaAkE,IAAIlE,GAA+C;AACjD,WAAO,KAAK2D,QAAQO,IAAIlE,CAAI;AAAA,EAC9B;AACF;AAxD4BmE,EAAAC,GAAA;AAArB,IAAMX,IAANW;AA0DA,MAAMC,KAAiB,IAAIZ,EAAAA;AC3D3B,SAAAa,GAAA5F,GAAA;AAAA,QAAA7B,IAAAC,EAAA,CAAA;AAAA,MAAAM;AAAA,EAAAP,EAAA,CAAA,MAAA6B,EAAAsB,QACmB5C,IAAAiH,GAAcH,IAAKxF,EAAKsB,IAAuB,KAA/CF,GAAgDjD,EAAA,CAAA,IAAA6B,EAAAsB,MAAAnD,OAAAO,KAAAA,IAAAP,EAAA,CAAA;AAAxE,QAAA0H,IAAwBnH;AAAiD,MAAAM;AAAA,SAAAb,EAAA,CAAA,MAAA0H,KAAA1H,SAAA6B,KAClEhB,IAAA,gBAAAiC,EAAC4E,GAAA,EAAe,GAAK7F,EAAAA,CAAK,GAAI7B,OAAA0H,GAAA1H,OAAA6B,GAAA7B,OAAAa,KAAAA,IAAAb,EAAA,CAAA,GAA9Ba;AAA8B;AAFhC4G,EAAAA,IAAAA;AAKPA,GAAYrE,cAAc;"}
|
package/dist/index.umd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(function(i,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("react/jsx-runtime"),require("react/compiler-runtime"),require("react"),require("antd"),require("@ahoo-wang/fetcher-wow")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react/compiler-runtime","react","antd","@ahoo-wang/fetcher-wow"],o):(i=typeof globalThis<"u"?globalThis:i||self,o(i.FetcherReact={},i.ReactJSXRuntime,i.ReactCompilerRuntime,i.React,i.Antd,i.FetcherWow))})(this,(function(i,o,_,F,m,c){"use strict";var Z=Object.defineProperty;var s=(i,o)=>Z(i,"name",{value:o,configurable:!0});const B={AND:"与",OR:"或",NOR:"非或",ID:"等于",IDS:"包含任一",AGGREGATE_ID:"等于",AGGREGATE_IDS:"包含任一",TENANT_ID:"等于",OWNER_ID:"等于",DELETED:"已删除",ALL:"全部",EQ:"等于",NE:"不等于",GT:"大于",LT:"小于",GTE:"大于等于",LTE:"小于等于",CONTAINS:"包含",IN:"包含任一",NOT_IN:"不包含任一",BETWEEN:"介于",ALL_IN:"全部包含",STARTS_WITH:"以...开头",ENDS_WITH:"以...结尾",ELEM_MATCH:"元素匹配",NULL:"为空",NOT_NULL:"不为空",TRUE:"为真",FALSE:"为假",EXISTS:"存在",TODAY:"今天",BEFORE_TODAY:"今天之前",TOMORROW:"明天",THIS_WEEK:"本周",NEXT_WEEK:"下周",LAST_WEEK:"上周",THIS_MONTH:"本月",LAST_MONTH:"上月",RECENT_DAYS:"最近几天",EARLIER_DAYS:"几天前",RAW:"原始查询"},Q=s((t,e)=>!t||!e?!1:!(Array.isArray(e)&&e.length===0),"defaultValueValidate");function P(t){const e=_.c(19),[a,r]=F.useState(t.operator),[n,l]=F.useState(t.value),d=t.validate??Q;let u;e[0]!==t.field||e[1]!==d?(u=s((T,N)=>d(T,N)?{condition:{field:t.field,operator:T,value:N}}:void 0,"t0"),e[0]=t.field,e[1]=d,e[2]=u):u=e[2];const E=u;let O;e[3]!==t||e[4]!==E?(O=s(T=>{r(T),l(void 0);const N=E(T,void 0);t.onChange?.(N)},"t1"),e[3]=t,e[4]=E,e[5]=O):O=e[5];const f=O;let v;e[6]!==a||e[7]!==t||e[8]!==E?(v=s(T=>{l(T);const N=E(a,T);t.onChange?.(N)},"t2"),e[6]=a,e[7]=t,e[8]=E,e[9]=v):v=e[9];const S=v;let I;e[10]!==a||e[11]!==E||e[12]!==n?(I=s(()=>({getValue(){return E(a,n)}}),"t3"),e[10]=a,e[11]=E,e[12]=n,e[13]=I):I=e[13],F.useImperativeHandle(t.ref,I);let g;return e[14]!==a||e[15]!==f||e[16]!==S||e[17]!==n?(g={operator:a,value:n,setOperator:f,setValue:S},e[14]=a,e[15]=f,e[16]=S,e[17]=n,e[18]=g):g=e[18],g}s(P,"useFilterState");function h(t){if(!t.supportedOperators||t.supportedOperators.length===0)throw new Error("supportedOperators must be a non-empty array");const e=t.operator
|
|
1
|
+
(function(i,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("react/jsx-runtime"),require("react/compiler-runtime"),require("react"),require("antd"),require("@ahoo-wang/fetcher-wow")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react/compiler-runtime","react","antd","@ahoo-wang/fetcher-wow"],o):(i=typeof globalThis<"u"?globalThis:i||self,o(i.FetcherReact={},i.ReactJSXRuntime,i.ReactCompilerRuntime,i.React,i.Antd,i.FetcherWow))})(this,(function(i,o,_,F,m,c){"use strict";var Z=Object.defineProperty;var s=(i,o)=>Z(i,"name",{value:o,configurable:!0});const B={AND:"与",OR:"或",NOR:"非或",ID:"等于",IDS:"包含任一",AGGREGATE_ID:"等于",AGGREGATE_IDS:"包含任一",TENANT_ID:"等于",OWNER_ID:"等于",DELETED:"已删除",ALL:"全部",EQ:"等于",NE:"不等于",GT:"大于",LT:"小于",GTE:"大于等于",LTE:"小于等于",CONTAINS:"包含",IN:"包含任一",NOT_IN:"不包含任一",BETWEEN:"介于",ALL_IN:"全部包含",STARTS_WITH:"以...开头",ENDS_WITH:"以...结尾",ELEM_MATCH:"元素匹配",NULL:"为空",NOT_NULL:"不为空",TRUE:"为真",FALSE:"为假",EXISTS:"存在",TODAY:"今天",BEFORE_TODAY:"今天之前",TOMORROW:"明天",THIS_WEEK:"本周",NEXT_WEEK:"下周",LAST_WEEK:"上周",THIS_MONTH:"本月",LAST_MONTH:"上月",RECENT_DAYS:"最近几天",EARLIER_DAYS:"几天前",RAW:"原始查询"},Q=s((t,e)=>!t||!e?!1:!(Array.isArray(e)&&e.length===0),"defaultValueValidate");function P(t){const e=_.c(19),[a,r]=F.useState(t.operator),[n,l]=F.useState(t.value),d=t.validate??Q;let u;e[0]!==t.field||e[1]!==d?(u=s((T,N)=>d(T,N)?{condition:{field:t.field,operator:T,value:N}}:void 0,"t0"),e[0]=t.field,e[1]=d,e[2]=u):u=e[2];const E=u;let O;e[3]!==t||e[4]!==E?(O=s(T=>{r(T),l(void 0);const N=E(T,void 0);t.onChange?.(N)},"t1"),e[3]=t,e[4]=E,e[5]=O):O=e[5];const f=O;let v;e[6]!==a||e[7]!==t||e[8]!==E?(v=s(T=>{l(T);const N=E(a,T);t.onChange?.(N)},"t2"),e[6]=a,e[7]=t,e[8]=E,e[9]=v):v=e[9];const S=v;let I;e[10]!==a||e[11]!==E||e[12]!==n?(I=s(()=>({getValue(){return E(a,n)}}),"t3"),e[10]=a,e[11]=E,e[12]=n,e[13]=I):I=e[13],F.useImperativeHandle(t.ref,I);let g;return e[14]!==a||e[15]!==f||e[16]!==S||e[17]!==n?(g={operator:a,value:n,setOperator:f,setValue:S},e[14]=a,e[15]=f,e[16]=S,e[17]=n,e[18]=g):g=e[18],g}s(P,"useFilterState");function h(t){if(!t.supportedOperators||t.supportedOperators.length===0)throw new Error("supportedOperators must be a non-empty array");const e=t.operator?.locale??B;let a=t.operator?.defaultValue;(!a||!t.supportedOperators.includes(a))&&(a=t.supportedOperators[0]);const r=P({field:t.field.name,operator:a,value:t.value?.defaultValue,ref:t.ref,validate:t.validate,onChange:t.onChange}),n=t.valueInputSupplier(r),l=t.supportedOperators.map(d=>({value:d,label:e[d]}));return o.jsxs(m.Space.Compact,{children:[o.jsx(m.Button,{...t.label,children:t.field.label}),o.jsx(m.Select,{onChange:r.setOperator,...t.operator,value:r.operator,options:l}),n]})}s(h,"AssemblyFilter");function D(t){return F.useImperativeHandle(t.ref,()=>({getValue(){}})),o.jsx(m.Alert,{message:`Unsupported filter type:[${t.type}]`,type:"warning",showIcon:!0})}s(D,"FallbackFilter"),D.displayName="FallbackFilter";const $={serialize(t){return t},deserialize(t){return t}},U={serialize(t){return t.map(e=>e.toString())},deserialize(t){return t.map(e=>parseFloat(e))}},x=[",",",",";",";"," "];function C(t){const e=_.c(22);let a,r,n,l,d,u;e[0]!==t?({tokenSeparators:n,allowClear:l,serializer:d,value:u,onChange:a,...r}=t,e[0]=t,e[1]=a,e[2]=r,e[3]=n,e[4]=l,e[5]=d,e[6]=u):(a=e[1],r=e[2],n=e[3],l=e[4],d=e[5],u=e[6]);const E=n===void 0?x:n,O=l===void 0?!0:l,f=d===void 0?$:d;let v;e[7]!==a||e[8]!==f?(v=s(T=>{if(!a)return;const N=f.deserialize(T);a(N)},"t3"),e[7]=a,e[8]=f,e[9]=v):v=e[9];const S=v;let I=null;if(u)if(Array.isArray(u)){let T;e[10]!==f||e[11]!==u?(T=f.serialize(u),e[10]=f,e[11]=u,e[12]=T):T=e[12],I=T}else{let T;e[13]!==f||e[14]!==u?(T=f.serialize([u]),e[13]=f,e[14]=u,e[15]=T):T=e[15],I=T}let g;return e[16]!==O||e[17]!==S||e[18]!==r||e[19]!==I||e[20]!==E?(g=o.jsx(m.Select,{...r,mode:"tags",open:!1,suffixIcon:null,allowClear:O,tokenSeparators:E,value:I,onChange:S}),e[16]=O,e[17]=S,e[18]=r,e[19]=I,e[20]=E,e[21]=g):g=e[21],g}s(C,"TagInput"),C.displayName="TagInput";function j(t){const e=_.c(25);let a;e[0]!==t.defaultValue?(a=t.defaultValue||[],e[0]=t.defaultValue,e[1]=a):a=e[1];const[r,n]=a,[l,d]=F.useState(r),[u,E]=F.useState(n),O=u!==void 0?u:t.max,f=l!==void 0?l:t.min;let v;e[2]!==u||e[3]!==t?(v=s(G=>{const y=G??void 0;d(y),t.onChange?.([y,u])},"t1"),e[2]=u,e[3]=t,e[4]=v):v=e[4];const S=v;let I;e[5]!==t||e[6]!==l?(I=s(G=>{const y=G??void 0;E(y),t.onChange?.([l,y])},"t2"),e[5]=t,e[6]=l,e[7]=I):I=e[7];const g=I,T=t.placeholder?.[0]||"最小值";let N;e[8]!==S||e[9]!==t.min||e[10]!==t.precision||e[11]!==l||e[12]!==O||e[13]!==T?(N=o.jsx(m.InputNumber,{value:l,min:t.min,max:O,precision:t.precision,placeholder:T,onChange:S}),e[8]=S,e[9]=t.min,e[10]=t.precision,e[11]=l,e[12]=O,e[13]=T,e[14]=N):N=e[14];const L=t.placeholder?.[1]||"最大值";let A;e[15]!==u||e[16]!==f||e[17]!==g||e[18]!==t.max||e[19]!==t.precision||e[20]!==L?(A=o.jsx(m.InputNumber,{value:u,min:f,max:t.max,precision:t.precision,placeholder:L,onChange:g}),e[15]=u,e[16]=f,e[17]=g,e[18]=t.max,e[19]=t.precision,e[20]=L,e[21]=A):A=e[21];let b;return e[22]!==N||e[23]!==A?(b=o.jsxs(m.Space.Compact,{children:[N,A]}),e[22]=N,e[23]=A,e[24]=b):b=e[24],b}s(j,"NumberRange");const k="text";function z(t){const e=_.c(6);let a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a=[c.Operator.EQ,c.Operator.NE,c.Operator.CONTAINS,c.Operator.STARTS_WITH,c.Operator.ENDS_WITH,c.Operator.IN,c.Operator.NOT_IN],e[0]=a):a=e[0];let r;e[1]!==t.value?(r=s(l=>{switch(l.operator){case c.Operator.IN:case c.Operator.NOT_IN:return o.jsx(C,{value:l.value,onChange:l.setValue,...t.value});default:return o.jsx(m.Input,{value:l.value,onChange:s(d=>l.setValue(d.target.value),"onChange"),allowClear:!0,...t.value})}},"t1"),e[1]=t.value,e[2]=r):r=e[2];let n;if(e[3]!==t||e[4]!==r){const l={...t,supportedOperators:a,valueInputSupplier:r};n=o.jsx(h,{...l}),e[3]=t,e[4]=r,e[5]=n}else n=e[5];return n}s(z,"TextFilter"),z.displayName="TextFilter";const q="id";function R(t){const e=_.c(6);let a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a=[c.Operator.ID,c.Operator.IDS],e[0]=a):a=e[0];let r;e[1]!==t.value?(r=s(l=>l.operator===c.Operator.ID?o.jsx(m.Input,{value:l.value,onChange:s(d=>l.setValue(d.target.value),"onChange"),allowClear:!0,...t.value}):o.jsx(C,{value:l.value,onChange:l.setValue,...t.value}),"t1"),e[1]=t.value,e[2]=r):r=e[2];let n;if(e[3]!==t||e[4]!==r){const l={...t,supportedOperators:a,valueInputSupplier:r};n=o.jsx(h,{...l}),e[3]=t,e[4]=r,e[5]=n}else n=e[5];return n}s(R,"IdFilter"),R.displayName="IdConditionFilter";const X="number";function H(t){const e=_.c(6);let a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a=[c.Operator.EQ,c.Operator.NE,c.Operator.GT,c.Operator.LT,c.Operator.GTE,c.Operator.LTE,c.Operator.BETWEEN,c.Operator.IN,c.Operator.NOT_IN],e[0]=a):a=e[0];let r;e[1]!==t.value?(r=s(l=>{switch(l.operator){case c.Operator.IN:case c.Operator.NOT_IN:return o.jsx(C,{value:l.value,serializer:U,onChange:s(d=>l.setValue(d),"onChange"),...t.value});case c.Operator.BETWEEN:return o.jsx(j,{onChange:l.setValue});default:{const{defaultValue:d,...u}=t.value??{},E=Array.isArray(d)?d[0]:d;return o.jsx(m.InputNumber,{defaultValue:E,onChange:s(O=>{l.setValue(O??void 0)},"onChange"),...u})}}},"t1"),e[1]=t.value,e[2]=r):r=e[2];let n;if(e[3]!==t||e[4]!==r){const l={...t,supportedOperators:a,validate:J,valueInputSupplier:r};n=o.jsx(h,{...l}),e[3]=t,e[4]=r,e[5]=n}else n=e[5];return n}s(H,"NumberFilter");function J(t,e){return t===c.Operator.BETWEEN?Array.isArray(e)?e[0]!==void 0&&e[1]!==void 0:!1:e!=null}s(J,"_temp"),H.displayName="NumberFilter";const M=class M{constructor(){this.filters=new Map,this.register(q,R),this.register(k,z),this.register(X,H)}register(e,a){this.filters.set(e,a)}unregister(e){return this.filters.delete(e)}get(e){return this.filters.get(e)}};s(M,"FilterRegistry");let V=M;const K=new V;function Y(t){const e=_.c(5);let a;e[0]!==t.type?(a=K.get(t.type)||D,e[0]=t.type,e[1]=a):a=e[1];const r=a;let n;return e[2]!==r||e[3]!==t?(n=o.jsx(r,{...t}),e[2]=r,e[3]=t,e[4]=n):n=e[4],n}s(Y,"TypedFilter"),Y.displayName="TypedFilter",i.AssemblyFilter=h,i.FallbackFilter=D,i.FilterRegistry=V,i.ID_FILTER=q,i.IdFilter=R,i.NUMBER_FILTER=X,i.NumberFilter=H,i.NumberRange=j,i.NumberTagValueItemSerializer=U,i.OPERATOR_zh_CN=B,i.StringTagValueItemSerializer=$,i.TEXT_FILTER=k,i.TagInput=C,i.TextFilter=z,i.TypedFilter=Y,i.filterRegistry=K,i.useFilterState=P,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})}));
|
|
2
2
|
//# sourceMappingURL=index.umd.js.map
|
package/dist/index.umd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.umd.js","sources":["../src/filter/locale/operator.zh_CN.ts","../src/filter/useFilterState.ts","../src/filter/AssemblyFilter.tsx","../src/filter/FallbackFilter.tsx","../src/components/TagInput.tsx","../src/components/NumberRange.tsx","../src/filter/TextFilter.tsx","../src/filter/IdFilter.tsx","../src/filter/NumberFilter.tsx","../src/filter/filterRegistry.ts","../src/filter/TypedFilter.tsx"],"sourcesContent":["/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nimport { OperatorLocale } from '@ahoo-wang/fetcher-wow';\n\nexport const OPERATOR_zh_CN: OperatorLocale = {\n AND: '与',\n OR: '或',\n NOR: '非或',\n ID: '等于',\n IDS: '包含任一',\n AGGREGATE_ID: '等于',\n AGGREGATE_IDS: '包含任一',\n TENANT_ID: '等于',\n OWNER_ID: '等于',\n DELETED: '已删除',\n ALL: '全部',\n EQ: '等于',\n NE: '不等于',\n GT: '大于',\n LT: '小于',\n GTE: '大于等于',\n LTE: '小于等于',\n CONTAINS: '包含',\n IN: '包含任一',\n NOT_IN: '不包含任一',\n BETWEEN: '介于',\n ALL_IN: '全部包含',\n STARTS_WITH: '以...开头',\n ENDS_WITH: '以...结尾',\n ELEM_MATCH: '元素匹配',\n NULL: '为空',\n NOT_NULL: '不为空',\n TRUE: '为真',\n FALSE: '为假',\n EXISTS: '存在',\n TODAY: '今天',\n BEFORE_TODAY: '今天之前',\n TOMORROW: '明天',\n THIS_WEEK: '本周',\n NEXT_WEEK: '下周',\n LAST_WEEK: '上周',\n THIS_MONTH: '本月',\n LAST_MONTH: '上月',\n RECENT_DAYS: '最近几天',\n EARLIER_DAYS: '几天前',\n RAW: '原始查询',\n};","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Condition, Operator } from '@ahoo-wang/fetcher-wow';\nimport { RefAttributes, useImperativeHandle, useState } from 'react';\nimport { FilterRef, FilterValue } from './types';\nimport { Optional } from '../types';\n\n\nexport interface UseFilterStateOptions<ValueType = any> extends RefAttributes<FilterRef> {\n field?: string;\n operator: Operator;\n value: Optional<ValueType>;\n validate?: (operator: Operator, value: Optional<ValueType>) => boolean;\n onChange?: (condition: Optional<FilterValue>) => void;\n}\n\nexport interface UseFilterStateReturn<ValueType = any> {\n operator: Operator;\n value: Optional<ValueType>;\n setOperator: (operator: Operator) => void;\n setValue: (value: Optional<ValueType>) => void;\n}\n\nconst defaultValueValidate = (operator: Operator, value: any) => {\n if (!operator) return false;\n if (!value) return false;\n return !(Array.isArray(value) && value.length === 0);\n};\n\nexport function useFilterState<ValueType = any>(options: UseFilterStateOptions<ValueType>): UseFilterStateReturn<ValueType> {\n const [operator, setOperator] = useState<Operator>(options.operator);\n const [value, setValue] = useState<Optional<ValueType>>(options.value);\n const valueValidate = options.validate ?? defaultValueValidate;\n const resolveFilterValue = (currentOperator: Operator, currentValue: Optional<ValueType>): Optional<FilterValue> => {\n if (!valueValidate(currentOperator, currentValue)) {\n return undefined;\n }\n const condition: Condition = {\n field: options.field,\n operator: currentOperator,\n value: currentValue,\n };\n return {\n condition,\n };\n };\n const setOperatorFn = (newOperator: Operator) => {\n setOperator(newOperator);\n setValue(undefined);\n const conditionFilterValue = resolveFilterValue(newOperator, undefined);\n options.onChange?.(conditionFilterValue);\n };\n const setValueFn = (newValue: Optional<ValueType>) => {\n setValue(newValue);\n const conditionFilterValue = resolveFilterValue(operator, newValue);\n options.onChange?.(conditionFilterValue);\n };\n useImperativeHandle(options.ref, () => ({\n getValue(): FilterValue | undefined {\n return resolveFilterValue(operator, value);\n },\n }));\n\n return {\n operator,\n value,\n setOperator: setOperatorFn,\n setValue: setValueFn,\n };\n}","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FilterProps } from './types';\nimport { Operator } from '@ahoo-wang/fetcher-wow';\nimport { OPERATOR_zh_CN } from './locale';\nimport {\n useFilterState,\n UseFilterStateReturn,\n} from './useFilterState';\nimport { Button, Select, Space } from 'antd';\nimport { ReactNode } from 'react';\nimport { Optional } from '../types';\n\nexport interface AssemblyFilterProps<ValueType = any>\n extends FilterProps {\n supportedOperators: Operator[];\n validate?: (operator: Operator, value: Optional<ValueType>) => boolean;\n valueInputSupplier: (\n filterState: UseFilterStateReturn<ValueType>,\n ) => ReactNode;\n}\n\nexport function AssemblyFilter<ValueType = any>(\n props: AssemblyFilterProps<ValueType>,\n) {\n // Validate that supportedOperators is not empty\n if (!props.supportedOperators || props.supportedOperators.length === 0) {\n throw new Error('supportedOperators must be a non-empty array');\n }\n\n const operatorLocale = props.operator.locale ?? OPERATOR_zh_CN;\n\n // Determine the initial operator\n let initialOperator = props.operator.defaultValue;\n\n // If no operator is provided or it's not in supported operators, use the first supported operator\n if (!initialOperator || !props.supportedOperators.includes(initialOperator)) {\n initialOperator = props.supportedOperators[0];\n }\n\n const filterState = useFilterState({\n field: props.field.name,\n operator: initialOperator,\n value: props.value.defaultValue,\n ref: props.ref,\n validate: props.validate,\n onChange: props.onChange,\n });\n const valueInput = props.valueInputSupplier(filterState);\n const options = props.supportedOperators.map(supportedOperator => ({\n value: supportedOperator,\n label: operatorLocale[supportedOperator],\n }));\n return (\n <Space.Compact>\n <Button {...props.label}>{props.field.label}</Button>\n <Select\n onChange={filterState.setOperator}\n {...props.operator}\n value={filterState.operator}\n options={options}\n ></Select>\n {valueInput}\n </Space.Compact>\n );\n}\n","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Alert } from 'antd';\nimport React, { useImperativeHandle } from 'react';\nimport { TypedFilterProps } from './TypedFilter';\nimport { FilterValue } from './types';\n\nexport function FallbackFilter(props: TypedFilterProps) {\n useImperativeHandle(props.ref, () => ({\n getValue(): FilterValue | undefined {\n return undefined;\n },\n }));\n return <Alert message={`Unsupported filter type:[${props.type}]`} type=\"warning\" showIcon />;\n}\n\nFallbackFilter.displayName = 'FallbackFilter';","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { RefSelectProps, Select, SelectProps } from 'antd';\nimport { RefObject } from 'react';\nimport { Optional } from '../types';\n\nexport interface TagValueItemSerializer<ValueItemType = string> {\n serialize(value: ValueItemType[]): string[];\n\n deserialize(value: string[]): ValueItemType[];\n}\n\nexport const StringTagValueItemSerializer: TagValueItemSerializer = {\n serialize(value: string[]): string[] {\n return value;\n },\n deserialize(value: string[]): string[] {\n return value;\n },\n};\n\nexport const NumberTagValueItemSerializer: TagValueItemSerializer<number> = {\n serialize(value: number[]): string[] {\n return value.map((item) => item.toString());\n },\n deserialize(value: string[]): number[] {\n return value.map((item) => parseFloat(item));\n },\n};\n\n/**\n * Props for the TagInput component.\n * Extends SelectProps from Antd, excluding 'mode', 'open', and 'suffixIcon' as they are fixed.\n */\nexport interface TagInputProps<ValueItemType = string>\n extends Omit<SelectProps, 'mode' | 'open' | 'suffixIcon' | 'onChange' | 'value'> {\n ref?: RefObject<RefSelectProps>;\n serializer?: TagValueItemSerializer<ValueItemType>;\n onChange?: (value: ValueItemType[]) => void;\n value?: Optional<ValueItemType | ValueItemType[]>;\n}\n\n/**\n * Default token separators for splitting input into tags.\n * Includes common separators like comma, semicolon, and space.\n */\nconst DEFAULT_TOKEN_SEPARATORS = [',', ',', ';', ';', ' '];\n\n/**\n * A tag input component based on Antd's Select in tags mode.\n * Allows users to input multiple tags separated by specified token separators.\n * @param props - The props for the TagInput component.\n * @returns The rendered TagInput component.\n */\nexport function TagInput<ValueItemType = string[]>(props: TagInputProps<ValueItemType>) {\n const {\n tokenSeparators = DEFAULT_TOKEN_SEPARATORS,\n allowClear = true,\n serializer = StringTagValueItemSerializer as TagValueItemSerializer<ValueItemType>,\n value,\n onChange,\n ...restProps\n } = props;\n const onChangeHandler = (value: string[]) => {\n if (!onChange) {\n return;\n }\n const parsedValue = serializer.deserialize(value);\n onChange(parsedValue);\n };\n let serializedValue: string[] | null = null;\n if (value) {\n if (Array.isArray(value)) {\n serializedValue = serializer.serialize(value);\n } else {\n serializedValue = serializer.serialize([value]);\n }\n }\n return (\n <Select\n {...restProps}\n mode={'tags'}\n open={false}\n suffixIcon={null}\n allowClear={allowClear}\n tokenSeparators={tokenSeparators}\n value={serializedValue}\n onChange={onChangeHandler}\n />\n );\n}\n\nTagInput.displayName = 'TagInput';\n","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { InputNumber, Space } from 'antd';\nimport { useState } from 'react';\n\ntype NumberRangeValue = (number | undefined)[];\n\nexport interface NumberRangeProps {\n defaultValue?: NumberRangeValue;\n min?: number;\n max?: number;\n precision?: number;\n placeholder?: string[];\n onChange?: (value: NumberRangeValue) => void;\n}\n\nexport function NumberRange(props: NumberRangeProps) {\n const [defaultStart, defaultEnd] = props.defaultValue || [];\n const [start, setStart] = useState<number | undefined>(defaultStart);\n const [end, setEnd] = useState<number | undefined>(defaultEnd);\n\n const startMax: number | undefined = end !== undefined ? end : props.max;\n const endMin: number | undefined = start !== undefined ? start : props.min;\n\n const handleStartChange = (value: number | null) => {\n const newStart = value ?? undefined;\n setStart(newStart);\n props.onChange?.([newStart, end]);\n };\n\n const handleEndChange = (value: number | null) => {\n const newEnd = value ?? undefined;\n setEnd(newEnd);\n props.onChange?.([start, newEnd]);\n };\n\n return (\n <Space.Compact>\n <InputNumber\n value={start}\n min={props.min}\n max={startMax}\n precision={props.precision}\n placeholder={props.placeholder?.[0] || '最小值'}\n onChange={handleStartChange}\n />\n <InputNumber\n value={end}\n min={endMin}\n max={props.max}\n precision={props.precision}\n placeholder={props.placeholder?.[1] || '最大值'}\n onChange={handleEndChange}\n />\n </Space.Compact>\n );\n}\n","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FilterProps } from './types';\nimport { Input } from 'antd';\nimport { Operator } from '@ahoo-wang/fetcher-wow';\nimport { TagInput } from '../components';\nimport { AssemblyFilter, AssemblyFilterProps } from './AssemblyFilter';\nimport { UseFilterStateReturn } from './useFilterState';\n\nexport const TEXT_FILTER = 'text';\n\nexport function TextFilter(\n props: FilterProps<string | string[]>,\n) {\n const assemblyConditionFilterProps: AssemblyFilterProps<string | string[]> = {\n ...props,\n supportedOperators: [Operator.EQ, Operator.NE, Operator.CONTAINS, Operator.STARTS_WITH, Operator.ENDS_WITH, Operator.IN, Operator.NOT_IN],\n valueInputSupplier: (filterState: UseFilterStateReturn<string | string[]>) => {\n switch (filterState.operator) {\n case Operator.IN:\n case Operator.NOT_IN: {\n return <TagInput\n value={filterState.value}\n onChange={filterState.setValue}\n {...props.value}\n />;\n }\n default: {\n return <Input\n value={filterState.value}\n onChange={e => filterState.setValue(e.target.value)}\n allowClear\n {...props.value}\n />;\n }\n }\n },\n };\n return <AssemblyFilter<string | string[]> {...assemblyConditionFilterProps}></AssemblyFilter>;\n}\n\nTextFilter.displayName = 'TextFilter';\n","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FilterProps } from './types';\nimport { Input } from 'antd';\nimport { Operator } from '@ahoo-wang/fetcher-wow';\nimport { TagInput } from '../components';\nimport { UseFilterStateReturn } from './useFilterState';\nimport {\n AssemblyFilter,\n AssemblyFilterProps,\n} from './AssemblyFilter';\n\nexport const ID_FILTER = 'id';\n\nexport function IdFilter(\n props: FilterProps<string | string[]>,\n) {\n const assemblyConditionFilterProps: AssemblyFilterProps<\n string | string[]\n > = {\n ...props,\n supportedOperators: [Operator.ID, Operator.IDS],\n valueInputSupplier: (\n filterState: UseFilterStateReturn<string | string[]>,\n ) => {\n return filterState.operator === Operator.ID ? (\n <Input\n value={filterState.value}\n onChange={e => filterState.setValue(e.target.value)}\n allowClear\n {...props.value}\n />\n ) : (\n <TagInput\n value={filterState.value}\n onChange={filterState.setValue}\n {...props.value}\n />\n );\n },\n };\n return (\n <AssemblyFilter<string | string[]>\n {...assemblyConditionFilterProps}\n ></AssemblyFilter>\n );\n}\n\nIdFilter.displayName = 'IdConditionFilter';\n","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FilterProps } from './types';\nimport { InputNumber } from 'antd';\nimport { Operator } from '@ahoo-wang/fetcher-wow';\nimport { NumberTagValueItemSerializer, TagInput } from '../components';\nimport { AssemblyFilter, AssemblyFilterProps } from './AssemblyFilter';\nimport { UseFilterStateReturn } from './useFilterState';\nimport { NumberRange } from '../components';\n\nexport const NUMBER_FILTER = 'number';\n\nexport function NumberFilter(props: FilterProps<number | (number | undefined)[]>) {\n const assemblyConditionFilterProps: AssemblyFilterProps<number | (number | undefined)[]> = {\n ...props,\n supportedOperators: [\n Operator.EQ,\n Operator.NE,\n Operator.GT,\n Operator.LT,\n Operator.GTE,\n Operator.LTE,\n Operator.BETWEEN,\n Operator.IN,\n Operator.NOT_IN,\n ],\n validate: (operator, value) => {\n if (operator === Operator.BETWEEN) {\n if (!Array.isArray(value)) {\n return false;\n }\n return value[0] !== undefined && value[1] !== undefined;\n }\n return value != undefined;\n },\n valueInputSupplier: (\n filterState: UseFilterStateReturn<number | (number | undefined)[]>,\n ) => {\n switch (filterState.operator) {\n case Operator.IN:\n case Operator.NOT_IN: {\n return <TagInput\n value={filterState.value}\n serializer={NumberTagValueItemSerializer}\n onChange={e => filterState.setValue(e)}\n {...props.value}\n />;\n }\n case Operator.BETWEEN: {\n return (\n <NumberRange onChange={filterState.setValue}></NumberRange>\n );\n }\n default: {\n const { defaultValue, ...restValue } = props.value;\n const defaultInputNumber = Array.isArray(defaultValue) ? defaultValue[0] : defaultValue;\n return (\n <InputNumber<number>\n defaultValue={defaultInputNumber}\n onChange={v => {\n filterState.setValue(v ?? undefined);\n }} {...restValue}></InputNumber>\n );\n }\n }\n },\n };\n return (\n <AssemblyFilter<number | (number | undefined)[]>\n {...assemblyConditionFilterProps}\n ></AssemblyFilter>\n );\n}\n\nNumberFilter.displayName = 'NumberFilter';\n","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FilterComponent } from './types';\nimport { TEXT_FILTER, TextFilter } from './TextFilter';\nimport { ID_FILTER, IdFilter } from './IdFilter';\nimport { NUMBER_FILTER, NumberFilter } from './NumberFilter';\nimport { FilterType } from './TypedFilter';\n\n/**\n * Registry for managing filter components.\n *\n * Provides a centralized way to register, unregister, and retrieve\n * filter components by their type identifiers.\n */\nexport class FilterRegistry {\n private readonly filters: Map<FilterType, FilterComponent> = new Map<\n FilterType,\n FilterComponent\n >();\n\n constructor() {\n this.register(ID_FILTER, IdFilter);\n this.register(TEXT_FILTER, TextFilter);\n this.register(NUMBER_FILTER, NumberFilter);\n }\n\n /**\n * Registers a filter component for a specific type.\n *\n * @param type - The unique identifier for the filter type\n * @param filter - The filter component to register\n *\n * @example\n * ```typescript\n * filterRegistry.register('text', TextFilter);\n * ```\n */\n register(type: FilterType, filter: FilterComponent) {\n this.filters.set(type, filter);\n }\n\n /**\n * Unregisters a filter component for a specific type.\n *\n * @param type - The unique identifier for the filter type to remove\n * @returns true if the filter was successfully removed, false otherwise\n *\n * @example\n * ```typescript\n * const wasRemoved = filterRegistry.unregister('text');\n * ```\n */\n unregister(type: FilterType) {\n return this.filters.delete(type);\n }\n\n /**\n * Retrieves a filter component for a specific type.\n *\n * @param type - The unique identifier for the filter type\n * @returns The filter component, or undefined if not found\n *\n * @example\n * ```typescript\n * const TextFilter = filterRegistry.get('text');\n * ```\n */\n get(type: FilterType): FilterComponent | undefined {\n return this.filters.get(type);\n }\n}\n\nexport const filterRegistry = new FilterRegistry();\n","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from 'react';\nimport { FilterProps } from './types';\nimport { filterRegistry } from './filterRegistry';\nimport { FallbackFilter } from './FallbackFilter';\n\nexport type FilterType = string\n\nexport interface TypedFilterProps\n extends FilterProps {\n type: FilterType;\n}\n\nexport function TypedFilter(props: TypedFilterProps) {\n const FilterComponent = filterRegistry.get(props.type) || FallbackFilter;\n return <FilterComponent {...props} />;\n}\n\nTypedFilter.displayName = 'TypedFilter';"],"names":["OPERATOR_zh_CN","AND","OR","NOR","ID","IDS","AGGREGATE_ID","AGGREGATE_IDS","TENANT_ID","OWNER_ID","DELETED","ALL","EQ","NE","GT","LT","GTE","LTE","CONTAINS","IN","NOT_IN","BETWEEN","ALL_IN","STARTS_WITH","ENDS_WITH","ELEM_MATCH","NULL","NOT_NULL","TRUE","FALSE","EXISTS","TODAY","BEFORE_TODAY","TOMORROW","THIS_WEEK","NEXT_WEEK","LAST_WEEK","THIS_MONTH","LAST_MONTH","RECENT_DAYS","EARLIER_DAYS","RAW","defaultValueValidate","operator","value","Array","isArray","length","useFilterState","options","$","_c","setOperator","useState","setValue","valueValidate","validate","t0","field","currentOperator","currentValue","condition","resolveFilterValue","t1","newOperator","undefined","conditionFilterValue","onChange","setOperatorFn","t2","newValue","conditionFilterValue_0","setValueFn","t3","getValue","useImperativeHandle","ref","t4","AssemblyFilter","props","supportedOperators","Error","operatorLocale","locale","initialOperator","defaultValue","includes","filterState","name","valueInput","valueInputSupplier","map","supportedOperator","label","jsxs","Space","jsx","Button","Select","FallbackFilter","Alert","type","displayName","StringTagValueItemSerializer","serialize","deserialize","NumberTagValueItemSerializer","item","toString","parseFloat","DEFAULT_TOKEN_SEPARATORS","TagInput","restProps","tokenSeparators","allowClear","serializer","value_0","parsedValue","onChangeHandler","serializedValue","NumberRange","defaultStart","defaultEnd","start","setStart","end","setEnd","startMax","max","endMin","min","newStart","handleStartChange","newEnd","handleEndChange","placeholder","precision","InputNumber","t5","t6","t7","TEXT_FILTER","TextFilter","Symbol","for","Operator","Input","e","target","assemblyConditionFilterProps","ID_FILTER","IdFilter","NUMBER_FILTER","NumberFilter","restValue","defaultInputNumber","v","_temp","FilterRegistry","constructor","filters","Map","register","filter","set","unregister","delete","get","__name","_FilterRegistry","filterRegistry","TypedFilter","FilterComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.umd.js","sources":["../src/filter/locale/operator.zh_CN.ts","../src/filter/useFilterState.ts","../src/filter/AssemblyFilter.tsx","../src/filter/FallbackFilter.tsx","../src/components/TagInput.tsx","../src/components/NumberRange.tsx","../src/filter/TextFilter.tsx","../src/filter/IdFilter.tsx","../src/filter/NumberFilter.tsx","../src/filter/filterRegistry.ts","../src/filter/TypedFilter.tsx"],"sourcesContent":["/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nimport { OperatorLocale } from '@ahoo-wang/fetcher-wow';\n\nexport const OPERATOR_zh_CN: OperatorLocale = {\n AND: '与',\n OR: '或',\n NOR: '非或',\n ID: '等于',\n IDS: '包含任一',\n AGGREGATE_ID: '等于',\n AGGREGATE_IDS: '包含任一',\n TENANT_ID: '等于',\n OWNER_ID: '等于',\n DELETED: '已删除',\n ALL: '全部',\n EQ: '等于',\n NE: '不等于',\n GT: '大于',\n LT: '小于',\n GTE: '大于等于',\n LTE: '小于等于',\n CONTAINS: '包含',\n IN: '包含任一',\n NOT_IN: '不包含任一',\n BETWEEN: '介于',\n ALL_IN: '全部包含',\n STARTS_WITH: '以...开头',\n ENDS_WITH: '以...结尾',\n ELEM_MATCH: '元素匹配',\n NULL: '为空',\n NOT_NULL: '不为空',\n TRUE: '为真',\n FALSE: '为假',\n EXISTS: '存在',\n TODAY: '今天',\n BEFORE_TODAY: '今天之前',\n TOMORROW: '明天',\n THIS_WEEK: '本周',\n NEXT_WEEK: '下周',\n LAST_WEEK: '上周',\n THIS_MONTH: '本月',\n LAST_MONTH: '上月',\n RECENT_DAYS: '最近几天',\n EARLIER_DAYS: '几天前',\n RAW: '原始查询',\n};","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Condition, Operator } from '@ahoo-wang/fetcher-wow';\nimport { RefAttributes, useImperativeHandle, useState } from 'react';\nimport { FilterRef, FilterValue } from './types';\nimport { Optional } from '../types';\n\n\nexport interface UseFilterStateOptions<ValueType = any> extends RefAttributes<FilterRef> {\n field?: string;\n operator: Operator;\n value: Optional<ValueType>;\n validate?: (operator: Operator, value: Optional<ValueType>) => boolean;\n onChange?: (condition: Optional<FilterValue>) => void;\n}\n\nexport interface UseFilterStateReturn<ValueType = any> {\n operator: Operator;\n value: Optional<ValueType>;\n setOperator: (operator: Operator) => void;\n setValue: (value: Optional<ValueType>) => void;\n}\n\nconst defaultValueValidate = (operator: Operator, value: any) => {\n if (!operator) return false;\n if (!value) return false;\n return !(Array.isArray(value) && value.length === 0);\n};\n\nexport function useFilterState<ValueType = any>(options: UseFilterStateOptions<ValueType>): UseFilterStateReturn<ValueType> {\n const [operator, setOperator] = useState<Operator>(options.operator);\n const [value, setValue] = useState<Optional<ValueType>>(options.value);\n const valueValidate = options.validate ?? defaultValueValidate;\n const resolveFilterValue = (currentOperator: Operator, currentValue: Optional<ValueType>): Optional<FilterValue> => {\n if (!valueValidate(currentOperator, currentValue)) {\n return undefined;\n }\n const condition: Condition = {\n field: options.field,\n operator: currentOperator,\n value: currentValue,\n };\n return {\n condition,\n };\n };\n const setOperatorFn = (newOperator: Operator) => {\n setOperator(newOperator);\n setValue(undefined);\n const conditionFilterValue = resolveFilterValue(newOperator, undefined);\n options.onChange?.(conditionFilterValue);\n };\n const setValueFn = (newValue: Optional<ValueType>) => {\n setValue(newValue);\n const conditionFilterValue = resolveFilterValue(operator, newValue);\n options.onChange?.(conditionFilterValue);\n };\n useImperativeHandle(options.ref, () => ({\n getValue(): FilterValue | undefined {\n return resolveFilterValue(operator, value);\n },\n }));\n\n return {\n operator,\n value,\n setOperator: setOperatorFn,\n setValue: setValueFn,\n };\n}","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FilterProps } from './types';\nimport { Operator } from '@ahoo-wang/fetcher-wow';\nimport { OPERATOR_zh_CN } from './locale';\nimport {\n useFilterState,\n UseFilterStateReturn,\n} from './useFilterState';\nimport { Button, Select, Space } from 'antd';\nimport { ReactNode } from 'react';\nimport { Optional } from '../types';\n\nexport interface AssemblyFilterProps<ValueType = any>\n extends FilterProps {\n supportedOperators: Operator[];\n validate?: (operator: Operator, value: Optional<ValueType>) => boolean;\n valueInputSupplier: (\n filterState: UseFilterStateReturn<ValueType>,\n ) => ReactNode;\n}\n\nexport function AssemblyFilter<ValueType = any>(\n props: AssemblyFilterProps<ValueType>,\n) {\n // Validate that supportedOperators is not empty\n if (!props.supportedOperators || props.supportedOperators.length === 0) {\n throw new Error('supportedOperators must be a non-empty array');\n }\n\n const operatorLocale = props.operator?.locale ?? OPERATOR_zh_CN;\n\n // Determine the initial operator\n let initialOperator = props.operator?.defaultValue;\n\n // If no operator is provided or it's not in supported operators, use the first supported operator\n if (!initialOperator || !props.supportedOperators.includes(initialOperator)) {\n initialOperator = props.supportedOperators[0];\n }\n\n const filterState = useFilterState({\n field: props.field.name,\n operator: initialOperator,\n value: props.value?.defaultValue,\n ref: props.ref,\n validate: props.validate,\n onChange: props.onChange,\n });\n const valueInput = props.valueInputSupplier(filterState);\n const options = props.supportedOperators.map(supportedOperator => ({\n value: supportedOperator,\n label: operatorLocale[supportedOperator],\n }));\n return (\n <Space.Compact>\n <Button {...props.label}>{props.field.label}</Button>\n <Select\n onChange={filterState.setOperator}\n {...props.operator}\n value={filterState.operator}\n options={options}\n ></Select>\n {valueInput}\n </Space.Compact>\n );\n}\n","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Alert } from 'antd';\nimport React, { useImperativeHandle } from 'react';\nimport { TypedFilterProps } from './TypedFilter';\nimport { FilterValue } from './types';\n\nexport function FallbackFilter(props: TypedFilterProps) {\n useImperativeHandle(props.ref, () => ({\n getValue(): FilterValue | undefined {\n return undefined;\n },\n }));\n return <Alert message={`Unsupported filter type:[${props.type}]`} type=\"warning\" showIcon />;\n}\n\nFallbackFilter.displayName = 'FallbackFilter';","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { RefSelectProps, Select, SelectProps } from 'antd';\nimport { RefObject } from 'react';\nimport { Optional } from '../types';\n\nexport interface TagValueItemSerializer<ValueItemType = string> {\n serialize(value: ValueItemType[]): string[];\n\n deserialize(value: string[]): ValueItemType[];\n}\n\nexport const StringTagValueItemSerializer: TagValueItemSerializer = {\n serialize(value: string[]): string[] {\n return value;\n },\n deserialize(value: string[]): string[] {\n return value;\n },\n};\n\nexport const NumberTagValueItemSerializer: TagValueItemSerializer<number> = {\n serialize(value: number[]): string[] {\n return value.map((item) => item.toString());\n },\n deserialize(value: string[]): number[] {\n return value.map((item) => parseFloat(item));\n },\n};\n\n/**\n * Props for the TagInput component.\n * Extends SelectProps from Antd, excluding 'mode', 'open', and 'suffixIcon' as they are fixed.\n */\nexport interface TagInputProps<ValueItemType = string>\n extends Omit<SelectProps, 'mode' | 'open' | 'suffixIcon' | 'onChange' | 'value'> {\n ref?: RefObject<RefSelectProps>;\n serializer?: TagValueItemSerializer<ValueItemType>;\n onChange?: (value: ValueItemType[]) => void;\n value?: Optional<ValueItemType | ValueItemType[]>;\n}\n\n/**\n * Default token separators for splitting input into tags.\n * Includes common separators like comma, semicolon, and space.\n */\nconst DEFAULT_TOKEN_SEPARATORS = [',', ',', ';', ';', ' '];\n\n/**\n * A tag input component based on Antd's Select in tags mode.\n * Allows users to input multiple tags separated by specified token separators.\n * @param props - The props for the TagInput component.\n * @returns The rendered TagInput component.\n */\nexport function TagInput<ValueItemType = string[]>(props: TagInputProps<ValueItemType>) {\n const {\n tokenSeparators = DEFAULT_TOKEN_SEPARATORS,\n allowClear = true,\n serializer = StringTagValueItemSerializer as TagValueItemSerializer<ValueItemType>,\n value,\n onChange,\n ...restProps\n } = props;\n const onChangeHandler = (value: string[]) => {\n if (!onChange) {\n return;\n }\n const parsedValue = serializer.deserialize(value);\n onChange(parsedValue);\n };\n let serializedValue: string[] | null = null;\n if (value) {\n if (Array.isArray(value)) {\n serializedValue = serializer.serialize(value);\n } else {\n serializedValue = serializer.serialize([value]);\n }\n }\n return (\n <Select\n {...restProps}\n mode={'tags'}\n open={false}\n suffixIcon={null}\n allowClear={allowClear}\n tokenSeparators={tokenSeparators}\n value={serializedValue}\n onChange={onChangeHandler}\n />\n );\n}\n\nTagInput.displayName = 'TagInput';\n","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { InputNumber, Space } from 'antd';\nimport { useState } from 'react';\n\ntype NumberRangeValue = (number | undefined)[];\n\nexport interface NumberRangeProps {\n defaultValue?: NumberRangeValue;\n min?: number;\n max?: number;\n precision?: number;\n placeholder?: string[];\n onChange?: (value: NumberRangeValue) => void;\n}\n\nexport function NumberRange(props: NumberRangeProps) {\n const [defaultStart, defaultEnd] = props.defaultValue || [];\n const [start, setStart] = useState<number | undefined>(defaultStart);\n const [end, setEnd] = useState<number | undefined>(defaultEnd);\n\n const startMax: number | undefined = end !== undefined ? end : props.max;\n const endMin: number | undefined = start !== undefined ? start : props.min;\n\n const handleStartChange = (value: number | null) => {\n const newStart = value ?? undefined;\n setStart(newStart);\n props.onChange?.([newStart, end]);\n };\n\n const handleEndChange = (value: number | null) => {\n const newEnd = value ?? undefined;\n setEnd(newEnd);\n props.onChange?.([start, newEnd]);\n };\n\n return (\n <Space.Compact>\n <InputNumber\n value={start}\n min={props.min}\n max={startMax}\n precision={props.precision}\n placeholder={props.placeholder?.[0] || '最小值'}\n onChange={handleStartChange}\n />\n <InputNumber\n value={end}\n min={endMin}\n max={props.max}\n precision={props.precision}\n placeholder={props.placeholder?.[1] || '最大值'}\n onChange={handleEndChange}\n />\n </Space.Compact>\n );\n}\n","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FilterProps } from './types';\nimport { Input } from 'antd';\nimport { Operator } from '@ahoo-wang/fetcher-wow';\nimport { TagInput } from '../components';\nimport { AssemblyFilter, AssemblyFilterProps } from './AssemblyFilter';\nimport { UseFilterStateReturn } from './useFilterState';\n\nexport const TEXT_FILTER = 'text';\n\nexport function TextFilter(\n props: FilterProps<string | string[]>,\n) {\n const assemblyConditionFilterProps: AssemblyFilterProps<string | string[]> = {\n ...props,\n supportedOperators: [Operator.EQ, Operator.NE, Operator.CONTAINS, Operator.STARTS_WITH, Operator.ENDS_WITH, Operator.IN, Operator.NOT_IN],\n valueInputSupplier: (filterState: UseFilterStateReturn<string | string[]>) => {\n switch (filterState.operator) {\n case Operator.IN:\n case Operator.NOT_IN: {\n return <TagInput\n value={filterState.value}\n onChange={filterState.setValue}\n {...props.value}\n />;\n }\n default: {\n return <Input\n value={filterState.value}\n onChange={e => filterState.setValue(e.target.value)}\n allowClear\n {...props.value}\n />;\n }\n }\n },\n };\n return <AssemblyFilter<string | string[]> {...assemblyConditionFilterProps}></AssemblyFilter>;\n}\n\nTextFilter.displayName = 'TextFilter';\n","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FilterProps } from './types';\nimport { Input } from 'antd';\nimport { Operator } from '@ahoo-wang/fetcher-wow';\nimport { TagInput } from '../components';\nimport { UseFilterStateReturn } from './useFilterState';\nimport {\n AssemblyFilter,\n AssemblyFilterProps,\n} from './AssemblyFilter';\n\nexport const ID_FILTER = 'id';\n\nexport function IdFilter(\n props: FilterProps<string | string[]>,\n) {\n const assemblyConditionFilterProps: AssemblyFilterProps<\n string | string[]\n > = {\n ...props,\n supportedOperators: [Operator.ID, Operator.IDS],\n valueInputSupplier: (\n filterState: UseFilterStateReturn<string | string[]>,\n ) => {\n return filterState.operator === Operator.ID ? (\n <Input\n value={filterState.value}\n onChange={e => filterState.setValue(e.target.value)}\n allowClear\n {...props.value}\n />\n ) : (\n <TagInput\n value={filterState.value}\n onChange={filterState.setValue}\n {...props.value}\n />\n );\n },\n };\n return (\n <AssemblyFilter<string | string[]>\n {...assemblyConditionFilterProps}\n ></AssemblyFilter>\n );\n}\n\nIdFilter.displayName = 'IdConditionFilter';\n","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FilterProps } from './types';\nimport { InputNumber } from 'antd';\nimport { Operator } from '@ahoo-wang/fetcher-wow';\nimport { NumberTagValueItemSerializer, TagInput } from '../components';\nimport { AssemblyFilter, AssemblyFilterProps } from './AssemblyFilter';\nimport { UseFilterStateReturn } from './useFilterState';\nimport { NumberRange } from '../components';\n\nexport const NUMBER_FILTER = 'number';\n\nexport function NumberFilter(props: FilterProps<number | (number | undefined)[]>) {\n const assemblyConditionFilterProps: AssemblyFilterProps<number | (number | undefined)[]> = {\n ...props,\n supportedOperators: [\n Operator.EQ,\n Operator.NE,\n Operator.GT,\n Operator.LT,\n Operator.GTE,\n Operator.LTE,\n Operator.BETWEEN,\n Operator.IN,\n Operator.NOT_IN,\n ],\n validate: (operator, value) => {\n if (operator === Operator.BETWEEN) {\n if (!Array.isArray(value)) {\n return false;\n }\n return value[0] !== undefined && value[1] !== undefined;\n }\n return value != undefined;\n },\n valueInputSupplier: (\n filterState: UseFilterStateReturn<number | (number | undefined)[]>,\n ) => {\n switch (filterState.operator) {\n case Operator.IN:\n case Operator.NOT_IN: {\n return <TagInput\n value={filterState.value}\n serializer={NumberTagValueItemSerializer}\n onChange={e => filterState.setValue(e)}\n {...props.value}\n />;\n }\n case Operator.BETWEEN: {\n return (\n <NumberRange onChange={filterState.setValue}></NumberRange>\n );\n }\n default: {\n const { defaultValue, ...restValue } = props.value ?? {};\n const defaultInputNumber = Array.isArray(defaultValue) ? defaultValue[0] : defaultValue;\n return (\n <InputNumber<number>\n defaultValue={defaultInputNumber}\n onChange={v => {\n filterState.setValue(v ?? undefined);\n }} {...restValue}></InputNumber>\n );\n }\n }\n },\n };\n return (\n <AssemblyFilter<number | (number | undefined)[]>\n {...assemblyConditionFilterProps}\n ></AssemblyFilter>\n );\n}\n\nNumberFilter.displayName = 'NumberFilter';\n","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FilterComponent } from './types';\nimport { TEXT_FILTER, TextFilter } from './TextFilter';\nimport { ID_FILTER, IdFilter } from './IdFilter';\nimport { NUMBER_FILTER, NumberFilter } from './NumberFilter';\nimport { FilterType } from './TypedFilter';\n\n/**\n * Registry for managing filter components.\n *\n * Provides a centralized way to register, unregister, and retrieve\n * filter components by their type identifiers.\n */\nexport class FilterRegistry {\n private readonly filters: Map<FilterType, FilterComponent> = new Map<\n FilterType,\n FilterComponent\n >();\n\n constructor() {\n this.register(ID_FILTER, IdFilter);\n this.register(TEXT_FILTER, TextFilter);\n this.register(NUMBER_FILTER, NumberFilter);\n }\n\n /**\n * Registers a filter component for a specific type.\n *\n * @param type - The unique identifier for the filter type\n * @param filter - The filter component to register\n *\n * @example\n * ```typescript\n * filterRegistry.register('text', TextFilter);\n * ```\n */\n register(type: FilterType, filter: FilterComponent) {\n this.filters.set(type, filter);\n }\n\n /**\n * Unregisters a filter component for a specific type.\n *\n * @param type - The unique identifier for the filter type to remove\n * @returns true if the filter was successfully removed, false otherwise\n *\n * @example\n * ```typescript\n * const wasRemoved = filterRegistry.unregister('text');\n * ```\n */\n unregister(type: FilterType) {\n return this.filters.delete(type);\n }\n\n /**\n * Retrieves a filter component for a specific type.\n *\n * @param type - The unique identifier for the filter type\n * @returns The filter component, or undefined if not found\n *\n * @example\n * ```typescript\n * const TextFilter = filterRegistry.get('text');\n * ```\n */\n get(type: FilterType): FilterComponent | undefined {\n return this.filters.get(type);\n }\n}\n\nexport const filterRegistry = new FilterRegistry();\n","/*\n * Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from 'react';\nimport { FilterProps } from './types';\nimport { filterRegistry } from './filterRegistry';\nimport { FallbackFilter } from './FallbackFilter';\n\nexport type FilterType = string;\n\nexport interface TypedFilterProps extends FilterProps {\n type: FilterType;\n}\n\nexport function TypedFilter(props: TypedFilterProps) {\n const FilterComponent = filterRegistry.get(props.type) || FallbackFilter;\n return <FilterComponent {...props} />;\n}\n\nTypedFilter.displayName = 'TypedFilter';"],"names":["OPERATOR_zh_CN","AND","OR","NOR","ID","IDS","AGGREGATE_ID","AGGREGATE_IDS","TENANT_ID","OWNER_ID","DELETED","ALL","EQ","NE","GT","LT","GTE","LTE","CONTAINS","IN","NOT_IN","BETWEEN","ALL_IN","STARTS_WITH","ENDS_WITH","ELEM_MATCH","NULL","NOT_NULL","TRUE","FALSE","EXISTS","TODAY","BEFORE_TODAY","TOMORROW","THIS_WEEK","NEXT_WEEK","LAST_WEEK","THIS_MONTH","LAST_MONTH","RECENT_DAYS","EARLIER_DAYS","RAW","defaultValueValidate","operator","value","Array","isArray","length","useFilterState","options","$","_c","setOperator","useState","setValue","valueValidate","validate","t0","field","currentOperator","currentValue","condition","resolveFilterValue","t1","newOperator","undefined","conditionFilterValue","onChange","setOperatorFn","t2","newValue","conditionFilterValue_0","setValueFn","t3","getValue","useImperativeHandle","ref","t4","AssemblyFilter","props","supportedOperators","Error","operatorLocale","locale","initialOperator","defaultValue","includes","filterState","name","valueInput","valueInputSupplier","map","supportedOperator","label","jsxs","Space","jsx","Button","Select","FallbackFilter","Alert","type","displayName","StringTagValueItemSerializer","serialize","deserialize","NumberTagValueItemSerializer","item","toString","parseFloat","DEFAULT_TOKEN_SEPARATORS","TagInput","restProps","tokenSeparators","allowClear","serializer","value_0","parsedValue","onChangeHandler","serializedValue","NumberRange","defaultStart","defaultEnd","start","setStart","end","setEnd","startMax","max","endMin","min","newStart","handleStartChange","newEnd","handleEndChange","placeholder","precision","InputNumber","t5","t6","t7","TEXT_FILTER","TextFilter","Symbol","for","Operator","Input","e","target","assemblyConditionFilterProps","ID_FILTER","IdFilter","NUMBER_FILTER","NumberFilter","restValue","defaultInputNumber","v","_temp","FilterRegistry","constructor","filters","Map","register","filter","set","unregister","delete","get","__name","_FilterRegistry","filterRegistry","TypedFilter","FilterComponent"],"mappings":"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"}
|