@gingkoo/pandora-metabase 1.0.141 → 1.0.143
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/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-column/index.js +5 -2
- 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 +167 -75
- package/lib/cjs/index.js +17 -3
- package/lib/cjs/store/types.d.ts +4 -4
- package/lib/cjs/types.d.ts +20 -1
- package/lib/cjs/utils/transformSql.js +51 -38
- package/lib/cjs/utils.d.ts +1 -0
- package/lib/cjs/utils.js +327 -57
- 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-column/index.js +5 -2
- 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 +167 -75
- package/lib/es/index.js +18 -4
- package/lib/es/store/types.d.ts +4 -4
- package/lib/es/types.d.ts +20 -1
- package/lib/es/utils/transformSql.js +52 -39
- package/lib/es/utils.d.ts +1 -0
- package/lib/es/utils.js +326 -56
- 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;
|
|
@@ -835,6 +1071,34 @@ var isAliasTargetSummarizeRecord = function isAliasTargetSummarizeRecord(record,
|
|
|
835
1071
|
type: _types.AtomsTypeEnum.FIELD
|
|
836
1072
|
}, target);
|
|
837
1073
|
};
|
|
1074
|
+
var isAliasTargetColumn = function isAliasTargetColumn(column, target, table) {
|
|
1075
|
+
return isAliasTargetField({
|
|
1076
|
+
fieldName: column.name || '',
|
|
1077
|
+
fieldNameZh: column.name_zh || '',
|
|
1078
|
+
fieldAlias: column.fieldAlias || '',
|
|
1079
|
+
fieldUuid: column.fieldUuid || '',
|
|
1080
|
+
fieldId: column.fieldId || column.id || '',
|
|
1081
|
+
tableName: (table === null || table === void 0 ? void 0 : table.name) || column.tableName || '',
|
|
1082
|
+
tableNameZh: (table === null || table === void 0 ? void 0 : table.name_zh) || column.tableNameZh || '',
|
|
1083
|
+
tableId: (table === null || table === void 0 ? void 0 : table.id) || column.tableId || '',
|
|
1084
|
+
tableAlias: (table === null || table === void 0 ? void 0 : table.alias) || column.tableAlias || '',
|
|
1085
|
+
tableUuid: (table === null || table === void 0 ? void 0 : table.tableUuid) || column.tableUuid || '',
|
|
1086
|
+
datasourceName: (table === null || table === void 0 ? void 0 : table.datasourceName) || column.datasourceName || '',
|
|
1087
|
+
datasourceId: (table === null || table === void 0 ? void 0 : table.datasourceId) || column.datasourceId || '',
|
|
1088
|
+
type: _types.AtomsTypeEnum.FIELD
|
|
1089
|
+
}, target);
|
|
1090
|
+
};
|
|
1091
|
+
var changeColumnAlias = function changeColumnAlias() {
|
|
1092
|
+
var columns = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
1093
|
+
var target = arguments.length > 1 ? arguments[1] : undefined;
|
|
1094
|
+
var table = arguments.length > 2 ? arguments[2] : undefined;
|
|
1095
|
+
return columns.map(function (column) {
|
|
1096
|
+
return isAliasTargetColumn(column, target, table) ? (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, column), {}, {
|
|
1097
|
+
fieldAlias: target.alias,
|
|
1098
|
+
fieldUuid: column.fieldUuid || target.uuid || ''
|
|
1099
|
+
}) : column;
|
|
1100
|
+
});
|
|
1101
|
+
};
|
|
838
1102
|
var _changeAlias = function changeAlias(items, val, type) {
|
|
839
1103
|
return items.map(function (v) {
|
|
840
1104
|
var nextItem;
|
|
@@ -907,14 +1171,13 @@ var _changeAlias = function changeAlias(items, val, type) {
|
|
|
907
1171
|
elseAtoms: _changeAlias(v.elseAtoms || [], val, type)
|
|
908
1172
|
});
|
|
909
1173
|
} else if (v.type === _types.AtomsTypeEnum.AND_OR) {
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
});
|
|
1174
|
+
nextItem = syncAndOrBinaryFields((0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, v), {}, {
|
|
1175
|
+
items: normalizeAndOrItems(v).map(function (logicItem) {
|
|
1176
|
+
return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, logicItem), {}, {
|
|
1177
|
+
atoms: _changeAlias(logicItem.atoms || [], val, type)
|
|
1178
|
+
});
|
|
1179
|
+
})
|
|
1180
|
+
}));
|
|
918
1181
|
} else {
|
|
919
1182
|
nextItem = v;
|
|
920
1183
|
}
|
|
@@ -1044,8 +1307,15 @@ var changeFieldAlias = exports.changeFieldAlias = function changeFieldAlias(list
|
|
|
1044
1307
|
};
|
|
1045
1308
|
var newList = (0, _cloneDeep3["default"])(list);
|
|
1046
1309
|
return (newList === null || newList === void 0 ? void 0 : newList.map(function (v) {
|
|
1047
|
-
if (v.type === _enum.TypeEnum.data) {
|
|
1310
|
+
if (v.type === _enum.TypeEnum.data) {
|
|
1311
|
+
if (v.columns && v.columns.length > 0) {
|
|
1312
|
+
v.columns = changeColumnAlias(v.columns, aliasTarget, v.table);
|
|
1313
|
+
}
|
|
1314
|
+
}
|
|
1048
1315
|
if (v.type === _enum.TypeEnum.joinData) {
|
|
1316
|
+
if (v.columns && v.columns.length > 0) {
|
|
1317
|
+
v.columns = changeColumnAlias(v.columns, aliasTarget, v.table2);
|
|
1318
|
+
}
|
|
1049
1319
|
if (v.expressions && v.expressions.length > 0) {
|
|
1050
1320
|
v.expressions = _changeAlias(v.expressions, aliasTarget, AliasType.field);
|
|
1051
1321
|
}
|
|
@@ -1119,7 +1389,7 @@ function splitByUnion(data) {
|
|
|
1119
1389
|
i++;
|
|
1120
1390
|
} else if (item.type === 'union') {
|
|
1121
1391
|
var list = item.list,
|
|
1122
|
-
otehr = (0, _objectWithoutProperties2["default"])(item,
|
|
1392
|
+
otehr = (0, _objectWithoutProperties2["default"])(item, _excluded4);
|
|
1123
1393
|
var nextItem = original[i + 1];
|
|
1124
1394
|
if (nextItem && nextItem.type === 'group') {
|
|
1125
1395
|
result.push((0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, otehr), {}, {
|
|
@@ -1190,7 +1460,7 @@ var normalizeSummarizeByForSave = function normalizeSummarizeByForSave(record) {
|
|
|
1190
1460
|
};
|
|
1191
1461
|
var _normalizeLegacySummarizeForSave = exports.normalizeLegacySummarizeForSave = function normalizeLegacySummarizeForSave() {
|
|
1192
1462
|
var metas = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
1193
|
-
|
|
1463
|
+
var normalizedMetas = metas.map(function (meta) {
|
|
1194
1464
|
if (meta.type === _enum.TypeEnum.summarize) {
|
|
1195
1465
|
return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, meta), {}, {
|
|
1196
1466
|
group: meta.group.map(function (item) {
|
|
@@ -1208,6 +1478,7 @@ var _normalizeLegacySummarizeForSave = exports.normalizeLegacySummarizeForSave =
|
|
|
1208
1478
|
}
|
|
1209
1479
|
return meta;
|
|
1210
1480
|
});
|
|
1481
|
+
return normalizeAndOrStructure(normalizedMetas);
|
|
1211
1482
|
};
|
|
1212
1483
|
var getObjTem = exports.getObjTem = function getObjTem(arr) {
|
|
1213
1484
|
var obj = {};
|
|
@@ -1509,14 +1780,13 @@ var _changeCopyField = exports.changeCopyField = function changeCopyField(items,
|
|
|
1509
1780
|
v.args = _changeCopyField(v.args, data);
|
|
1510
1781
|
return v;
|
|
1511
1782
|
} else if (v.type === _types.AtomsTypeEnum.AND_OR) {
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
});
|
|
1783
|
+
return syncAndOrBinaryFields((0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, v), {}, {
|
|
1784
|
+
items: normalizeAndOrItems(v).map(function (logicItem) {
|
|
1785
|
+
return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, logicItem), {}, {
|
|
1786
|
+
atoms: _changeCopyField(logicItem.atoms || [], data)
|
|
1787
|
+
});
|
|
1788
|
+
})
|
|
1789
|
+
}));
|
|
1520
1790
|
} else if (v.type === _types.AtomsTypeEnum.COLLECTION) {
|
|
1521
1791
|
v.list = _changeCopyField(v.list, data);
|
|
1522
1792
|
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: ")"
|