@gingkoo/pandora-metabase 1.0.140 → 1.0.141-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -3
- package/lib/cjs/components/dialog/formula-list/LogicGroup.d.ts +8 -5
- package/lib/cjs/components/dialog/formula-list/LogicGroup.js +64 -18
- package/lib/cjs/components/dialog/formula-list/index.js +374 -153
- package/lib/cjs/components/dialog/formula-list/index.less +18 -5
- package/lib/cjs/components/dialog/formula-list/utils.js +45 -17
- package/lib/cjs/components/dialog/select-summarize/index.js +7 -0
- package/lib/cjs/components/modules/summarize/group-by.js +10 -1
- package/lib/cjs/components/modules/summarize/select-index.js +3 -1
- package/lib/cjs/hooks/use-state.js +181 -80
- package/lib/cjs/index.js +24 -3
- package/lib/cjs/store/types.d.ts +4 -4
- package/lib/cjs/types.d.ts +21 -1
- package/lib/cjs/utils/transformSql.js +51 -38
- package/lib/cjs/utils.d.ts +1 -0
- package/lib/cjs/utils.js +291 -56
- package/lib/es/components/dialog/formula-list/LogicGroup.d.ts +8 -5
- package/lib/es/components/dialog/formula-list/LogicGroup.js +65 -19
- package/lib/es/components/dialog/formula-list/index.js +373 -152
- package/lib/es/components/dialog/formula-list/index.less +18 -5
- package/lib/es/components/dialog/formula-list/utils.js +45 -17
- package/lib/es/components/dialog/select-summarize/index.js +7 -0
- package/lib/es/components/modules/summarize/group-by.js +10 -1
- package/lib/es/components/modules/summarize/select-index.js +3 -1
- package/lib/es/hooks/use-state.js +182 -81
- package/lib/es/index.js +25 -4
- package/lib/es/store/types.d.ts +4 -4
- package/lib/es/types.d.ts +21 -1
- package/lib/es/utils/transformSql.js +52 -39
- package/lib/es/utils.d.ts +1 -0
- package/lib/es/utils.js +290 -55
- package/package.json +1 -1
package/lib/cjs/utils.js
CHANGED
|
@@ -8,13 +8,13 @@ exports.changeTableAlias = exports.changeFieldAlias = exports.changeExistsCopyFi
|
|
|
8
8
|
exports.containsSubset = containsSubset;
|
|
9
9
|
exports.isExistsError = exports.isError = exports.isCanPaste = exports.getSubQueryColumnInstanceUuid = exports.getSubColumns = exports.getObjTem = exports.getMetaTabels = exports.getHelper = exports.getColumnsTables = exports.findMetaKey = exports.findIndex = void 0;
|
|
10
10
|
exports.isValidSQLAlias = isValidSQLAlias;
|
|
11
|
-
exports.patchData = exports.normalizeLegacySummarizeForSave = exports.metaIsCheck = exports.mergeSubQueryColumns = void 0;
|
|
11
|
+
exports.patchData = exports.normalizeLegacySummarizeForSave = exports.normalizeAndOrStructure = exports.metaIsCheck = exports.mergeSubQueryColumns = void 0;
|
|
12
12
|
exports.reassembleByUnion = reassembleByUnion;
|
|
13
13
|
exports.splitByUnion = splitByUnion;
|
|
14
14
|
exports.syncSubQueryFieldReferences = void 0;
|
|
15
|
+
var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createForOfIteratorHelper"));
|
|
15
16
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/typeof"));
|
|
16
17
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
|
|
17
|
-
var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createForOfIteratorHelper"));
|
|
18
18
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
|
|
19
19
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
|
|
20
20
|
var _objectSpread6 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
@@ -26,7 +26,10 @@ var _transformSql2 = require("./utils/transformSql");
|
|
|
26
26
|
var _helper2 = require("./utils/helper");
|
|
27
27
|
var _cloneDeep3 = _interopRequireDefault(require("lodash/cloneDeep"));
|
|
28
28
|
var _patch = require("./hooks/patch");
|
|
29
|
-
var _excluded = ["
|
|
29
|
+
var _excluded = ["operator", "leftAtoms", "rightAtoms", "atoms"],
|
|
30
|
+
_excluded2 = ["operator", "leftAtoms", "rightAtoms", "atoms"],
|
|
31
|
+
_excluded3 = ["operator", "leftAtoms", "rightAtoms", "atoms", "items"],
|
|
32
|
+
_excluded4 = ["list"];
|
|
30
33
|
var findIndex = exports.findIndex = function findIndex(arr, item) {
|
|
31
34
|
return arr.indexOf(item);
|
|
32
35
|
};
|
|
@@ -326,14 +329,13 @@ var _syncSubQueryFieldItems = function syncSubQueryFieldItems() {
|
|
|
326
329
|
elseAtoms: _syncSubQueryFieldItems(item.elseAtoms || [], table, columns, oldColumns)
|
|
327
330
|
});
|
|
328
331
|
} else if (item.type === _types.AtomsTypeEnum.AND_OR) {
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
});
|
|
332
|
+
nextItem = syncAndOrBinaryFields((0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, item), {}, {
|
|
333
|
+
items: normalizeAndOrItems(item).map(function (logicItem) {
|
|
334
|
+
return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, logicItem), {}, {
|
|
335
|
+
atoms: _syncSubQueryFieldItems(logicItem.atoms || [], table, columns, oldColumns)
|
|
336
|
+
});
|
|
337
|
+
})
|
|
338
|
+
}));
|
|
337
339
|
} else {
|
|
338
340
|
nextItem = item;
|
|
339
341
|
}
|
|
@@ -633,15 +635,250 @@ var buildFormulaQuotes = function buildFormulaQuotes(item) {
|
|
|
633
635
|
var argsText = (item.args || []).map(_getAtomDisplayText).join(' , ');
|
|
634
636
|
return normalizeAtomQuotes("".concat(item.name || '', " ( ").concat(argsText, " )"));
|
|
635
637
|
};
|
|
638
|
+
var normalizeAndOrItems = function normalizeAndOrItems(item) {
|
|
639
|
+
if (Array.isArray(item.items) && item.items.length > 0) {
|
|
640
|
+
return item.items.map(function (logicItem, index) {
|
|
641
|
+
var operator = logicItem.operator,
|
|
642
|
+
leftAtoms = logicItem.leftAtoms,
|
|
643
|
+
rightAtoms = logicItem.rightAtoms,
|
|
644
|
+
atoms = logicItem.atoms,
|
|
645
|
+
nextLogicItem = (0, _objectWithoutProperties2["default"])(logicItem, _excluded);
|
|
646
|
+
return (0, _objectSpread6["default"])((0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, nextLogicItem), index > 0 ? {
|
|
647
|
+
operator: operator || item.operator || 'and'
|
|
648
|
+
} : {}), {}, {
|
|
649
|
+
atoms: Array.isArray(atoms) && atoms.length > 0 ? atoms : []
|
|
650
|
+
});
|
|
651
|
+
});
|
|
652
|
+
}
|
|
653
|
+
if (Array.isArray(item.leftAtoms) || Array.isArray(item.rightAtoms)) {
|
|
654
|
+
return [{
|
|
655
|
+
atoms: Array.isArray(item.leftAtoms) ? item.leftAtoms : []
|
|
656
|
+
}, {
|
|
657
|
+
operator: item.operator || 'and',
|
|
658
|
+
atoms: Array.isArray(item.rightAtoms) ? item.rightAtoms : []
|
|
659
|
+
}];
|
|
660
|
+
}
|
|
661
|
+
return [{
|
|
662
|
+
atoms: Array.isArray(item.atoms) ? item.atoms : []
|
|
663
|
+
}];
|
|
664
|
+
};
|
|
636
665
|
var buildAndOrQuotes = function buildAndOrQuotes(item) {
|
|
637
|
-
var
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
666
|
+
var itemsText = normalizeAndOrItems(item).map(function (logicItem, index) {
|
|
667
|
+
var atomsText = (logicItem.atoms || []).map(_getAtomDisplayText).join(' ');
|
|
668
|
+
return index === 0 ? atomsText : "".concat(logicItem.operator || 'and', " ").concat(atomsText);
|
|
669
|
+
}).join(' ');
|
|
670
|
+
return normalizeAtomQuotes("( ".concat(itemsText, " )"));
|
|
671
|
+
};
|
|
672
|
+
var syncAndOrBinaryFields = function syncAndOrBinaryFields(item) {
|
|
673
|
+
var operator = item.operator,
|
|
674
|
+
leftAtoms = item.leftAtoms,
|
|
675
|
+
rightAtoms = item.rightAtoms,
|
|
676
|
+
atoms = item.atoms,
|
|
677
|
+
nextItem = (0, _objectWithoutProperties2["default"])(item, _excluded2);
|
|
678
|
+
return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, nextItem), {}, {
|
|
679
|
+
items: normalizeAndOrItems(item)
|
|
680
|
+
});
|
|
681
|
+
};
|
|
682
|
+
var _normalizeAndOrStructureInner = function normalizeAndOrStructureInner(data, cache) {
|
|
683
|
+
if (!data || (0, _typeof2["default"])(data) !== 'object') return data;
|
|
684
|
+
if (cache.has(data)) return cache.get(data);
|
|
685
|
+
if (Array.isArray(data)) {
|
|
686
|
+
var nextList = [];
|
|
687
|
+
cache.set(data, nextList);
|
|
688
|
+
data.forEach(function (item) {
|
|
689
|
+
nextList.push(_normalizeAndOrStructureInner(item, cache));
|
|
690
|
+
});
|
|
691
|
+
return nextList;
|
|
692
|
+
}
|
|
693
|
+
var item = data;
|
|
694
|
+
if (item.type === _types.AtomsTypeEnum.AND_OR) {
|
|
695
|
+
var operator = item.operator,
|
|
696
|
+
leftAtoms = item.leftAtoms,
|
|
697
|
+
rightAtoms = item.rightAtoms,
|
|
698
|
+
atoms = item.atoms,
|
|
699
|
+
items = item.items,
|
|
700
|
+
nextItem = (0, _objectWithoutProperties2["default"])(item, _excluded3);
|
|
701
|
+
var normalizedItem = (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, nextItem), {}, {
|
|
702
|
+
items: []
|
|
703
|
+
});
|
|
704
|
+
cache.set(item, normalizedItem);
|
|
705
|
+
normalizedItem.items = normalizeAndOrItems(item).map(function (logicItem) {
|
|
706
|
+
return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, logicItem.operator ? {
|
|
707
|
+
operator: logicItem.operator
|
|
708
|
+
} : {}), {}, {
|
|
709
|
+
atoms: _normalizeAndOrStructureInner(logicItem.atoms || [], cache)
|
|
710
|
+
});
|
|
711
|
+
});
|
|
712
|
+
normalizedItem.quotes = buildAndOrQuotes(normalizedItem);
|
|
713
|
+
return normalizedItem;
|
|
714
|
+
}
|
|
715
|
+
if (item.type === _types.AtomsTypeEnum.JOIN_DEFAULT || item.type === _types.AtomsTypeEnum.EXPRESSION) {
|
|
716
|
+
var _nextItem = (0, _objectSpread6["default"])({}, item);
|
|
717
|
+
cache.set(item, _nextItem);
|
|
718
|
+
if (Array.isArray(item.lhs)) {
|
|
719
|
+
_nextItem.lhs = _normalizeAndOrStructureInner(item.lhs, cache);
|
|
720
|
+
}
|
|
721
|
+
if (Array.isArray(item.rhs)) {
|
|
722
|
+
_nextItem.rhs = _normalizeAndOrStructureInner(item.rhs, cache);
|
|
723
|
+
}
|
|
724
|
+
return _nextItem;
|
|
725
|
+
}
|
|
726
|
+
if (item.type === _types.AtomsTypeEnum.FORMULA) {
|
|
727
|
+
var _nextItem2 = (0, _objectSpread6["default"])({}, item);
|
|
728
|
+
cache.set(item, _nextItem2);
|
|
729
|
+
if (Array.isArray(item.args)) {
|
|
730
|
+
_nextItem2.args = _normalizeAndOrStructureInner(item.args, cache);
|
|
731
|
+
}
|
|
732
|
+
return _nextItem2;
|
|
733
|
+
}
|
|
734
|
+
if (item.type === _types.AtomsTypeEnum.COLLECTION) {
|
|
735
|
+
var _nextItem3 = (0, _objectSpread6["default"])({}, item);
|
|
736
|
+
cache.set(item, _nextItem3);
|
|
737
|
+
if (Array.isArray(item.list)) {
|
|
738
|
+
_nextItem3.list = _normalizeAndOrStructureInner(item.list, cache);
|
|
739
|
+
}
|
|
740
|
+
return _nextItem3;
|
|
741
|
+
}
|
|
742
|
+
if (item.type === _types.AtomsTypeEnum.CASE_WHEN) {
|
|
743
|
+
var _nextItem4 = (0, _objectSpread6["default"])({}, item);
|
|
744
|
+
cache.set(item, _nextItem4);
|
|
745
|
+
if (Array.isArray(item.caseAtoms)) {
|
|
746
|
+
_nextItem4.caseAtoms = _normalizeAndOrStructureInner(item.caseAtoms, cache);
|
|
747
|
+
}
|
|
748
|
+
if (Array.isArray(item.whenClauses)) {
|
|
749
|
+
_nextItem4.whenClauses = item.whenClauses.map(function (clause) {
|
|
750
|
+
if (!clause || (0, _typeof2["default"])(clause) !== 'object') return clause;
|
|
751
|
+
if (cache.has(clause)) return cache.get(clause);
|
|
752
|
+
var nextClause = (0, _objectSpread6["default"])({}, clause);
|
|
753
|
+
cache.set(clause, nextClause);
|
|
754
|
+
if (Array.isArray(clause.whenAtoms)) {
|
|
755
|
+
nextClause.whenAtoms = _normalizeAndOrStructureInner(clause.whenAtoms, cache);
|
|
756
|
+
}
|
|
757
|
+
if (Array.isArray(clause.thenAtoms)) {
|
|
758
|
+
nextClause.thenAtoms = _normalizeAndOrStructureInner(clause.thenAtoms, cache);
|
|
759
|
+
}
|
|
760
|
+
return nextClause;
|
|
761
|
+
});
|
|
762
|
+
}
|
|
763
|
+
if (Array.isArray(item.elseAtoms)) {
|
|
764
|
+
_nextItem4.elseAtoms = _normalizeAndOrStructureInner(item.elseAtoms, cache);
|
|
765
|
+
}
|
|
766
|
+
return _nextItem4;
|
|
767
|
+
}
|
|
768
|
+
if (item.type === _types.AtomsTypeEnum.EXISTS || item.type === _types.AtomsTypeEnum.NOT_EXISTS || item.type === _types.AtomsTypeEnum.SUB_QUERY) {
|
|
769
|
+
var _nextItem5 = (0, _objectSpread6["default"])({}, item);
|
|
770
|
+
cache.set(item, _nextItem5);
|
|
771
|
+
if (Array.isArray(item.notExists)) {
|
|
772
|
+
_nextItem5.notExists = _normalizeAndOrStructureInner(item.notExists, cache);
|
|
773
|
+
}
|
|
774
|
+
if (Array.isArray(item.subQuery)) {
|
|
775
|
+
_nextItem5.subQuery = _normalizeAndOrStructureInner(item.subQuery, cache);
|
|
776
|
+
}
|
|
777
|
+
return _nextItem5;
|
|
778
|
+
}
|
|
779
|
+
if (item.type === _enum.TypeEnum.data) {
|
|
780
|
+
var _nextItem6 = (0, _objectSpread6["default"])({}, item);
|
|
781
|
+
cache.set(item, _nextItem6);
|
|
782
|
+
if (Array.isArray(item.subquery)) {
|
|
783
|
+
_nextItem6.subquery = _normalizeAndOrStructureInner(item.subquery, cache);
|
|
784
|
+
}
|
|
785
|
+
return _nextItem6;
|
|
786
|
+
}
|
|
787
|
+
if (item.type === _enum.TypeEnum.joinData) {
|
|
788
|
+
var _nextItem7 = (0, _objectSpread6["default"])({}, item);
|
|
789
|
+
cache.set(item, _nextItem7);
|
|
790
|
+
if (Array.isArray(item.expressions)) {
|
|
791
|
+
_nextItem7.expressions = _normalizeAndOrStructureInner(item.expressions, cache);
|
|
792
|
+
}
|
|
793
|
+
if (Array.isArray(item.subquery)) {
|
|
794
|
+
_nextItem7.subquery = _normalizeAndOrStructureInner(item.subquery, cache);
|
|
795
|
+
}
|
|
796
|
+
return _nextItem7;
|
|
797
|
+
}
|
|
798
|
+
if (item.type === _enum.TypeEnum.customColumn) {
|
|
799
|
+
var _nextItem8 = (0, _objectSpread6["default"])({}, item);
|
|
800
|
+
cache.set(item, _nextItem8);
|
|
801
|
+
if (Array.isArray(item.customColumn)) {
|
|
802
|
+
_nextItem8.customColumn = item.customColumn.map(function (column) {
|
|
803
|
+
if (!column || (0, _typeof2["default"])(column) !== 'object') return column;
|
|
804
|
+
if (cache.has(column)) return cache.get(column);
|
|
805
|
+
var nextColumn = (0, _objectSpread6["default"])({}, column);
|
|
806
|
+
cache.set(column, nextColumn);
|
|
807
|
+
if (Array.isArray(column.formulaList)) {
|
|
808
|
+
nextColumn.formulaList = _normalizeAndOrStructureInner(column.formulaList, cache);
|
|
809
|
+
}
|
|
810
|
+
return nextColumn;
|
|
811
|
+
});
|
|
812
|
+
}
|
|
813
|
+
return _nextItem8;
|
|
814
|
+
}
|
|
815
|
+
if (item.type === _enum.TypeEnum.filter) {
|
|
816
|
+
var _nextItem9 = (0, _objectSpread6["default"])({}, item);
|
|
817
|
+
cache.set(item, _nextItem9);
|
|
818
|
+
if (Array.isArray(item.filter)) {
|
|
819
|
+
_nextItem9.filter = _normalizeAndOrStructureInner(item.filter, cache);
|
|
820
|
+
}
|
|
821
|
+
return _nextItem9;
|
|
822
|
+
}
|
|
823
|
+
if (item.type === _enum.TypeEnum.summarize) {
|
|
824
|
+
var _nextItem0 = (0, _objectSpread6["default"])({}, item);
|
|
825
|
+
cache.set(item, _nextItem0);
|
|
826
|
+
if (Array.isArray(item.group)) {
|
|
827
|
+
_nextItem0.group = item.group.map(function (record) {
|
|
828
|
+
if (!record || (0, _typeof2["default"])(record) !== 'object') return record;
|
|
829
|
+
if (cache.has(record)) return cache.get(record);
|
|
830
|
+
var nextRecord = (0, _objectSpread6["default"])({}, record);
|
|
831
|
+
cache.set(record, nextRecord);
|
|
832
|
+
if (Array.isArray(record.atoms)) {
|
|
833
|
+
nextRecord.atoms = _normalizeAndOrStructureInner(record.atoms, cache);
|
|
834
|
+
}
|
|
835
|
+
return nextRecord;
|
|
836
|
+
});
|
|
837
|
+
}
|
|
838
|
+
if (Array.isArray(item.by)) {
|
|
839
|
+
_nextItem0.by = item.by.map(function (record) {
|
|
840
|
+
if (!record || (0, _typeof2["default"])(record) !== 'object') return record;
|
|
841
|
+
if (cache.has(record)) return cache.get(record);
|
|
842
|
+
var nextRecord = (0, _objectSpread6["default"])({}, record);
|
|
843
|
+
cache.set(record, nextRecord);
|
|
844
|
+
if (Array.isArray(record.atoms)) {
|
|
845
|
+
nextRecord.atoms = _normalizeAndOrStructureInner(record.atoms, cache);
|
|
846
|
+
}
|
|
847
|
+
return nextRecord;
|
|
848
|
+
});
|
|
849
|
+
}
|
|
850
|
+
return _nextItem0;
|
|
851
|
+
}
|
|
852
|
+
if (item.type === _enum.TypeEnum.sort) {
|
|
853
|
+
var _nextItem1 = (0, _objectSpread6["default"])({}, item);
|
|
854
|
+
cache.set(item, _nextItem1);
|
|
855
|
+
if (Array.isArray(item.sort)) {
|
|
856
|
+
_nextItem1.sort = item.sort.map(function (record) {
|
|
857
|
+
if (!record || (0, _typeof2["default"])(record) !== 'object') return record;
|
|
858
|
+
if (cache.has(record)) return cache.get(record);
|
|
859
|
+
var nextRecord = (0, _objectSpread6["default"])({}, record);
|
|
860
|
+
cache.set(record, nextRecord);
|
|
861
|
+
if (Array.isArray(record.expression)) {
|
|
862
|
+
nextRecord.expression = _normalizeAndOrStructureInner(record.expression, cache);
|
|
863
|
+
}
|
|
864
|
+
return nextRecord;
|
|
865
|
+
});
|
|
866
|
+
}
|
|
867
|
+
return _nextItem1;
|
|
868
|
+
}
|
|
869
|
+
if (item.type === _enum.TypeEnum.union) {
|
|
870
|
+
var _nextItem10 = (0, _objectSpread6["default"])({}, item);
|
|
871
|
+
cache.set(item, _nextItem10);
|
|
872
|
+
if (Array.isArray(item.subquery)) {
|
|
873
|
+
_nextItem10.subquery = _normalizeAndOrStructureInner(item.subquery, cache);
|
|
874
|
+
}
|
|
875
|
+
return _nextItem10;
|
|
876
|
+
}
|
|
877
|
+
cache.set(item, item);
|
|
878
|
+
return item;
|
|
879
|
+
};
|
|
880
|
+
var normalizeAndOrStructure = exports.normalizeAndOrStructure = function normalizeAndOrStructure(data) {
|
|
881
|
+
return _normalizeAndOrStructureInner(data, new WeakMap());
|
|
645
882
|
};
|
|
646
883
|
var buildCaseWhenQuotes = function buildCaseWhenQuotes(item) {
|
|
647
884
|
var caseAtomsText = (item.caseAtoms || []).map(_getAtomDisplayText).join(' ');
|
|
@@ -748,23 +985,23 @@ var syncAtomQuotes = function syncAtomQuotes(item) {
|
|
|
748
985
|
});
|
|
749
986
|
}
|
|
750
987
|
if (item.type === _types.AtomsTypeEnum.FORMULA) {
|
|
751
|
-
var
|
|
988
|
+
var _nextItem11 = (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, item), {}, {
|
|
752
989
|
args: syncAtomQuotesList(item.args || [])
|
|
753
990
|
});
|
|
754
|
-
return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({},
|
|
755
|
-
quotes: buildFormulaQuotes(
|
|
991
|
+
return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, _nextItem11), {}, {
|
|
992
|
+
quotes: buildFormulaQuotes(_nextItem11)
|
|
756
993
|
});
|
|
757
994
|
}
|
|
758
995
|
if (item.type === _types.AtomsTypeEnum.COLLECTION) {
|
|
759
|
-
var
|
|
996
|
+
var _nextItem12 = (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, item), {}, {
|
|
760
997
|
list: syncAtomQuotesList(item.list || [])
|
|
761
998
|
});
|
|
762
|
-
return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({},
|
|
763
|
-
quotes: (
|
|
999
|
+
return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, _nextItem12), {}, {
|
|
1000
|
+
quotes: (_nextItem12.list || []).map(_getAtomDisplayText).join(' ')
|
|
764
1001
|
});
|
|
765
1002
|
}
|
|
766
1003
|
if (item.type === _types.AtomsTypeEnum.CASE_WHEN) {
|
|
767
|
-
var
|
|
1004
|
+
var _nextItem13 = (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, item), {}, {
|
|
768
1005
|
caseAtoms: syncAtomQuotesList(item.caseAtoms || []),
|
|
769
1006
|
whenClauses: (item.whenClauses || []).map(function (clause) {
|
|
770
1007
|
return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, clause), {}, {
|
|
@@ -774,21 +1011,20 @@ var syncAtomQuotes = function syncAtomQuotes(item) {
|
|
|
774
1011
|
}),
|
|
775
1012
|
elseAtoms: syncAtomQuotesList(item.elseAtoms || [])
|
|
776
1013
|
});
|
|
777
|
-
return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({},
|
|
778
|
-
quotes: buildCaseWhenQuotes(
|
|
1014
|
+
return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, _nextItem13), {}, {
|
|
1015
|
+
quotes: buildCaseWhenQuotes(_nextItem13)
|
|
779
1016
|
});
|
|
780
1017
|
}
|
|
781
1018
|
if (item.type === _types.AtomsTypeEnum.AND_OR) {
|
|
782
|
-
var
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
})
|
|
790
|
-
|
|
791
|
-
quotes: buildAndOrQuotes(_nextItem4)
|
|
1019
|
+
var _nextItem14 = syncAndOrBinaryFields((0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, item), {}, {
|
|
1020
|
+
items: normalizeAndOrItems(item).map(function (logicItem) {
|
|
1021
|
+
return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, logicItem), {}, {
|
|
1022
|
+
atoms: syncAtomQuotesList(logicItem.atoms || [])
|
|
1023
|
+
});
|
|
1024
|
+
})
|
|
1025
|
+
}));
|
|
1026
|
+
return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, _nextItem14), {}, {
|
|
1027
|
+
quotes: buildAndOrQuotes(_nextItem14)
|
|
792
1028
|
});
|
|
793
1029
|
}
|
|
794
1030
|
return item;
|
|
@@ -907,14 +1143,13 @@ var _changeAlias = function changeAlias(items, val, type) {
|
|
|
907
1143
|
elseAtoms: _changeAlias(v.elseAtoms || [], val, type)
|
|
908
1144
|
});
|
|
909
1145
|
} else if (v.type === _types.AtomsTypeEnum.AND_OR) {
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
});
|
|
1146
|
+
nextItem = syncAndOrBinaryFields((0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, v), {}, {
|
|
1147
|
+
items: normalizeAndOrItems(v).map(function (logicItem) {
|
|
1148
|
+
return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, logicItem), {}, {
|
|
1149
|
+
atoms: _changeAlias(logicItem.atoms || [], val, type)
|
|
1150
|
+
});
|
|
1151
|
+
})
|
|
1152
|
+
}));
|
|
918
1153
|
} else {
|
|
919
1154
|
nextItem = v;
|
|
920
1155
|
}
|
|
@@ -1119,7 +1354,7 @@ function splitByUnion(data) {
|
|
|
1119
1354
|
i++;
|
|
1120
1355
|
} else if (item.type === 'union') {
|
|
1121
1356
|
var list = item.list,
|
|
1122
|
-
otehr = (0, _objectWithoutProperties2["default"])(item,
|
|
1357
|
+
otehr = (0, _objectWithoutProperties2["default"])(item, _excluded4);
|
|
1123
1358
|
var nextItem = original[i + 1];
|
|
1124
1359
|
if (nextItem && nextItem.type === 'group') {
|
|
1125
1360
|
result.push((0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, otehr), {}, {
|
|
@@ -1190,7 +1425,7 @@ var normalizeSummarizeByForSave = function normalizeSummarizeByForSave(record) {
|
|
|
1190
1425
|
};
|
|
1191
1426
|
var _normalizeLegacySummarizeForSave = exports.normalizeLegacySummarizeForSave = function normalizeLegacySummarizeForSave() {
|
|
1192
1427
|
var metas = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
1193
|
-
|
|
1428
|
+
var normalizedMetas = metas.map(function (meta) {
|
|
1194
1429
|
if (meta.type === _enum.TypeEnum.summarize) {
|
|
1195
1430
|
return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, meta), {}, {
|
|
1196
1431
|
group: meta.group.map(function (item) {
|
|
@@ -1208,6 +1443,7 @@ var _normalizeLegacySummarizeForSave = exports.normalizeLegacySummarizeForSave =
|
|
|
1208
1443
|
}
|
|
1209
1444
|
return meta;
|
|
1210
1445
|
});
|
|
1446
|
+
return normalizeAndOrStructure(normalizedMetas);
|
|
1211
1447
|
};
|
|
1212
1448
|
var getObjTem = exports.getObjTem = function getObjTem(arr) {
|
|
1213
1449
|
var obj = {};
|
|
@@ -1509,14 +1745,13 @@ var _changeCopyField = exports.changeCopyField = function changeCopyField(items,
|
|
|
1509
1745
|
v.args = _changeCopyField(v.args, data);
|
|
1510
1746
|
return v;
|
|
1511
1747
|
} else if (v.type === _types.AtomsTypeEnum.AND_OR) {
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
});
|
|
1748
|
+
return syncAndOrBinaryFields((0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, v), {}, {
|
|
1749
|
+
items: normalizeAndOrItems(v).map(function (logicItem) {
|
|
1750
|
+
return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, logicItem), {}, {
|
|
1751
|
+
atoms: _changeCopyField(logicItem.atoms || [], data)
|
|
1752
|
+
});
|
|
1753
|
+
})
|
|
1754
|
+
}));
|
|
1520
1755
|
} else if (v.type === _types.AtomsTypeEnum.COLLECTION) {
|
|
1521
1756
|
v.list = _changeCopyField(v.list, data);
|
|
1522
1757
|
return v;
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
type Props = {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
items: {
|
|
4
|
+
operator?: 'and' | 'or';
|
|
5
|
+
content: React.ReactNode;
|
|
6
|
+
}[];
|
|
7
|
+
onChangeOperator: (index: number, operator: 'and' | 'or') => void;
|
|
8
|
+
onAddItem: () => void;
|
|
9
|
+
onDeleteItem: (operatorIndex: number, side: 'left' | 'right') => void;
|
|
7
10
|
onDelete: (e: any) => void;
|
|
8
11
|
};
|
|
9
|
-
declare const LogicGroup: ({
|
|
12
|
+
declare const LogicGroup: ({ items, onChangeOperator, onAddItem, onDeleteItem, onDelete, }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
10
13
|
export default LogicGroup;
|
|
@@ -1,32 +1,78 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
1
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import React from 'react';
|
|
2
4
|
import cx from 'classnames';
|
|
3
|
-
import { Tooltip } from '@gingkoo/pandora';
|
|
5
|
+
import { Dropdown, Tooltip } from '@gingkoo/pandora';
|
|
4
6
|
import { CloseIcon } from '../../icons';
|
|
7
|
+
var operatorMenuItems = [{
|
|
8
|
+
key: 'add',
|
|
9
|
+
label: '添加连接符'
|
|
10
|
+
}, {
|
|
11
|
+
key: 'delete-left',
|
|
12
|
+
label: '删除左侧和当前连接符'
|
|
13
|
+
}, {
|
|
14
|
+
key: 'delete-right',
|
|
15
|
+
label: '删除右侧和当前连接符'
|
|
16
|
+
}];
|
|
5
17
|
var LogicGroup = function LogicGroup(_ref) {
|
|
6
|
-
var
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
18
|
+
var items = _ref.items,
|
|
19
|
+
onChangeOperator = _ref.onChangeOperator,
|
|
20
|
+
onAddItem = _ref.onAddItem,
|
|
21
|
+
onDeleteItem = _ref.onDeleteItem,
|
|
10
22
|
onDelete = _ref.onDelete;
|
|
23
|
+
var canDeleteItem = items.length > 2;
|
|
24
|
+
var handleOperatorMenuChange = function handleOperatorMenuChange(operatorIndex, action) {
|
|
25
|
+
if (action === 'add') {
|
|
26
|
+
onAddItem();
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
if (action === 'delete-left' || action === 'delete-right') {
|
|
30
|
+
var side = action === 'delete-left' ? 'left' : 'right';
|
|
31
|
+
onDeleteItem(operatorIndex, side);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
var renderOperator = function renderOperator(operator, index) {
|
|
35
|
+
return _jsx(Dropdown, {
|
|
36
|
+
trigger: 'contextMenu',
|
|
37
|
+
droplist: operatorMenuItems.map(function (item) {
|
|
38
|
+
return _objectSpread(_objectSpread({}, item), {}, {
|
|
39
|
+
disabled: item.key !== 'add' && !canDeleteItem
|
|
40
|
+
});
|
|
41
|
+
}),
|
|
42
|
+
triggerProps: {
|
|
43
|
+
clickToClose: true,
|
|
44
|
+
style: {
|
|
45
|
+
zIndex: 9999
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
onChange: function onChange(action) {
|
|
49
|
+
handleOperatorMenuChange(index, action);
|
|
50
|
+
},
|
|
51
|
+
children: _jsx("button", {
|
|
52
|
+
type: 'button',
|
|
53
|
+
className: cx(':Sqb-TableName', 'operator-trigger', 'logic-operator', {
|
|
54
|
+
'logic-and': operator === 'and',
|
|
55
|
+
'logic-or': operator === 'or'
|
|
56
|
+
}),
|
|
57
|
+
onClick: function onClick() {
|
|
58
|
+
return onChangeOperator(index, operator === 'or' ? 'and' : 'or');
|
|
59
|
+
},
|
|
60
|
+
children: operator
|
|
61
|
+
})
|
|
62
|
+
});
|
|
63
|
+
};
|
|
11
64
|
return _jsxs("div", {
|
|
12
65
|
className: cx('Sqb-FormulaGroup', 'logic-group', 'formula-node-group'),
|
|
13
66
|
children: [_jsx("span", {
|
|
14
67
|
className: 'Sqb-CaseKeyword',
|
|
15
68
|
children: "("
|
|
16
|
-
}),
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
'logic-or': operator === 'or'
|
|
24
|
-
}),
|
|
25
|
-
onClick: onToggleOperator,
|
|
26
|
-
children: operator
|
|
27
|
-
}), _jsx("div", {
|
|
28
|
-
className: 'Sqb-LogicGroup-content',
|
|
29
|
-
children: rightContent
|
|
69
|
+
}), items.map(function (item, index) {
|
|
70
|
+
return _jsxs(React.Fragment, {
|
|
71
|
+
children: [index > 0 && renderOperator(item.operator || 'and', index), _jsx("div", {
|
|
72
|
+
className: 'Sqb-LogicGroup-content',
|
|
73
|
+
children: item.content
|
|
74
|
+
})]
|
|
75
|
+
}, index);
|
|
30
76
|
}), _jsx("span", {
|
|
31
77
|
className: 'Sqb-CaseKeyword',
|
|
32
78
|
children: ")"
|