@elliemae/ds-query-builder 3.0.0-next.1 → 3.0.0-next.5
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/dist/cjs/DSQueryBuilder.js +118 -0
- package/dist/cjs/DSQueryBuilder.js.map +7 -0
- package/dist/cjs/components/AndOrController/AndOrController.js +208 -0
- package/dist/cjs/components/AndOrController/AndOrController.js.map +7 -0
- package/dist/cjs/components/ConditionController/ConditionController.js +116 -0
- package/dist/cjs/components/ConditionController/ConditionController.js.map +7 -0
- package/dist/cjs/components/DisplayOutput/DisplayOutput.js +92 -0
- package/dist/cjs/components/DisplayOutput/DisplayOutput.js.map +7 -0
- package/dist/cjs/components/DragContainerController/DragContainerController.js +65 -0
- package/dist/cjs/components/DragContainerController/DragContainerController.js.map +7 -0
- package/dist/cjs/components/DragControllerRow/DragControllerRow.js +83 -0
- package/dist/cjs/components/DragControllerRow/DragControllerRow.js.map +7 -0
- package/dist/cjs/components/FieldControllerRow/FieldControllerRow.js +55 -0
- package/dist/cjs/components/FieldControllerRow/FieldControllerRow.js.map +7 -0
- package/dist/cjs/components/Nestable/Nestable.js +264 -0
- package/dist/cjs/components/Nestable/Nestable.js.map +7 -0
- package/dist/cjs/components/Nestable/NestableItem.js +127 -0
- package/dist/cjs/components/Nestable/NestableItem.js.map +7 -0
- package/dist/cjs/components/Nestable/actions/events.js +153 -0
- package/dist/cjs/components/Nestable/actions/events.js.map +7 -0
- package/dist/cjs/components/Nestable/actions/getItemOptions.js +49 -0
- package/dist/cjs/components/Nestable/actions/getItemOptions.js.map +7 -0
- package/dist/cjs/components/Nestable/actions/getPaths.js +119 -0
- package/dist/cjs/components/Nestable/actions/getPaths.js.map +7 -0
- package/dist/cjs/components/Nestable/actions/index.js +42 -0
- package/dist/cjs/components/Nestable/actions/index.js.map +7 -0
- package/dist/cjs/components/Nestable/actions/moveItem.js +69 -0
- package/dist/cjs/components/Nestable/actions/moveItem.js.map +7 -0
- package/dist/cjs/components/Nestable/actions/paths.js +119 -0
- package/dist/cjs/components/Nestable/actions/paths.js.map +7 -0
- package/dist/cjs/components/Nestable/actions/tryDecreaseDepth.js +51 -0
- package/dist/cjs/components/Nestable/actions/tryDecreaseDepth.js.map +7 -0
- package/dist/cjs/components/Nestable/actions/tryIncreaseDepth.js +51 -0
- package/dist/cjs/components/Nestable/actions/tryIncreaseDepth.js.map +7 -0
- package/dist/cjs/components/Nestable/index.js +36 -0
- package/dist/cjs/components/Nestable/index.js.map +7 -0
- package/dist/cjs/components/QueryBuilderContext/QueryBuilderContext.js +36 -0
- package/dist/cjs/components/QueryBuilderContext/QueryBuilderContext.js.map +7 -0
- package/dist/cjs/components/QueryBuilderImpl.js +253 -0
- package/dist/cjs/components/QueryBuilderImpl.js.map +7 -0
- package/dist/cjs/components/QueryBuilderItem/QueryBuilderItem.js +108 -0
- package/dist/cjs/components/QueryBuilderItem/QueryBuilderItem.js.map +7 -0
- package/dist/cjs/components/QueryBuilderRow/QueryBuilderRow.js +235 -0
- package/dist/cjs/components/QueryBuilderRow/QueryBuilderRow.js.map +7 -0
- package/dist/cjs/components/ToolBarAnimation/ToolBarAnimation.js +58 -0
- package/dist/cjs/components/ToolBarAnimation/ToolBarAnimation.js.map +7 -0
- package/dist/cjs/components/format/format.js +59 -0
- package/dist/cjs/components/format/format.js.map +7 -0
- package/dist/cjs/components/format/sqlFormat.js +94 -0
- package/dist/cjs/components/format/sqlFormat.js.map +7 -0
- package/dist/cjs/components/format/sqlSafeFormat.js +98 -0
- package/dist/cjs/components/format/sqlSafeFormat.js.map +7 -0
- package/dist/cjs/components/format/xmlFormat.js +94 -0
- package/dist/cjs/components/format/xmlFormat.js.map +7 -0
- package/dist/cjs/components/helpers/actions.js +253 -0
- package/dist/cjs/components/helpers/actions.js.map +7 -0
- package/dist/cjs/components/helpers/constants.js +39 -0
- package/dist/cjs/components/helpers/constants.js.map +7 -0
- package/dist/cjs/components/helpers/dependencies.js +69 -0
- package/dist/cjs/components/helpers/dependencies.js.map +7 -0
- package/dist/cjs/components/helpers/selectors.js +161 -0
- package/dist/cjs/components/helpers/selectors.js.map +7 -0
- package/dist/cjs/components/helpers/store.js +171 -0
- package/dist/cjs/components/helpers/store.js.map +7 -0
- package/dist/cjs/components/helpers/types.js +92 -0
- package/dist/cjs/components/helpers/types.js.map +7 -0
- package/dist/cjs/index.js +36 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/propTypes.js +105 -0
- package/dist/cjs/propTypes.js.map +7 -0
- package/dist/esm/DSQueryBuilder.js +105 -0
- package/dist/esm/DSQueryBuilder.js.map +7 -0
- package/dist/esm/components/AndOrController/AndOrController.js +179 -0
- package/dist/esm/components/AndOrController/AndOrController.js.map +7 -0
- package/dist/esm/components/ConditionController/ConditionController.js +87 -0
- package/dist/esm/components/ConditionController/ConditionController.js.map +7 -0
- package/dist/esm/components/DisplayOutput/DisplayOutput.js +63 -0
- package/dist/esm/components/DisplayOutput/DisplayOutput.js.map +7 -0
- package/dist/esm/components/DragContainerController/DragContainerController.js +36 -0
- package/dist/esm/components/DragContainerController/DragContainerController.js.map +7 -0
- package/dist/esm/components/DragControllerRow/DragControllerRow.js +56 -0
- package/dist/esm/components/DragControllerRow/DragControllerRow.js.map +7 -0
- package/dist/esm/components/FieldControllerRow/FieldControllerRow.js +26 -0
- package/dist/esm/components/FieldControllerRow/FieldControllerRow.js.map +7 -0
- package/dist/esm/components/Nestable/Nestable.js +253 -0
- package/dist/esm/components/Nestable/Nestable.js.map +7 -0
- package/dist/esm/components/Nestable/NestableItem.js +100 -0
- package/dist/esm/components/Nestable/NestableItem.js.map +7 -0
- package/dist/esm/components/Nestable/actions/events.js +131 -0
- package/dist/esm/components/Nestable/actions/events.js.map +7 -0
- package/{esm → dist/esm}/components/Nestable/actions/getItemOptions.js +7 -11
- package/dist/esm/components/Nestable/actions/getItemOptions.js.map +7 -0
- package/{esm → dist/esm}/components/Nestable/actions/getPaths.js +17 -43
- package/dist/esm/components/Nestable/actions/getPaths.js.map +7 -0
- package/dist/esm/components/Nestable/actions/index.js +13 -0
- package/dist/esm/components/Nestable/actions/index.js.map +7 -0
- package/dist/esm/components/Nestable/actions/moveItem.js +42 -0
- package/dist/esm/components/Nestable/actions/moveItem.js.map +7 -0
- package/{esm → dist/esm}/components/Nestable/actions/paths.js +19 -47
- package/dist/esm/components/Nestable/actions/paths.js.map +7 -0
- package/dist/esm/components/Nestable/actions/tryDecreaseDepth.js +22 -0
- package/dist/esm/components/Nestable/actions/tryDecreaseDepth.js.map +7 -0
- package/{esm → dist/esm}/components/Nestable/actions/tryIncreaseDepth.js +10 -22
- package/dist/esm/components/Nestable/actions/tryIncreaseDepth.js.map +7 -0
- package/dist/esm/components/Nestable/index.js +7 -0
- package/dist/esm/components/Nestable/index.js.map +7 -0
- package/dist/esm/components/QueryBuilderContext/QueryBuilderContext.js +7 -0
- package/dist/esm/components/QueryBuilderContext/QueryBuilderContext.js.map +7 -0
- package/dist/esm/components/QueryBuilderImpl.js +226 -0
- package/dist/esm/components/QueryBuilderImpl.js.map +7 -0
- package/dist/esm/components/QueryBuilderItem/QueryBuilderItem.js +81 -0
- package/dist/esm/components/QueryBuilderItem/QueryBuilderItem.js.map +7 -0
- package/dist/esm/components/QueryBuilderRow/QueryBuilderRow.js +208 -0
- package/dist/esm/components/QueryBuilderRow/QueryBuilderRow.js.map +7 -0
- package/dist/esm/components/ToolBarAnimation/ToolBarAnimation.js +31 -0
- package/dist/esm/components/ToolBarAnimation/ToolBarAnimation.js.map +7 -0
- package/dist/esm/components/format/format.js +30 -0
- package/dist/esm/components/format/format.js.map +7 -0
- package/dist/esm/components/format/sqlFormat.js +65 -0
- package/dist/esm/components/format/sqlFormat.js.map +7 -0
- package/dist/esm/components/format/sqlSafeFormat.js +69 -0
- package/dist/esm/components/format/sqlSafeFormat.js.map +7 -0
- package/dist/esm/components/format/xmlFormat.js +65 -0
- package/dist/esm/components/format/xmlFormat.js.map +7 -0
- package/dist/esm/components/helpers/actions.js +230 -0
- package/dist/esm/components/helpers/actions.js.map +7 -0
- package/dist/esm/components/helpers/constants.js +10 -0
- package/dist/esm/components/helpers/constants.js.map +7 -0
- package/dist/esm/components/helpers/dependencies.js +40 -0
- package/dist/esm/components/helpers/dependencies.js.map +7 -0
- package/dist/esm/components/helpers/selectors.js +132 -0
- package/dist/esm/components/helpers/selectors.js.map +7 -0
- package/dist/esm/components/helpers/store.js +157 -0
- package/dist/esm/components/helpers/store.js.map +7 -0
- package/dist/esm/components/helpers/types.js +63 -0
- package/dist/esm/components/helpers/types.js.map +7 -0
- package/dist/esm/index.js +7 -0
- package/dist/esm/index.js.map +7 -0
- package/dist/esm/propTypes.js +76 -0
- package/dist/esm/propTypes.js.map +7 -0
- package/package.json +103 -94
- package/cjs/DSQueryBuilder.js +0 -98
- package/cjs/components/AndOrController/AndOrController.js +0 -222
- package/cjs/components/ConditionController/ConditionController.js +0 -100
- package/cjs/components/DisplayOutput/DisplayOutput.js +0 -93
- package/cjs/components/DragContainerController/DragContainerController.js +0 -45
- package/cjs/components/DragControllerRow/DragControllerRow.js +0 -47
- package/cjs/components/FieldControllerRow/FieldControllerRow.js +0 -33
- package/cjs/components/Nestable/Nestable.js +0 -320
- package/cjs/components/Nestable/NestableItem.js +0 -111
- package/cjs/components/Nestable/actions/events.js +0 -166
- package/cjs/components/Nestable/actions/getItemOptions.js +0 -28
- package/cjs/components/Nestable/actions/getPaths.js +0 -124
- package/cjs/components/Nestable/actions/index.js +0 -28
- package/cjs/components/Nestable/actions/moveItem.js +0 -54
- package/cjs/components/Nestable/actions/paths.js +0 -126
- package/cjs/components/Nestable/actions/tryDecreaseDepth.js +0 -35
- package/cjs/components/Nestable/actions/tryIncreaseDepth.js +0 -38
- package/cjs/components/Nestable/index.js +0 -7
- package/cjs/components/QueryBuilderContext/QueryBuilderContext.js +0 -13
- package/cjs/components/QueryBuilderImpl.js +0 -309
- package/cjs/components/QueryBuilderItem/QueryBuilderItem.js +0 -90
- package/cjs/components/QueryBuilderRow/QueryBuilderRow.js +0 -276
- package/cjs/components/ToolBarAnimation/ToolBarAnimation.js +0 -29
- package/cjs/components/format/format.js +0 -33
- package/cjs/components/format/sqlFormat.js +0 -73
- package/cjs/components/format/sqlSafeFormat.js +0 -81
- package/cjs/components/format/xmlFormat.js +0 -73
- package/cjs/components/helpers/actions.js +0 -277
- package/cjs/components/helpers/constants.js +0 -11
- package/cjs/components/helpers/dependencies.js +0 -84
- package/cjs/components/helpers/selectors.js +0 -101
- package/cjs/components/helpers/store.js +0 -177
- package/cjs/components/helpers/types.js +0 -64
- package/cjs/index.js +0 -29
- package/cjs/propTypes.js +0 -97
- package/esm/DSQueryBuilder.js +0 -74
- package/esm/components/AndOrController/AndOrController.js +0 -213
- package/esm/components/ConditionController/ConditionController.js +0 -92
- package/esm/components/DisplayOutput/DisplayOutput.js +0 -87
- package/esm/components/DragContainerController/DragContainerController.js +0 -39
- package/esm/components/DragControllerRow/DragControllerRow.js +0 -39
- package/esm/components/FieldControllerRow/FieldControllerRow.js +0 -27
- package/esm/components/Nestable/Nestable.js +0 -312
- package/esm/components/Nestable/NestableItem.js +0 -103
- package/esm/components/Nestable/actions/events.js +0 -153
- package/esm/components/Nestable/actions/index.js +0 -6
- package/esm/components/Nestable/actions/moveItem.js +0 -45
- package/esm/components/Nestable/actions/tryDecreaseDepth.js +0 -31
- package/esm/components/Nestable/index.js +0 -2
- package/esm/components/QueryBuilderContext/QueryBuilderContext.js +0 -5
- package/esm/components/QueryBuilderImpl.js +0 -301
- package/esm/components/QueryBuilderItem/QueryBuilderItem.js +0 -83
- package/esm/components/QueryBuilderRow/QueryBuilderRow.js +0 -268
- package/esm/components/ToolBarAnimation/ToolBarAnimation.js +0 -20
- package/esm/components/format/format.js +0 -31
- package/esm/components/format/sqlFormat.js +0 -69
- package/esm/components/format/sqlSafeFormat.js +0 -76
- package/esm/components/format/xmlFormat.js +0 -69
- package/esm/components/helpers/actions.js +0 -254
- package/esm/components/helpers/constants.js +0 -5
- package/esm/components/helpers/dependencies.js +0 -60
- package/esm/components/helpers/selectors.js +0 -93
- package/esm/components/helpers/store.js +0 -171
- package/esm/components/helpers/types.js +0 -52
- package/esm/index.js +0 -4
- package/esm/propTypes.js +0 -93
- package/types/DSQueryBuilder.d.ts +0 -211
- package/types/components/AndOrController/AndOrController.d.ts +0 -38
- package/types/components/ConditionController/ConditionController.d.ts +0 -16
- package/types/components/DisplayOutput/DisplayOutput.d.ts +0 -7
- package/types/components/DragContainerController/DragContainerController.d.ts +0 -9
- package/types/components/DragControllerRow/DragControllerRow.d.ts +0 -9
- package/types/components/FieldControllerRow/FieldControllerRow.d.ts +0 -9
- package/types/components/Nestable/Nestable.d.ts +0 -51
- package/types/components/Nestable/NestableItem.d.ts +0 -12
- package/types/components/Nestable/actions/events.d.ts +0 -6
- package/types/components/Nestable/actions/getItemOptions.d.ts +0 -11
- package/types/components/Nestable/actions/getPaths.d.ts +0 -5
- package/types/components/Nestable/actions/index.d.ts +0 -6
- package/types/components/Nestable/actions/moveItem.d.ts +0 -5
- package/types/components/Nestable/actions/paths.d.ts +0 -5
- package/types/components/Nestable/actions/tryDecreaseDepth.d.ts +0 -1
- package/types/components/Nestable/actions/tryIncreaseDepth.d.ts +0 -1
- package/types/components/Nestable/index.d.ts +0 -2
- package/types/components/QueryBuilderContext/QueryBuilderContext.d.ts +0 -2
- package/types/components/QueryBuilderImpl.d.ts +0 -49
- package/types/components/QueryBuilderItem/QueryBuilderItem.d.ts +0 -5
- package/types/components/QueryBuilderRow/QueryBuilderRow.d.ts +0 -12
- package/types/components/ToolBarAnimation/ToolBarAnimation.d.ts +0 -3
- package/types/components/format/format.d.ts +0 -26
- package/types/components/format/sqlFormat.d.ts +0 -5
- package/types/components/format/sqlSafeFormat.d.ts +0 -6
- package/types/components/format/xmlFormat.d.ts +0 -5
- package/types/components/helpers/actions.d.ts +0 -63
- package/types/components/helpers/constants.d.ts +0 -3
- package/types/components/helpers/dependencies.d.ts +0 -1
- package/types/components/helpers/selectors.d.ts +0 -20
- package/types/components/helpers/store.d.ts +0 -144
- package/types/components/helpers/types.d.ts +0 -50
- package/types/index.d.ts +0 -2
- package/types/propTypes.d.ts +0 -156
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/components/format/format.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { sqlFormat } from './sqlFormat';\nimport { xmlFormat } from './xmlFormat';\nimport { sqlSafeFormat } from './sqlSafeFormat';\n\nclass QueryBuilderFormat {\n format = {\n defaultFormat: query => query,\n sqlFormat,\n xmlFormat,\n sqlSafeFormat,\n };\n\n currentFormat = 'sqlFormat';\n\n setDefaultFormat = formatName => {\n if (this.format[formatName]) this.currentFormat = formatName;\n };\n\n addFormat = (formatName, format) => (this.format[formatName] = format);\n\n run = (query, formatName) => {\n if (this.format[formatName]) return this.format[formatName](query);\n return this.format[this.currentFormat](query);\n };\n}\n\nexport default new QueryBuilderFormat();\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AACA;AACA;AAEA,yBAAyB;AAAA,EAAzB,cAJA;AAKE,kBAAS;AAAA,MACP,eAAe,WAAS;AAAA,MACxB;AAAA,MACA;AAAA,MACA;AAAA;AAGF,yBAAgB;AAEhB,4BAAmB,gBAAc;AAC/B,UAAI,KAAK,OAAO;AAAa,aAAK,gBAAgB;AAAA;AAGpD,qBAAY,CAAC,YAAY,WAAY,KAAK,OAAO,cAAc;AAE/D,eAAM,CAAC,OAAO,eAAe;AAC3B,UAAI,KAAK,OAAO;AAAa,eAAO,KAAK,OAAO,YAAY;AAC5D,aAAO,KAAK,OAAO,KAAK,eAAe;AAAA;AAAA;AAAA;AAI3C,IAAO,iBAAQ,IAAI;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { QB_OPERATOR_TYPES } from "../helpers/types";
|
|
3
|
+
const conditionSql = (condition, value) => {
|
|
4
|
+
const {
|
|
5
|
+
EQUAL,
|
|
6
|
+
NOT_EQUAL,
|
|
7
|
+
GREATER_THAN,
|
|
8
|
+
LESS_THAN,
|
|
9
|
+
CONTAINS,
|
|
10
|
+
NOT_CONTAINS,
|
|
11
|
+
BETWEEN,
|
|
12
|
+
GREATER_THAN_OR_EQUAL,
|
|
13
|
+
LESS_THAN_OR_EQUAL,
|
|
14
|
+
START_WITH
|
|
15
|
+
} = QB_OPERATOR_TYPES;
|
|
16
|
+
if (condition === EQUAL)
|
|
17
|
+
return ` = '${value}'`;
|
|
18
|
+
if (condition === NOT_EQUAL)
|
|
19
|
+
return ` <> '${value}'`;
|
|
20
|
+
if (condition === GREATER_THAN)
|
|
21
|
+
return ` > ${value}`;
|
|
22
|
+
if (condition === LESS_THAN)
|
|
23
|
+
return ` < ${value}`;
|
|
24
|
+
if (condition === CONTAINS)
|
|
25
|
+
return ` LIKE '%${value}%'`;
|
|
26
|
+
if (condition === NOT_CONTAINS)
|
|
27
|
+
return ` NOT LIKE '%${value}%'`;
|
|
28
|
+
if (condition === BETWEEN)
|
|
29
|
+
return ` BETWEEN ${value[0]} AND ${value[1]} `;
|
|
30
|
+
if (condition === GREATER_THAN_OR_EQUAL)
|
|
31
|
+
return ` >= ${value}`;
|
|
32
|
+
if (condition === LESS_THAN_OR_EQUAL)
|
|
33
|
+
return ` <= ${value}`;
|
|
34
|
+
if (condition === START_WITH)
|
|
35
|
+
return ` LIKE '${value}%'`;
|
|
36
|
+
return condition;
|
|
37
|
+
};
|
|
38
|
+
const renderFilterSQl = (filter) => {
|
|
39
|
+
const { field, operator, value } = filter.element;
|
|
40
|
+
return `${field} ${conditionSql(operator, value) || ""}`;
|
|
41
|
+
};
|
|
42
|
+
const sqlFormat = ({ main, mapGroups, items }) => {
|
|
43
|
+
const groupSql = (item, idGroup) => {
|
|
44
|
+
if (idGroup === main) {
|
|
45
|
+
const groupCondition2 = mapGroups[idGroup].condition === true ? "AND" : "OR";
|
|
46
|
+
return ` ( ${filterSql(item, groupCondition2)} ) `;
|
|
47
|
+
}
|
|
48
|
+
const groupCondition = item.element.condition === true ? "AND" : "OR";
|
|
49
|
+
return ` ( ${filterSql(item.children, groupCondition)} ) `;
|
|
50
|
+
};
|
|
51
|
+
const filterSql = (filters, groupCondition) => {
|
|
52
|
+
const filterGroup = filters.map((filter) => {
|
|
53
|
+
if (filter.element.type === "filter")
|
|
54
|
+
return ` ${renderFilterSQl(filter)} `;
|
|
55
|
+
return ` ${groupSql(filter) || ""} `;
|
|
56
|
+
});
|
|
57
|
+
return filterGroup.join(groupCondition);
|
|
58
|
+
};
|
|
59
|
+
const sql = ` FROM [TABLE_NAME] WHERE ${groupSql(items, main) || ""} `;
|
|
60
|
+
return sql;
|
|
61
|
+
};
|
|
62
|
+
export {
|
|
63
|
+
sqlFormat
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=sqlFormat.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/components/format/sqlFormat.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\nimport { QB_OPERATOR_TYPES } from '../helpers/types';\n\nconst conditionSql = (condition, value) => {\n const {\n EQUAL,\n NOT_EQUAL,\n GREATER_THAN,\n LESS_THAN,\n CONTAINS,\n NOT_CONTAINS,\n BETWEEN,\n GREATER_THAN_OR_EQUAL,\n LESS_THAN_OR_EQUAL,\n START_WITH,\n } = QB_OPERATOR_TYPES;\n\n if (condition === EQUAL) return ` = '${value}'`;\n if (condition === NOT_EQUAL) return ` <> '${value}'`;\n if (condition === GREATER_THAN) return ` > ${value}`;\n if (condition === LESS_THAN) return ` < ${value}`;\n if (condition === CONTAINS) return ` LIKE '%${value}%'`;\n if (condition === NOT_CONTAINS) return ` NOT LIKE '%${value}%'`;\n if (condition === BETWEEN) return ` BETWEEN ${value[0]} AND ${value[1]} `;\n if (condition === GREATER_THAN_OR_EQUAL) return ` >= ${value}`;\n if (condition === LESS_THAN_OR_EQUAL) return ` <= ${value}`;\n if (condition === START_WITH) return ` LIKE '${value}%'`;\n return condition;\n};\n\nconst renderFilterSQl = (filter) => {\n const { field, operator, value } = filter.element;\n\n return `${field} ${conditionSql(operator, value) || ''}`;\n};\nexport const sqlFormat = ({ main, mapGroups, items }) => {\n const groupSql = (item, idGroup) => {\n if (idGroup === main) {\n const groupCondition =\n mapGroups[idGroup].condition === true ? 'AND' : 'OR';\n return ` ( ${filterSql(item, groupCondition)} ) `; // eslint-disable-line\n }\n const groupCondition = item.element.condition === true ? 'AND' : 'OR';\n return ` ( ${filterSql(item.children, groupCondition)} ) `; // eslint-disable-line\n };\n\n const filterSql = (filters, groupCondition) => {\n const filterGroup = filters.map((filter) => {\n if (filter.element.type === 'filter')\n return ` ${renderFilterSQl(filter)} `;\n return ` ${groupSql(filter) || ''} `;\n });\n return filterGroup.join(groupCondition);\n };\n\n const sql = ` FROM [TABLE_NAME] WHERE ${groupSql(items, main) || ''} `;\n\n return sql;\n};\n"],
|
|
5
|
+
"mappings": "AAAA;ACCA;AAEA,MAAM,eAAe,CAAC,WAAW,UAAU;AACzC,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE;AAEJ,MAAI,cAAc;AAAO,WAAO,OAAO;AACvC,MAAI,cAAc;AAAW,WAAO,QAAQ;AAC5C,MAAI,cAAc;AAAc,WAAO,MAAM;AAC7C,MAAI,cAAc;AAAW,WAAO,MAAM;AAC1C,MAAI,cAAc;AAAU,WAAO,WAAW;AAC9C,MAAI,cAAc;AAAc,WAAO,eAAe;AACtD,MAAI,cAAc;AAAS,WAAO,YAAY,MAAM,UAAU,MAAM;AACpE,MAAI,cAAc;AAAuB,WAAO,OAAO;AACvD,MAAI,cAAc;AAAoB,WAAO,OAAO;AACpD,MAAI,cAAc;AAAY,WAAO,UAAU;AAC/C,SAAO;AAAA;AAGT,MAAM,kBAAkB,CAAC,WAAW;AAClC,QAAM,EAAE,OAAO,UAAU,UAAU,OAAO;AAE1C,SAAO,GAAG,SAAS,aAAa,UAAU,UAAU;AAAA;AAE/C,MAAM,YAAY,CAAC,EAAE,MAAM,WAAW,YAAY;AACvD,QAAM,WAAW,CAAC,MAAM,YAAY;AAClC,QAAI,YAAY,MAAM;AACpB,YAAM,kBACJ,UAAU,SAAS,cAAc,OAAO,QAAQ;AAClD,aAAO,MAAM,UAAU,MAAM;AAAA;AAE/B,UAAM,iBAAiB,KAAK,QAAQ,cAAc,OAAO,QAAQ;AACjE,WAAO,MAAM,UAAU,KAAK,UAAU;AAAA;AAGxC,QAAM,YAAY,CAAC,SAAS,mBAAmB;AAC7C,UAAM,cAAc,QAAQ,IAAI,CAAC,WAAW;AAC1C,UAAI,OAAO,QAAQ,SAAS;AAC1B,eAAO,IAAI,gBAAgB;AAC7B,aAAO,IAAI,SAAS,WAAW;AAAA;AAEjC,WAAO,YAAY,KAAK;AAAA;AAG1B,QAAM,MAAM,4BAA4B,SAAS,OAAO,SAAS;AAEjE,SAAO;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { QB_OPERATOR_TYPES } from "../helpers/types";
|
|
3
|
+
const specialChar = /[ !@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/;
|
|
4
|
+
const conditionSql = (condition, value) => {
|
|
5
|
+
const {
|
|
6
|
+
EQUAL,
|
|
7
|
+
NOT_EQUAL,
|
|
8
|
+
GREATER_THAN,
|
|
9
|
+
LESS_THAN,
|
|
10
|
+
CONTAINS,
|
|
11
|
+
NOT_CONTAINS,
|
|
12
|
+
BETWEEN,
|
|
13
|
+
GREATER_THAN_OR_EQUAL,
|
|
14
|
+
LESS_THAN_OR_EQUAL,
|
|
15
|
+
START_WITH
|
|
16
|
+
} = QB_OPERATOR_TYPES;
|
|
17
|
+
const valueDisplay = isNaN(value) ? `'${value}'` : value;
|
|
18
|
+
if (condition === EQUAL)
|
|
19
|
+
return ` = ${valueDisplay}`;
|
|
20
|
+
if (condition === NOT_EQUAL)
|
|
21
|
+
return ` <> ${valueDisplay}`;
|
|
22
|
+
if (condition === GREATER_THAN)
|
|
23
|
+
return ` > ${valueDisplay}`;
|
|
24
|
+
if (condition === LESS_THAN)
|
|
25
|
+
return ` < ${valueDisplay}`;
|
|
26
|
+
if (condition === CONTAINS)
|
|
27
|
+
return ` LIKE '%${value}%'`;
|
|
28
|
+
if (condition === NOT_CONTAINS)
|
|
29
|
+
return ` NOT LIKE '%${value}%'`;
|
|
30
|
+
if (condition === BETWEEN)
|
|
31
|
+
return ` BETWEEN ${value[0]} AND ${value[1]} `;
|
|
32
|
+
if (condition === GREATER_THAN_OR_EQUAL)
|
|
33
|
+
return ` >= ${value}`;
|
|
34
|
+
if (condition === LESS_THAN_OR_EQUAL)
|
|
35
|
+
return ` <= ${value}`;
|
|
36
|
+
if (condition === START_WITH)
|
|
37
|
+
return ` LIKE '${value}%'`;
|
|
38
|
+
return condition;
|
|
39
|
+
};
|
|
40
|
+
const renderFilterSQl = (filter) => {
|
|
41
|
+
const { field, operator, value } = filter.element;
|
|
42
|
+
const fieldDisplay = /[.]/.test(field) || !isNaN(field) ? `\\"${field}\\"` : field;
|
|
43
|
+
return `${fieldDisplay} ${conditionSql(operator, value) || ""}`;
|
|
44
|
+
};
|
|
45
|
+
const sqlSafeFormat = ({ main, mapGroups, items }) => {
|
|
46
|
+
const groupSql = (item, idGroup) => {
|
|
47
|
+
if (idGroup === main) {
|
|
48
|
+
const groupCondition2 = mapGroups[idGroup].condition === true ? "AND" : "OR";
|
|
49
|
+
return ` ( ${filterSql(item, groupCondition2)} ) `;
|
|
50
|
+
}
|
|
51
|
+
const groupCondition = item.element.condition === true ? "AND" : "OR";
|
|
52
|
+
return ` ( ${filterSql(item.children, groupCondition)} ) `;
|
|
53
|
+
};
|
|
54
|
+
const filterSql = (filters, groupCondition) => {
|
|
55
|
+
const filterGroup = filters.map((filter) => {
|
|
56
|
+
if (filter.element.type === "filter")
|
|
57
|
+
return ` ${renderFilterSQl(filter)} `;
|
|
58
|
+
return ` ${groupSql(filter) || ""} `;
|
|
59
|
+
});
|
|
60
|
+
return filterGroup.join(groupCondition);
|
|
61
|
+
};
|
|
62
|
+
const sql = ` FROM [TABLE_NAME] WHERE ${groupSql(items, main) || ""} `;
|
|
63
|
+
return sql;
|
|
64
|
+
};
|
|
65
|
+
export {
|
|
66
|
+
specialChar,
|
|
67
|
+
sqlSafeFormat
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=sqlSafeFormat.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/components/format/sqlSafeFormat.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\nimport { QB_OPERATOR_TYPES } from '../helpers/types';\n\n// eslint-disable-next-line no-useless-escape\nexport const specialChar = /[ !@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]/;\n\nconst conditionSql = (condition, value) => {\n const {\n EQUAL,\n NOT_EQUAL,\n GREATER_THAN,\n LESS_THAN,\n CONTAINS,\n NOT_CONTAINS,\n BETWEEN,\n GREATER_THAN_OR_EQUAL,\n LESS_THAN_OR_EQUAL,\n START_WITH,\n } = QB_OPERATOR_TYPES;\n // eslint-disable-next-line no-restricted-globals\n const valueDisplay = isNaN(value) ? `'${value}'` : value;\n\n if (condition === EQUAL) return ` = ${valueDisplay}`;\n if (condition === NOT_EQUAL) return ` <> ${valueDisplay}`;\n if (condition === GREATER_THAN) return ` > ${valueDisplay}`;\n if (condition === LESS_THAN) return ` < ${valueDisplay}`;\n if (condition === CONTAINS) return ` LIKE '%${value}%'`;\n if (condition === NOT_CONTAINS) return ` NOT LIKE '%${value}%'`;\n if (condition === BETWEEN) return ` BETWEEN ${value[0]} AND ${value[1]} `;\n if (condition === GREATER_THAN_OR_EQUAL) return ` >= ${value}`;\n if (condition === LESS_THAN_OR_EQUAL) return ` <= ${value}`;\n if (condition === START_WITH) return ` LIKE '${value}%'`;\n return condition;\n};\n\nconst renderFilterSQl = (filter) => {\n const { field, operator, value } = filter.element;\n // eslint-disable-next-line no-restricted-globals\n const fieldDisplay =\n // eslint-disable-next-line no-restricted-globals\n /[.]/.test(field) || !isNaN(field) ? `\\\\\"${field}\\\\\"` : field;\n return `${fieldDisplay} ${conditionSql(operator, value) || ''}`;\n};\nexport const sqlSafeFormat = ({ main, mapGroups, items }) => {\n const groupSql = (item, idGroup) => {\n if (idGroup === main) {\n const groupCondition =\n mapGroups[idGroup].condition === true ? 'AND' : 'OR';\n return ` ( ${filterSql(item, groupCondition)} ) `; // eslint-disable-line\n }\n const groupCondition = item.element.condition === true ? 'AND' : 'OR';\n return ` ( ${filterSql(item.children, groupCondition)} ) `; // eslint-disable-line\n };\n\n const filterSql = (filters, groupCondition) => {\n const filterGroup = filters.map((filter) => {\n if (filter.element.type === 'filter')\n return ` ${renderFilterSQl(filter)} `;\n return ` ${groupSql(filter) || ''} `;\n });\n return filterGroup.join(groupCondition);\n };\n\n const sql = ` FROM [TABLE_NAME] WHERE ${groupSql(items, main) || ''} `;\n\n return sql;\n};\n"],
|
|
5
|
+
"mappings": "AAAA;ACCA;AAGO,MAAM,cAAc;AAE3B,MAAM,eAAe,CAAC,WAAW,UAAU;AACzC,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE;AAEJ,QAAM,eAAe,MAAM,SAAS,IAAI,WAAW;AAEnD,MAAI,cAAc;AAAO,WAAO,MAAM;AACtC,MAAI,cAAc;AAAW,WAAO,OAAO;AAC3C,MAAI,cAAc;AAAc,WAAO,MAAM;AAC7C,MAAI,cAAc;AAAW,WAAO,MAAM;AAC1C,MAAI,cAAc;AAAU,WAAO,WAAW;AAC9C,MAAI,cAAc;AAAc,WAAO,eAAe;AACtD,MAAI,cAAc;AAAS,WAAO,YAAY,MAAM,UAAU,MAAM;AACpE,MAAI,cAAc;AAAuB,WAAO,OAAO;AACvD,MAAI,cAAc;AAAoB,WAAO,OAAO;AACpD,MAAI,cAAc;AAAY,WAAO,UAAU;AAC/C,SAAO;AAAA;AAGT,MAAM,kBAAkB,CAAC,WAAW;AAClC,QAAM,EAAE,OAAO,UAAU,UAAU,OAAO;AAE1C,QAAM,eAEJ,MAAM,KAAK,UAAU,CAAC,MAAM,SAAS,MAAM,aAAa;AAC1D,SAAO,GAAG,gBAAgB,aAAa,UAAU,UAAU;AAAA;AAEtD,MAAM,gBAAgB,CAAC,EAAE,MAAM,WAAW,YAAY;AAC3D,QAAM,WAAW,CAAC,MAAM,YAAY;AAClC,QAAI,YAAY,MAAM;AACpB,YAAM,kBACJ,UAAU,SAAS,cAAc,OAAO,QAAQ;AAClD,aAAO,MAAM,UAAU,MAAM;AAAA;AAE/B,UAAM,iBAAiB,KAAK,QAAQ,cAAc,OAAO,QAAQ;AACjE,WAAO,MAAM,UAAU,KAAK,UAAU;AAAA;AAGxC,QAAM,YAAY,CAAC,SAAS,mBAAmB;AAC7C,UAAM,cAAc,QAAQ,IAAI,CAAC,WAAW;AAC1C,UAAI,OAAO,QAAQ,SAAS;AAC1B,eAAO,IAAI,gBAAgB;AAC7B,aAAO,IAAI,SAAS,WAAW;AAAA;AAEjC,WAAO,YAAY,KAAK;AAAA;AAG1B,QAAM,MAAM,4BAA4B,SAAS,OAAO,SAAS;AAEjE,SAAO;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { QB_OPERATOR_TYPES } from "../helpers/types";
|
|
3
|
+
const conditionSql = (condition, value) => {
|
|
4
|
+
const {
|
|
5
|
+
EQUAL,
|
|
6
|
+
NOT_EQUAL,
|
|
7
|
+
GREATER_THAN,
|
|
8
|
+
LESS_THAN,
|
|
9
|
+
CONTAINS,
|
|
10
|
+
NOT_CONTAINS,
|
|
11
|
+
BETWEEN,
|
|
12
|
+
GREATER_THAN_OR_EQUAL,
|
|
13
|
+
LESS_THAN_OR_EQUAL,
|
|
14
|
+
START_WITH
|
|
15
|
+
} = QB_OPERATOR_TYPES;
|
|
16
|
+
if (condition === EQUAL)
|
|
17
|
+
return `<condition>EQUAL</condition><value>${value}</value>`;
|
|
18
|
+
if (condition === NOT_EQUAL)
|
|
19
|
+
return `<condition>NOT_EQUAL</condition><value>${value}</value>`;
|
|
20
|
+
if (condition === GREATER_THAN)
|
|
21
|
+
return `<condition>GREATER_THAN</condition><value>${value}</value>`;
|
|
22
|
+
if (condition === LESS_THAN)
|
|
23
|
+
return `<condition>LESS_THAN</condition><value>${value}</value>`;
|
|
24
|
+
if (condition === CONTAINS)
|
|
25
|
+
return `<condition>LIKE</condition><value>${value}</value>`;
|
|
26
|
+
if (condition === NOT_CONTAINS)
|
|
27
|
+
return `<condition>NOT_LIKE</condition><value>${value}</value>`;
|
|
28
|
+
if (condition === BETWEEN)
|
|
29
|
+
return `<condition>NOT_LIKE</condition><value><from>${value[0]}</from><to>${value[1]}</to></value>`;
|
|
30
|
+
if (condition === GREATER_THAN_OR_EQUAL)
|
|
31
|
+
return `<condition>GREATER_THAN_OR_EQUAL</condition><value>${value}</value>`;
|
|
32
|
+
if (condition === LESS_THAN_OR_EQUAL)
|
|
33
|
+
return `<condition>LESS_THAN_OR_EQUAL</condition><value>${value}</value>`;
|
|
34
|
+
if (condition === START_WITH)
|
|
35
|
+
return `<condition>GREATER_THAN</condition><value>${value}</value>`;
|
|
36
|
+
return condition;
|
|
37
|
+
};
|
|
38
|
+
const renderFilterSQl = (filter) => {
|
|
39
|
+
const { field, operator, value } = filter.element;
|
|
40
|
+
return `<filter><field>${field}</field>${conditionSql(operator, value) || ""}</filter>`;
|
|
41
|
+
};
|
|
42
|
+
const xmlFormat = ({ main, mapGroups, items }) => {
|
|
43
|
+
const groupXML = (item, idGroup) => {
|
|
44
|
+
if (idGroup === main) {
|
|
45
|
+
const groupCondition2 = mapGroups[idGroup].condition === true ? "AND" : "OR";
|
|
46
|
+
return `<group value="${groupCondition2}">${filterXML(item, groupCondition2)}</group>`;
|
|
47
|
+
}
|
|
48
|
+
const groupCondition = item.element.condition === true ? "AND" : "OR";
|
|
49
|
+
return `<group value="${groupCondition}">${filterXML(item.children, groupCondition)}</group>`;
|
|
50
|
+
};
|
|
51
|
+
const filterXML = (filters) => {
|
|
52
|
+
const filterGroup = filters.map((filter) => {
|
|
53
|
+
if (filter.element.type === "filter")
|
|
54
|
+
return `${renderFilterSQl(filter) || ""} `;
|
|
55
|
+
return ` ${groupXML(filter)} `;
|
|
56
|
+
});
|
|
57
|
+
return filterGroup.join("");
|
|
58
|
+
};
|
|
59
|
+
const xml = `<xml><query>${groupXML(items, main) || ""}</query></xml>`;
|
|
60
|
+
return xml;
|
|
61
|
+
};
|
|
62
|
+
export {
|
|
63
|
+
xmlFormat
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=xmlFormat.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/components/format/xmlFormat.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\nimport { QB_OPERATOR_TYPES } from '../helpers/types';\n\nconst conditionSql = (condition, value) => {\n const {\n EQUAL,\n NOT_EQUAL,\n GREATER_THAN,\n LESS_THAN,\n CONTAINS,\n NOT_CONTAINS,\n BETWEEN,\n GREATER_THAN_OR_EQUAL,\n LESS_THAN_OR_EQUAL,\n START_WITH,\n } = QB_OPERATOR_TYPES;\n\n if (condition === EQUAL)\n return `<condition>EQUAL</condition><value>${value}</value>`;\n if (condition === NOT_EQUAL)\n return `<condition>NOT_EQUAL</condition><value>${value}</value>`;\n if (condition === GREATER_THAN)\n return `<condition>GREATER_THAN</condition><value>${value}</value>`;\n if (condition === LESS_THAN)\n return `<condition>LESS_THAN</condition><value>${value}</value>`;\n if (condition === CONTAINS)\n return `<condition>LIKE</condition><value>${value}</value>`;\n if (condition === NOT_CONTAINS)\n return `<condition>NOT_LIKE</condition><value>${value}</value>`;\n if (condition === BETWEEN)\n return `<condition>NOT_LIKE</condition><value><from>${value[0]}</from><to>${value[1]}</to></value>`;\n if (condition === GREATER_THAN_OR_EQUAL)\n return `<condition>GREATER_THAN_OR_EQUAL</condition><value>${value}</value>`;\n if (condition === LESS_THAN_OR_EQUAL)\n return `<condition>LESS_THAN_OR_EQUAL</condition><value>${value}</value>`;\n if (condition === START_WITH)\n return `<condition>GREATER_THAN</condition><value>${value}</value>`;\n\n return condition;\n};\n\nconst renderFilterSQl = (filter) => {\n const { field, operator, value } = filter.element;\n\n return `<filter><field>${field}</field>${\n conditionSql(operator, value) || ''\n }</filter>`;\n};\nexport const xmlFormat = ({ main, mapGroups, items }) => {\n const groupXML = (item, idGroup) => {\n if (idGroup === main) {\n const groupCondition =\n mapGroups[idGroup].condition === true ? 'AND' : 'OR';\n return `<group value=\"${groupCondition}\">${filterXML(\n item,\n groupCondition,\n )}</group>`; // eslint-disable-line\n }\n const groupCondition = item.element.condition === true ? 'AND' : 'OR';\n return `<group value=\"${groupCondition}\">${filterXML(\n item.children,\n groupCondition,\n )}</group>`; // eslint-disable-line\n };\n const filterXML = (filters) => {\n const filterGroup = filters.map((filter) => {\n if (filter.element.type === 'filter')\n return `${renderFilterSQl(filter) || ''} `;\n return ` ${groupXML(filter)} `;\n });\n return filterGroup.join('');\n };\n\n const xml = `<xml><query>${groupXML(items, main) || ''}</query></xml>`;\n\n return xml;\n};\n"],
|
|
5
|
+
"mappings": "AAAA;ACCA;AAEA,MAAM,eAAe,CAAC,WAAW,UAAU;AACzC,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE;AAEJ,MAAI,cAAc;AAChB,WAAO,sCAAsC;AAC/C,MAAI,cAAc;AAChB,WAAO,0CAA0C;AACnD,MAAI,cAAc;AAChB,WAAO,6CAA6C;AACtD,MAAI,cAAc;AAChB,WAAO,0CAA0C;AACnD,MAAI,cAAc;AAChB,WAAO,qCAAqC;AAC9C,MAAI,cAAc;AAChB,WAAO,yCAAyC;AAClD,MAAI,cAAc;AAChB,WAAO,+CAA+C,MAAM,gBAAgB,MAAM;AACpF,MAAI,cAAc;AAChB,WAAO,sDAAsD;AAC/D,MAAI,cAAc;AAChB,WAAO,mDAAmD;AAC5D,MAAI,cAAc;AAChB,WAAO,6CAA6C;AAEtD,SAAO;AAAA;AAGT,MAAM,kBAAkB,CAAC,WAAW;AAClC,QAAM,EAAE,OAAO,UAAU,UAAU,OAAO;AAE1C,SAAO,kBAAkB,gBACvB,aAAa,UAAU,UAAU;AAAA;AAG9B,MAAM,YAAY,CAAC,EAAE,MAAM,WAAW,YAAY;AACvD,QAAM,WAAW,CAAC,MAAM,YAAY;AAClC,QAAI,YAAY,MAAM;AACpB,YAAM,kBACJ,UAAU,SAAS,cAAc,OAAO,QAAQ;AAClD,aAAO,iBAAiB,oBAAmB,UACzC,MACA;AAAA;AAGJ,UAAM,iBAAiB,KAAK,QAAQ,cAAc,OAAO,QAAQ;AACjE,WAAO,iBAAiB,mBAAmB,UACzC,KAAK,UACL;AAAA;AAGJ,QAAM,YAAY,CAAC,YAAY;AAC7B,UAAM,cAAc,QAAQ,IAAI,CAAC,WAAW;AAC1C,UAAI,OAAO,QAAQ,SAAS;AAC1B,eAAO,GAAG,gBAAgB,WAAW;AACvC,aAAO,IAAI,SAAS;AAAA;AAEtB,WAAO,YAAY,KAAK;AAAA;AAG1B,QAAM,MAAM,eAAe,SAAS,OAAO,SAAS;AAEpD,SAAO;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
import * as React from "react";
|
|
21
|
+
import {
|
|
22
|
+
QB_DRAG_TYPES,
|
|
23
|
+
QB_GROUP_CONDITION_TYPES,
|
|
24
|
+
QB_FIELD_SHARED_ACTIONS
|
|
25
|
+
} from "./types";
|
|
26
|
+
const createNewFilter = function(idGroup) {
|
|
27
|
+
const idFilter = `filter_${new Date().getTime()}_${Math.random().toString(36).substring(7)}`;
|
|
28
|
+
return {
|
|
29
|
+
idGroup,
|
|
30
|
+
field: "",
|
|
31
|
+
condition: "",
|
|
32
|
+
value: "",
|
|
33
|
+
idFilter,
|
|
34
|
+
type: QB_DRAG_TYPES.FILTER
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
const createNewGroup = function(parentIdGroup) {
|
|
38
|
+
const idGroup = `group_${new Date().getTime()}_${Math.random().toString(36).substring(7)}`;
|
|
39
|
+
return {
|
|
40
|
+
parentIdGroup,
|
|
41
|
+
idGroup,
|
|
42
|
+
condition: QB_GROUP_CONDITION_TYPES.AND,
|
|
43
|
+
type: QB_DRAG_TYPES.GROUP
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
const addFilterToMap = function(newFilter) {
|
|
47
|
+
this.mapFilters = __spreadProps(__spreadValues({}, this.mapFilters), {
|
|
48
|
+
[newFilter.idFilter]: newFilter
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
const addGroupToMap = function(newGroup) {
|
|
52
|
+
this.mapGroups = __spreadProps(__spreadValues({}, this.mapGroups), {
|
|
53
|
+
[newGroup.idGroup]: __spreadValues({}, newGroup)
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
const addFilterToItem = function(item, newFilter) {
|
|
57
|
+
item.children.push({
|
|
58
|
+
id: newFilter.idFilter,
|
|
59
|
+
element: newFilter,
|
|
60
|
+
children: []
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
const addFilterToMainItem = function(items, newFilter) {
|
|
64
|
+
items.push({
|
|
65
|
+
id: newFilter.idFilter,
|
|
66
|
+
element: newFilter,
|
|
67
|
+
children: []
|
|
68
|
+
});
|
|
69
|
+
};
|
|
70
|
+
const findInChilds = function(childs, filterId) {
|
|
71
|
+
const found = childs.find(({ id }) => id === filterId);
|
|
72
|
+
if (!found) {
|
|
73
|
+
let findInChild;
|
|
74
|
+
childs.forEach((item) => {
|
|
75
|
+
if (!findInChild)
|
|
76
|
+
findInChild = findInChilds(item.children, filterId);
|
|
77
|
+
});
|
|
78
|
+
if (findInChild)
|
|
79
|
+
return findInChild;
|
|
80
|
+
}
|
|
81
|
+
return found;
|
|
82
|
+
};
|
|
83
|
+
const findItemFilterById = function(filterId) {
|
|
84
|
+
return findInChilds(this.items, filterId);
|
|
85
|
+
};
|
|
86
|
+
const findParentWithFilterId = function(childs, filterId) {
|
|
87
|
+
const found = childs.find(({ id }) => id === filterId);
|
|
88
|
+
if (!found) {
|
|
89
|
+
let findInChild;
|
|
90
|
+
childs.forEach((item) => {
|
|
91
|
+
if (!findInChild)
|
|
92
|
+
findInChild = findParentWithFilterId(item.children, filterId);
|
|
93
|
+
});
|
|
94
|
+
if (findInChild)
|
|
95
|
+
return findInChild;
|
|
96
|
+
}
|
|
97
|
+
return childs;
|
|
98
|
+
};
|
|
99
|
+
const findParentFilterById = function(filterId) {
|
|
100
|
+
return findParentWithFilterId(this.items, filterId);
|
|
101
|
+
};
|
|
102
|
+
const filterInChildren = function(childs, filterId, mainId) {
|
|
103
|
+
if (childs.children) {
|
|
104
|
+
childs.children = childs.children.filter(({ id }) => id !== filterId);
|
|
105
|
+
childs.children = childs.children.forEach((item) => filterInChildren(item.children, filterId));
|
|
106
|
+
return childs;
|
|
107
|
+
}
|
|
108
|
+
if (childs.length > 1)
|
|
109
|
+
childs = childs.filter(({ id }) => id !== filterId);
|
|
110
|
+
if (childs.length === 0 && mainId) {
|
|
111
|
+
const emptyFilter = createNewFilter.call(this, mainId);
|
|
112
|
+
addFilterToMainItem.call(this, childs, emptyFilter);
|
|
113
|
+
}
|
|
114
|
+
childs.forEach((item) => item.children = filterInChildren(item.children, filterId));
|
|
115
|
+
return childs;
|
|
116
|
+
};
|
|
117
|
+
const removeFilterItem = function(filterId) {
|
|
118
|
+
this.items = filterInChildren(this.items, filterId, this.main);
|
|
119
|
+
};
|
|
120
|
+
const addGroupFilterToItem = function(idGroup, idFilter, newGroup) {
|
|
121
|
+
const child = findItemFilterById.call(this, idFilter);
|
|
122
|
+
const copy = __spreadValues({}, child);
|
|
123
|
+
if (copy.element.type === "group") {
|
|
124
|
+
copy.element.parentIdGroup = newGroup.idGroup;
|
|
125
|
+
} else {
|
|
126
|
+
copy.element.idGroup = newGroup.idGroup;
|
|
127
|
+
}
|
|
128
|
+
child.id = newGroup.idGroup;
|
|
129
|
+
child.element = newGroup;
|
|
130
|
+
child.children = [copy];
|
|
131
|
+
};
|
|
132
|
+
const unGroupFilterToItem = function(idGroup) {
|
|
133
|
+
const group = findItemFilterById.call(this, idGroup);
|
|
134
|
+
if (group.element.parentIdGroup === this.main) {
|
|
135
|
+
const index = this.items.map((item) => item.id).indexOf(idGroup);
|
|
136
|
+
const tmp = [];
|
|
137
|
+
tmp.splice.apply(this.items, [index, 1].concat(group.children));
|
|
138
|
+
this.items.forEach((item) => {
|
|
139
|
+
if (item.element.type === "group") {
|
|
140
|
+
item.element.parentIdGroup = this.main;
|
|
141
|
+
} else {
|
|
142
|
+
item.element.idGroup = this.main;
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
} else {
|
|
146
|
+
const parent = findItemFilterById.call(this, group.element.parentIdGroup);
|
|
147
|
+
const index = parent.children.map((item) => item.id).indexOf(idGroup);
|
|
148
|
+
const tmp = [];
|
|
149
|
+
tmp.splice.apply(parent.children, [index, 1].concat(group.children));
|
|
150
|
+
parent.children.forEach((item) => {
|
|
151
|
+
if (item.element.type === "group") {
|
|
152
|
+
item.element.parentIdGroup = parent.id;
|
|
153
|
+
} else {
|
|
154
|
+
item.element.idGroup = parent.id;
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
const changeGroupOperator = function(idGroup, value) {
|
|
160
|
+
const group = findItemFilterById.call(this, idGroup);
|
|
161
|
+
if (idGroup !== this.main) {
|
|
162
|
+
group.element.condition = value;
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
const changeFilterItem = function({
|
|
166
|
+
idFilter,
|
|
167
|
+
field,
|
|
168
|
+
value,
|
|
169
|
+
operator,
|
|
170
|
+
additionalInfo,
|
|
171
|
+
target,
|
|
172
|
+
fieldsSharedActions: { onFieldChange, onOperatorChange, onValueChange }
|
|
173
|
+
}) {
|
|
174
|
+
const child = findItemFilterById.call(this, idFilter);
|
|
175
|
+
if (field || field === "" || typeof field === "boolean")
|
|
176
|
+
child.element.field = field;
|
|
177
|
+
if (operator)
|
|
178
|
+
child.element.operator = operator;
|
|
179
|
+
if (value || value === "" || typeof value === "boolean")
|
|
180
|
+
child.element.value = value;
|
|
181
|
+
if (additionalInfo)
|
|
182
|
+
child.element.additionalInfo = additionalInfo;
|
|
183
|
+
if (target === "field") {
|
|
184
|
+
onFieldChange.forEach(({ action }) => {
|
|
185
|
+
if (action === QB_FIELD_SHARED_ACTIONS.RESET_FIELD)
|
|
186
|
+
child.element.field = null;
|
|
187
|
+
else if (action === QB_FIELD_SHARED_ACTIONS.RESET_OPERATOR)
|
|
188
|
+
child.element.operator = null;
|
|
189
|
+
else if (action === QB_FIELD_SHARED_ACTIONS.RESET_VALUE)
|
|
190
|
+
child.element.value = null;
|
|
191
|
+
});
|
|
192
|
+
} else if (target === "operator") {
|
|
193
|
+
onOperatorChange.forEach(({ action }) => {
|
|
194
|
+
if (action === QB_FIELD_SHARED_ACTIONS.RESET_FIELD)
|
|
195
|
+
child.element.field = null;
|
|
196
|
+
else if (action === QB_FIELD_SHARED_ACTIONS.RESET_OPERATOR)
|
|
197
|
+
child.element.operator = null;
|
|
198
|
+
else if (action === QB_FIELD_SHARED_ACTIONS.RESET_VALUE)
|
|
199
|
+
child.element.value = null;
|
|
200
|
+
});
|
|
201
|
+
} else if (target === "value") {
|
|
202
|
+
onValueChange.forEach(({ action }) => {
|
|
203
|
+
if (action === QB_FIELD_SHARED_ACTIONS.RESET_FIELD)
|
|
204
|
+
child.element.field = null;
|
|
205
|
+
else if (action === QB_FIELD_SHARED_ACTIONS.RESET_OPERATOR)
|
|
206
|
+
child.element.operator = null;
|
|
207
|
+
else if (action === QB_FIELD_SHARED_ACTIONS.RESET_VALUE)
|
|
208
|
+
child.element.value = null;
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
};
|
|
212
|
+
export {
|
|
213
|
+
addFilterToItem,
|
|
214
|
+
addFilterToMainItem,
|
|
215
|
+
addFilterToMap,
|
|
216
|
+
addGroupFilterToItem,
|
|
217
|
+
addGroupToMap,
|
|
218
|
+
changeFilterItem,
|
|
219
|
+
changeGroupOperator,
|
|
220
|
+
createNewFilter,
|
|
221
|
+
createNewGroup,
|
|
222
|
+
filterInChildren,
|
|
223
|
+
findInChilds,
|
|
224
|
+
findItemFilterById,
|
|
225
|
+
findParentFilterById,
|
|
226
|
+
findParentWithFilterId,
|
|
227
|
+
removeFilterItem,
|
|
228
|
+
unGroupFilterToItem
|
|
229
|
+
};
|
|
230
|
+
//# sourceMappingURL=actions.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/components/helpers/actions.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport {\n QB_DRAG_TYPES,\n QB_GROUP_CONDITION_TYPES,\n QB_FIELD_SHARED_ACTIONS,\n} from './types';\n\n/**\n * this is injected. instance of QBStore\n *\n * @param {*} idGroup: UUID\n * @param idGroup\n */\nexport const createNewFilter = function(idGroup) {\n const idFilter = `filter_${new Date().getTime()}_${Math.random()\n .toString(36)\n .substring(7)}`;\n return {\n idGroup,\n field: '',\n condition: '',\n value: '',\n idFilter,\n type: QB_DRAG_TYPES.FILTER,\n };\n};\n\n/**\n * this is injected. instance of QBStore\n *\n * @param {*} parentIdGroup: UUID\n * @param parentIdGroup\n */\nexport const createNewGroup = function(parentIdGroup) {\n const idGroup = `group_${new Date().getTime()}_${Math.random()\n .toString(36)\n .substring(7)}`;\n return {\n parentIdGroup,\n idGroup,\n condition: QB_GROUP_CONDITION_TYPES.AND,\n type: QB_DRAG_TYPES.GROUP,\n };\n};\n\n/**\n * this is injected. instance of QBStore\n *\n * @param {*} newFilter\n */\nexport const addFilterToMap = function(newFilter) {\n this.mapFilters = {\n ...this.mapFilters,\n [newFilter.idFilter]: newFilter,\n };\n};\n\n/**\n * this is injected. instance of QBStore\n *\n * @param {*} newFilter\n * @param newGroup\n */\nexport const addGroupToMap = function(newGroup) {\n this.mapGroups = {\n ...this.mapGroups,\n [newGroup.idGroup]: {\n ...newGroup,\n },\n };\n};\n\nexport const addFilterToItem = function(item, newFilter) {\n item.children.push({\n id: newFilter.idFilter,\n element: newFilter,\n children: [],\n });\n};\n\nexport const addFilterToMainItem = function(items, newFilter) {\n items.push({\n id: newFilter.idFilter,\n element: newFilter,\n children: [],\n });\n};\n\nexport const findInChilds = function(childs, filterId) {\n const found = childs.find(({ id }) => id === filterId);\n if (!found) {\n let findInChild;\n childs.forEach(item => {\n if (!findInChild) findInChild = findInChilds(item.children, filterId);\n });\n if (findInChild) return findInChild;\n }\n return found;\n};\nexport const findItemFilterById = function(filterId) {\n return findInChilds(this.items, filterId);\n};\n\nexport const findParentWithFilterId = function(childs, filterId) {\n const found = childs.find(({ id }) => id === filterId);\n if (!found) {\n let findInChild;\n childs.forEach(item => {\n if (!findInChild)\n findInChild = findParentWithFilterId(item.children, filterId);\n });\n if (findInChild) return findInChild;\n }\n return childs;\n};\nexport const findParentFilterById = function(filterId) {\n return findParentWithFilterId(this.items, filterId);\n};\n\nexport const filterInChildren = function(childs, filterId, mainId) {\n if (childs.children) {\n childs.children = childs.children.filter(({ id }) => id !== filterId);\n childs.children = childs.children.forEach(item =>\n filterInChildren(item.children, filterId),\n );\n return childs;\n }\n // main\n if (childs.length > 1) childs = childs.filter(({ id }) => id !== filterId); // https://jira.elliemae.io/browse/PUI-1252\n if (childs.length === 0 && mainId) {\n const emptyFilter = createNewFilter.call(this, mainId);\n addFilterToMainItem.call(this, childs, emptyFilter);\n }\n childs.forEach(\n item => (item.children = filterInChildren(item.children, filterId)),\n );\n return childs;\n};\nexport const removeFilterItem = function(filterId) {\n this.items = filterInChildren(this.items, filterId, this.main);\n};\n\nexport const addGroupFilterToItem = function(idGroup, idFilter, newGroup) {\n const child = findItemFilterById.call(this, idFilter);\n const copy = {\n ...child,\n };\n if (copy.element.type === 'group') {\n copy.element.parentIdGroup = newGroup.idGroup;\n } else {\n copy.element.idGroup = newGroup.idGroup;\n }\n child.id = newGroup.idGroup;\n child.element = newGroup;\n child.children = [copy];\n};\n\nexport const unGroupFilterToItem = function(idGroup) {\n const group = findItemFilterById.call(this, idGroup);\n if (group.element.parentIdGroup === this.main) {\n const index = this.items.map(item => item.id).indexOf(idGroup);\n const tmp = [];\n tmp.splice.apply(this.items, [index, 1].concat(group.children));\n this.items.forEach(item => {\n if (item.element.type === 'group') {\n item.element.parentIdGroup = this.main;\n } else {\n item.element.idGroup = this.main;\n }\n });\n } else {\n const parent = findItemFilterById.call(this, group.element.parentIdGroup);\n const index = parent.children.map(item => item.id).indexOf(idGroup);\n const tmp = [];\n tmp.splice.apply(parent.children, [index, 1].concat(group.children));\n parent.children.forEach(item => {\n if (item.element.type === 'group') {\n item.element.parentIdGroup = parent.id;\n } else {\n item.element.idGroup = parent.id;\n }\n });\n }\n};\n\nexport const changeGroupOperator = function(idGroup, value) {\n const group = findItemFilterById.call(this, idGroup);\n if (idGroup !== this.main) {\n group.element.condition = value;\n }\n};\n\nexport const changeFilterItem = function({\n idFilter,\n field,\n value,\n operator,\n additionalInfo,\n target,\n fieldsSharedActions: { onFieldChange, onOperatorChange, onValueChange },\n}) {\n const child = findItemFilterById.call(this, idFilter);\n if (field || field === '' || typeof field === 'boolean')\n child.element.field = field;\n if (operator) child.element.operator = operator;\n if (value || value === '' || typeof value === 'boolean')\n child.element.value = value;\n if (additionalInfo) child.element.additionalInfo = additionalInfo;\n\n // shared fields actions\n if (target === 'field') {\n onFieldChange.forEach(({ action }) => {\n if (action === QB_FIELD_SHARED_ACTIONS.RESET_FIELD)\n child.element.field = null;\n else if (action === QB_FIELD_SHARED_ACTIONS.RESET_OPERATOR)\n child.element.operator = null;\n else if (action === QB_FIELD_SHARED_ACTIONS.RESET_VALUE)\n child.element.value = null;\n });\n } else if (target === 'operator') {\n onOperatorChange.forEach(({ action }) => {\n if (action === QB_FIELD_SHARED_ACTIONS.RESET_FIELD)\n child.element.field = null;\n else if (action === QB_FIELD_SHARED_ACTIONS.RESET_OPERATOR)\n child.element.operator = null;\n else if (action === QB_FIELD_SHARED_ACTIONS.RESET_VALUE)\n child.element.value = null;\n });\n } else if (target === 'value') {\n onValueChange.forEach(({ action }) => {\n if (action === QB_FIELD_SHARED_ACTIONS.RESET_FIELD)\n child.element.field = null;\n else if (action === QB_FIELD_SHARED_ACTIONS.RESET_OPERATOR)\n child.element.operator = null;\n else if (action === QB_FIELD_SHARED_ACTIONS.RESET_VALUE)\n child.element.value = null;\n });\n }\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;ACCA;AAAA;AAAA;AAAA;AAAA;AAYO,MAAM,kBAAkB,SAAS,SAAS;AAC/C,QAAM,WAAW,UAAU,IAAI,OAAO,aAAa,KAAK,SACrD,SAAS,IACT,UAAU;AACb,SAAO;AAAA,IACL;AAAA,IACA,OAAO;AAAA,IACP,WAAW;AAAA,IACX,OAAO;AAAA,IACP;AAAA,IACA,MAAM,cAAc;AAAA;AAAA;AAUjB,MAAM,iBAAiB,SAAS,eAAe;AACpD,QAAM,UAAU,SAAS,IAAI,OAAO,aAAa,KAAK,SACnD,SAAS,IACT,UAAU;AACb,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,WAAW,yBAAyB;AAAA,IACpC,MAAM,cAAc;AAAA;AAAA;AASjB,MAAM,iBAAiB,SAAS,WAAW;AAChD,OAAK,aAAa,iCACb,KAAK,aADQ;AAAA,KAEf,UAAU,WAAW;AAAA;AAAA;AAUnB,MAAM,gBAAgB,SAAS,UAAU;AAC9C,OAAK,YAAY,iCACZ,KAAK,YADO;AAAA,KAEd,SAAS,UAAU,mBACf;AAAA;AAAA;AAKF,MAAM,kBAAkB,SAAS,MAAM,WAAW;AACvD,OAAK,SAAS,KAAK;AAAA,IACjB,IAAI,UAAU;AAAA,IACd,SAAS;AAAA,IACT,UAAU;AAAA;AAAA;AAIP,MAAM,sBAAsB,SAAS,OAAO,WAAW;AAC5D,QAAM,KAAK;AAAA,IACT,IAAI,UAAU;AAAA,IACd,SAAS;AAAA,IACT,UAAU;AAAA;AAAA;AAIP,MAAM,eAAe,SAAS,QAAQ,UAAU;AACrD,QAAM,QAAQ,OAAO,KAAK,CAAC,EAAE,SAAS,OAAO;AAC7C,MAAI,CAAC,OAAO;AACV,QAAI;AACJ,WAAO,QAAQ,UAAQ;AACrB,UAAI,CAAC;AAAa,sBAAc,aAAa,KAAK,UAAU;AAAA;AAE9D,QAAI;AAAa,aAAO;AAAA;AAE1B,SAAO;AAAA;AAEF,MAAM,qBAAqB,SAAS,UAAU;AACnD,SAAO,aAAa,KAAK,OAAO;AAAA;AAG3B,MAAM,yBAAyB,SAAS,QAAQ,UAAU;AAC/D,QAAM,QAAQ,OAAO,KAAK,CAAC,EAAE,SAAS,OAAO;AAC7C,MAAI,CAAC,OAAO;AACV,QAAI;AACJ,WAAO,QAAQ,UAAQ;AACrB,UAAI,CAAC;AACH,sBAAc,uBAAuB,KAAK,UAAU;AAAA;AAExD,QAAI;AAAa,aAAO;AAAA;AAE1B,SAAO;AAAA;AAEF,MAAM,uBAAuB,SAAS,UAAU;AACrD,SAAO,uBAAuB,KAAK,OAAO;AAAA;AAGrC,MAAM,mBAAmB,SAAS,QAAQ,UAAU,QAAQ;AACjE,MAAI,OAAO,UAAU;AACnB,WAAO,WAAW,OAAO,SAAS,OAAO,CAAC,EAAE,SAAS,OAAO;AAC5D,WAAO,WAAW,OAAO,SAAS,QAAQ,UACxC,iBAAiB,KAAK,UAAU;AAElC,WAAO;AAAA;AAGT,MAAI,OAAO,SAAS;AAAG,aAAS,OAAO,OAAO,CAAC,EAAE,SAAS,OAAO;AACjE,MAAI,OAAO,WAAW,KAAK,QAAQ;AACjC,UAAM,cAAc,gBAAgB,KAAK,MAAM;AAC/C,wBAAoB,KAAK,MAAM,QAAQ;AAAA;AAEzC,SAAO,QACL,UAAS,KAAK,WAAW,iBAAiB,KAAK,UAAU;AAE3D,SAAO;AAAA;AAEF,MAAM,mBAAmB,SAAS,UAAU;AACjD,OAAK,QAAQ,iBAAiB,KAAK,OAAO,UAAU,KAAK;AAAA;AAGpD,MAAM,uBAAuB,SAAS,SAAS,UAAU,UAAU;AACxE,QAAM,QAAQ,mBAAmB,KAAK,MAAM;AAC5C,QAAM,OAAO,mBACR;AAEL,MAAI,KAAK,QAAQ,SAAS,SAAS;AACjC,SAAK,QAAQ,gBAAgB,SAAS;AAAA,SACjC;AACL,SAAK,QAAQ,UAAU,SAAS;AAAA;AAElC,QAAM,KAAK,SAAS;AACpB,QAAM,UAAU;AAChB,QAAM,WAAW,CAAC;AAAA;AAGb,MAAM,sBAAsB,SAAS,SAAS;AACnD,QAAM,QAAQ,mBAAmB,KAAK,MAAM;AAC5C,MAAI,MAAM,QAAQ,kBAAkB,KAAK,MAAM;AAC7C,UAAM,QAAQ,KAAK,MAAM,IAAI,UAAQ,KAAK,IAAI,QAAQ;AACtD,UAAM,MAAM;AACZ,QAAI,OAAO,MAAM,KAAK,OAAO,CAAC,OAAO,GAAG,OAAO,MAAM;AACrD,SAAK,MAAM,QAAQ,UAAQ;AACzB,UAAI,KAAK,QAAQ,SAAS,SAAS;AACjC,aAAK,QAAQ,gBAAgB,KAAK;AAAA,aAC7B;AACL,aAAK,QAAQ,UAAU,KAAK;AAAA;AAAA;AAAA,SAG3B;AACL,UAAM,SAAS,mBAAmB,KAAK,MAAM,MAAM,QAAQ;AAC3D,UAAM,QAAQ,OAAO,SAAS,IAAI,UAAQ,KAAK,IAAI,QAAQ;AAC3D,UAAM,MAAM;AACZ,QAAI,OAAO,MAAM,OAAO,UAAU,CAAC,OAAO,GAAG,OAAO,MAAM;AAC1D,WAAO,SAAS,QAAQ,UAAQ;AAC9B,UAAI,KAAK,QAAQ,SAAS,SAAS;AACjC,aAAK,QAAQ,gBAAgB,OAAO;AAAA,aAC/B;AACL,aAAK,QAAQ,UAAU,OAAO;AAAA;AAAA;AAAA;AAAA;AAM/B,MAAM,sBAAsB,SAAS,SAAS,OAAO;AAC1D,QAAM,QAAQ,mBAAmB,KAAK,MAAM;AAC5C,MAAI,YAAY,KAAK,MAAM;AACzB,UAAM,QAAQ,YAAY;AAAA;AAAA;AAIvB,MAAM,mBAAmB,SAAS;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,qBAAqB,EAAE,eAAe,kBAAkB;AAAA,GACvD;AACD,QAAM,QAAQ,mBAAmB,KAAK,MAAM;AAC5C,MAAI,SAAS,UAAU,MAAM,OAAO,UAAU;AAC5C,UAAM,QAAQ,QAAQ;AACxB,MAAI;AAAU,UAAM,QAAQ,WAAW;AACvC,MAAI,SAAS,UAAU,MAAM,OAAO,UAAU;AAC5C,UAAM,QAAQ,QAAQ;AACxB,MAAI;AAAgB,UAAM,QAAQ,iBAAiB;AAGnD,MAAI,WAAW,SAAS;AACtB,kBAAc,QAAQ,CAAC,EAAE,aAAa;AACpC,UAAI,WAAW,wBAAwB;AACrC,cAAM,QAAQ,QAAQ;AAAA,eACf,WAAW,wBAAwB;AAC1C,cAAM,QAAQ,WAAW;AAAA,eAClB,WAAW,wBAAwB;AAC1C,cAAM,QAAQ,QAAQ;AAAA;AAAA,aAEjB,WAAW,YAAY;AAChC,qBAAiB,QAAQ,CAAC,EAAE,aAAa;AACvC,UAAI,WAAW,wBAAwB;AACrC,cAAM,QAAQ,QAAQ;AAAA,eACf,WAAW,wBAAwB;AAC1C,cAAM,QAAQ,WAAW;AAAA,eAClB,WAAW,wBAAwB;AAC1C,cAAM,QAAQ,QAAQ;AAAA;AAAA,aAEjB,WAAW,SAAS;AAC7B,kBAAc,QAAQ,CAAC,EAAE,aAAa;AACpC,UAAI,WAAW,wBAAwB;AACrC,cAAM,QAAQ,QAAQ;AAAA,eACf,WAAW,wBAAwB;AAC1C,cAAM,QAAQ,WAAW;AAAA,eAClB,WAAW,wBAAwB;AAC1C,cAAM,QAAQ,QAAQ;AAAA;AAAA;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/components/helpers/constants.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export const DELAY_CLOSE = 0.1;\nexport const DELAY_OPEN = 0.1;\nexport const TOOLBAR_ANIMATION_DURATION = 50;\n"],
|
|
5
|
+
"mappings": "AAAA;ACAO,MAAM,cAAc;AACpB,MAAM,aAAa;AACnB,MAAM,6BAA6B;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { get } from "lodash";
|
|
3
|
+
import * as operators from "@elliemae/ds-utilities/operators";
|
|
4
|
+
import { QB_GROUP_CONDITION_TYPES } from "./types";
|
|
5
|
+
const resolveCondition = (condition, state, resolveBy = QB_GROUP_CONDITION_TYPES.AND) => {
|
|
6
|
+
if (condition.length === 0 || !condition)
|
|
7
|
+
return true;
|
|
8
|
+
if (resolveBy) {
|
|
9
|
+
return condition.every((rule) => {
|
|
10
|
+
const {
|
|
11
|
+
source: sourceRule,
|
|
12
|
+
operator: operatorRule,
|
|
13
|
+
value: valueRule
|
|
14
|
+
} = rule;
|
|
15
|
+
if (typeof operatorRule === "function")
|
|
16
|
+
return operatorRule(get(state, sourceRule), valueRule);
|
|
17
|
+
return operators[operatorRule](get(state, sourceRule), valueRule);
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return condition.some((rule) => {
|
|
21
|
+
const {
|
|
22
|
+
source: sourceRule,
|
|
23
|
+
operator: operatorRule,
|
|
24
|
+
value: valueRule
|
|
25
|
+
} = rule;
|
|
26
|
+
return operators[operatorRule](state[sourceRule], valueRule);
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
const resolveDependencies = (state, fields) => {
|
|
30
|
+
const fieldsToRender = fields.reduce((result, { target, component, condition, resolveBy, validation, handleWidth }) => {
|
|
31
|
+
if (resolveCondition(condition, state, resolveBy))
|
|
32
|
+
result.push({ target, component, validation, handleWidth });
|
|
33
|
+
return result;
|
|
34
|
+
}, []);
|
|
35
|
+
return fieldsToRender;
|
|
36
|
+
};
|
|
37
|
+
export {
|
|
38
|
+
resolveDependencies
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=dependencies.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/components/helpers/dependencies.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { get } from 'lodash';\nimport * as operators from '@elliemae/ds-utilities/operators';\nimport { QB_GROUP_CONDITION_TYPES } from './types';\n\nconst resolveCondition = (\n condition,\n state,\n resolveBy = QB_GROUP_CONDITION_TYPES.AND,\n) => {\n if (condition.length === 0 || !condition) return true;\n // resolve by AND: all the conditions must be true\n if (resolveBy) {\n return condition.every((rule) => {\n const {\n source: sourceRule,\n operator: operatorRule,\n value: valueRule,\n } = rule;\n if (typeof operatorRule === \"function\") return operatorRule(get(state, sourceRule), valueRule);\n return operators[operatorRule](get(state, sourceRule), valueRule);\n });\n }\n // resolve by OR: at least one condition must be true\n return condition.some((rule) => {\n const {\n source: sourceRule,\n operator: operatorRule,\n value: valueRule,\n } = rule;\n return operators[operatorRule](state[sourceRule], valueRule);\n });\n};\n\nexport const resolveDependencies = (state, fields) => {\n const fieldsToRender = fields.reduce(\n (result, { target, component, condition, resolveBy, validation, handleWidth }) => {\n if (resolveCondition(condition, state, resolveBy))\n result.push({ target, component, validation, handleWidth });\n return result;\n },\n [],\n );\n return fieldsToRender;\n};\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AACA;AACA;AAEA,MAAM,mBAAmB,CACvB,WACA,OACA,YAAY,yBAAyB,QAClC;AACH,MAAI,UAAU,WAAW,KAAK,CAAC;AAAW,WAAO;AAEjD,MAAI,WAAW;AACb,WAAO,UAAU,MAAM,CAAC,SAAS;AAC/B,YAAM;AAAA,QACJ,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,OAAO;AAAA,UACL;AACJ,UAAI,OAAO,iBAAiB;AAAY,eAAO,aAAa,IAAI,OAAO,aAAa;AACpF,aAAO,UAAU,cAAc,IAAI,OAAO,aAAa;AAAA;AAAA;AAI3D,SAAO,UAAU,KAAK,CAAC,SAAS;AAC9B,UAAM;AAAA,MACJ,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,OAAO;AAAA,QACL;AACJ,WAAO,UAAU,cAAc,MAAM,aAAa;AAAA;AAAA;AAI/C,MAAM,sBAAsB,CAAC,OAAO,WAAW;AACpD,QAAM,iBAAiB,OAAO,OAC5B,CAAC,QAAQ,EAAE,QAAQ,WAAW,WAAW,WAAW,YAAY,kBAAkB;AAChF,QAAI,iBAAiB,WAAW,OAAO;AACrC,aAAO,KAAK,EAAE,QAAQ,WAAW,YAAY;AAC/C,WAAO;AAAA,KAET;AAEF,SAAO;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|