@elliemae/ds-query-builder 2.0.0-alpha.10 → 2.0.0-alpha.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/DSQueryBuilder.js +60 -56
- package/cjs/components/AndOrController/AndOrController.js +31 -39
- package/cjs/components/ConditionController/ConditionController.js +27 -33
- package/cjs/components/DisplayOutput/DisplayOutput.js +20 -21
- package/cjs/components/DragContainerController/DragContainerController.js +14 -16
- package/cjs/components/DragControllerRow/DragControllerRow.js +10 -6
- package/cjs/components/FieldControllerRow/FieldControllerRow.js +22 -22
- package/cjs/components/Nestable/Nestable.js +47 -33
- package/cjs/components/Nestable/NestableItem.js +21 -13
- package/cjs/components/Nestable/actions/events.js +6 -1
- package/cjs/components/Nestable/actions/getPaths.js +11 -1
- package/cjs/components/Nestable/actions/moveItem.js +12 -5
- package/cjs/components/Nestable/actions/paths.js +15 -3
- package/cjs/components/QueryBuilderImpl.js +35 -31
- package/cjs/components/QueryBuilderItem/QueryBuilderItem.js +28 -20
- package/cjs/components/QueryBuilderRow/QueryBuilderRow.js +54 -39
- package/cjs/components/ToolBarAnimation/ToolBarAnimation.js +5 -0
- package/cjs/components/format/format.js +8 -14
- package/cjs/components/format/sqlFormat.js +25 -23
- package/cjs/components/format/sqlSafeFormat.js +27 -25
- package/cjs/components/format/xmlFormat.js +25 -23
- package/cjs/components/helpers/actions.js +61 -36
- package/cjs/components/helpers/dependencies.js +17 -8
- package/cjs/components/helpers/store.js +38 -39
- package/cjs/index.js +2 -1
- package/cjs/propTypes.js +1 -3
- package/esm/DSQueryBuilder.js +60 -57
- package/esm/components/AndOrController/AndOrController.js +21 -24
- package/esm/components/ConditionController/ConditionController.js +21 -23
- package/esm/components/DisplayOutput/DisplayOutput.js +16 -14
- package/esm/components/DragContainerController/DragContainerController.js +11 -11
- package/esm/components/DragControllerRow/DragControllerRow.js +7 -2
- package/esm/components/FieldControllerRow/FieldControllerRow.js +22 -20
- package/esm/components/Nestable/Nestable.js +46 -32
- package/esm/components/Nestable/NestableItem.js +21 -13
- package/esm/components/Nestable/actions/events.js +6 -1
- package/esm/components/Nestable/actions/getPaths.js +11 -1
- package/esm/components/Nestable/actions/moveItem.js +12 -5
- package/esm/components/Nestable/actions/paths.js +15 -3
- package/esm/components/QueryBuilderImpl.js +35 -31
- package/esm/components/QueryBuilderItem/QueryBuilderItem.js +28 -20
- package/esm/components/QueryBuilderRow/QueryBuilderRow.js +54 -38
- package/esm/components/ToolBarAnimation/ToolBarAnimation.js +5 -0
- package/esm/components/format/format.js +8 -10
- package/esm/components/format/sqlFormat.js +25 -23
- package/esm/components/format/sqlSafeFormat.js +27 -25
- package/esm/components/format/xmlFormat.js +25 -23
- package/esm/components/helpers/actions.js +61 -36
- package/esm/components/helpers/dependencies.js +17 -8
- package/esm/components/helpers/store.js +38 -39
- package/esm/index.js +1 -1
- package/esm/propTypes.js +1 -3
- package/package.json +14 -7
- package/types/DSQueryBuilder.d.ts +170 -25
- package/types/components/AndOrController/AndOrController.d.ts +4 -4
- package/types/components/ConditionController/ConditionController.d.ts +2 -2
- package/types/components/DragContainerController/DragContainerController.d.ts +3 -3
- package/types/components/DragControllerRow/DragControllerRow.d.ts +2 -2
- package/types/propTypes.d.ts +133 -23
- package/cjs/package.json +0 -7
- package/esm/package.json +0 -7
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import 'core-js/modules/esnext.async-iterator.map.js';
|
|
2
|
+
import 'core-js/modules/esnext.iterator.map.js';
|
|
1
3
|
import { QB_OPERATOR_TYPES } from '../helpers/types.js';
|
|
2
4
|
|
|
3
|
-
/* eslint-disable complexity */
|
|
4
|
-
|
|
5
5
|
const conditionSql = (condition, value) => {
|
|
6
6
|
const {
|
|
7
7
|
EQUAL,
|
|
@@ -15,16 +15,16 @@ const conditionSql = (condition, value) => {
|
|
|
15
15
|
LESS_THAN_OR_EQUAL,
|
|
16
16
|
START_WITH
|
|
17
17
|
} = QB_OPERATOR_TYPES;
|
|
18
|
-
if (condition === EQUAL) return
|
|
19
|
-
if (condition === NOT_EQUAL) return
|
|
20
|
-
if (condition === GREATER_THAN) return
|
|
21
|
-
if (condition === LESS_THAN) return
|
|
22
|
-
if (condition === CONTAINS) return
|
|
23
|
-
if (condition === NOT_CONTAINS) return
|
|
24
|
-
if (condition === BETWEEN) return
|
|
25
|
-
if (condition === GREATER_THAN_OR_EQUAL) return
|
|
26
|
-
if (condition === LESS_THAN_OR_EQUAL) return
|
|
27
|
-
if (condition === START_WITH) return
|
|
18
|
+
if (condition === EQUAL) return "<condition>EQUAL</condition><value>".concat(value, "</value>");
|
|
19
|
+
if (condition === NOT_EQUAL) return "<condition>NOT_EQUAL</condition><value>".concat(value, "</value>");
|
|
20
|
+
if (condition === GREATER_THAN) return "<condition>GREATER_THAN</condition><value>".concat(value, "</value>");
|
|
21
|
+
if (condition === LESS_THAN) return "<condition>LESS_THAN</condition><value>".concat(value, "</value>");
|
|
22
|
+
if (condition === CONTAINS) return "<condition>LIKE</condition><value>".concat(value, "</value>");
|
|
23
|
+
if (condition === NOT_CONTAINS) return "<condition>NOT_LIKE</condition><value>".concat(value, "</value>");
|
|
24
|
+
if (condition === BETWEEN) return "<condition>NOT_LIKE</condition><value><from>".concat(value[0], "</from><to>").concat(value[1], "</to></value>");
|
|
25
|
+
if (condition === GREATER_THAN_OR_EQUAL) return "<condition>GREATER_THAN_OR_EQUAL</condition><value>".concat(value, "</value>");
|
|
26
|
+
if (condition === LESS_THAN_OR_EQUAL) return "<condition>LESS_THAN_OR_EQUAL</condition><value>".concat(value, "</value>");
|
|
27
|
+
if (condition === START_WITH) return "<condition>GREATER_THAN</condition><value>".concat(value, "</value>");
|
|
28
28
|
return condition;
|
|
29
29
|
};
|
|
30
30
|
|
|
@@ -34,33 +34,35 @@ const renderFilterSQl = filter => {
|
|
|
34
34
|
operator,
|
|
35
35
|
value
|
|
36
36
|
} = filter.element;
|
|
37
|
-
return
|
|
37
|
+
return "<filter><field>".concat(field, "</field>").concat(conditionSql(operator, value) || '', "</filter>");
|
|
38
38
|
};
|
|
39
39
|
|
|
40
|
-
const xmlFormat =
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
40
|
+
const xmlFormat = _ref => {
|
|
41
|
+
let {
|
|
42
|
+
main,
|
|
43
|
+
mapGroups,
|
|
44
|
+
items
|
|
45
|
+
} = _ref;
|
|
46
|
+
|
|
45
47
|
const groupXML = (item, idGroup) => {
|
|
46
48
|
if (idGroup === main) {
|
|
47
49
|
const groupCondition = mapGroups[idGroup].condition === true ? 'AND' : 'OR';
|
|
48
|
-
return
|
|
50
|
+
return "<group value=\"".concat(groupCondition, "\">").concat(filterXML(item), "</group>"); // eslint-disable-line
|
|
49
51
|
}
|
|
50
52
|
|
|
51
53
|
const groupCondition = item.element.condition === true ? 'AND' : 'OR';
|
|
52
|
-
return
|
|
54
|
+
return "<group value=\"".concat(groupCondition, "\">").concat(filterXML(item.children), "</group>"); // eslint-disable-line
|
|
53
55
|
};
|
|
54
56
|
|
|
55
57
|
const filterXML = filters => {
|
|
56
58
|
const filterGroup = filters.map(filter => {
|
|
57
|
-
if (filter.element.type === 'filter') return
|
|
58
|
-
return
|
|
59
|
+
if (filter.element.type === 'filter') return "".concat(renderFilterSQl(filter) || '', " ");
|
|
60
|
+
return " ".concat(groupXML(filter), " ");
|
|
59
61
|
});
|
|
60
62
|
return filterGroup.join('');
|
|
61
63
|
};
|
|
62
64
|
|
|
63
|
-
const xml =
|
|
65
|
+
const xml = "<xml><query>".concat(groupXML(items, main) || '', "</query></xml>");
|
|
64
66
|
return xml;
|
|
65
67
|
};
|
|
66
68
|
|
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
2
|
+
import 'core-js/modules/esnext.async-iterator.find.js';
|
|
3
|
+
import 'core-js/modules/esnext.iterator.constructor.js';
|
|
4
|
+
import 'core-js/modules/esnext.iterator.find.js';
|
|
5
|
+
import 'core-js/modules/esnext.async-iterator.for-each.js';
|
|
6
|
+
import 'core-js/modules/esnext.iterator.for-each.js';
|
|
7
|
+
import 'core-js/modules/esnext.async-iterator.filter.js';
|
|
8
|
+
import 'core-js/modules/esnext.iterator.filter.js';
|
|
9
|
+
import 'core-js/modules/esnext.async-iterator.map.js';
|
|
10
|
+
import 'core-js/modules/esnext.iterator.map.js';
|
|
2
11
|
import { QB_DRAG_TYPES, QB_GROUP_CONDITION_TYPES, QB_FIELD_SHARED_ACTIONS } from './types.js';
|
|
3
12
|
|
|
4
13
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
@@ -12,7 +21,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
12
21
|
*/
|
|
13
22
|
|
|
14
23
|
const createNewFilter = function (idGroup) {
|
|
15
|
-
const idFilter =
|
|
24
|
+
const idFilter = "filter_".concat(new Date().getTime(), "_").concat(Math.random().toString(36).substring(7));
|
|
16
25
|
return {
|
|
17
26
|
idGroup,
|
|
18
27
|
field: '',
|
|
@@ -30,7 +39,7 @@ const createNewFilter = function (idGroup) {
|
|
|
30
39
|
*/
|
|
31
40
|
|
|
32
41
|
const createNewGroup = function (parentIdGroup) {
|
|
33
|
-
const idGroup =
|
|
42
|
+
const idGroup = "group_".concat(new Date().getTime(), "_").concat(Math.random().toString(36).substring(7));
|
|
34
43
|
return {
|
|
35
44
|
parentIdGroup,
|
|
36
45
|
idGroup,
|
|
@@ -76,9 +85,12 @@ const addFilterToMainItem = function (items, newFilter) {
|
|
|
76
85
|
});
|
|
77
86
|
};
|
|
78
87
|
const findInChilds = function (childs, filterId) {
|
|
79
|
-
const found = childs.find(
|
|
80
|
-
|
|
81
|
-
|
|
88
|
+
const found = childs.find(_ref => {
|
|
89
|
+
let {
|
|
90
|
+
id
|
|
91
|
+
} = _ref;
|
|
92
|
+
return id === filterId;
|
|
93
|
+
});
|
|
82
94
|
|
|
83
95
|
if (!found) {
|
|
84
96
|
let findInChild;
|
|
@@ -94,9 +106,12 @@ const findItemFilterById = function (filterId) {
|
|
|
94
106
|
return findInChilds(this.items, filterId);
|
|
95
107
|
};
|
|
96
108
|
const findParentWithFilterId = function (childs, filterId) {
|
|
97
|
-
const found = childs.find(
|
|
98
|
-
|
|
99
|
-
|
|
109
|
+
const found = childs.find(_ref2 => {
|
|
110
|
+
let {
|
|
111
|
+
id
|
|
112
|
+
} = _ref2;
|
|
113
|
+
return id === filterId;
|
|
114
|
+
});
|
|
100
115
|
|
|
101
116
|
if (!found) {
|
|
102
117
|
let findInChild;
|
|
@@ -113,17 +128,23 @@ const findParentFilterById = function (filterId) {
|
|
|
113
128
|
};
|
|
114
129
|
const filterInChildren = function (childs, filterId, mainId) {
|
|
115
130
|
if (childs.children) {
|
|
116
|
-
childs.children = childs.children.filter(
|
|
117
|
-
|
|
118
|
-
|
|
131
|
+
childs.children = childs.children.filter(_ref3 => {
|
|
132
|
+
let {
|
|
133
|
+
id
|
|
134
|
+
} = _ref3;
|
|
135
|
+
return id !== filterId;
|
|
136
|
+
});
|
|
119
137
|
childs.children = childs.children.forEach(item => filterInChildren(item.children, filterId));
|
|
120
138
|
return childs;
|
|
121
139
|
} // main
|
|
122
140
|
|
|
123
141
|
|
|
124
|
-
if (childs.length > 1) childs = childs.filter(
|
|
125
|
-
|
|
126
|
-
|
|
142
|
+
if (childs.length > 1) childs = childs.filter(_ref4 => {
|
|
143
|
+
let {
|
|
144
|
+
id
|
|
145
|
+
} = _ref4;
|
|
146
|
+
return id !== filterId;
|
|
147
|
+
}); // https://jira.elliemae.io/browse/PUI-1252
|
|
127
148
|
|
|
128
149
|
if (childs.length === 0 && mainId) {
|
|
129
150
|
const emptyFilter = createNewFilter.call(this, mainId);
|
|
@@ -186,19 +207,20 @@ const changeGroupOperator = function (idGroup, value) {
|
|
|
186
207
|
group.element.condition = value;
|
|
187
208
|
}
|
|
188
209
|
};
|
|
189
|
-
const changeFilterItem = function ({
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
}
|
|
210
|
+
const changeFilterItem = function (_ref5) {
|
|
211
|
+
let {
|
|
212
|
+
idFilter,
|
|
213
|
+
field,
|
|
214
|
+
value,
|
|
215
|
+
operator,
|
|
216
|
+
additionalInfo,
|
|
217
|
+
target,
|
|
218
|
+
fieldsSharedActions: {
|
|
219
|
+
onFieldChange,
|
|
220
|
+
onOperatorChange,
|
|
221
|
+
onValueChange
|
|
222
|
+
}
|
|
223
|
+
} = _ref5;
|
|
202
224
|
const child = findItemFilterById.call(this, idFilter);
|
|
203
225
|
if (field || field === '' || typeof field === 'boolean') child.element.field = field;
|
|
204
226
|
if (operator) child.element.operator = operator;
|
|
@@ -206,21 +228,24 @@ const changeFilterItem = function ({
|
|
|
206
228
|
if (additionalInfo) child.element.additionalInfo = additionalInfo; // shared fields actions
|
|
207
229
|
|
|
208
230
|
if (target === 'field') {
|
|
209
|
-
onFieldChange.forEach(
|
|
210
|
-
|
|
211
|
-
|
|
231
|
+
onFieldChange.forEach(_ref6 => {
|
|
232
|
+
let {
|
|
233
|
+
action
|
|
234
|
+
} = _ref6;
|
|
212
235
|
if (action === QB_FIELD_SHARED_ACTIONS.RESET_FIELD) child.element.field = null;else if (action === QB_FIELD_SHARED_ACTIONS.RESET_OPERATOR) child.element.operator = null;else if (action === QB_FIELD_SHARED_ACTIONS.RESET_VALUE) child.element.value = null;
|
|
213
236
|
});
|
|
214
237
|
} else if (target === 'operator') {
|
|
215
|
-
onOperatorChange.forEach(
|
|
216
|
-
|
|
217
|
-
|
|
238
|
+
onOperatorChange.forEach(_ref7 => {
|
|
239
|
+
let {
|
|
240
|
+
action
|
|
241
|
+
} = _ref7;
|
|
218
242
|
if (action === QB_FIELD_SHARED_ACTIONS.RESET_FIELD) child.element.field = null;else if (action === QB_FIELD_SHARED_ACTIONS.RESET_OPERATOR) child.element.operator = null;else if (action === QB_FIELD_SHARED_ACTIONS.RESET_VALUE) child.element.value = null;
|
|
219
243
|
});
|
|
220
244
|
} else if (target === 'value') {
|
|
221
|
-
onValueChange.forEach(
|
|
222
|
-
|
|
223
|
-
|
|
245
|
+
onValueChange.forEach(_ref8 => {
|
|
246
|
+
let {
|
|
247
|
+
action
|
|
248
|
+
} = _ref8;
|
|
224
249
|
if (action === QB_FIELD_SHARED_ACTIONS.RESET_FIELD) child.element.field = null;else if (action === QB_FIELD_SHARED_ACTIONS.RESET_OPERATOR) child.element.operator = null;else if (action === QB_FIELD_SHARED_ACTIONS.RESET_VALUE) child.element.value = null;
|
|
225
250
|
});
|
|
226
251
|
}
|
|
@@ -1,8 +1,16 @@
|
|
|
1
|
+
import 'core-js/modules/esnext.async-iterator.every.js';
|
|
2
|
+
import 'core-js/modules/esnext.iterator.constructor.js';
|
|
3
|
+
import 'core-js/modules/esnext.iterator.every.js';
|
|
4
|
+
import 'core-js/modules/esnext.async-iterator.some.js';
|
|
5
|
+
import 'core-js/modules/esnext.iterator.some.js';
|
|
6
|
+
import 'core-js/modules/esnext.async-iterator.reduce.js';
|
|
7
|
+
import 'core-js/modules/esnext.iterator.reduce.js';
|
|
1
8
|
import { get } from 'lodash';
|
|
2
9
|
import * as operators from '@elliemae/ds-utilities/operators';
|
|
3
10
|
import { QB_GROUP_CONDITION_TYPES } from './types.js';
|
|
4
11
|
|
|
5
|
-
const resolveCondition = (condition, state
|
|
12
|
+
const resolveCondition = function (condition, state) {
|
|
13
|
+
let resolveBy = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : QB_GROUP_CONDITION_TYPES.AND;
|
|
6
14
|
if (condition.length === 0 || !condition) return true; // resolve by AND: all the conditions must be true
|
|
7
15
|
|
|
8
16
|
if (resolveBy) {
|
|
@@ -29,13 +37,14 @@ const resolveCondition = (condition, state, resolveBy = QB_GROUP_CONDITION_TYPES
|
|
|
29
37
|
};
|
|
30
38
|
|
|
31
39
|
const resolveDependencies = (state, fields) => {
|
|
32
|
-
const fieldsToRender = fields.reduce((result, {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
40
|
+
const fieldsToRender = fields.reduce((result, _ref) => {
|
|
41
|
+
let {
|
|
42
|
+
target,
|
|
43
|
+
component,
|
|
44
|
+
condition,
|
|
45
|
+
resolveBy,
|
|
46
|
+
validation
|
|
47
|
+
} = _ref;
|
|
39
48
|
if (resolveCondition(condition, state, resolveBy)) result.push({
|
|
40
49
|
target,
|
|
41
50
|
component,
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
+
import 'core-js/modules/esnext.async-iterator.filter.js';
|
|
2
|
+
import 'core-js/modules/esnext.iterator.filter.js';
|
|
1
3
|
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
4
|
+
import 'core-js/modules/esnext.async-iterator.for-each.js';
|
|
5
|
+
import 'core-js/modules/esnext.iterator.constructor.js';
|
|
6
|
+
import 'core-js/modules/esnext.iterator.for-each.js';
|
|
2
7
|
import { createNewFilter, createNewGroup, addFilterToMap, addFilterToMainItem, findItemFilterById, addFilterToItem, removeFilterItem, addGroupFilterToItem, addGroupToMap, unGroupFilterToItem, changeGroupOperator, changeFilterItem } from './actions.js';
|
|
3
8
|
import QueryBuilderFormat from '../format/format.js';
|
|
4
9
|
|
|
@@ -19,36 +24,30 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
19
24
|
|
|
20
25
|
class QueryBuilderStore {
|
|
21
26
|
constructor(init, _format) {
|
|
22
|
-
|
|
27
|
+
this.items = [];
|
|
28
|
+
this.step = 0;
|
|
29
|
+
this.steps = {};
|
|
30
|
+
this.mapFilters = {};
|
|
31
|
+
this.mapGroups = {};
|
|
32
|
+
this.main = null;
|
|
33
|
+
this.format = null;
|
|
23
34
|
|
|
24
|
-
|
|
35
|
+
this.createNewFilter = idGroup => createNewFilter.call(this, idGroup);
|
|
25
36
|
|
|
26
|
-
|
|
37
|
+
this.createNewGroup = parentIdGroup => createNewGroup.call(this, parentIdGroup);
|
|
27
38
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
_defineProperty(this, "mapGroups", {});
|
|
31
|
-
|
|
32
|
-
_defineProperty(this, "main", null);
|
|
33
|
-
|
|
34
|
-
_defineProperty(this, "format", null);
|
|
35
|
-
|
|
36
|
-
_defineProperty(this, "createNewFilter", idGroup => createNewFilter.call(this, idGroup));
|
|
37
|
-
|
|
38
|
-
_defineProperty(this, "createNewGroup", parentIdGroup => createNewGroup.call(this, parentIdGroup));
|
|
39
|
-
|
|
40
|
-
_defineProperty(this, "onOrderDragAndDrop", items => {
|
|
39
|
+
this.onOrderDragAndDrop = items => {
|
|
41
40
|
this.items = items;
|
|
42
41
|
return this.getState();
|
|
43
|
-
}
|
|
42
|
+
};
|
|
44
43
|
|
|
45
|
-
|
|
44
|
+
this.addFilterNextToFilterId = (idGroup, idFilter) => {
|
|
46
45
|
// eslint-disable-line
|
|
47
46
|
this.addFilter(idGroup);
|
|
48
47
|
return this.getState();
|
|
49
|
-
}
|
|
48
|
+
};
|
|
50
49
|
|
|
51
|
-
|
|
50
|
+
this.addFilter = idGroup => {
|
|
52
51
|
const newFilter = this.createNewFilter(idGroup);
|
|
53
52
|
addFilterToMap.call(this, newFilter); // new API
|
|
54
53
|
|
|
@@ -63,22 +62,22 @@ class QueryBuilderStore {
|
|
|
63
62
|
}
|
|
64
63
|
|
|
65
64
|
return this.getState();
|
|
66
|
-
}
|
|
65
|
+
};
|
|
67
66
|
|
|
68
|
-
|
|
67
|
+
this.onRemoveFilter = idFilter => {
|
|
69
68
|
// new API
|
|
70
69
|
removeFilterItem.call(this, idFilter);
|
|
71
70
|
return this.getState();
|
|
72
|
-
}
|
|
71
|
+
};
|
|
73
72
|
|
|
74
|
-
|
|
73
|
+
this.addRuleContainerInPlace = (idGroup, idFilter) => {
|
|
75
74
|
// Create a new group
|
|
76
75
|
const newGroup = this.createNewGroup(idGroup);
|
|
77
76
|
addGroupFilterToItem.call(this, idGroup, idFilter, newGroup);
|
|
78
77
|
return this.getState();
|
|
79
|
-
}
|
|
78
|
+
};
|
|
80
79
|
|
|
81
|
-
|
|
80
|
+
this.addRuleContainer = (idGroup, idFilter) => {
|
|
82
81
|
// eslint-disable-line
|
|
83
82
|
const newGroup = this.createNewGroup(idGroup);
|
|
84
83
|
addGroupToMap.call(this, newGroup);
|
|
@@ -94,33 +93,33 @@ class QueryBuilderStore {
|
|
|
94
93
|
}
|
|
95
94
|
|
|
96
95
|
return this.getState();
|
|
97
|
-
}
|
|
96
|
+
};
|
|
98
97
|
|
|
99
|
-
|
|
98
|
+
this.unGroup = idGroup => {
|
|
100
99
|
unGroupFilterToItem.call(this, idGroup);
|
|
101
100
|
return this.getState();
|
|
102
|
-
}
|
|
101
|
+
};
|
|
103
102
|
|
|
104
|
-
|
|
103
|
+
this.changeGroupOperator = (idGroup, value) => {
|
|
105
104
|
this.getGroupById(idGroup).condition = value;
|
|
106
105
|
changeGroupOperator.call(this, idGroup, value);
|
|
107
106
|
return this.getState();
|
|
108
|
-
}
|
|
107
|
+
};
|
|
109
108
|
|
|
110
|
-
|
|
109
|
+
this.changeFilter = data => {
|
|
111
110
|
const {
|
|
112
111
|
idFilter
|
|
113
112
|
} = data;
|
|
114
113
|
this.mapFilters[idFilter] = _objectSpread(_objectSpread({}, this.mapFilters[idFilter]), data);
|
|
115
114
|
changeFilterItem.call(this, data);
|
|
116
115
|
return this.getState();
|
|
117
|
-
}
|
|
116
|
+
};
|
|
118
117
|
|
|
119
|
-
|
|
118
|
+
this.getGroupById = idGroup => this.mapGroups[idGroup] || {};
|
|
120
119
|
|
|
121
|
-
|
|
120
|
+
this.getFilterById = idFilter => this.mapFilters[idFilter];
|
|
122
121
|
|
|
123
|
-
|
|
122
|
+
this.getInitialState = () => {
|
|
124
123
|
const newFilters = {
|
|
125
124
|
step: this.step,
|
|
126
125
|
mapFilters: _objectSpread({}, this.mapFilters),
|
|
@@ -132,9 +131,9 @@ class QueryBuilderStore {
|
|
|
132
131
|
return _objectSpread(_objectSpread({}, newFilters), {}, {
|
|
133
132
|
format
|
|
134
133
|
});
|
|
135
|
-
}
|
|
134
|
+
};
|
|
136
135
|
|
|
137
|
-
|
|
136
|
+
this.getState = () => {
|
|
138
137
|
this.step += 1;
|
|
139
138
|
const newFilters = {
|
|
140
139
|
step: this.step,
|
|
@@ -147,7 +146,7 @@ class QueryBuilderStore {
|
|
|
147
146
|
return _objectSpread(_objectSpread({}, newFilters), {}, {
|
|
148
147
|
format
|
|
149
148
|
});
|
|
150
|
-
}
|
|
149
|
+
};
|
|
151
150
|
|
|
152
151
|
this.firstLoad = true;
|
|
153
152
|
this.format = _format;
|
package/esm/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { DSQueryBuilderWithSchema, default } from './DSQueryBuilder.js';
|
|
1
|
+
export { DSQueryBuilder, DSQueryBuilderWithSchema, DSQueryBuilder as default } from './DSQueryBuilder.js';
|
|
2
2
|
export { QB_ADD_FILTER_METHOD_TYPES, QB_DRAG_LOCATIONS, QB_DRAG_TYPES, QB_EXPORT_FORMAT_TYPES, QB_FIELD_SHARED_ACTIONS, QB_FIELD_TYPES, QB_GROUP_CONDITION_TYPES, QB_GROUP_FILTER_METHOD_TYPES, QB_OPERATOR_TYPES } from './components/helpers/types.js';
|
|
3
3
|
export { QB_DEFAULT_VALUES_OPTIONS, QB_FIELD_OPTIONS, QB_LOAN_VALUES_OPTIONS, QB_OPERATOR_OPTIONS, QB_SUBJECT_VALUES_OPTIONS } from './components/helpers/selectors.js';
|
|
4
4
|
export { default as QueryBuilderFormat } from './components/format/format.js';
|
package/esm/propTypes.js
CHANGED
|
@@ -73,9 +73,7 @@ const props = {
|
|
|
73
73
|
|
|
74
74
|
/** remove filter callback */
|
|
75
75
|
onRemoveFilter: PropTypes.func.description('remove filter callback'),
|
|
76
|
-
displayFixedOutput: PropTypes.string.description(
|
|
77
|
-
and it will always render the output without the ability to close it.
|
|
78
|
-
`).defaultValue(''),
|
|
76
|
+
displayFixedOutput: PropTypes.string.description("Label for fixed output.Using this props it will ignore 'displayOutput' and 'displayOutputLabel' \n and it will always render the output without the ability to close it. \n ").defaultValue(''),
|
|
79
77
|
|
|
80
78
|
/** show output */
|
|
81
79
|
displayOutput: PropTypes.bool.description('show output'),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-query-builder",
|
|
3
|
-
"version": "2.0.0-alpha.
|
|
3
|
+
"version": "2.0.0-alpha.14",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "ICE MT - Dimsum - Query Builder",
|
|
6
6
|
"module": "./esm/index.js",
|
|
@@ -168,14 +168,21 @@
|
|
|
168
168
|
"build": "node ../../scripts/build/build.js"
|
|
169
169
|
},
|
|
170
170
|
"dependencies": {
|
|
171
|
-
"@elliemae/ds-
|
|
172
|
-
"@elliemae/ds-
|
|
173
|
-
"@elliemae/ds-
|
|
174
|
-
"@elliemae/ds-
|
|
175
|
-
"@elliemae/ds-
|
|
171
|
+
"@elliemae/ds-accordion": "2.0.0-alpha.14",
|
|
172
|
+
"@elliemae/ds-button": "2.0.0-alpha.14",
|
|
173
|
+
"@elliemae/ds-classnames": "2.0.0-alpha.14",
|
|
174
|
+
"@elliemae/ds-form": "2.0.0-alpha.14",
|
|
175
|
+
"@elliemae/ds-grid": "2.0.0-alpha.14",
|
|
176
|
+
"@elliemae/ds-icon": "2.0.0-alpha.14",
|
|
177
|
+
"@elliemae/ds-icons": "2.0.0-alpha.14",
|
|
178
|
+
"@elliemae/ds-popper": "2.0.0-alpha.14",
|
|
179
|
+
"@elliemae/ds-shared": "2.0.0-alpha.14",
|
|
180
|
+
"@elliemae/ds-tooltip": "2.0.0-alpha.14",
|
|
181
|
+
"@elliemae/ds-utilities": "2.0.0-alpha.14",
|
|
176
182
|
"classnames": "~2.2.6",
|
|
177
183
|
"prop-types": "~15.7.2",
|
|
178
|
-
"react-addons-update": "~15.6.3"
|
|
184
|
+
"react-addons-update": "~15.6.3",
|
|
185
|
+
"react-desc": "~4.1.3"
|
|
179
186
|
},
|
|
180
187
|
"peerDependencies": {
|
|
181
188
|
"lodash": "^4.17.21",
|