aio-table 6.1.5 → 6.2.0
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/index.css +2 -0
- package/index.js +357 -120
- package/package.json +1 -4
package/index.css
CHANGED
package/index.js
CHANGED
|
@@ -9,10 +9,6 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
9
9
|
|
|
10
10
|
var _aioButton = _interopRequireDefault(require("aio-button"));
|
|
11
11
|
|
|
12
|
-
var _react2 = require("@mdi/react");
|
|
13
|
-
|
|
14
|
-
var _js = require("@mdi/js");
|
|
15
|
-
|
|
16
12
|
var _jquery = _interopRequireDefault(require("jquery"));
|
|
17
13
|
|
|
18
14
|
var _rRangeSlider = _interopRequireDefault(require("r-range-slider"));
|
|
@@ -527,10 +523,7 @@ class RTableToolbar extends _react.Component {
|
|
|
527
523
|
value: searchText,
|
|
528
524
|
placeholder: translate('Search'),
|
|
529
525
|
onChange: e => this.changeSearch(e.target.value)
|
|
530
|
-
}),
|
|
531
|
-
className: "aio-table-search-icon",
|
|
532
|
-
path: searchText ? _js.mdiClose : _js.mdiMagnify,
|
|
533
|
-
size: 0.8,
|
|
526
|
+
}), aioTableGetSvg(searchText ? 'close' : 'magnify', {
|
|
534
527
|
onClick: () => {
|
|
535
528
|
if (!searchText) {
|
|
536
529
|
return;
|
|
@@ -581,10 +574,7 @@ class RTableToolbar extends _react.Component {
|
|
|
581
574
|
type: "button",
|
|
582
575
|
title: translate('Toggle All'),
|
|
583
576
|
onClick: () => toggleAll(),
|
|
584
|
-
text:
|
|
585
|
-
path: !toggleAllState ? _js.mdiCollapseAll : _js.mdiExpandAll,
|
|
586
|
-
size: iconSize
|
|
587
|
-
})
|
|
577
|
+
text: !toggleAllState ? aioTableGetSvg('toggleAllMinus') : aioTableGetSvg('toggleAllPlus')
|
|
588
578
|
})), excelColumns.length > 0 && /*#__PURE__*/_react.default.createElement(_aioButton.default, _extends({
|
|
589
579
|
key: "excel"
|
|
590
580
|
}, buttonProps, {
|
|
@@ -593,10 +583,7 @@ class RTableToolbar extends _react.Component {
|
|
|
593
583
|
onClick: () => {
|
|
594
584
|
fn.exportToExcel(excelColumns, rows);
|
|
595
585
|
},
|
|
596
|
-
text:
|
|
597
|
-
path: _js.mdiMicrosoftExcel,
|
|
598
|
-
size: iconSize
|
|
599
|
-
})
|
|
586
|
+
text: aioTableGetSvg('excel')
|
|
600
587
|
})), toolbarItems.map((o, i) => /*#__PURE__*/_react.default.createElement(_aioButton.default, _extends({
|
|
601
588
|
type: "button",
|
|
602
589
|
rtl: rtl,
|
|
@@ -609,10 +596,8 @@ class RTableToolbar extends _react.Component {
|
|
|
609
596
|
}, buttonProps, {
|
|
610
597
|
options: groupBy,
|
|
611
598
|
title: translate('Group By'),
|
|
612
|
-
text:
|
|
613
|
-
|
|
614
|
-
size: iconSize,
|
|
615
|
-
horizontal: rtl === true
|
|
599
|
+
text: aioTableGetSvg('group', {
|
|
600
|
+
flip: rtl === true
|
|
616
601
|
}),
|
|
617
602
|
onSwap: (start, end, swap) => {
|
|
618
603
|
let {
|
|
@@ -627,10 +612,7 @@ class RTableToolbar extends _react.Component {
|
|
|
627
612
|
}, buttonProps, {
|
|
628
613
|
options: sort,
|
|
629
614
|
title: translate('Sort'),
|
|
630
|
-
text:
|
|
631
|
-
path: _js.mdiSort,
|
|
632
|
-
size: iconSize
|
|
633
|
-
}),
|
|
615
|
+
text: aioTableGetSvg('sort'),
|
|
634
616
|
onSwap: (start, end, swap) => {
|
|
635
617
|
let {
|
|
636
618
|
sorts
|
|
@@ -642,10 +624,7 @@ class RTableToolbar extends _react.Component {
|
|
|
642
624
|
})), toggle.length > 1 && /*#__PURE__*/_react.default.createElement(_aioButton.default, _extends({
|
|
643
625
|
key: "toggle"
|
|
644
626
|
}, buttonProps, {
|
|
645
|
-
text:
|
|
646
|
-
path: _js.mdiEye,
|
|
647
|
-
size: iconSize
|
|
648
|
-
}),
|
|
627
|
+
text: aioTableGetSvg('eye'),
|
|
649
628
|
options: toggle,
|
|
650
629
|
title: translate('Show Columns'),
|
|
651
630
|
popupStyle: {
|
|
@@ -654,10 +633,8 @@ class RTableToolbar extends _react.Component {
|
|
|
654
633
|
})), freeze.length > 1 && /*#__PURE__*/_react.default.createElement(_aioButton.default, _extends({
|
|
655
634
|
key: "freeze"
|
|
656
635
|
}, buttonProps, {
|
|
657
|
-
text:
|
|
658
|
-
|
|
659
|
-
size: iconSize,
|
|
660
|
-
horizontal: rtl === true
|
|
636
|
+
text: aioTableGetSvg('freeze', {
|
|
637
|
+
flip: rtl === true
|
|
661
638
|
}),
|
|
662
639
|
options: freeze,
|
|
663
640
|
title: translate('Freeze Columns')
|
|
@@ -741,33 +718,25 @@ class AIOTablePaging extends _react.Component {
|
|
|
741
718
|
className: "aio-table-paging-button",
|
|
742
719
|
onClick: () => this.changePage(rtl ? 'last' : 'first'),
|
|
743
720
|
title: translate(rtl ? 'Last Page' : 'First Page')
|
|
744
|
-
},
|
|
745
|
-
|
|
746
|
-
size: .8
|
|
721
|
+
}, aioTableGetSvg('doubleChevronRight', {
|
|
722
|
+
flip: true
|
|
747
723
|
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
748
724
|
className: "aio-table-paging-button",
|
|
749
725
|
onClick: () => this.changePage(rtl ? 'next' : 'prev'),
|
|
750
726
|
title: translate(rtl ? 'Next Page' : 'Previous Page')
|
|
751
|
-
},
|
|
752
|
-
|
|
753
|
-
size: .8
|
|
727
|
+
}, aioTableGetSvg('chevronRight', {
|
|
728
|
+
flip: true
|
|
754
729
|
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
755
730
|
className: "aio-table-paging-number"
|
|
756
731
|
}, rtl ? pages + ' / ' + number : number + ' / ' + pages), /*#__PURE__*/_react.default.createElement("div", {
|
|
757
732
|
className: "aio-table-paging-button",
|
|
758
733
|
onClick: () => this.changePage(rtl ? 'prev' : 'next'),
|
|
759
734
|
title: translate(rtl ? 'Previous Page' : 'Next Page')
|
|
760
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
761
|
-
path: _js.mdiChevronRight,
|
|
762
|
-
size: .8
|
|
763
|
-
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
735
|
+
}, aioTableGetSvg('chevronRight')), /*#__PURE__*/_react.default.createElement("div", {
|
|
764
736
|
className: "aio-table-paging-button",
|
|
765
737
|
onClick: () => this.changePage(rtl ? 'first' : 'last'),
|
|
766
738
|
title: translate(rtl ? 'First Page' : 'Last Page')
|
|
767
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
768
|
-
path: _js.mdiChevronDoubleRight,
|
|
769
|
-
size: .8
|
|
770
|
-
})), /*#__PURE__*/_react.default.createElement("select", {
|
|
739
|
+
}, aioTableGetSvg('doubleChevronRight')), /*#__PURE__*/_react.default.createElement("select", {
|
|
771
740
|
className: "aio-table-paging-button",
|
|
772
741
|
value: size,
|
|
773
742
|
onChange: e => onChange({ ...paging,
|
|
@@ -1057,12 +1026,14 @@ class AIOTableUnit extends _react.Component {
|
|
|
1057
1026
|
}
|
|
1058
1027
|
|
|
1059
1028
|
this.renderIndex++;
|
|
1060
|
-
return row[type].map((r, j) =>
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1029
|
+
return row[type].map((r, j) => {
|
|
1030
|
+
return /*#__PURE__*/_react.default.createElement(AIOTableCell, _extends({
|
|
1031
|
+
cellId: i + '-' + j + '-' + tableIndex,
|
|
1032
|
+
renderIndex: this.renderIndex
|
|
1033
|
+
}, r, {
|
|
1034
|
+
row: row.row
|
|
1035
|
+
}));
|
|
1036
|
+
});
|
|
1066
1037
|
}), rows && rows.length === 0 && fn.getNoData(columns), !rows && fn.getLoading());
|
|
1067
1038
|
}
|
|
1068
1039
|
|
|
@@ -1288,16 +1259,13 @@ class AIOTableGroup extends _react.Component {
|
|
|
1288
1259
|
} = this.context;
|
|
1289
1260
|
|
|
1290
1261
|
if (row._opened) {
|
|
1291
|
-
return
|
|
1292
|
-
|
|
1293
|
-
size: 1
|
|
1262
|
+
return aioTableGetSvg('chevronDown', {
|
|
1263
|
+
box: '2 1 20 20'
|
|
1294
1264
|
});
|
|
1295
1265
|
}
|
|
1296
1266
|
|
|
1297
|
-
return
|
|
1298
|
-
|
|
1299
|
-
size: 1,
|
|
1300
|
-
horizontal: rtl === true
|
|
1267
|
+
return aioTableGetSvg('chevronRight', {
|
|
1268
|
+
flip: rtl === true
|
|
1301
1269
|
});
|
|
1302
1270
|
}
|
|
1303
1271
|
|
|
@@ -1477,20 +1445,12 @@ class AIOTableCell extends _react.Component {
|
|
|
1477
1445
|
let icon;
|
|
1478
1446
|
|
|
1479
1447
|
if (!row._childsLength) {
|
|
1480
|
-
icon =
|
|
1481
|
-
path: '',
|
|
1482
|
-
size: 1
|
|
1483
|
-
});
|
|
1448
|
+
icon = '';
|
|
1484
1449
|
} else if (row._opened) {
|
|
1485
|
-
icon =
|
|
1486
|
-
path: _js.mdiChevronDown,
|
|
1487
|
-
size: 1
|
|
1488
|
-
});
|
|
1450
|
+
icon = aioTableGetSvg('chevronDown');
|
|
1489
1451
|
} else {
|
|
1490
|
-
icon =
|
|
1491
|
-
|
|
1492
|
-
size: 1,
|
|
1493
|
-
horizontal: rtl === true
|
|
1452
|
+
icon = aioTableGetSvg('chevronRight', {
|
|
1453
|
+
flip: rtl === true
|
|
1494
1454
|
});
|
|
1495
1455
|
}
|
|
1496
1456
|
|
|
@@ -1612,6 +1572,10 @@ class AIOTableCell extends _react.Component {
|
|
|
1612
1572
|
this.setState({
|
|
1613
1573
|
value: this.props.value
|
|
1614
1574
|
});
|
|
1575
|
+
} else {
|
|
1576
|
+
this.setState({
|
|
1577
|
+
value: this.props.value
|
|
1578
|
+
});
|
|
1615
1579
|
}
|
|
1616
1580
|
}
|
|
1617
1581
|
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -1702,6 +1666,12 @@ class AIOTableCell extends _react.Component {
|
|
|
1702
1666
|
} = this.props;
|
|
1703
1667
|
this.inlineEdit = typeof column.inlineEdit === 'function' ? column.inlineEdit(row, column) : column.inlineEdit;
|
|
1704
1668
|
|
|
1669
|
+
if (column.title === 'تعداد' && row._index === 0) {
|
|
1670
|
+
console.log('aio table cell render value', value);
|
|
1671
|
+
console.log('aio table cell render state.value', this.state.value);
|
|
1672
|
+
console.log('aio table cell render this.state.prevValue', this.state.prevValue);
|
|
1673
|
+
}
|
|
1674
|
+
|
|
1705
1675
|
if (this.state.prevValue !== value) {
|
|
1706
1676
|
setTimeout(() => this.setState({
|
|
1707
1677
|
value,
|
|
@@ -1833,14 +1803,9 @@ class AIOTableFilter extends _react.Component {
|
|
|
1833
1803
|
let {
|
|
1834
1804
|
type
|
|
1835
1805
|
} = column.filter;
|
|
1836
|
-
let icon = items.length ?
|
|
1837
|
-
className:
|
|
1838
|
-
|
|
1839
|
-
size: 0.7
|
|
1840
|
-
}) : /*#__PURE__*/_react.default.createElement(_react2.Icon, {
|
|
1841
|
-
path: _js.mdiFilter,
|
|
1842
|
-
size: 0.7
|
|
1843
|
-
});
|
|
1806
|
+
let icon = items.length ? aioTableGetSvg('filterActive', {
|
|
1807
|
+
className: 'has-filter'
|
|
1808
|
+
}) : aioTableGetSvg('filter');
|
|
1844
1809
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
1845
1810
|
className: "aio-table-filter-icon"
|
|
1846
1811
|
}, /*#__PURE__*/_react.default.createElement(_aioButton.default, {
|
|
@@ -2024,10 +1989,7 @@ class AIOTableFilterItem extends _react.Component {
|
|
|
2024
1989
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
2025
1990
|
className: "aio-table-filter-remove",
|
|
2026
1991
|
onClick: () => onRemove()
|
|
2027
|
-
},
|
|
2028
|
-
path: _js.mdiClose,
|
|
2029
|
-
size: 0.7
|
|
2030
|
-
})));
|
|
1992
|
+
}, aioTableGetSvg('close')));
|
|
2031
1993
|
}
|
|
2032
1994
|
|
|
2033
1995
|
}
|
|
@@ -2137,7 +2099,8 @@ function ATFN({
|
|
|
2137
2099
|
editValue = value => value
|
|
2138
2100
|
}) {
|
|
2139
2101
|
let {
|
|
2140
|
-
rowHeight
|
|
2102
|
+
rowHeight,
|
|
2103
|
+
rtl
|
|
2141
2104
|
} = getProps();
|
|
2142
2105
|
let [clr1 = '#eee', clr2 = 'dodgerblue'] = colors;
|
|
2143
2106
|
let points = Array.isArray(value) ? value : [value];
|
|
@@ -2158,6 +2121,7 @@ function ATFN({
|
|
|
2158
2121
|
style: {
|
|
2159
2122
|
height: rowHeight
|
|
2160
2123
|
},
|
|
2124
|
+
direction: rtl ? 'left' : 'right',
|
|
2161
2125
|
start: start,
|
|
2162
2126
|
end: end,
|
|
2163
2127
|
step: 0.1,
|
|
@@ -2199,10 +2163,7 @@ function ATFN({
|
|
|
2199
2163
|
type: "select",
|
|
2200
2164
|
caret: false,
|
|
2201
2165
|
className: "aio-table-options",
|
|
2202
|
-
text:
|
|
2203
|
-
path: _js.mdiDotsHorizontal,
|
|
2204
|
-
size: 0.7
|
|
2205
|
-
}),
|
|
2166
|
+
text: aioTableGetSvg('dots'),
|
|
2206
2167
|
options: options.map(({
|
|
2207
2168
|
text,
|
|
2208
2169
|
icon,
|
|
@@ -2437,24 +2398,163 @@ function ATFN({
|
|
|
2437
2398
|
return parseInt(list.map(o => o.length === 1 ? '0' + o : o).join(''));
|
|
2438
2399
|
},
|
|
2439
2400
|
|
|
2401
|
+
// getSorts(toolbar){
|
|
2402
|
+
// let {onChangeSort} = getProps();
|
|
2403
|
+
// let {sorts,columns = []} = getState();
|
|
2404
|
+
// let Sorts = sorts.map((o)=>{
|
|
2405
|
+
// return {
|
|
2406
|
+
// ...o,
|
|
2407
|
+
// onChangeDir:()=>{
|
|
2408
|
+
// o.dir = o.dir === 'dec'?'inc':'dec';
|
|
2409
|
+
// setState({sorts});
|
|
2410
|
+
// if(onChangeSort){onChangeSort(Sorts.filter((o)=>o.active !== false))}
|
|
2411
|
+
// },
|
|
2412
|
+
// onChangeActive:()=>{
|
|
2413
|
+
// o.active = o.active === undefined?true:o.active;
|
|
2414
|
+
// o.active = !o.active;
|
|
2415
|
+
// setState({sorts});
|
|
2416
|
+
// if(onChangeSort){onChangeSort(Sorts.filter((o)=>o.active !== false))}
|
|
2417
|
+
// }
|
|
2418
|
+
// }
|
|
2419
|
+
// })
|
|
2420
|
+
// for(let i = 0; i < columns.length; i++){
|
|
2421
|
+
// if(!columns[i].sort || columns[i]._addedTosorts){continue}
|
|
2422
|
+
// let column = columns[i];
|
|
2423
|
+
// let {sort,getValue} = columns[i];
|
|
2424
|
+
// let title = sort.title || column.title || '';
|
|
2425
|
+
// let {toggle = true,dir = 'inc',active = true,type} = sort;
|
|
2426
|
+
// Sorts.push({
|
|
2427
|
+
// title,dir,active,toggle,getValue,type,
|
|
2428
|
+
// onChangeDir:()=>{
|
|
2429
|
+
// sort.dir = sort.dir === 'dec'?'inc':'dec';
|
|
2430
|
+
// setState({columns});
|
|
2431
|
+
// if(onChangeSort){onChangeSort(Sorts.filter((o)=>o.active !== false))}
|
|
2432
|
+
// },
|
|
2433
|
+
// onChangeActive:()=>{
|
|
2434
|
+
// sort.active = sort.active === undefined?true:sort.active;
|
|
2435
|
+
// sort.active = !sort.active;
|
|
2436
|
+
// setState({columns});
|
|
2437
|
+
// if(onChangeSort){onChangeSort(Sorts.filter((o)=>o.active !== false))}
|
|
2438
|
+
// }
|
|
2439
|
+
// })
|
|
2440
|
+
// }
|
|
2441
|
+
// let result = [];
|
|
2442
|
+
// for(let i = 0; i < Sorts.length; i++){
|
|
2443
|
+
// let sort = Sorts[i];
|
|
2444
|
+
// let {getValue,dir = 'inc',title,active = true,toggle = true,type,onChangeDir,onChangeActive} = sort;
|
|
2445
|
+
// if(!title){console.error('aio table => missing sort title property'); continue;}
|
|
2446
|
+
// if(typeof getValue !== 'function'){console.error('aio table => sort getValue property is not a function'); continue;}
|
|
2447
|
+
// if(active === true){
|
|
2448
|
+
// if(type === 'date'){
|
|
2449
|
+
// let newGetValue = (row)=>{
|
|
2450
|
+
// let value = getValue(row);
|
|
2451
|
+
// if(typeof value !== 'string'){return 0}
|
|
2452
|
+
// return $$.getDateNumber(value)
|
|
2453
|
+
// }
|
|
2454
|
+
// result.push({getValue:(row)=>newGetValue(row),dir});
|
|
2455
|
+
// }
|
|
2456
|
+
// else{
|
|
2457
|
+
// result.push({getValue,dir});
|
|
2458
|
+
// }
|
|
2459
|
+
// }
|
|
2460
|
+
// if(toggle){
|
|
2461
|
+
// toolbar.show = true;
|
|
2462
|
+
// toolbar.sort.push({
|
|
2463
|
+
// text:title,checked:active === true,
|
|
2464
|
+
// after:(
|
|
2465
|
+
// <div style={{width:'30px',display:'flex',justifyContent:'flex-end'}}>
|
|
2466
|
+
// <Icon
|
|
2467
|
+
// size={0.8} path={dir === 'dec'?mdiArrowDown:mdiArrowUp}
|
|
2468
|
+
// onClick={(e)=>{e.stopPropagation(); onChangeDir()}}
|
|
2469
|
+
// />
|
|
2470
|
+
// </div>
|
|
2471
|
+
// ),
|
|
2472
|
+
// onClick:()=>onChangeActive()
|
|
2473
|
+
// })
|
|
2474
|
+
// }
|
|
2475
|
+
// }
|
|
2476
|
+
// return result;
|
|
2477
|
+
// },
|
|
2440
2478
|
getSorts(toolbar) {
|
|
2441
2479
|
let {
|
|
2442
2480
|
onChangeSort
|
|
2443
2481
|
} = getProps();
|
|
2444
2482
|
let {
|
|
2445
|
-
sorts
|
|
2483
|
+
sorts,
|
|
2484
|
+
columns = []
|
|
2446
2485
|
} = getState();
|
|
2486
|
+
|
|
2487
|
+
for (let i = 0; i < columns.length; i++) {
|
|
2488
|
+
if (!columns[i].sort || columns[i]._addedTosorts) {
|
|
2489
|
+
continue;
|
|
2490
|
+
}
|
|
2491
|
+
|
|
2492
|
+
columns[i]._addedTosorts = true;
|
|
2493
|
+
let column = columns[i];
|
|
2494
|
+
|
|
2495
|
+
if (column.sort === true) {
|
|
2496
|
+
column.sort = {};
|
|
2497
|
+
}
|
|
2498
|
+
|
|
2499
|
+
let {
|
|
2500
|
+
sort
|
|
2501
|
+
} = columns[i];
|
|
2502
|
+
let title = sort.title || column.title || '';
|
|
2503
|
+
let getValue = sort.getValue || column.getValue;
|
|
2504
|
+
let {
|
|
2505
|
+
toggle = true,
|
|
2506
|
+
dir = 'inc',
|
|
2507
|
+
active = true,
|
|
2508
|
+
type
|
|
2509
|
+
} = sort;
|
|
2510
|
+
sorts.push({
|
|
2511
|
+
title,
|
|
2512
|
+
dir,
|
|
2513
|
+
active,
|
|
2514
|
+
toggle,
|
|
2515
|
+
getValue,
|
|
2516
|
+
type
|
|
2517
|
+
});
|
|
2518
|
+
}
|
|
2519
|
+
|
|
2520
|
+
let Sorts = sorts.map(o => {
|
|
2521
|
+
return { ...o,
|
|
2522
|
+
onChangeDir: () => {
|
|
2523
|
+
o.dir = o.dir === 'dec' ? 'inc' : 'dec';
|
|
2524
|
+
setState({
|
|
2525
|
+
sorts
|
|
2526
|
+
});
|
|
2527
|
+
|
|
2528
|
+
if (onChangeSort) {
|
|
2529
|
+
onChangeSort(Sorts.filter(o => o.active !== false));
|
|
2530
|
+
}
|
|
2531
|
+
},
|
|
2532
|
+
onChangeActive: () => {
|
|
2533
|
+
o.active = o.active === undefined ? true : o.active;
|
|
2534
|
+
o.active = !o.active;
|
|
2535
|
+
setState({
|
|
2536
|
+
sorts
|
|
2537
|
+
});
|
|
2538
|
+
|
|
2539
|
+
if (onChangeSort) {
|
|
2540
|
+
onChangeSort(Sorts.filter(o => o.active !== false));
|
|
2541
|
+
}
|
|
2542
|
+
}
|
|
2543
|
+
};
|
|
2544
|
+
});
|
|
2447
2545
|
let result = [];
|
|
2448
2546
|
|
|
2449
|
-
for (let i = 0; i <
|
|
2450
|
-
let sort =
|
|
2547
|
+
for (let i = 0; i < Sorts.length; i++) {
|
|
2548
|
+
let sort = Sorts[i];
|
|
2451
2549
|
let {
|
|
2452
2550
|
getValue,
|
|
2453
|
-
|
|
2551
|
+
dir = 'inc',
|
|
2454
2552
|
title,
|
|
2455
2553
|
active = true,
|
|
2456
2554
|
toggle = true,
|
|
2457
|
-
|
|
2555
|
+
type,
|
|
2556
|
+
onChangeDir,
|
|
2557
|
+
onChangeActive
|
|
2458
2558
|
} = sort;
|
|
2459
2559
|
|
|
2460
2560
|
if (!title) {
|
|
@@ -2468,7 +2568,7 @@ function ATFN({
|
|
|
2468
2568
|
}
|
|
2469
2569
|
|
|
2470
2570
|
if (active === true) {
|
|
2471
|
-
if (
|
|
2571
|
+
if (type === 'date') {
|
|
2472
2572
|
let newGetValue = row => {
|
|
2473
2573
|
let value = getValue(row);
|
|
2474
2574
|
|
|
@@ -2481,12 +2581,12 @@ function ATFN({
|
|
|
2481
2581
|
|
|
2482
2582
|
result.push({
|
|
2483
2583
|
getValue: row => newGetValue(row),
|
|
2484
|
-
|
|
2584
|
+
dir
|
|
2485
2585
|
});
|
|
2486
2586
|
} else {
|
|
2487
2587
|
result.push({
|
|
2488
2588
|
getValue,
|
|
2489
|
-
|
|
2589
|
+
dir
|
|
2490
2590
|
});
|
|
2491
2591
|
}
|
|
2492
2592
|
}
|
|
@@ -2502,31 +2602,13 @@ function ATFN({
|
|
|
2502
2602
|
display: 'flex',
|
|
2503
2603
|
justifyContent: 'flex-end'
|
|
2504
2604
|
}
|
|
2505
|
-
},
|
|
2506
|
-
path: type === 'dec' ? _js.mdiArrowDown : _js.mdiArrowUp,
|
|
2507
|
-
size: 0.8,
|
|
2605
|
+
}, aioTableGetSvg(dir === 'dec' ? 'arrowDown' : 'arrowUp', {
|
|
2508
2606
|
onClick: e => {
|
|
2509
2607
|
e.stopPropagation();
|
|
2510
|
-
|
|
2511
|
-
setState({
|
|
2512
|
-
sorts
|
|
2513
|
-
});
|
|
2514
|
-
|
|
2515
|
-
if (onChangeSort) {
|
|
2516
|
-
onChangeSort(sorts.filter(o => o.active !== false));
|
|
2517
|
-
}
|
|
2608
|
+
onChangeDir();
|
|
2518
2609
|
}
|
|
2519
2610
|
})),
|
|
2520
|
-
onClick: () =>
|
|
2521
|
-
sort.active = !active;
|
|
2522
|
-
setState({
|
|
2523
|
-
sorts
|
|
2524
|
-
});
|
|
2525
|
-
|
|
2526
|
-
if (onChangeSort) {
|
|
2527
|
-
onChangeSort(sorts.filter(o => o.active !== false));
|
|
2528
|
-
}
|
|
2529
|
-
}
|
|
2611
|
+
onClick: () => onChangeActive()
|
|
2530
2612
|
});
|
|
2531
2613
|
}
|
|
2532
2614
|
}
|
|
@@ -3280,17 +3362,17 @@ function ATFN({
|
|
|
3280
3362
|
for (let i = 0; i < sorts.length; i++) {
|
|
3281
3363
|
let {
|
|
3282
3364
|
getValue,
|
|
3283
|
-
|
|
3365
|
+
dir
|
|
3284
3366
|
} = sorts[i];
|
|
3285
3367
|
let aValue = getValue(a),
|
|
3286
3368
|
bValue = getValue(b);
|
|
3287
3369
|
|
|
3288
3370
|
if (aValue < bValue) {
|
|
3289
|
-
return -1 * (
|
|
3371
|
+
return -1 * (dir === 'dec' ? -1 : 1);
|
|
3290
3372
|
}
|
|
3291
3373
|
|
|
3292
3374
|
if (aValue > bValue) {
|
|
3293
|
-
return 1 * (
|
|
3375
|
+
return 1 * (dir === 'dec' ? -1 : 1);
|
|
3294
3376
|
}
|
|
3295
3377
|
|
|
3296
3378
|
if (i !== sorts.length - 1) {
|
|
@@ -3497,4 +3579,159 @@ function ATFN({
|
|
|
3497
3579
|
getFullCellStyle: $$.getFullCellStyle,
|
|
3498
3580
|
getNoData: $$.getNoData
|
|
3499
3581
|
};
|
|
3582
|
+
}
|
|
3583
|
+
|
|
3584
|
+
function aioTableGetSvg(type, conf = {}) {
|
|
3585
|
+
let {
|
|
3586
|
+
className,
|
|
3587
|
+
flip,
|
|
3588
|
+
onClick,
|
|
3589
|
+
box = '0 0 24 24'
|
|
3590
|
+
} = conf;
|
|
3591
|
+
let style1 = {
|
|
3592
|
+
width: '1.05rem',
|
|
3593
|
+
height: '1.05rem'
|
|
3594
|
+
};
|
|
3595
|
+
style1.background = '';
|
|
3596
|
+
|
|
3597
|
+
if (flip) {
|
|
3598
|
+
style1.transform = 'scaleX(-1)';
|
|
3599
|
+
style1.transformOrigin = 'center center';
|
|
3600
|
+
}
|
|
3601
|
+
|
|
3602
|
+
let style2 = {
|
|
3603
|
+
fill: 'currentcolor'
|
|
3604
|
+
};
|
|
3605
|
+
let Attrs = {
|
|
3606
|
+
viewBox: box,
|
|
3607
|
+
role: "presentation",
|
|
3608
|
+
style: style1
|
|
3609
|
+
};
|
|
3610
|
+
|
|
3611
|
+
if (className) {
|
|
3612
|
+
Attrs.className = className;
|
|
3613
|
+
}
|
|
3614
|
+
|
|
3615
|
+
if (onClick) {
|
|
3616
|
+
Attrs.onClick = onClick;
|
|
3617
|
+
}
|
|
3618
|
+
|
|
3619
|
+
if (type === 'eye') {
|
|
3620
|
+
return /*#__PURE__*/_react.default.createElement("svg", Attrs, /*#__PURE__*/_react.default.createElement("path", {
|
|
3621
|
+
d: "M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z",
|
|
3622
|
+
style: style2
|
|
3623
|
+
}));
|
|
3624
|
+
}
|
|
3625
|
+
|
|
3626
|
+
if (type === 'magnify') {
|
|
3627
|
+
return /*#__PURE__*/_react.default.createElement("svg", Attrs, /*#__PURE__*/_react.default.createElement("path", {
|
|
3628
|
+
d: "M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z",
|
|
3629
|
+
style: style2
|
|
3630
|
+
}));
|
|
3631
|
+
}
|
|
3632
|
+
|
|
3633
|
+
if (type === 'close') {
|
|
3634
|
+
return /*#__PURE__*/_react.default.createElement("svg", Attrs, /*#__PURE__*/_react.default.createElement("path", {
|
|
3635
|
+
d: "M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z",
|
|
3636
|
+
style: style2
|
|
3637
|
+
}));
|
|
3638
|
+
}
|
|
3639
|
+
|
|
3640
|
+
if (type === 'toggleAllPlus') {
|
|
3641
|
+
return /*#__PURE__*/_react.default.createElement("svg", Attrs, /*#__PURE__*/_react.default.createElement("path", {
|
|
3642
|
+
d: "M18,8H8V18H6V8A2,2 0 0,1 8,6H18V8M14,2H4A2,2 0 0,0 2,4V14H4V4H14V2M22,12V20A2,2 0 0,1 20,22H12A2,2 0 0,1 10,20V12A2,2 0 0,1 12,10H20A2,2 0 0,1 22,12M20,15H17V12H15V15H12V17H15V20H17V17H20V15Z",
|
|
3643
|
+
style: style2
|
|
3644
|
+
}));
|
|
3645
|
+
}
|
|
3646
|
+
|
|
3647
|
+
if (type === 'toggleAllMinus') {
|
|
3648
|
+
return /*#__PURE__*/_react.default.createElement("svg", Attrs, /*#__PURE__*/_react.default.createElement("path", {
|
|
3649
|
+
d: "M14,4H4V14H2V4A2,2 0 0,1 4,2H14V4M18,6H8A2,2 0 0,0 6,8V18H8V8H18V6M22,12V20A2,2 0 0,1 20,22H12A2,2 0 0,1 10,20V12A2,2 0 0,1 12,10H20A2,2 0 0,1 22,12M20,15H12V17H20V15Z",
|
|
3650
|
+
style: style2
|
|
3651
|
+
}));
|
|
3652
|
+
}
|
|
3653
|
+
|
|
3654
|
+
if (type === 'excel') {
|
|
3655
|
+
return /*#__PURE__*/_react.default.createElement("svg", Attrs, /*#__PURE__*/_react.default.createElement("path", {
|
|
3656
|
+
d: "M21.17 3.25Q21.5 3.25 21.76 3.5 22 3.74 22 4.08V19.92Q22 20.26 21.76 20.5 21.5 20.75 21.17 20.75H7.83Q7.5 20.75 7.24 20.5 7 20.26 7 19.92V17H2.83Q2.5 17 2.24 16.76 2 16.5 2 16.17V7.83Q2 7.5 2.24 7.24 2.5 7 2.83 7H7V4.08Q7 3.74 7.24 3.5 7.5 3.25 7.83 3.25M7 13.06L8.18 15.28H9.97L8 12.06L9.93 8.89H8.22L7.13 10.9L7.09 10.96L7.06 11.03Q6.8 10.5 6.5 9.96 6.25 9.43 5.97 8.89H4.16L6.05 12.08L4 15.28H5.78M13.88 19.5V17H8.25V19.5M13.88 15.75V12.63H12V15.75M13.88 11.38V8.25H12V11.38M13.88 7V4.5H8.25V7M20.75 19.5V17H15.13V19.5M20.75 15.75V12.63H15.13V15.75M20.75 11.38V8.25H15.13V11.38M20.75 7V4.5H15.13V7Z",
|
|
3657
|
+
style: style2
|
|
3658
|
+
}));
|
|
3659
|
+
}
|
|
3660
|
+
|
|
3661
|
+
if (type === 'sort') {
|
|
3662
|
+
return /*#__PURE__*/_react.default.createElement("svg", Attrs, /*#__PURE__*/_react.default.createElement("path", {
|
|
3663
|
+
d: "M18 21L14 17H17V7H14L18 3L22 7H19V17H22M2 19V17H12V19M2 13V11H9V13M2 7V5H6V7H2Z",
|
|
3664
|
+
style: style2
|
|
3665
|
+
}));
|
|
3666
|
+
}
|
|
3667
|
+
|
|
3668
|
+
if (type === 'group') {
|
|
3669
|
+
return /*#__PURE__*/_react.default.createElement("svg", Attrs, /*#__PURE__*/_react.default.createElement("path", {
|
|
3670
|
+
d: "M3,3H9V7H3V3M15,10H21V14H15V10M15,17H21V21H15V17M13,13H7V18H13V20H7L5,20V9H7V11H13V13Z",
|
|
3671
|
+
style: style2
|
|
3672
|
+
}));
|
|
3673
|
+
}
|
|
3674
|
+
|
|
3675
|
+
if (type === 'freeze') {
|
|
3676
|
+
return /*#__PURE__*/_react.default.createElement("svg", Attrs, /*#__PURE__*/_react.default.createElement("path", {
|
|
3677
|
+
d: "M4 22H2V2H4V22M22 7H6V10H22V7M16 14H6V17H16V14Z",
|
|
3678
|
+
style: style2
|
|
3679
|
+
}));
|
|
3680
|
+
}
|
|
3681
|
+
|
|
3682
|
+
if (type === 'filter') {
|
|
3683
|
+
return /*#__PURE__*/_react.default.createElement("svg", Attrs, /*#__PURE__*/_react.default.createElement("path", {
|
|
3684
|
+
d: "M14,12V19.88C14.04,20.18 13.94,20.5 13.71,20.71C13.32,21.1 12.69,21.1 12.3,20.71L10.29,18.7C10.06,18.47 9.96,18.16 10,17.87V12H9.97L4.21,4.62C3.87,4.19 3.95,3.56 4.38,3.22C4.57,3.08 4.78,3 5,3V3H19V3C19.22,3 19.43,3.08 19.62,3.22C20.05,3.56 20.13,4.19 19.79,4.62L14.03,12H14Z",
|
|
3685
|
+
style: style2
|
|
3686
|
+
}));
|
|
3687
|
+
}
|
|
3688
|
+
|
|
3689
|
+
if (type === 'filterActive') {
|
|
3690
|
+
return /*#__PURE__*/_react.default.createElement("svg", Attrs, /*#__PURE__*/_react.default.createElement("path", {
|
|
3691
|
+
d: "M11 11L16.76 3.62A1 1 0 0 0 16.59 2.22A1 1 0 0 0 16 2H2A1 1 0 0 0 1.38 2.22A1 1 0 0 0 1.21 3.62L7 11V16.87A1 1 0 0 0 7.29 17.7L9.29 19.7A1 1 0 0 0 10.7 19.7A1 1 0 0 0 11 18.87V11M13 16L18 21L23 16Z",
|
|
3692
|
+
style: style2
|
|
3693
|
+
}));
|
|
3694
|
+
}
|
|
3695
|
+
|
|
3696
|
+
if (type === 'dots') {
|
|
3697
|
+
return /*#__PURE__*/_react.default.createElement("svg", Attrs, /*#__PURE__*/_react.default.createElement("path", {
|
|
3698
|
+
d: "M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z",
|
|
3699
|
+
style: style2
|
|
3700
|
+
}));
|
|
3701
|
+
}
|
|
3702
|
+
|
|
3703
|
+
if (type === 'chevronDown') {
|
|
3704
|
+
return /*#__PURE__*/_react.default.createElement("svg", Attrs, /*#__PURE__*/_react.default.createElement("path", {
|
|
3705
|
+
d: "M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z",
|
|
3706
|
+
style: style2
|
|
3707
|
+
}));
|
|
3708
|
+
}
|
|
3709
|
+
|
|
3710
|
+
if (type === 'chevronRight') {
|
|
3711
|
+
return /*#__PURE__*/_react.default.createElement("svg", Attrs, /*#__PURE__*/_react.default.createElement("path", {
|
|
3712
|
+
d: "M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z",
|
|
3713
|
+
style: style2
|
|
3714
|
+
}));
|
|
3715
|
+
}
|
|
3716
|
+
|
|
3717
|
+
if (type === 'doubleChevronRight') {
|
|
3718
|
+
return /*#__PURE__*/_react.default.createElement("svg", Attrs, /*#__PURE__*/_react.default.createElement("path", {
|
|
3719
|
+
d: "M5.59,7.41L7,6L13,12L7,18L5.59,16.59L10.17,12L5.59,7.41M11.59,7.41L13,6L19,12L13,18L11.59,16.59L16.17,12L11.59,7.41Z",
|
|
3720
|
+
style: style2
|
|
3721
|
+
}));
|
|
3722
|
+
}
|
|
3723
|
+
|
|
3724
|
+
if (type === 'arrowUp') {
|
|
3725
|
+
return /*#__PURE__*/_react.default.createElement("svg", Attrs, /*#__PURE__*/_react.default.createElement("path", {
|
|
3726
|
+
d: "M13,20H11V8L5.5,13.5L4.08,12.08L12,4.16L19.92,12.08L18.5,13.5L13,8V20Z",
|
|
3727
|
+
style: style2
|
|
3728
|
+
}));
|
|
3729
|
+
}
|
|
3730
|
+
|
|
3731
|
+
if (type === 'arrowDown') {
|
|
3732
|
+
return /*#__PURE__*/_react.default.createElement("svg", Attrs, /*#__PURE__*/_react.default.createElement("path", {
|
|
3733
|
+
d: "M11,4H13V16L18.5,10.5L19.92,11.92L12,19.84L4.08,11.92L5.5,10.5L11,16V4Z",
|
|
3734
|
+
style: style2
|
|
3735
|
+
}));
|
|
3736
|
+
}
|
|
3500
3737
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aio-table",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.2.0",
|
|
4
4
|
"description": "all in one table. tree mode , simple mode , tree mode, gantt mode , groupby mode, freeze mode.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -17,10 +17,7 @@
|
|
|
17
17
|
},
|
|
18
18
|
"homepage": "https://github.com/mohammadFeiz/aio-table#readme",
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@mdi/js": "5.9.55",
|
|
21
|
-
"@mdi/react": "1.5.0",
|
|
22
20
|
"jquery": "3.6.0",
|
|
23
|
-
"prop-types": "^15.7.2",
|
|
24
21
|
"aio-button": "^4.3.1",
|
|
25
22
|
"r-range-slider": "^4.0.0",
|
|
26
23
|
"react": "17.0.0",
|