@react-querybuilder/antd 4.0.0-beta.6 → 4.0.0-beta.7
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 +63 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +2 -2
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,3 +1,65 @@
|
|
|
1
1
|
## @react-querybuilder/antd
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Official [Ant Design](https://ant.design/) components for [react-querybuilder](https://npmjs.com/package/react-querybuilder).
|
|
4
|
+
|
|
5
|
+
To see them in action, check out the [`react-querybuilder` demo](https://react-querybuilder.js.org/react-querybuilder/) and choose "Ant Design" from the Style drop-down.
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm i --save react-querybuilder @react-querybuilder/antd @ant-design/icons antd
|
|
11
|
+
# OR
|
|
12
|
+
yarn add react-querybuilder @react-querybuilder/antd @ant-design/icons antd
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Usage
|
|
16
|
+
|
|
17
|
+
```tsx
|
|
18
|
+
import QueryBuilder, { RuleGroupType } from 'react-querybuilder';
|
|
19
|
+
import {
|
|
20
|
+
AntDActionElement,
|
|
21
|
+
AntDDragHandle,
|
|
22
|
+
AntDNotToggle,
|
|
23
|
+
AntDValueEditor,
|
|
24
|
+
AntDValueSelector
|
|
25
|
+
} from '@react-querybuilder/antd';
|
|
26
|
+
|
|
27
|
+
const fields = [
|
|
28
|
+
{ name: 'firstName', label: 'First Name' },
|
|
29
|
+
{ name: 'lastName', label: 'Last Name' }
|
|
30
|
+
];
|
|
31
|
+
|
|
32
|
+
const App = () => {
|
|
33
|
+
const [query, setQuery] = useState<RuleGroupType>({ combinator: 'and', rules: [] });
|
|
34
|
+
|
|
35
|
+
return (
|
|
36
|
+
<QueryBuilder
|
|
37
|
+
fields={fields}
|
|
38
|
+
query={query}
|
|
39
|
+
onQueryChange={(q) => setQuery(q)}
|
|
40
|
+
controlElements={{
|
|
41
|
+
addGroupAction: AntDActionElement,
|
|
42
|
+
addRuleAction: AntDActionElement,
|
|
43
|
+
cloneGroupAction: AntDActionElement,
|
|
44
|
+
cloneRuleAction: AntDActionElement,
|
|
45
|
+
combinatorSelector: AntDValueSelector,
|
|
46
|
+
fieldSelector: AntDValueSelector,
|
|
47
|
+
notToggle: AntDNotToggle,
|
|
48
|
+
operatorSelector: AntDValueSelector,
|
|
49
|
+
removeGroupAction: AntDActionElement,
|
|
50
|
+
removeRuleAction: AntDActionElement,
|
|
51
|
+
valueEditor: AntDValueEditor,
|
|
52
|
+
dragHandle: AntDDragHandle
|
|
53
|
+
}}
|
|
54
|
+
/>
|
|
55
|
+
);
|
|
56
|
+
};
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
You may also want to reduce the width of the value editor component, which is 100% by default, with the following CSS rule:
|
|
60
|
+
|
|
61
|
+
```css
|
|
62
|
+
.ant-input {
|
|
63
|
+
width: auto;
|
|
64
|
+
}
|
|
65
|
+
```
|
package/dist/index.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports[Symbol.toStringTag]="Module";var m=require("react"),u=require("antd"),b=require("@ant-design/icons");function h(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var r=h(m);const E=({className:e,handleOnClick:c,label:t,title:n})=>r.default.createElement(u.Button,{type:"primary",className:e,title:n,onClick:a=>c(a)},t);E.displayName="AntDActionElement";var S=m.forwardRef(function({className:c,title:t},n){return r.default.createElement("span",{ref:n,className:c,title:t},r.default.createElement(b.HolderOutlined,null))});const g=({className:e,handleOnChange:c,label:t,checked:n,title:a})=>r.default.createElement(u.Switch,{title:a,className:e,onChange:o=>c(o),checked:!!n,checkedChildren:t,unCheckedChildren:"="});g.displayName="AntDNotToggle";const{Option:w}=u.Select,A=({fieldData:e,operator:c,value:t,handleOnChange:n,title:a,className:o,type:d,inputType:i,values:f})=>{var s;if(m.useEffect(()=>{i==="number"&&!["between","notBetween"].includes(c)&&typeof t=="string"&&t.includes(",")&&n("")},[i,c,t,n]),c==="null"||c==="notNull")return null;const p=(s=e==null?void 0:e.placeholder)!=null?s:"",D=["between","notBetween"].includes(c)?"text":i||"text";switch(d){case"select":return r.default.createElement(u.Select,{className:o,onChange:l=>n(l),value:t},f.map(l=>r.default.createElement(w,{key:l.name,value:l.name},l.label)));case"checkbox":return r.default.createElement(u.Checkbox,{type:"checkbox",className:o,onChange:l=>n(l.target.checked),checked:!!t});case"radio":return r.default.createElement("span",{className:o,title:a},f.map(l=>r.default.createElement(u.Radio,{key:l.name,value:l.name,checked:t===l.name,onChange:k=>n(k.target.value)},l.label)));default:return r.default.createElement(u.Input,{type:D,value:t,title:a,className:o,placeholder:p,onChange:l=>n(l.target.value)})}};A.displayName="AntDValueEditor";const{Option:C}=u.Select,y=({className:e,handleOnChange:c,options:t,value:n})=>r.default.createElement(u.Select,{className:e,value:n,onChange:a=>c(a)},t.map(a=>{var d;const o=`key-${(d=a.id)!=null?d:a.name}`;return r.default.createElement(C,{key:o,value:a.name},a.label)}));y.displayName="AntDValueSelector";exports.AntDActionElement=E;exports.AntDDragHandle=S;exports.AntDNotToggle=g;exports.AntDValueEditor=A;exports.AntDValueSelector=y;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports[Symbol.toStringTag]="Module";var m=require("react"),u=require("antd"),b=require("@ant-design/icons");function h(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var r=h(m);const E=({className:e,handleOnClick:c,label:t,title:n})=>r.default.createElement(u.Button,{type:"primary",className:e,title:n,onClick:a=>c(a)},t);E.displayName="AntDActionElement";var S=m.forwardRef(function({className:c,title:t},n){return r.default.createElement("span",{ref:n,className:c,title:t},r.default.createElement(b.HolderOutlined,null))});const g=({className:e,handleOnChange:c,label:t,checked:n,title:a})=>r.default.createElement(u.Switch,{title:a,className:e,onChange:o=>c(o),checked:!!n,checkedChildren:t,unCheckedChildren:"="});g.displayName="AntDNotToggle";const{Option:w}=u.Select,A=({fieldData:e,operator:c,value:t,handleOnChange:n,title:a,className:o,type:d,inputType:i,values:f})=>{var s;if(m.useEffect(()=>{i==="number"&&!["between","notBetween","in","notIn"].includes(c)&&typeof t=="string"&&t.includes(",")&&n("")},[i,c,t,n]),c==="null"||c==="notNull")return null;const p=(s=e==null?void 0:e.placeholder)!=null?s:"",D=["between","notBetween","in","notIn"].includes(c)?"text":i||"text";switch(d){case"select":return r.default.createElement(u.Select,{className:o,onChange:l=>n(l),value:t},f.map(l=>r.default.createElement(w,{key:l.name,value:l.name},l.label)));case"checkbox":return r.default.createElement(u.Checkbox,{type:"checkbox",className:o,onChange:l=>n(l.target.checked),checked:!!t});case"radio":return r.default.createElement("span",{className:o,title:a},f.map(l=>r.default.createElement(u.Radio,{key:l.name,value:l.name,checked:t===l.name,onChange:k=>n(k.target.value)},l.label)));default:return r.default.createElement(u.Input,{type:D,value:t,title:a,className:o,placeholder:p,onChange:l=>n(l.target.value)})}};A.displayName="AntDValueEditor";const{Option:C}=u.Select,y=({className:e,handleOnChange:c,options:t,value:n})=>r.default.createElement(u.Select,{className:e,value:n,onChange:a=>c(a)},t.map(a=>{var d;const o=`key-${(d=a.id)!=null?d:a.name}`;return r.default.createElement(C,{key:o,value:a.name},a.label)}));y.displayName="AntDValueSelector";exports.AntDActionElement=E;exports.AntDDragHandle=S;exports.AntDNotToggle=g;exports.AntDValueEditor=A;exports.AntDValueSelector=y;
|
package/dist/index.es.js
CHANGED
|
@@ -38,7 +38,7 @@ const AntDValueEditor = ({
|
|
|
38
38
|
}) => {
|
|
39
39
|
var _a;
|
|
40
40
|
useEffect(() => {
|
|
41
|
-
if (inputType === "number" && !["between", "notBetween"].includes(operator) && typeof value === "string" && value.includes(",")) {
|
|
41
|
+
if (inputType === "number" && !["between", "notBetween", "in", "notIn"].includes(operator) && typeof value === "string" && value.includes(",")) {
|
|
42
42
|
handleOnChange("");
|
|
43
43
|
}
|
|
44
44
|
}, [inputType, operator, value, handleOnChange]);
|
|
@@ -46,7 +46,7 @@ const AntDValueEditor = ({
|
|
|
46
46
|
return null;
|
|
47
47
|
}
|
|
48
48
|
const placeHolderText = (_a = fieldData == null ? void 0 : fieldData.placeholder) != null ? _a : "";
|
|
49
|
-
const inputTypeCoerced = ["between", "notBetween"].includes(operator) ? "text" : inputType || "text";
|
|
49
|
+
const inputTypeCoerced = ["between", "notBetween", "in", "notIn"].includes(operator) ? "text" : inputType || "text";
|
|
50
50
|
switch (type) {
|
|
51
51
|
case "select":
|
|
52
52
|
return /* @__PURE__ */ React.createElement(Select, {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-querybuilder/antd",
|
|
3
3
|
"description": "Custom Ant Design components for react-querybuilder",
|
|
4
|
-
"version": "4.0.0-beta.
|
|
4
|
+
"version": "4.0.0-beta.7",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"@types/react": "^17.0.0",
|
|
26
26
|
"antd": "^4.10.3",
|
|
27
27
|
"react": "^17.0.1",
|
|
28
|
-
"react-querybuilder": "^4.0.0-beta.
|
|
28
|
+
"react-querybuilder": "^4.0.0-beta.7",
|
|
29
29
|
"typescript": "^4.5.0"
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {
|
|
@@ -34,5 +34,5 @@
|
|
|
34
34
|
"react": ">=16.8.0",
|
|
35
35
|
"react-querybuilder": "4.0.0-beta.5"
|
|
36
36
|
},
|
|
37
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "f79e9f52a332794898b342af701ce81f1eebef14"
|
|
38
38
|
}
|