@gingkoo/pandora-metabase 1.0.26 → 1.0.28
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/common/SplitView/index.js +11 -12
- package/lib/cjs/components/dialog/custom-column/expression-editor.js +1 -2
- package/lib/cjs/components/dialog/custom-column/tokenizedI-input.js +1 -2
- package/lib/cjs/components/dialog/expression/index.js +11 -12
- package/lib/cjs/components/dialog/formula-list/index.js +53 -43
- package/lib/cjs/components/dialog/index.js +2 -2
- package/lib/cjs/components/dialog/select-column/index.js +4 -4
- package/lib/cjs/components/dialog/select-column-multiple/index.js +7 -7
- package/lib/cjs/components/dialog/select-join-column/index.js +4 -0
- package/lib/cjs/components/dialog/select-permission-table/index.js +2 -2
- package/lib/cjs/components/dialog/select-table/index.js +7 -7
- package/lib/cjs/components/icons.js +36 -36
- package/lib/cjs/components/metabase/index.js +41 -12
- package/lib/cjs/components/metabase/index.less +3 -0
- package/lib/cjs/components/modules/components/Wrapper.js +6 -6
- package/lib/cjs/components/modules/components/item-name.d.ts +7 -0
- package/lib/cjs/components/modules/components/item-name.js +34 -0
- package/lib/cjs/components/modules/components/meta-icon.js +6 -0
- package/lib/cjs/components/modules/custom-column.js +25 -25
- package/lib/cjs/components/modules/filter.js +2 -2
- package/lib/cjs/components/modules/join-data.js +206 -80
- package/lib/cjs/components/modules/permission-table.js +24 -10
- package/lib/cjs/components/modules/sort.js +17 -13
- package/lib/cjs/components/modules/summarize/group-by.js +90 -38
- package/lib/cjs/components/modules/summarize/select-index.js +84 -38
- package/lib/cjs/components/modules/table-data.js +14 -6
- package/lib/cjs/components/popup.js +1 -2
- package/lib/cjs/hooks/use-state.js +58 -65
- package/lib/cjs/index.js +1 -2
- package/lib/cjs/locale/en.js +5 -2
- package/lib/cjs/locale/zh.js +5 -2
- package/lib/cjs/utils/transformSql.d.ts +6 -0
- package/lib/cjs/utils/transformSql.js +968 -0
- package/lib/cjs/utils.d.ts +7 -1
- package/lib/cjs/utils.js +112 -15
- package/lib/es/common/SplitView/index.js +10 -10
- package/lib/es/components/dialog/expression/index.js +10 -10
- package/lib/es/components/dialog/formula-list/index.js +54 -44
- package/lib/es/components/dialog/select-column/index.js +4 -4
- package/lib/es/components/dialog/select-column-multiple/index.js +7 -7
- package/lib/es/components/dialog/select-join-column/index.js +4 -0
- package/lib/es/components/dialog/select-permission-table/index.js +2 -2
- package/lib/es/components/dialog/select-table/index.js +7 -7
- package/lib/es/components/icons.js +36 -36
- package/lib/es/components/metabase/index.js +42 -13
- package/lib/es/components/metabase/index.less +3 -0
- package/lib/es/components/modules/components/Wrapper.js +6 -6
- package/lib/es/components/modules/components/item-name.d.ts +7 -0
- package/lib/es/components/modules/components/item-name.js +28 -0
- package/lib/es/components/modules/components/meta-icon.js +6 -0
- package/lib/es/components/modules/custom-column.js +26 -26
- package/lib/es/components/modules/filter.js +2 -2
- package/lib/es/components/modules/join-data.js +207 -81
- package/lib/es/components/modules/permission-table.js +24 -10
- package/lib/es/components/modules/sort.js +18 -14
- package/lib/es/components/modules/summarize/group-by.js +92 -40
- package/lib/es/components/modules/summarize/select-index.js +86 -40
- package/lib/es/components/modules/table-data.js +14 -6
- package/lib/es/hooks/use-state.js +58 -65
- package/lib/es/locale/en.js +5 -2
- package/lib/es/locale/zh.js +5 -2
- package/lib/es/utils/transformSql.d.ts +6 -0
- package/lib/es/utils/transformSql.js +961 -0
- package/lib/es/utils.d.ts +7 -1
- package/lib/es/utils.js +102 -4
- package/package.json +1 -1
|
@@ -23,6 +23,7 @@ var _utils = require("../../utils");
|
|
|
23
23
|
var _enum = require("../../store/enum");
|
|
24
24
|
var _types = require("../../store/types");
|
|
25
25
|
var _helper2 = require("../../store/helper");
|
|
26
|
+
var _itemName = _interopRequireDefault(require("./components/item-name"));
|
|
26
27
|
var _Wrapper = _interopRequireDefault(require("./components/Wrapper"));
|
|
27
28
|
var _metaIcon = _interopRequireDefault(require("./components/meta-icon"));
|
|
28
29
|
var _header = _interopRequireDefault(require("./components/header"));
|
|
@@ -66,7 +67,7 @@ var menuOperator = operators.map(function (v) {
|
|
|
66
67
|
};
|
|
67
68
|
});
|
|
68
69
|
var JoinData = function JoinData(props) {
|
|
69
|
-
var _meta$subquery, _meta$subquery2, _meta$subquery3, _meta$table2, _meta$table3, _meta$table5, _meta$table6, _meta$table7, _meta$table8, _meta$expressions, _meta$table9, _meta$
|
|
70
|
+
var _meta$subquery, _meta$subquery2, _meta$subquery3, _meta$table2, _meta$table3, _meta$table5, _meta$table6, _meta$table7, _meta$table8, _meta$expressions, _meta$table9, _meta$table0, _meta$expressions2, _store$showMainColumn, _store$showMainColumn2;
|
|
70
71
|
var meta = props.meta,
|
|
71
72
|
groupIndex = props.groupIndex;
|
|
72
73
|
var store = (0, _useProvider.useStore)();
|
|
@@ -77,6 +78,8 @@ var JoinData = function JoinData(props) {
|
|
|
77
78
|
var table2Selected = Boolean(meta.table2.name);
|
|
78
79
|
var subQuerySelected = Boolean((_meta$subquery = meta.subquery) === null || _meta$subquery === void 0 || (_meta$subquery = _meta$subquery[0]) === null || _meta$subquery === void 0 || (_meta$subquery = _meta$subquery.table) === null || _meta$subquery === void 0 ? void 0 : _meta$subquery.name);
|
|
79
80
|
var columnsSelected = meta.table1.name && meta.table2.name;
|
|
81
|
+
var _getHelper = (0, _utils.getHelper)(store.metaList[groupIndex].list, meta),
|
|
82
|
+
prevTables = _getHelper.prevTables;
|
|
80
83
|
// const ref = useRef(null);
|
|
81
84
|
// useEffect(() => {
|
|
82
85
|
// let newMetaList = store.metaList[groupIndex].list.slice();
|
|
@@ -86,10 +89,10 @@ var JoinData = function JoinData(props) {
|
|
|
86
89
|
// 获取表格列
|
|
87
90
|
var getTableColumns = function getTableColumns() {
|
|
88
91
|
var data = [];
|
|
89
|
-
var
|
|
90
|
-
ExistAboveGroupBy =
|
|
91
|
-
prevList =
|
|
92
|
-
prevGroupBy =
|
|
92
|
+
var _getHelper2 = (0, _utils.getHelper)(store.metaList[groupIndex].list, meta),
|
|
93
|
+
ExistAboveGroupBy = _getHelper2.ExistAboveGroupBy,
|
|
94
|
+
prevList = _getHelper2.prevList,
|
|
95
|
+
prevGroupBy = _getHelper2.prevGroupBy;
|
|
93
96
|
// 获取左侧表
|
|
94
97
|
if (ExistAboveGroupBy) {
|
|
95
98
|
var _prevGroupBy$group, _prevGroupBy$by;
|
|
@@ -222,10 +225,10 @@ var JoinData = function JoinData(props) {
|
|
|
222
225
|
var index = (0, _utils.findIndex)(store.metaList[groupIndex].list, meta);
|
|
223
226
|
var table_type = FlagLocation.TABLE_1;
|
|
224
227
|
var data = [];
|
|
225
|
-
var
|
|
226
|
-
ExistAboveGroupBy =
|
|
227
|
-
prevList =
|
|
228
|
-
prevGroupBy =
|
|
228
|
+
var _getHelper3 = (0, _utils.getHelper)(store.metaList[groupIndex].list, meta),
|
|
229
|
+
ExistAboveGroupBy = _getHelper3.ExistAboveGroupBy,
|
|
230
|
+
prevList = _getHelper3.prevList,
|
|
231
|
+
prevGroupBy = _getHelper3.prevGroupBy;
|
|
229
232
|
if (ExistAboveGroupBy) {
|
|
230
233
|
var _prevGroupBy$group2, _prevGroupBy$by2;
|
|
231
234
|
var _data = {
|
|
@@ -334,12 +337,12 @@ var JoinData = function JoinData(props) {
|
|
|
334
337
|
data: data,
|
|
335
338
|
value: newMeta[index][table_type],
|
|
336
339
|
onChange: function onChange(data) {
|
|
337
|
-
if (table_type === FlagLocation.TABLE_1) {
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
}
|
|
340
|
+
// if (table_type === FlagLocation.TABLE_1) {
|
|
341
|
+
if (newMeta[index][table_type].datasourceId !== data.datasourceId || newMeta[index][table_type].name !== data.name) {
|
|
342
|
+
newMeta[index][table_type] = data;
|
|
343
|
+
initExpressions();
|
|
342
344
|
}
|
|
345
|
+
// }
|
|
343
346
|
store.setMeta(newMeta, groupIndex);
|
|
344
347
|
store.setPopup({
|
|
345
348
|
visible: false
|
|
@@ -384,10 +387,8 @@ var JoinData = function JoinData(props) {
|
|
|
384
387
|
store.fetchColumns(_table2, data.datasourceId, [], function (columns) {
|
|
385
388
|
newMeta[index].columns = columns;
|
|
386
389
|
// 关联表变了 下面模块全部删除
|
|
387
|
-
newMeta = newMeta.filter(
|
|
388
|
-
|
|
389
|
-
});
|
|
390
|
-
store.setMeta(newMeta, groupIndex);
|
|
390
|
+
// newMeta = newMeta.filter((v: MetaListType, i: number) => i <= index);
|
|
391
|
+
// store.setMeta(newMeta, groupIndex);
|
|
391
392
|
});
|
|
392
393
|
}
|
|
393
394
|
store.setPopup({
|
|
@@ -399,8 +400,10 @@ var JoinData = function JoinData(props) {
|
|
|
399
400
|
}
|
|
400
401
|
// 切换表后重置数据
|
|
401
402
|
function initExpressions() {
|
|
402
|
-
console.log(11);
|
|
403
403
|
var newMeta = store.metaList[groupIndex].list.slice();
|
|
404
|
+
if (newMeta[index].expressions && newMeta[index].expressions.length > 0) {
|
|
405
|
+
return;
|
|
406
|
+
}
|
|
404
407
|
newMeta[index].expressions = [{
|
|
405
408
|
lhs: [{
|
|
406
409
|
fieldName: '',
|
|
@@ -487,6 +490,120 @@ var JoinData = function JoinData(props) {
|
|
|
487
490
|
})
|
|
488
491
|
});
|
|
489
492
|
}
|
|
493
|
+
function getColumns(_position) {
|
|
494
|
+
var data = [];
|
|
495
|
+
var _getHelper4 = (0, _utils.getHelper)(store.metaList[groupIndex].list, meta),
|
|
496
|
+
ExistAboveGroupBy = _getHelper4.ExistAboveGroupBy,
|
|
497
|
+
prevList = _getHelper4.prevList,
|
|
498
|
+
prevGroupBy = _getHelper4.prevGroupBy;
|
|
499
|
+
if (_position === ExpressionsEnum.LEFT) {
|
|
500
|
+
if (ExistAboveGroupBy) {
|
|
501
|
+
var _prevGroupBy$group3, _prevGroupBy$by3;
|
|
502
|
+
var _data = {
|
|
503
|
+
name: prevGroupBy.alias,
|
|
504
|
+
name_zh: prevGroupBy.alias,
|
|
505
|
+
id: prevGroupBy.alias,
|
|
506
|
+
tableUuid: prevGroupBy.tableUuid || (0, _helper.uuidv4)('table'),
|
|
507
|
+
alias: prevGroupBy.alias,
|
|
508
|
+
datasourceId: '',
|
|
509
|
+
datasourceName: '',
|
|
510
|
+
columns: []
|
|
511
|
+
};
|
|
512
|
+
if (prevGroupBy !== null && prevGroupBy !== void 0 && (_prevGroupBy$group3 = prevGroupBy.group) !== null && _prevGroupBy$group3 !== void 0 && _prevGroupBy$group3.length) {
|
|
513
|
+
_data.columns = _data.columns.concat(prevGroupBy.group.map(function (v) {
|
|
514
|
+
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v), {}, {
|
|
515
|
+
name: v.name || v.quotes,
|
|
516
|
+
name_zh: v.name_zh || v.quotes,
|
|
517
|
+
id: v.id || v.fieldId,
|
|
518
|
+
database_type: (v === null || v === void 0 ? void 0 : v.database_type) || _enum.SQL_COLUMN_TYPE.FLOAT,
|
|
519
|
+
special_type: '',
|
|
520
|
+
sql: v.sql,
|
|
521
|
+
select: true
|
|
522
|
+
});
|
|
523
|
+
}));
|
|
524
|
+
}
|
|
525
|
+
if (prevGroupBy !== null && prevGroupBy !== void 0 && (_prevGroupBy$by3 = prevGroupBy.by) !== null && _prevGroupBy$by3 !== void 0 && _prevGroupBy$by3.length) {
|
|
526
|
+
_data.columns = _data.columns.concat(prevGroupBy.by.map(function (v) {
|
|
527
|
+
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v), {}, {
|
|
528
|
+
name: v.name || v.quotes,
|
|
529
|
+
name_zh: v.name_zh || v.quotes,
|
|
530
|
+
id: v.id || v.fieldId,
|
|
531
|
+
database_type: (v === null || v === void 0 ? void 0 : v.database_type) || _enum.SQL_COLUMN_TYPE.FLOAT,
|
|
532
|
+
special_type: '',
|
|
533
|
+
sql: v.sql,
|
|
534
|
+
select: true
|
|
535
|
+
});
|
|
536
|
+
}));
|
|
537
|
+
}
|
|
538
|
+
data = [_data];
|
|
539
|
+
var joinData = prevList.filter(function (v) {
|
|
540
|
+
return v.type === _enum.TypeEnum.joinData;
|
|
541
|
+
}).filter(function (v) {
|
|
542
|
+
return v && v.table2.name;
|
|
543
|
+
});
|
|
544
|
+
if (joinData !== null && joinData !== void 0 && joinData.length) {
|
|
545
|
+
data = data.concat(joinData.map(function (v) {
|
|
546
|
+
return {
|
|
547
|
+
alias: v.table2.alias,
|
|
548
|
+
name: v.table2.name,
|
|
549
|
+
name_zh: v.table2.name_zh,
|
|
550
|
+
id: v.table2.id,
|
|
551
|
+
tableUuid: v.table2.tableUuid || (0, _helper.uuidv4)('table'),
|
|
552
|
+
datasourceId: v.table2.datasourceId,
|
|
553
|
+
datasourceName: v.table2.datasourceName,
|
|
554
|
+
columns: v.columns
|
|
555
|
+
};
|
|
556
|
+
}));
|
|
557
|
+
}
|
|
558
|
+
} else {
|
|
559
|
+
data = store.metaList[groupIndex].list.slice(0, index).reduce(function (mo, v) {
|
|
560
|
+
if (v.type === _enum.TypeEnum.data) {
|
|
561
|
+
mo.push({
|
|
562
|
+
alias: v.table.alias,
|
|
563
|
+
name: v.table.name,
|
|
564
|
+
name_zh: v.table.name_zh,
|
|
565
|
+
id: v.table.id,
|
|
566
|
+
tableUuid: v.table.tableUuid || (0, _helper.uuidv4)('table'),
|
|
567
|
+
columns: v.columns,
|
|
568
|
+
datasourceId: v.table.datasourceId,
|
|
569
|
+
datasourceName: v.table.datasourceName
|
|
570
|
+
});
|
|
571
|
+
} else if (v.type === _enum.TypeEnum.joinData) {
|
|
572
|
+
mo.push({
|
|
573
|
+
alias: v.table2.alias,
|
|
574
|
+
name: v.table2.name,
|
|
575
|
+
name_zh: v.table2.name_zh,
|
|
576
|
+
id: v.table2.id,
|
|
577
|
+
tableUuid: v.table2.tableUuid || (0, _helper.uuidv4)('table'),
|
|
578
|
+
columns: v.columns,
|
|
579
|
+
datasourceId: v.table2.datasourceId,
|
|
580
|
+
datasourceName: v.table2.datasourceName
|
|
581
|
+
});
|
|
582
|
+
}
|
|
583
|
+
return mo;
|
|
584
|
+
}, []);
|
|
585
|
+
}
|
|
586
|
+
// 过滤为table1选中的表
|
|
587
|
+
var newMeta = store.metaList[groupIndex].list.slice();
|
|
588
|
+
if (newMeta[index][FlagLocation.TABLE_1].name) {
|
|
589
|
+
data = data.filter(function (v) {
|
|
590
|
+
return newMeta[index][FlagLocation.TABLE_1].tableUuid == v.tableUuid || newMeta[index][FlagLocation.TABLE_1].name === _helper2.SummarizeAlias && newMeta[index][FlagLocation.TABLE_1].id == v.id;
|
|
591
|
+
});
|
|
592
|
+
}
|
|
593
|
+
} else {
|
|
594
|
+
data = [{
|
|
595
|
+
alias: meta.table2.alias,
|
|
596
|
+
name: meta.table2.name,
|
|
597
|
+
name_zh: meta.table2.name_zh,
|
|
598
|
+
id: meta.table2.id,
|
|
599
|
+
tableUuid: meta.table2.tableUuid || (0, _helper.uuidv4)('table'),
|
|
600
|
+
datasourceId: meta.table2.datasourceId,
|
|
601
|
+
datasourceName: meta.table2.datasourceName,
|
|
602
|
+
columns: meta.columns
|
|
603
|
+
}];
|
|
604
|
+
}
|
|
605
|
+
return data;
|
|
606
|
+
}
|
|
490
607
|
function selectMoreJoinColumn(e) {
|
|
491
608
|
var node = e.currentTarget;
|
|
492
609
|
var _position = node.getAttribute('v-position');
|
|
@@ -494,13 +611,13 @@ var JoinData = function JoinData(props) {
|
|
|
494
611
|
var _ind2 = Number(node.getAttribute('v-index2'));
|
|
495
612
|
var index = (0, _utils.findIndex)(store.metaList[groupIndex].list, meta);
|
|
496
613
|
var data = [];
|
|
497
|
-
var
|
|
498
|
-
ExistAboveGroupBy =
|
|
499
|
-
prevList =
|
|
500
|
-
prevGroupBy =
|
|
614
|
+
var _getHelper5 = (0, _utils.getHelper)(store.metaList[groupIndex].list, meta),
|
|
615
|
+
ExistAboveGroupBy = _getHelper5.ExistAboveGroupBy,
|
|
616
|
+
prevList = _getHelper5.prevList,
|
|
617
|
+
prevGroupBy = _getHelper5.prevGroupBy;
|
|
501
618
|
if (_position === ExpressionsEnum.LEFT) {
|
|
502
619
|
if (ExistAboveGroupBy) {
|
|
503
|
-
var _prevGroupBy$
|
|
620
|
+
var _prevGroupBy$group4, _prevGroupBy$by4;
|
|
504
621
|
var _data = {
|
|
505
622
|
name: prevGroupBy.alias,
|
|
506
623
|
name_zh: prevGroupBy.alias,
|
|
@@ -511,7 +628,7 @@ var JoinData = function JoinData(props) {
|
|
|
511
628
|
datasourceName: '',
|
|
512
629
|
columns: []
|
|
513
630
|
};
|
|
514
|
-
if (prevGroupBy !== null && prevGroupBy !== void 0 && (_prevGroupBy$
|
|
631
|
+
if (prevGroupBy !== null && prevGroupBy !== void 0 && (_prevGroupBy$group4 = prevGroupBy.group) !== null && _prevGroupBy$group4 !== void 0 && _prevGroupBy$group4.length) {
|
|
515
632
|
_data.columns = _data.columns.concat(prevGroupBy.group.map(function (v) {
|
|
516
633
|
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v), {}, {
|
|
517
634
|
name: v.name || v.quotes,
|
|
@@ -524,7 +641,7 @@ var JoinData = function JoinData(props) {
|
|
|
524
641
|
});
|
|
525
642
|
}));
|
|
526
643
|
}
|
|
527
|
-
if (prevGroupBy !== null && prevGroupBy !== void 0 && (_prevGroupBy$
|
|
644
|
+
if (prevGroupBy !== null && prevGroupBy !== void 0 && (_prevGroupBy$by4 = prevGroupBy.by) !== null && _prevGroupBy$by4 !== void 0 && _prevGroupBy$by4.length) {
|
|
528
645
|
_data.columns = _data.columns.concat(prevGroupBy.by.map(function (v) {
|
|
529
646
|
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v), {}, {
|
|
530
647
|
name: v.name || v.quotes,
|
|
@@ -589,7 +706,7 @@ var JoinData = function JoinData(props) {
|
|
|
589
706
|
var newMeta = store.metaList[groupIndex].list.slice();
|
|
590
707
|
if (newMeta[index][FlagLocation.TABLE_1].name) {
|
|
591
708
|
data = data.filter(function (v) {
|
|
592
|
-
return newMeta[index][FlagLocation.TABLE_1].tableUuid == v.tableUuid || newMeta[index][FlagLocation.TABLE_1].name === _helper2.SummarizeAlias;
|
|
709
|
+
return newMeta[index][FlagLocation.TABLE_1].tableUuid == v.tableUuid || newMeta[index][FlagLocation.TABLE_1].name === _helper2.SummarizeAlias && newMeta[index][FlagLocation.TABLE_1].id == v.id;
|
|
593
710
|
});
|
|
594
711
|
}
|
|
595
712
|
} else {
|
|
@@ -790,7 +907,7 @@ var JoinData = function JoinData(props) {
|
|
|
790
907
|
showSubquery: store._showSubquery,
|
|
791
908
|
toolbar: _toolbar,
|
|
792
909
|
btnText: (0, _locale.__)('SqlQueryBuilder.confirm'),
|
|
793
|
-
value: val,
|
|
910
|
+
value: (0, _cloneDeep["default"])(val),
|
|
794
911
|
onOk: function onOk(newList) {
|
|
795
912
|
try {
|
|
796
913
|
// 子查询未改变不做操作
|
|
@@ -810,9 +927,7 @@ var JoinData = function JoinData(props) {
|
|
|
810
927
|
newMeta[index].columns = newColumns;
|
|
811
928
|
initExpressions();
|
|
812
929
|
// 关联表变了 下面模块全部删除
|
|
813
|
-
newMeta = newMeta.filter(
|
|
814
|
-
return i <= index;
|
|
815
|
-
});
|
|
930
|
+
// newMeta = newMeta.filter((v: MetaListType, i: number) => i <= index);
|
|
816
931
|
store.setMeta(newMeta, groupIndex);
|
|
817
932
|
o.close();
|
|
818
933
|
} catch (e) {
|
|
@@ -831,24 +946,19 @@ var JoinData = function JoinData(props) {
|
|
|
831
946
|
var index = (0, _utils.findIndex)(store.metaList[groupIndex].list, meta);
|
|
832
947
|
var newMeta = store.metaList[groupIndex].list.slice();
|
|
833
948
|
newMeta[index].isSubquery = !newMeta[index].isSubquery;
|
|
834
|
-
newMeta[index].table2 = {
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
datasourceId: '' // 数据源id
|
|
848
|
-
// groupSql: '', //如果table1 是结果集 那么这个字段 就有值,放结果集的别名
|
|
849
|
-
};
|
|
850
|
-
newMeta[index].expressions = [];
|
|
851
|
-
newMeta[index].subquery = [];
|
|
949
|
+
// (newMeta[index] as MetaJoin).table2 = {
|
|
950
|
+
// quotes: '',
|
|
951
|
+
// name: '', // 表名
|
|
952
|
+
// name_zh: '', // 表名
|
|
953
|
+
// tableUuid: '',
|
|
954
|
+
// id: '', // 表名
|
|
955
|
+
// alias: '', // 表别名
|
|
956
|
+
// datasourceName: '', // 数据源名
|
|
957
|
+
// datasourceId: '', // 数据源id
|
|
958
|
+
// // groupSql: '', //如果table1 是结果集 那么这个字段 就有值,放结果集的别名
|
|
959
|
+
// };
|
|
960
|
+
// (newMeta[index] as MetaJoin).expressions = [];
|
|
961
|
+
// (newMeta[index] as MetaJoin).subquery = [];
|
|
852
962
|
store.setMeta(newMeta, groupIndex);
|
|
853
963
|
};
|
|
854
964
|
var onChangeTableAlias = function onChangeTableAlias(val) {
|
|
@@ -865,22 +975,22 @@ var JoinData = function JoinData(props) {
|
|
|
865
975
|
onOk: function () {
|
|
866
976
|
var _onOk = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
867
977
|
var index, newMeta;
|
|
868
|
-
return _regenerator["default"].wrap(function
|
|
978
|
+
return _regenerator["default"].wrap(function (_context) {
|
|
869
979
|
while (1) switch (_context.prev = _context.next) {
|
|
870
980
|
case 0:
|
|
871
981
|
if ((0, _utils.isValidSQLAlias)(alias)) {
|
|
872
|
-
_context.next =
|
|
982
|
+
_context.next = 1;
|
|
873
983
|
break;
|
|
874
984
|
}
|
|
875
985
|
_pandora.Toast.warning((0, _locale.__)('SqlQueryBuilder.aliasForRules'));
|
|
876
986
|
return _context.abrupt("return", false);
|
|
877
|
-
case
|
|
987
|
+
case 1:
|
|
878
988
|
index = (0, _utils.findIndex)(store.metaList[groupIndex].list, meta);
|
|
879
989
|
newMeta = store.metaList[groupIndex].list.slice();
|
|
880
990
|
newMeta[index].table2.alias = alias;
|
|
881
991
|
newMeta = (0, _utils.changeTableAlias)(newMeta, newMeta[index].table2);
|
|
882
992
|
store.setMeta(newMeta, groupIndex);
|
|
883
|
-
case
|
|
993
|
+
case 2:
|
|
884
994
|
case "end":
|
|
885
995
|
return _context.stop();
|
|
886
996
|
}
|
|
@@ -1017,21 +1127,31 @@ var JoinData = function JoinData(props) {
|
|
|
1017
1127
|
return '';
|
|
1018
1128
|
}
|
|
1019
1129
|
};
|
|
1130
|
+
var leftTableIsError = function leftTableIsError() {
|
|
1131
|
+
var _prevTables$meta$tabl;
|
|
1132
|
+
if (!meta.table1.datasourceId || !meta.table1.id || meta.table1.datasourceId === _helper2.SummarizeAlias) {
|
|
1133
|
+
return false;
|
|
1134
|
+
}
|
|
1135
|
+
return !(prevTables !== null && prevTables !== void 0 && (_prevTables$meta$tabl = prevTables[meta.table1.datasourceId]) !== null && _prevTables$meta$tabl !== void 0 && _prevTables$meta$tabl[meta.table1.id]);
|
|
1136
|
+
};
|
|
1020
1137
|
var renderItem = function renderItem(items, type, i) {
|
|
1021
1138
|
var _items$;
|
|
1022
1139
|
if ((items === null || items === void 0 || (_items$ = items[0]) === null || _items$ === void 0 ? void 0 : _items$.type) === _types.AtomsTypeEnum.FIELD) {
|
|
1023
1140
|
var _items$2, _items$3;
|
|
1024
|
-
return (0, _jsxRuntime.jsx)("
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1141
|
+
return (0, _jsxRuntime.jsx)(_itemName["default"], {
|
|
1142
|
+
isError: (0, _utils.isError)(items, getColumns(type)),
|
|
1143
|
+
children: (0, _jsxRuntime.jsx)("div", {
|
|
1144
|
+
className: (0, _classnames["default"])("Sqb-TableName", {
|
|
1145
|
+
notSelected: !((_items$2 = items[0]) !== null && _items$2 !== void 0 && _items$2.fieldName)
|
|
1146
|
+
}),
|
|
1147
|
+
"v-position": type,
|
|
1148
|
+
"v-index": i,
|
|
1149
|
+
"v-index2": index,
|
|
1150
|
+
onClick: selectMoreJoinColumn,
|
|
1151
|
+
children: (_items$3 = items[0]) !== null && _items$3 !== void 0 && _items$3.fieldName ? items.map(function (field) {
|
|
1152
|
+
return field.fieldName;
|
|
1153
|
+
}).join(' || ') : (0, _locale.__)('SqlQueryBuilder.pickTable')
|
|
1154
|
+
})
|
|
1035
1155
|
}, type + i);
|
|
1036
1156
|
} else {
|
|
1037
1157
|
return items === null || items === void 0 ? void 0 : items.map(function (item, index) {
|
|
@@ -1102,12 +1222,15 @@ var JoinData = function JoinData(props) {
|
|
|
1102
1222
|
className: (0, _classnames["default"])("Sqb-item--content"),
|
|
1103
1223
|
children: (0, _jsxRuntime.jsxs)("div", {
|
|
1104
1224
|
className: (0, _classnames["default"])("Sqb-NotebookCell"),
|
|
1105
|
-
children: [(0, _jsxRuntime.jsx)("
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1225
|
+
children: [(0, _jsxRuntime.jsx)(_itemName["default"], {
|
|
1226
|
+
isError: leftTableIsError(),
|
|
1227
|
+
children: (0, _jsxRuntime.jsx)("div", {
|
|
1228
|
+
className: (0, _classnames["default"])("Sqb-TableName", {
|
|
1229
|
+
notSelected: !table1Selected
|
|
1230
|
+
}),
|
|
1231
|
+
onClick: selectLeftTable,
|
|
1232
|
+
children: getTable1Name() || (0, _locale.__)('SqlQueryBuilder.pickTable')
|
|
1233
|
+
})
|
|
1111
1234
|
}), (0, _jsxRuntime.jsx)("div", {
|
|
1112
1235
|
onClick: selectJoin,
|
|
1113
1236
|
children: meta.joinType === _enum.JoinEnum.left ? (0, _jsxRuntime.jsx)(_icons.LeftJoinIcon, {
|
|
@@ -1310,15 +1433,18 @@ var JoinData = function JoinData(props) {
|
|
|
1310
1433
|
children: [i == 0 && (0, _jsxRuntime.jsx)("span", {
|
|
1311
1434
|
className: 'ml-2 mr-4 text-gray-500',
|
|
1312
1435
|
children: "on"
|
|
1313
|
-
}), (0, _jsxRuntime.jsx)("
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1436
|
+
}), (0, _jsxRuntime.jsx)(_itemName["default"], {
|
|
1437
|
+
isError: (0, _utils.isError)(v, getTableColumns()),
|
|
1438
|
+
children: (0, _jsxRuntime.jsx)("div", {
|
|
1439
|
+
className: (0, _classnames["default"])("Sqb-TableName purple-name", {
|
|
1440
|
+
notSelected: !v.quotes
|
|
1441
|
+
}),
|
|
1442
|
+
onClick: function onClick(e) {
|
|
1443
|
+
return changeExpression(e, i);
|
|
1444
|
+
},
|
|
1445
|
+
children: v.quotes || (0, _locale.__)('joinData.selectExpression')
|
|
1446
|
+
}, i)
|
|
1447
|
+
}), (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
|
|
1322
1448
|
title: (0, _locale.__)('SqlQueryBuilder.add'),
|
|
1323
1449
|
children: (0, _jsxRuntime.jsx)(_pandora.Dropdown, {
|
|
1324
1450
|
trigger: ['click'],
|
|
@@ -1404,7 +1530,7 @@ var JoinData = function JoinData(props) {
|
|
|
1404
1530
|
})]
|
|
1405
1531
|
}, i);
|
|
1406
1532
|
}
|
|
1407
|
-
})), ((_meta$table9 = meta.table2) === null || _meta$table9 === void 0 ? void 0 : _meta$table9.name) && ((_meta$
|
|
1533
|
+
})), ((_meta$table9 = meta.table2) === null || _meta$table9 === void 0 ? void 0 : _meta$table9.name) && ((_meta$table0 = meta.table1) === null || _meta$table0 === void 0 ? void 0 : _meta$table0.name) && (((_meta$expressions2 = meta.expressions) === null || _meta$expressions2 === void 0 ? void 0 : _meta$expressions2.length) || 0) < 1 && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
|
|
1408
1534
|
title: (0, _locale.__)('SqlQueryBuilder.add'),
|
|
1409
1535
|
children: (0, _jsxRuntime.jsx)(_pandora.Dropdown, {
|
|
1410
1536
|
trigger: ['click'],
|
|
@@ -16,17 +16,21 @@ var _metaIcon = _interopRequireDefault(require("./components/meta-icon"));
|
|
|
16
16
|
var _header = _interopRequireDefault(require("./components/header"));
|
|
17
17
|
var _useProvider = require("../../hooks/use-provider");
|
|
18
18
|
var _helper = require("../../utils/helper");
|
|
19
|
+
var _itemName = _interopRequireDefault(require("./components/item-name"));
|
|
20
|
+
var _helper2 = require("../../store/helper");
|
|
19
21
|
var PrevResult = 'Previous results';
|
|
20
22
|
var PermissionTable = function PermissionTable(props) {
|
|
21
23
|
var meta = props.meta,
|
|
22
24
|
groupIndex = props.groupIndex;
|
|
23
25
|
var store = (0, _useProvider.useStore)();
|
|
24
26
|
var index = (0, _utils.findIndex)(store.metaList[groupIndex].list, meta);
|
|
27
|
+
var _getHelper = (0, _utils.getHelper)(store.metaList[groupIndex].list, meta),
|
|
28
|
+
prevTables = _getHelper.prevTables;
|
|
25
29
|
function selectTable(e) {
|
|
26
|
-
var
|
|
27
|
-
ExistAboveGroupBy =
|
|
28
|
-
prevList =
|
|
29
|
-
prevGroupBy =
|
|
30
|
+
var _getHelper2 = (0, _utils.getHelper)(store.metaList[groupIndex].list, meta),
|
|
31
|
+
ExistAboveGroupBy = _getHelper2.ExistAboveGroupBy,
|
|
32
|
+
prevList = _getHelper2.prevList,
|
|
33
|
+
prevGroupBy = _getHelper2.prevGroupBy;
|
|
30
34
|
var data = [];
|
|
31
35
|
if (ExistAboveGroupBy) {
|
|
32
36
|
var _data = {
|
|
@@ -101,6 +105,13 @@ var PermissionTable = function PermissionTable(props) {
|
|
|
101
105
|
});
|
|
102
106
|
}
|
|
103
107
|
var selected = Boolean(meta.table.name);
|
|
108
|
+
var tableIsError = function tableIsError() {
|
|
109
|
+
var _prevTables$meta$tabl;
|
|
110
|
+
if (!meta.table.datasourceId && !meta.table.id) {
|
|
111
|
+
return false;
|
|
112
|
+
}
|
|
113
|
+
return !(prevTables !== null && prevTables !== void 0 && (_prevTables$meta$tabl = prevTables[meta.table.datasourceId]) !== null && _prevTables$meta$tabl !== void 0 && _prevTables$meta$tabl[meta.table.id]);
|
|
114
|
+
};
|
|
104
115
|
return (0, _jsxRuntime.jsx)(_Wrapper["default"], {
|
|
105
116
|
className: "Sqb-item",
|
|
106
117
|
children: (0, _jsxRuntime.jsxs)("div", {
|
|
@@ -115,12 +126,15 @@ var PermissionTable = function PermissionTable(props) {
|
|
|
115
126
|
className: "Sqb-item--content",
|
|
116
127
|
children: (0, _jsxRuntime.jsx)("div", {
|
|
117
128
|
className: "Sqb-NotebookCell gray-bg",
|
|
118
|
-
children: (0, _jsxRuntime.jsx)("
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
129
|
+
children: (0, _jsxRuntime.jsx)(_itemName["default"], {
|
|
130
|
+
isError: tableIsError(),
|
|
131
|
+
children: (0, _jsxRuntime.jsx)("div", {
|
|
132
|
+
className: (0, _classnames["default"])("Sqb-TableName", {
|
|
133
|
+
notSelected: !selected
|
|
134
|
+
}),
|
|
135
|
+
onClick: selectTable,
|
|
136
|
+
children: selected ? "".concat(meta.table.datasourceName ? "".concat(meta.table.datasourceName, ".") : '').concat(meta.table.name === _helper2.SummarizeAlias ? PrevResult : meta.table.name) : (0, _locale.__)('SqlQueryBuilder.pickPermissionTable')
|
|
137
|
+
})
|
|
124
138
|
})
|
|
125
139
|
})
|
|
126
140
|
}), (0, _jsxRuntime.jsx)(_metaIcon["default"], {
|
|
@@ -20,6 +20,7 @@ var _Wrapper = _interopRequireDefault(require("./components/Wrapper"));
|
|
|
20
20
|
var _metaIcon = _interopRequireDefault(require("./components/meta-icon"));
|
|
21
21
|
var _header = _interopRequireDefault(require("./components/header"));
|
|
22
22
|
var _useProvider = require("../../hooks/use-provider");
|
|
23
|
+
var _itemName = _interopRequireDefault(require("./components/item-name"));
|
|
23
24
|
var Sort = function Sort(props) {
|
|
24
25
|
var meta = props.meta,
|
|
25
26
|
groupIndex = props.groupIndex;
|
|
@@ -250,20 +251,23 @@ var Sort = function Sort(props) {
|
|
|
250
251
|
children: (0, _jsxRuntime.jsxs)("div", {
|
|
251
252
|
className: (0, _classnames["default"])("Sqb-NotebookCell gray-bg"),
|
|
252
253
|
children: [sort.map(function (v, i) {
|
|
253
|
-
return (0, _jsxRuntime.
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
style: {
|
|
260
|
-
fontSize: 0
|
|
254
|
+
return (0, _jsxRuntime.jsx)(_itemName["default"], {
|
|
255
|
+
isError: (0, _utils.isError)(v.expression, getColumns()),
|
|
256
|
+
children: (0, _jsxRuntime.jsxs)("div", {
|
|
257
|
+
className: "Sqb-TableName gray-name",
|
|
258
|
+
onClick: function onClick() {
|
|
259
|
+
return handleSort(i);
|
|
261
260
|
},
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
261
|
+
children: [v.sort === _enum.SortEnum.asc ? (0, _jsxRuntime.jsx)(_icons.UpArrowIcon, {}) : (0, _jsxRuntime.jsx)(_icons.DownArrowIcon, {}), getName(v.expression), (0, _jsxRuntime.jsx)("span", {
|
|
262
|
+
style: {
|
|
263
|
+
fontSize: 0
|
|
264
|
+
},
|
|
265
|
+
onClick: function onClick(e) {
|
|
266
|
+
return delSortColumn(e, i);
|
|
267
|
+
},
|
|
268
|
+
children: (0, _jsxRuntime.jsx)(_icons.CloseIcon, {})
|
|
269
|
+
})]
|
|
270
|
+
}, i)
|
|
267
271
|
}, i);
|
|
268
272
|
}), (0, _jsxRuntime.jsx)("div", {
|
|
269
273
|
className: "Sqb-TableName gray-name",
|