@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
|
@@ -3,6 +3,15 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
|
+
require('core-js/modules/esnext.async-iterator.find.js');
|
|
7
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
8
|
+
require('core-js/modules/esnext.iterator.find.js');
|
|
9
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
10
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
11
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
12
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
13
|
+
require('core-js/modules/esnext.async-iterator.map.js');
|
|
14
|
+
require('core-js/modules/esnext.iterator.map.js');
|
|
6
15
|
var types = require('./types.js');
|
|
7
16
|
|
|
8
17
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -20,7 +29,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
20
29
|
*/
|
|
21
30
|
|
|
22
31
|
const createNewFilter = function (idGroup) {
|
|
23
|
-
const idFilter =
|
|
32
|
+
const idFilter = "filter_".concat(new Date().getTime(), "_").concat(Math.random().toString(36).substring(7));
|
|
24
33
|
return {
|
|
25
34
|
idGroup,
|
|
26
35
|
field: '',
|
|
@@ -38,7 +47,7 @@ const createNewFilter = function (idGroup) {
|
|
|
38
47
|
*/
|
|
39
48
|
|
|
40
49
|
const createNewGroup = function (parentIdGroup) {
|
|
41
|
-
const idGroup =
|
|
50
|
+
const idGroup = "group_".concat(new Date().getTime(), "_").concat(Math.random().toString(36).substring(7));
|
|
42
51
|
return {
|
|
43
52
|
parentIdGroup,
|
|
44
53
|
idGroup,
|
|
@@ -84,9 +93,12 @@ const addFilterToMainItem = function (items, newFilter) {
|
|
|
84
93
|
});
|
|
85
94
|
};
|
|
86
95
|
const findInChilds = function (childs, filterId) {
|
|
87
|
-
const found = childs.find(
|
|
88
|
-
|
|
89
|
-
|
|
96
|
+
const found = childs.find(_ref => {
|
|
97
|
+
let {
|
|
98
|
+
id
|
|
99
|
+
} = _ref;
|
|
100
|
+
return id === filterId;
|
|
101
|
+
});
|
|
90
102
|
|
|
91
103
|
if (!found) {
|
|
92
104
|
let findInChild;
|
|
@@ -102,9 +114,12 @@ const findItemFilterById = function (filterId) {
|
|
|
102
114
|
return findInChilds(this.items, filterId);
|
|
103
115
|
};
|
|
104
116
|
const findParentWithFilterId = function (childs, filterId) {
|
|
105
|
-
const found = childs.find(
|
|
106
|
-
|
|
107
|
-
|
|
117
|
+
const found = childs.find(_ref2 => {
|
|
118
|
+
let {
|
|
119
|
+
id
|
|
120
|
+
} = _ref2;
|
|
121
|
+
return id === filterId;
|
|
122
|
+
});
|
|
108
123
|
|
|
109
124
|
if (!found) {
|
|
110
125
|
let findInChild;
|
|
@@ -121,17 +136,23 @@ const findParentFilterById = function (filterId) {
|
|
|
121
136
|
};
|
|
122
137
|
const filterInChildren = function (childs, filterId, mainId) {
|
|
123
138
|
if (childs.children) {
|
|
124
|
-
childs.children = childs.children.filter(
|
|
125
|
-
|
|
126
|
-
|
|
139
|
+
childs.children = childs.children.filter(_ref3 => {
|
|
140
|
+
let {
|
|
141
|
+
id
|
|
142
|
+
} = _ref3;
|
|
143
|
+
return id !== filterId;
|
|
144
|
+
});
|
|
127
145
|
childs.children = childs.children.forEach(item => filterInChildren(item.children, filterId));
|
|
128
146
|
return childs;
|
|
129
147
|
} // main
|
|
130
148
|
|
|
131
149
|
|
|
132
|
-
if (childs.length > 1) childs = childs.filter(
|
|
133
|
-
|
|
134
|
-
|
|
150
|
+
if (childs.length > 1) childs = childs.filter(_ref4 => {
|
|
151
|
+
let {
|
|
152
|
+
id
|
|
153
|
+
} = _ref4;
|
|
154
|
+
return id !== filterId;
|
|
155
|
+
}); // https://jira.elliemae.io/browse/PUI-1252
|
|
135
156
|
|
|
136
157
|
if (childs.length === 0 && mainId) {
|
|
137
158
|
const emptyFilter = createNewFilter.call(this, mainId);
|
|
@@ -194,19 +215,20 @@ const changeGroupOperator = function (idGroup, value) {
|
|
|
194
215
|
group.element.condition = value;
|
|
195
216
|
}
|
|
196
217
|
};
|
|
197
|
-
const changeFilterItem = function ({
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
}
|
|
218
|
+
const changeFilterItem = function (_ref5) {
|
|
219
|
+
let {
|
|
220
|
+
idFilter,
|
|
221
|
+
field,
|
|
222
|
+
value,
|
|
223
|
+
operator,
|
|
224
|
+
additionalInfo,
|
|
225
|
+
target,
|
|
226
|
+
fieldsSharedActions: {
|
|
227
|
+
onFieldChange,
|
|
228
|
+
onOperatorChange,
|
|
229
|
+
onValueChange
|
|
230
|
+
}
|
|
231
|
+
} = _ref5;
|
|
210
232
|
const child = findItemFilterById.call(this, idFilter);
|
|
211
233
|
if (field || field === '' || typeof field === 'boolean') child.element.field = field;
|
|
212
234
|
if (operator) child.element.operator = operator;
|
|
@@ -214,21 +236,24 @@ const changeFilterItem = function ({
|
|
|
214
236
|
if (additionalInfo) child.element.additionalInfo = additionalInfo; // shared fields actions
|
|
215
237
|
|
|
216
238
|
if (target === 'field') {
|
|
217
|
-
onFieldChange.forEach(
|
|
218
|
-
|
|
219
|
-
|
|
239
|
+
onFieldChange.forEach(_ref6 => {
|
|
240
|
+
let {
|
|
241
|
+
action
|
|
242
|
+
} = _ref6;
|
|
220
243
|
if (action === types.QB_FIELD_SHARED_ACTIONS.RESET_FIELD) child.element.field = null;else if (action === types.QB_FIELD_SHARED_ACTIONS.RESET_OPERATOR) child.element.operator = null;else if (action === types.QB_FIELD_SHARED_ACTIONS.RESET_VALUE) child.element.value = null;
|
|
221
244
|
});
|
|
222
245
|
} else if (target === 'operator') {
|
|
223
|
-
onOperatorChange.forEach(
|
|
224
|
-
|
|
225
|
-
|
|
246
|
+
onOperatorChange.forEach(_ref7 => {
|
|
247
|
+
let {
|
|
248
|
+
action
|
|
249
|
+
} = _ref7;
|
|
226
250
|
if (action === types.QB_FIELD_SHARED_ACTIONS.RESET_FIELD) child.element.field = null;else if (action === types.QB_FIELD_SHARED_ACTIONS.RESET_OPERATOR) child.element.operator = null;else if (action === types.QB_FIELD_SHARED_ACTIONS.RESET_VALUE) child.element.value = null;
|
|
227
251
|
});
|
|
228
252
|
} else if (target === 'value') {
|
|
229
|
-
onValueChange.forEach(
|
|
230
|
-
|
|
231
|
-
|
|
253
|
+
onValueChange.forEach(_ref8 => {
|
|
254
|
+
let {
|
|
255
|
+
action
|
|
256
|
+
} = _ref8;
|
|
232
257
|
if (action === types.QB_FIELD_SHARED_ACTIONS.RESET_FIELD) child.element.field = null;else if (action === types.QB_FIELD_SHARED_ACTIONS.RESET_OPERATOR) child.element.operator = null;else if (action === types.QB_FIELD_SHARED_ACTIONS.RESET_VALUE) child.element.value = null;
|
|
233
258
|
});
|
|
234
259
|
}
|
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
require('core-js/modules/esnext.async-iterator.every.js');
|
|
6
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
7
|
+
require('core-js/modules/esnext.iterator.every.js');
|
|
8
|
+
require('core-js/modules/esnext.async-iterator.some.js');
|
|
9
|
+
require('core-js/modules/esnext.iterator.some.js');
|
|
10
|
+
require('core-js/modules/esnext.async-iterator.reduce.js');
|
|
11
|
+
require('core-js/modules/esnext.iterator.reduce.js');
|
|
5
12
|
var lodash = require('lodash');
|
|
6
13
|
var operators = require('@elliemae/ds-utilities/operators');
|
|
7
14
|
var types = require('./types.js');
|
|
@@ -26,7 +33,8 @@ function _interopNamespace(e) {
|
|
|
26
33
|
|
|
27
34
|
var operators__namespace = /*#__PURE__*/_interopNamespace(operators);
|
|
28
35
|
|
|
29
|
-
const resolveCondition = (condition, state
|
|
36
|
+
const resolveCondition = function (condition, state) {
|
|
37
|
+
let resolveBy = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : types.QB_GROUP_CONDITION_TYPES.AND;
|
|
30
38
|
if (condition.length === 0 || !condition) return true; // resolve by AND: all the conditions must be true
|
|
31
39
|
|
|
32
40
|
if (resolveBy) {
|
|
@@ -53,13 +61,14 @@ const resolveCondition = (condition, state, resolveBy = types.QB_GROUP_CONDITION
|
|
|
53
61
|
};
|
|
54
62
|
|
|
55
63
|
const resolveDependencies = (state, fields) => {
|
|
56
|
-
const fieldsToRender = fields.reduce((result, {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
64
|
+
const fieldsToRender = fields.reduce((result, _ref) => {
|
|
65
|
+
let {
|
|
66
|
+
target,
|
|
67
|
+
component,
|
|
68
|
+
condition,
|
|
69
|
+
resolveBy,
|
|
70
|
+
validation
|
|
71
|
+
} = _ref;
|
|
63
72
|
if (resolveCondition(condition, state, resolveBy)) result.push({
|
|
64
73
|
target,
|
|
65
74
|
component,
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
5
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
6
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
7
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
8
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
4
9
|
var actions = require('./actions.js');
|
|
5
10
|
var format = require('../format/format.js');
|
|
6
11
|
|
|
@@ -25,36 +30,30 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
25
30
|
|
|
26
31
|
class QueryBuilderStore {
|
|
27
32
|
constructor(init, _format) {
|
|
28
|
-
|
|
33
|
+
this.items = [];
|
|
34
|
+
this.step = 0;
|
|
35
|
+
this.steps = {};
|
|
36
|
+
this.mapFilters = {};
|
|
37
|
+
this.mapGroups = {};
|
|
38
|
+
this.main = null;
|
|
39
|
+
this.format = null;
|
|
29
40
|
|
|
30
|
-
|
|
41
|
+
this.createNewFilter = idGroup => actions.createNewFilter.call(this, idGroup);
|
|
31
42
|
|
|
32
|
-
|
|
43
|
+
this.createNewGroup = parentIdGroup => actions.createNewGroup.call(this, parentIdGroup);
|
|
33
44
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
_defineProperty__default["default"](this, "mapGroups", {});
|
|
37
|
-
|
|
38
|
-
_defineProperty__default["default"](this, "main", null);
|
|
39
|
-
|
|
40
|
-
_defineProperty__default["default"](this, "format", null);
|
|
41
|
-
|
|
42
|
-
_defineProperty__default["default"](this, "createNewFilter", idGroup => actions.createNewFilter.call(this, idGroup));
|
|
43
|
-
|
|
44
|
-
_defineProperty__default["default"](this, "createNewGroup", parentIdGroup => actions.createNewGroup.call(this, parentIdGroup));
|
|
45
|
-
|
|
46
|
-
_defineProperty__default["default"](this, "onOrderDragAndDrop", items => {
|
|
45
|
+
this.onOrderDragAndDrop = items => {
|
|
47
46
|
this.items = items;
|
|
48
47
|
return this.getState();
|
|
49
|
-
}
|
|
48
|
+
};
|
|
50
49
|
|
|
51
|
-
|
|
50
|
+
this.addFilterNextToFilterId = (idGroup, idFilter) => {
|
|
52
51
|
// eslint-disable-line
|
|
53
52
|
this.addFilter(idGroup);
|
|
54
53
|
return this.getState();
|
|
55
|
-
}
|
|
54
|
+
};
|
|
56
55
|
|
|
57
|
-
|
|
56
|
+
this.addFilter = idGroup => {
|
|
58
57
|
const newFilter = this.createNewFilter(idGroup);
|
|
59
58
|
actions.addFilterToMap.call(this, newFilter); // new API
|
|
60
59
|
|
|
@@ -69,22 +68,22 @@ class QueryBuilderStore {
|
|
|
69
68
|
}
|
|
70
69
|
|
|
71
70
|
return this.getState();
|
|
72
|
-
}
|
|
71
|
+
};
|
|
73
72
|
|
|
74
|
-
|
|
73
|
+
this.onRemoveFilter = idFilter => {
|
|
75
74
|
// new API
|
|
76
75
|
actions.removeFilterItem.call(this, idFilter);
|
|
77
76
|
return this.getState();
|
|
78
|
-
}
|
|
77
|
+
};
|
|
79
78
|
|
|
80
|
-
|
|
79
|
+
this.addRuleContainerInPlace = (idGroup, idFilter) => {
|
|
81
80
|
// Create a new group
|
|
82
81
|
const newGroup = this.createNewGroup(idGroup);
|
|
83
82
|
actions.addGroupFilterToItem.call(this, idGroup, idFilter, newGroup);
|
|
84
83
|
return this.getState();
|
|
85
|
-
}
|
|
84
|
+
};
|
|
86
85
|
|
|
87
|
-
|
|
86
|
+
this.addRuleContainer = (idGroup, idFilter) => {
|
|
88
87
|
// eslint-disable-line
|
|
89
88
|
const newGroup = this.createNewGroup(idGroup);
|
|
90
89
|
actions.addGroupToMap.call(this, newGroup);
|
|
@@ -100,33 +99,33 @@ class QueryBuilderStore {
|
|
|
100
99
|
}
|
|
101
100
|
|
|
102
101
|
return this.getState();
|
|
103
|
-
}
|
|
102
|
+
};
|
|
104
103
|
|
|
105
|
-
|
|
104
|
+
this.unGroup = idGroup => {
|
|
106
105
|
actions.unGroupFilterToItem.call(this, idGroup);
|
|
107
106
|
return this.getState();
|
|
108
|
-
}
|
|
107
|
+
};
|
|
109
108
|
|
|
110
|
-
|
|
109
|
+
this.changeGroupOperator = (idGroup, value) => {
|
|
111
110
|
this.getGroupById(idGroup).condition = value;
|
|
112
111
|
actions.changeGroupOperator.call(this, idGroup, value);
|
|
113
112
|
return this.getState();
|
|
114
|
-
}
|
|
113
|
+
};
|
|
115
114
|
|
|
116
|
-
|
|
115
|
+
this.changeFilter = data => {
|
|
117
116
|
const {
|
|
118
117
|
idFilter
|
|
119
118
|
} = data;
|
|
120
119
|
this.mapFilters[idFilter] = _objectSpread(_objectSpread({}, this.mapFilters[idFilter]), data);
|
|
121
120
|
actions.changeFilterItem.call(this, data);
|
|
122
121
|
return this.getState();
|
|
123
|
-
}
|
|
122
|
+
};
|
|
124
123
|
|
|
125
|
-
|
|
124
|
+
this.getGroupById = idGroup => this.mapGroups[idGroup] || {};
|
|
126
125
|
|
|
127
|
-
|
|
126
|
+
this.getFilterById = idFilter => this.mapFilters[idFilter];
|
|
128
127
|
|
|
129
|
-
|
|
128
|
+
this.getInitialState = () => {
|
|
130
129
|
const newFilters = {
|
|
131
130
|
step: this.step,
|
|
132
131
|
mapFilters: _objectSpread({}, this.mapFilters),
|
|
@@ -138,9 +137,9 @@ class QueryBuilderStore {
|
|
|
138
137
|
return _objectSpread(_objectSpread({}, newFilters), {}, {
|
|
139
138
|
format: format$1
|
|
140
139
|
});
|
|
141
|
-
}
|
|
140
|
+
};
|
|
142
141
|
|
|
143
|
-
|
|
142
|
+
this.getState = () => {
|
|
144
143
|
this.step += 1;
|
|
145
144
|
const newFilters = {
|
|
146
145
|
step: this.step,
|
|
@@ -153,7 +152,7 @@ class QueryBuilderStore {
|
|
|
153
152
|
return _objectSpread(_objectSpread({}, newFilters), {}, {
|
|
154
153
|
format: format$1
|
|
155
154
|
});
|
|
156
|
-
}
|
|
155
|
+
};
|
|
157
156
|
|
|
158
157
|
this.firstLoad = true;
|
|
159
158
|
this.format = _format;
|
package/cjs/index.js
CHANGED
|
@@ -9,8 +9,9 @@ var format = require('./components/format/format.js');
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
|
+
exports.DSQueryBuilder = DSQueryBuilder.DSQueryBuilder;
|
|
12
13
|
exports.DSQueryBuilderWithSchema = DSQueryBuilder.DSQueryBuilderWithSchema;
|
|
13
|
-
exports["default"] = DSQueryBuilder
|
|
14
|
+
exports["default"] = DSQueryBuilder.DSQueryBuilder;
|
|
14
15
|
exports.QB_ADD_FILTER_METHOD_TYPES = types.QB_ADD_FILTER_METHOD_TYPES;
|
|
15
16
|
exports.QB_DRAG_LOCATIONS = types.QB_DRAG_LOCATIONS;
|
|
16
17
|
exports.QB_DRAG_TYPES = types.QB_DRAG_TYPES;
|
package/cjs/propTypes.js
CHANGED
|
@@ -77,9 +77,7 @@ const props = {
|
|
|
77
77
|
|
|
78
78
|
/** remove filter callback */
|
|
79
79
|
onRemoveFilter: reactDesc.PropTypes.func.description('remove filter callback'),
|
|
80
|
-
displayFixedOutput: reactDesc.PropTypes.string.description(
|
|
81
|
-
and it will always render the output without the ability to close it.
|
|
82
|
-
`).defaultValue(''),
|
|
80
|
+
displayFixedOutput: reactDesc.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(''),
|
|
83
81
|
|
|
84
82
|
/** show output */
|
|
85
83
|
displayOutput: reactDesc.PropTypes.bool.description('show output'),
|
package/esm/DSQueryBuilder.js
CHANGED
|
@@ -8,64 +8,67 @@ export { QB_DEFAULT_VALUES_OPTIONS, QB_FIELD_OPTIONS, QB_LOAN_VALUES_OPTIONS, QB
|
|
|
8
8
|
export { default as QueryBuilderFormat } from './components/format/format.js';
|
|
9
9
|
import { props } from './propTypes.js';
|
|
10
10
|
|
|
11
|
-
const DSQueryBuilder =
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
11
|
+
const DSQueryBuilder = _ref => {
|
|
12
|
+
let {
|
|
13
|
+
containerProps = {},
|
|
14
|
+
addFilterMethod = QB_ADD_FILTER_METHOD_TYPES.IN_PLACE,
|
|
15
|
+
groupFilterMethod = QB_GROUP_FILTER_METHOD_TYPES.IN_PLACE,
|
|
16
|
+
onChange = () => null,
|
|
17
|
+
fields = [],
|
|
18
|
+
fieldsSharedActions = {
|
|
19
|
+
onFieldChange: [],
|
|
20
|
+
onOperatorChange: [],
|
|
21
|
+
onValueChange: []
|
|
22
|
+
},
|
|
23
|
+
format = QB_EXPORT_FORMAT_TYPES.DEFAULT,
|
|
24
|
+
init = null,
|
|
25
|
+
ruleContainerClassName = '',
|
|
26
|
+
handleDrop = () => null,
|
|
27
|
+
handleDropFilter = () => null,
|
|
28
|
+
handleDropGroup = () => null,
|
|
29
|
+
handleFieldChange = () => null,
|
|
30
|
+
handleRuleContainerOperator = () => null,
|
|
31
|
+
handleRuleContainerUnGroup = () => null,
|
|
32
|
+
onAddFilter = () => null,
|
|
33
|
+
onAddRuleContainer = () => null,
|
|
34
|
+
onRemoveFilter = () => null,
|
|
35
|
+
displayFixedOutput,
|
|
36
|
+
displayOutput = false,
|
|
37
|
+
displayOutputLabel = {
|
|
38
|
+
show: 'Show output',
|
|
39
|
+
hide: 'Hide output'
|
|
40
|
+
},
|
|
41
|
+
singleRow = false,
|
|
42
|
+
toolTipZIndex = 110
|
|
43
|
+
} = _ref;
|
|
44
|
+
return /*#__PURE__*/_jsx(QueryBuilderImpl, {
|
|
45
|
+
addFilterMethod: addFilterMethod,
|
|
46
|
+
containerProps: containerProps,
|
|
47
|
+
displayFixedOutput: displayFixedOutput,
|
|
48
|
+
displayOutput: displayOutput,
|
|
49
|
+
displayOutputLabel: displayOutputLabel,
|
|
50
|
+
fields: fields,
|
|
51
|
+
fieldsSharedActions: fieldsSharedActions,
|
|
52
|
+
format: format,
|
|
53
|
+
groupFilterMethod: groupFilterMethod,
|
|
54
|
+
handleDrop: handleDrop,
|
|
55
|
+
handleDropFilter: handleDropFilter,
|
|
56
|
+
handleDropGroup: handleDropGroup,
|
|
57
|
+
handleFieldChange: handleFieldChange,
|
|
58
|
+
handleRuleContainerOperator: handleRuleContainerOperator,
|
|
59
|
+
handleRuleContainerUnGroup: handleRuleContainerUnGroup,
|
|
60
|
+
init: init,
|
|
61
|
+
onAddFilter: onAddFilter,
|
|
62
|
+
onAddRuleContainer: onAddRuleContainer,
|
|
63
|
+
onChange: onChange,
|
|
64
|
+
onRemoveFilter: onRemoveFilter,
|
|
65
|
+
ruleContainerClassName: ruleContainerClassName,
|
|
66
|
+
singleRow: singleRow,
|
|
67
|
+
toolTipZIndex: toolTipZIndex
|
|
68
|
+
});
|
|
69
|
+
};
|
|
67
70
|
|
|
68
71
|
const DSQueryBuilderWithSchema = describe(DSQueryBuilder);
|
|
69
72
|
DSQueryBuilderWithSchema.propTypes = props;
|
|
70
73
|
|
|
71
|
-
export { DSQueryBuilderWithSchema, DSQueryBuilder as default };
|
|
74
|
+
export { DSQueryBuilder, DSQueryBuilderWithSchema, DSQueryBuilder as default };
|
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
import _jsx from '@babel/runtime/helpers/esm/jsx';
|
|
2
|
-
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
3
2
|
import React, { Component } from 'react';
|
|
4
3
|
import { convertPropToCssClassName } from '@elliemae/ds-classnames';
|
|
5
|
-
import DSTooltip, { TooltipType } from '@elliemae/ds-
|
|
6
|
-
import { PopperInteractions, PopperPositions } from '@elliemae/ds-
|
|
7
|
-
import DSToggle from '@elliemae/ds-
|
|
8
|
-
import DSButton from '@elliemae/ds-
|
|
9
|
-
import QueryAdd from '@elliemae/ds-icons
|
|
10
|
-
import
|
|
11
|
-
import MoreOptionsVert from '@elliemae/ds-icons/MoreOptionsVert';
|
|
12
|
-
import { DSIconSizes, DSIconColors } from '@elliemae/ds-basic/Icon';
|
|
4
|
+
import DSTooltip, { TooltipType } from '@elliemae/ds-tooltip';
|
|
5
|
+
import { PopperInteractions, PopperPositions } from '@elliemae/ds-popper';
|
|
6
|
+
import { DSToggle } from '@elliemae/ds-form';
|
|
7
|
+
import DSButton from '@elliemae/ds-button';
|
|
8
|
+
import { QueryAdd, ParenthesisRemove, MoreOptionsVert } from '@elliemae/ds-icons';
|
|
9
|
+
import { DSIconSizes, DSIconColors } from '@elliemae/ds-icon';
|
|
13
10
|
import { DELAY_CLOSE, DELAY_OPEN, TOOLBAR_ANIMATION_DURATION } from '../helpers/constants.js';
|
|
14
11
|
import { ToolBarAnimation } from '../ToolBarAnimation/ToolBarAnimation.js';
|
|
15
12
|
import DragContainerController from '../DragContainerController/DragContainerController.js';
|
|
@@ -34,11 +31,11 @@ class AndOrController extends Component {
|
|
|
34
31
|
constructor(props) {
|
|
35
32
|
super(props);
|
|
36
33
|
|
|
37
|
-
|
|
34
|
+
this.handleMouseEnterRow = e => {
|
|
38
35
|
this.handleTooltipRow(true); // this.handleMouseMove(e)
|
|
39
|
-
}
|
|
36
|
+
};
|
|
40
37
|
|
|
41
|
-
|
|
38
|
+
this.handleMouseMove = e => {
|
|
42
39
|
if (!this.contenerRef.current) return;
|
|
43
40
|
const mouse = e.clientY;
|
|
44
41
|
const {
|
|
@@ -50,13 +47,13 @@ class AndOrController extends Component {
|
|
|
50
47
|
this.setState({
|
|
51
48
|
top: mouse - topDiff - refHeight / 2 - delta
|
|
52
49
|
});
|
|
53
|
-
}
|
|
50
|
+
};
|
|
54
51
|
|
|
55
|
-
|
|
52
|
+
this.handleMouseLeaveRow = () => {
|
|
56
53
|
this.handleTooltipRow(false);
|
|
57
|
-
}
|
|
54
|
+
};
|
|
58
55
|
|
|
59
|
-
|
|
56
|
+
this.handleTooltipRow = isOpen => {
|
|
60
57
|
this.setState({
|
|
61
58
|
isOpen
|
|
62
59
|
});
|
|
@@ -64,7 +61,7 @@ class AndOrController extends Component {
|
|
|
64
61
|
handleTooltipGroup
|
|
65
62
|
} = this.props;
|
|
66
63
|
handleTooltipGroup(isOpen);
|
|
67
|
-
}
|
|
64
|
+
};
|
|
68
65
|
|
|
69
66
|
this.contenerRef = /*#__PURE__*/React.createRef();
|
|
70
67
|
this.myRef = /*#__PURE__*/React.createRef();
|
|
@@ -105,12 +102,12 @@ class AndOrController extends Component {
|
|
|
105
102
|
} = this.state;
|
|
106
103
|
return /*#__PURE__*/jsx("div", {
|
|
107
104
|
ref: this.myRef,
|
|
108
|
-
className:
|
|
105
|
+
className: "".concat(cssClassName, " ").concat(mainModifier(condition ? 'active' : 'default'), " step-").concat(step, " ").concat(isMain ? 'is-main-group-join' : '') // onMouseEnter={this.handleMouseEnterRow}
|
|
109
106
|
,
|
|
110
107
|
onMouseLeave: this.handleMouseLeaveRow // onMouseMove={this.handleMouseMove}
|
|
111
108
|
,
|
|
112
109
|
children: /*#__PURE__*/_jsx("div", {
|
|
113
|
-
className:
|
|
110
|
+
className: "".concat(classNameBlock('content'), " step-").concat(step)
|
|
114
111
|
}, void 0, /*#__PURE__*/_jsx(DSTooltip, {
|
|
115
112
|
delayClose: delayClose,
|
|
116
113
|
delayOpen: delayOpen,
|
|
@@ -128,8 +125,8 @@ class AndOrController extends Component {
|
|
|
128
125
|
style: {
|
|
129
126
|
transition: '0.2s',
|
|
130
127
|
position: 'absolute',
|
|
131
|
-
top:
|
|
132
|
-
right:
|
|
128
|
+
top: "".concat(top, "px"),
|
|
129
|
+
right: "".concat(right, "px")
|
|
133
130
|
},
|
|
134
131
|
children: [/*#__PURE__*/_jsx(DSButton, {
|
|
135
132
|
buttonType: buttonActionType,
|
|
@@ -163,7 +160,7 @@ class AndOrController extends Component {
|
|
|
163
160
|
}),
|
|
164
161
|
tooltipType: TooltipType.TOOLBAR,
|
|
165
162
|
triggerComponent: /*#__PURE__*/_jsx("div", {
|
|
166
|
-
className:
|
|
163
|
+
className: "".concat(classNameBlock('trigger-controller'), " ").concat(showDragController ? classNameBlockModifier('draggable', 'trigger-controller') : '', " step-").concat(step)
|
|
167
164
|
}, void 0, /*#__PURE__*/_jsx("div", {
|
|
168
165
|
className: classNameElement('condition-display')
|
|
169
166
|
}, void 0, /*#__PURE__*/_jsx("span", {
|
|
@@ -190,7 +187,7 @@ class AndOrController extends Component {
|
|
|
190
187
|
|
|
191
188
|
}
|
|
192
189
|
|
|
193
|
-
|
|
190
|
+
AndOrController.defaultProps = {
|
|
194
191
|
isMain: false,
|
|
195
192
|
handleRuleContainerOperator: () => null,
|
|
196
193
|
handleRuleContainerUnGroup: () => null,
|
|
@@ -211,6 +208,6 @@ _defineProperty(AndOrController, "defaultProps", {
|
|
|
211
208
|
toolBarAnimationDuration: TOOLBAR_ANIMATION_DURATION,
|
|
212
209
|
toolBarInteractionType: PopperInteractions.CLICK,
|
|
213
210
|
toolBarPosition: PopperPositions.LEFT
|
|
214
|
-
}
|
|
211
|
+
};
|
|
215
212
|
|
|
216
213
|
export { AndOrController as default };
|