tabulator-tables 5.6.1 → 6.0.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/bower.json +1 -1
- package/build/{Bundler.js → Bundler.mjs} +8 -6
- package/build/rollup.mjs +9 -0
- package/dist/css/tabulator.css +62 -0
- package/dist/css/tabulator.css.map +1 -1
- package/dist/css/tabulator.min.css +1 -1
- package/dist/css/tabulator.min.css.map +1 -1
- package/dist/css/tabulator_bootstrap3.css +72 -0
- package/dist/css/tabulator_bootstrap3.css.map +1 -1
- package/dist/css/tabulator_bootstrap3.min.css +1 -1
- package/dist/css/tabulator_bootstrap3.min.css.map +1 -1
- package/dist/css/tabulator_bootstrap4.css +78 -0
- package/dist/css/tabulator_bootstrap4.css.map +1 -1
- package/dist/css/tabulator_bootstrap4.min.css +1 -1
- package/dist/css/tabulator_bootstrap4.min.css.map +1 -1
- package/dist/css/tabulator_bootstrap5.css +78 -0
- package/dist/css/tabulator_bootstrap5.css.map +1 -1
- package/dist/css/tabulator_bootstrap5.min.css +1 -1
- package/dist/css/tabulator_bootstrap5.min.css.map +1 -1
- package/dist/css/tabulator_bulma.css +84 -0
- package/dist/css/tabulator_bulma.css.map +1 -1
- package/dist/css/tabulator_bulma.min.css +1 -1
- package/dist/css/tabulator_bulma.min.css.map +1 -1
- package/dist/css/tabulator_materialize.css +77 -0
- package/dist/css/tabulator_materialize.css.map +1 -1
- package/dist/css/tabulator_materialize.min.css +1 -1
- package/dist/css/tabulator_materialize.min.css.map +1 -1
- package/dist/css/tabulator_midnight.css +72 -0
- package/dist/css/tabulator_midnight.css.map +1 -1
- package/dist/css/tabulator_midnight.min.css +1 -1
- package/dist/css/tabulator_midnight.min.css.map +1 -1
- package/dist/css/tabulator_modern.css +82 -0
- package/dist/css/tabulator_modern.css.map +1 -1
- package/dist/css/tabulator_modern.min.css +1 -1
- package/dist/css/tabulator_modern.min.css.map +1 -1
- package/dist/css/tabulator_semanticui.css +74 -0
- package/dist/css/tabulator_semanticui.css.map +1 -1
- package/dist/css/tabulator_semanticui.min.css +1 -1
- package/dist/css/tabulator_semanticui.min.css.map +1 -1
- package/dist/css/tabulator_simple.css +75 -0
- package/dist/css/tabulator_simple.css.map +1 -1
- package/dist/css/tabulator_simple.min.css +1 -1
- package/dist/css/tabulator_simple.min.css.map +1 -1
- package/dist/css/tabulator_site.css +85 -0
- package/dist/css/tabulator_site.css.map +1 -1
- package/dist/css/tabulator_site.min.css +1 -1
- package/dist/css/tabulator_site.min.css.map +1 -1
- package/dist/js/tabulator.js +3882 -2809
- package/dist/js/tabulator.js.map +1 -1
- package/dist/js/tabulator.min.js +2 -2
- package/dist/js/tabulator.min.js.map +1 -1
- package/dist/js/tabulator_esm.js +3845 -2770
- package/dist/js/tabulator_esm.js.map +1 -1
- package/dist/js/tabulator_esm.min.js +2 -2
- package/dist/js/tabulator_esm.min.js.map +1 -1
- package/package.json +17 -17
- package/src/js/builds/esm.js +2 -0
- package/src/js/core/ColumnManager.js +15 -0
- package/src/js/core/Module.js +2 -4
- package/src/js/core/RowManager.js +1 -1
- package/src/js/core/Tabulator.js +35 -22
- package/src/js/core/TabulatorFull.js +15 -5
- package/src/js/core/cell/Cell.js +4 -0
- package/src/js/core/column/Column.js +228 -217
- package/src/js/core/column/ColumnComponent.js +1 -3
- package/src/js/core/defaults/options.js +1 -0
- package/src/js/core/modules/optional.js +2 -1
- package/src/js/core/row/Row.js +23 -11
- package/src/js/core/tools/DataLoader.js +1 -1
- package/src/js/core/tools/ModuleBinder.js +123 -75
- package/src/js/core/tools/TableRegistry.js +58 -55
- package/src/js/modules/Accessor/Accessor.js +7 -8
- package/src/js/modules/Accessor/defaults/accessors.js +5 -1
- package/src/js/modules/Ajax/Ajax.js +10 -12
- package/src/js/modules/Clipboard/Clipboard.js +10 -10
- package/src/js/modules/Clipboard/defaults/pasteActions.js +0 -43
- package/src/js/modules/Clipboard/defaults/pasteParsers.js +0 -55
- package/src/js/modules/Clipboard/extensions/extensions.js +9 -0
- package/src/js/modules/Clipboard/extensions/keybindings/actions.js +9 -0
- package/src/js/modules/Clipboard/extensions/keybindings/bindings.js +3 -0
- package/src/js/modules/ColumnCalcs/CalcComponent.js +2 -4
- package/src/js/modules/ColumnCalcs/ColumnCalcs.js +16 -18
- package/src/js/modules/Comms/Comms.js +5 -8
- package/src/js/modules/DataTree/DataTree.js +11 -11
- package/src/js/modules/Download/Download.js +9 -11
- package/src/js/modules/Edit/Edit.js +47 -15
- package/src/js/modules/Edit/List.js +12 -12
- package/src/js/modules/Edit/defaults/editors/time.js +0 -2
- package/src/js/modules/Edit/defaults/editors.js +0 -4
- package/src/js/modules/Export/Export.js +70 -62
- package/src/js/modules/Export/ExportColumn.js +2 -4
- package/src/js/modules/Export/ExportRow.js +2 -4
- package/src/js/modules/Export/defaults/columnLookups.js +3 -0
- package/src/js/modules/Export/defaults/rowLookups.js +18 -0
- package/src/js/modules/Filter/Filter.js +7 -9
- package/src/js/modules/Format/Format.js +7 -9
- package/src/js/modules/Format/defaults/formatters.js +0 -4
- package/src/js/modules/FrozenColumns/FrozenColumns.js +8 -6
- package/src/js/modules/FrozenRows/FrozenRows.js +4 -6
- package/src/js/modules/GroupRows/Group.js +2 -4
- package/src/js/modules/GroupRows/GroupComponent.js +2 -4
- package/src/js/modules/GroupRows/GroupRows.js +4 -6
- package/src/js/modules/History/History.js +10 -10
- package/src/js/modules/History/extensions/extensions.js +9 -0
- package/src/js/modules/History/extensions/keybindings/actions.js +27 -0
- package/src/js/modules/History/extensions/keybindings/bindings.js +4 -0
- package/src/js/modules/HtmlTableImport/HtmlTableImport.js +4 -6
- package/src/js/modules/Import/Import.js +7 -9
- package/src/js/modules/Import/defaults/importers/array.js +2 -4
- package/src/js/modules/Import/defaults/importers/csv.js +2 -4
- package/src/js/modules/Interaction/Interaction.js +4 -6
- package/src/js/modules/Keybindings/Keybindings.js +8 -10
- package/src/js/modules/Keybindings/defaults/actions.js +5 -71
- package/src/js/modules/Keybindings/defaults/bindings.js +0 -16
- package/src/js/modules/Layout/Layout.js +7 -9
- package/src/js/modules/Localize/Localize.js +7 -9
- package/src/js/modules/Menu/Menu.js +7 -9
- package/src/js/modules/MoveColumns/MoveColumns.js +6 -8
- package/src/js/modules/MoveRows/MoveRows.js +13 -45
- package/src/js/modules/MoveRows/defaults/receivers.js +30 -0
- package/src/js/modules/MoveRows/defaults/senders.js +5 -0
- package/src/js/modules/Mutator/Mutator.js +7 -9
- package/src/js/modules/Page/Page.js +7 -9
- package/src/js/modules/Persistence/Persistence.js +10 -12
- package/src/js/modules/Popup/Popup.js +4 -8
- package/src/js/modules/Print/Print.js +4 -6
- package/src/js/modules/ReactiveData/ReactiveData.js +4 -9
- package/src/js/modules/ResizeColumns/ResizeColumns.js +91 -53
- package/src/js/modules/ResizeRows/ResizeRows.js +41 -8
- package/src/js/modules/ResizeTable/ResizeTable.js +4 -6
- package/src/js/modules/ResponsiveLayout/ResponsiveLayout.js +15 -9
- package/src/js/modules/ResponsiveLayout/extensions/extensions.js +9 -0
- package/src/js/modules/SelectRange/Range.js +22 -10
- package/src/js/modules/SelectRange/RangeComponent.js +2 -4
- package/src/js/modules/SelectRange/SelectRange.js +58 -28
- package/src/js/modules/SelectRange/extensions/clipboard/pasteActions.js +45 -0
- package/src/js/modules/SelectRange/extensions/clipboard/pasteParsers.js +57 -0
- package/src/js/modules/SelectRange/extensions/export/columnLookups.js +11 -0
- package/src/js/modules/SelectRange/extensions/export/rowLookups.js +5 -0
- package/src/js/modules/SelectRange/extensions/extensions.js +21 -0
- package/src/js/modules/SelectRange/extensions/keybindings/actions.js +38 -0
- package/src/js/modules/SelectRange/extensions/keybindings/bindings.js +14 -0
- package/src/js/modules/SelectRow/SelectRow.js +12 -12
- package/src/js/modules/SelectRow/extensions/extensions.js +9 -0
- package/src/js/modules/Sort/Sort.js +16 -13
- package/src/js/modules/Spreadsheet/GridCalculator.js +64 -0
- package/src/js/modules/Spreadsheet/Sheet.js +243 -0
- package/src/js/modules/Spreadsheet/SheetComponent.js +59 -0
- package/src/js/modules/Spreadsheet/Spreadsheet.js +309 -0
- package/src/js/modules/Tooltip/Tooltip.js +6 -8
- package/src/js/modules/Validate/Validate.js +7 -9
- package/src/scss/tabulator.scss +79 -3
- package/src/scss/themes/bootstrap/tabulator_bootstrap3.scss +14 -0
- package/src/scss/themes/bootstrap/tabulator_bootstrap4.scss +18 -0
- package/src/scss/themes/bootstrap/tabulator_bootstrap5.scss +18 -0
- package/src/scss/themes/bulma/tabulator_bulma.scss +24 -0
- package/src/scss/themes/materialize/tabulator_materialize.scss +18 -0
- package/src/scss/themes/semanticui/tabulator_semanticui.scss +14 -0
- package/src/scss/themes/tabulator_midnight.scss +34 -21
- package/src/scss/themes/tabulator_modern.scss +23 -0
- package/src/scss/themes/tabulator_simple.scss +15 -0
- package/src/scss/themes/tabulator_site.scss +25 -0
- package/build/rollup.js +0 -6
- package/src/js/modules/Edit/defaults/editors/autocomplete.js +0 -12
- package/src/js/modules/Edit/defaults/editors/select.js +0 -10
- /package/src/js/modules/{Format/defaults → ResponsiveLayout/extensions}/formatters/responsiveCollapse.js +0 -0
- /package/src/js/modules/{Format/defaults → SelectRow/extensions}/formatters/rowSelection.js +0 -0
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
import Module from '../../core/Module.js';
|
|
2
2
|
import Helpers from '../../core/tools/Helpers.js';
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
import defaultSenders from './defaults/senders.js';
|
|
5
|
+
import defaultReceivers from './defaults/receivers.js';
|
|
6
|
+
|
|
7
|
+
export default class MoveRows extends Module{
|
|
8
|
+
|
|
9
|
+
static moduleName = "moveRow";
|
|
10
|
+
|
|
11
|
+
//load defaults
|
|
12
|
+
static senders = defaultSenders;
|
|
13
|
+
static receivers = defaultReceivers;
|
|
5
14
|
|
|
6
15
|
constructor(table){
|
|
7
16
|
super(table);
|
|
@@ -522,7 +531,7 @@ class MoveRows extends Module{
|
|
|
522
531
|
|
|
523
532
|
switch(typeof this.table.options.movableRowsSender){
|
|
524
533
|
case "string":
|
|
525
|
-
sender =
|
|
534
|
+
sender = MoveRows.senders[this.table.options.movableRowsSender];
|
|
526
535
|
break;
|
|
527
536
|
|
|
528
537
|
case "function":
|
|
@@ -554,7 +563,7 @@ class MoveRows extends Module{
|
|
|
554
563
|
|
|
555
564
|
switch(typeof this.table.options.movableRowsReceiver){
|
|
556
565
|
case "string":
|
|
557
|
-
receiver =
|
|
566
|
+
receiver = MoveRows.receivers[this.table.options.movableRowsReceiver];
|
|
558
567
|
break;
|
|
559
568
|
|
|
560
569
|
case "function":
|
|
@@ -592,45 +601,4 @@ class MoveRows extends Module{
|
|
|
592
601
|
return this.dropComplete(table, data.row, data.success);
|
|
593
602
|
}
|
|
594
603
|
}
|
|
595
|
-
}
|
|
596
|
-
|
|
597
|
-
MoveRows.prototype.receivers = {
|
|
598
|
-
insert:function(fromRow, toRow, fromTable){
|
|
599
|
-
this.table.addRow(fromRow.getData(), undefined, toRow);
|
|
600
|
-
return true;
|
|
601
|
-
},
|
|
602
|
-
|
|
603
|
-
add:function(fromRow, toRow, fromTable){
|
|
604
|
-
this.table.addRow(fromRow.getData());
|
|
605
|
-
return true;
|
|
606
|
-
},
|
|
607
|
-
|
|
608
|
-
update:function(fromRow, toRow, fromTable){
|
|
609
|
-
if(toRow){
|
|
610
|
-
toRow.update(fromRow.getData());
|
|
611
|
-
return true;
|
|
612
|
-
}
|
|
613
|
-
|
|
614
|
-
return false;
|
|
615
|
-
},
|
|
616
|
-
|
|
617
|
-
replace:function(fromRow, toRow, fromTable){
|
|
618
|
-
if(toRow){
|
|
619
|
-
this.table.addRow(fromRow.getData(), undefined, toRow);
|
|
620
|
-
toRow.delete();
|
|
621
|
-
return true;
|
|
622
|
-
}
|
|
623
|
-
|
|
624
|
-
return false;
|
|
625
|
-
},
|
|
626
|
-
};
|
|
627
|
-
|
|
628
|
-
MoveRows.prototype.senders = {
|
|
629
|
-
delete:function(fromRow, toRow, toTable){
|
|
630
|
-
fromRow.delete();
|
|
631
|
-
}
|
|
632
|
-
};
|
|
633
|
-
|
|
634
|
-
MoveRows.moduleName = "moveRow";
|
|
635
|
-
|
|
636
|
-
export default MoveRows;
|
|
604
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export default{
|
|
2
|
+
insert:function(fromRow, toRow, fromTable){
|
|
3
|
+
this.table.addRow(fromRow.getData(), undefined, toRow);
|
|
4
|
+
return true;
|
|
5
|
+
},
|
|
6
|
+
|
|
7
|
+
add:function(fromRow, toRow, fromTable){
|
|
8
|
+
this.table.addRow(fromRow.getData());
|
|
9
|
+
return true;
|
|
10
|
+
},
|
|
11
|
+
|
|
12
|
+
update:function(fromRow, toRow, fromTable){
|
|
13
|
+
if(toRow){
|
|
14
|
+
toRow.update(fromRow.getData());
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
return false;
|
|
19
|
+
},
|
|
20
|
+
|
|
21
|
+
replace:function(fromRow, toRow, fromTable){
|
|
22
|
+
if(toRow){
|
|
23
|
+
this.table.addRow(fromRow.getData(), undefined, toRow);
|
|
24
|
+
toRow.delete();
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return false;
|
|
29
|
+
},
|
|
30
|
+
};
|
|
@@ -2,7 +2,12 @@ import Module from '../../core/Module.js';
|
|
|
2
2
|
|
|
3
3
|
import defaultMutators from './defaults/mutators.js';
|
|
4
4
|
|
|
5
|
-
class Mutator extends Module{
|
|
5
|
+
export default class Mutator extends Module{
|
|
6
|
+
|
|
7
|
+
static moduleName = "mutator";
|
|
8
|
+
|
|
9
|
+
//load defaults
|
|
10
|
+
static mutators = defaultMutators;
|
|
6
11
|
|
|
7
12
|
constructor(table){
|
|
8
13
|
super(table);
|
|
@@ -152,11 +157,4 @@ class Mutator extends Module{
|
|
|
152
157
|
disable(){
|
|
153
158
|
this.enabled = false;
|
|
154
159
|
}
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
Mutator.moduleName = "mutator";
|
|
158
|
-
|
|
159
|
-
//load defaults
|
|
160
|
-
Mutator.mutators = defaultMutators;
|
|
161
|
-
|
|
162
|
-
export default Mutator;
|
|
160
|
+
}
|
|
@@ -2,7 +2,12 @@ import Module from '../../core/Module.js';
|
|
|
2
2
|
|
|
3
3
|
import defaultPageCounters from './defaults/pageCounters.js';
|
|
4
4
|
|
|
5
|
-
class Page extends Module{
|
|
5
|
+
export default class Page extends Module{
|
|
6
|
+
|
|
7
|
+
static moduleName = "page";
|
|
8
|
+
|
|
9
|
+
//load defaults
|
|
10
|
+
static pageCounters = defaultPageCounters;
|
|
6
11
|
|
|
7
12
|
constructor(table){
|
|
8
13
|
super(table);
|
|
@@ -871,11 +876,4 @@ class Page extends Module{
|
|
|
871
876
|
}
|
|
872
877
|
}
|
|
873
878
|
}
|
|
874
|
-
}
|
|
875
|
-
|
|
876
|
-
Page.moduleName = "page";
|
|
877
|
-
|
|
878
|
-
//load defaults
|
|
879
|
-
Page.pageCounters = defaultPageCounters;
|
|
880
|
-
|
|
881
|
-
export default Page;
|
|
879
|
+
}
|
|
@@ -3,7 +3,15 @@ import Module from '../../core/Module.js';
|
|
|
3
3
|
import defaultReaders from './defaults/readers.js';
|
|
4
4
|
import defaultWriters from './defaults/writers.js';
|
|
5
5
|
|
|
6
|
-
class Persistence extends Module{
|
|
6
|
+
export default class Persistence extends Module{
|
|
7
|
+
|
|
8
|
+
static moduleName = "persistence";
|
|
9
|
+
|
|
10
|
+
static moduleInitOrder = -10;
|
|
11
|
+
|
|
12
|
+
//load defaults
|
|
13
|
+
static readers = defaultReaders;
|
|
14
|
+
static writers = defaultWriters;
|
|
7
15
|
|
|
8
16
|
constructor(table){
|
|
9
17
|
super(table);
|
|
@@ -462,14 +470,4 @@ class Persistence extends Module{
|
|
|
462
470
|
|
|
463
471
|
return definitions;
|
|
464
472
|
}
|
|
465
|
-
}
|
|
466
|
-
|
|
467
|
-
Persistence.moduleName = "persistence";
|
|
468
|
-
|
|
469
|
-
Persistence.moduleInitOrder = -10;
|
|
470
|
-
|
|
471
|
-
//load defaults
|
|
472
|
-
Persistence.readers = defaultReaders;
|
|
473
|
-
Persistence.writers = defaultWriters;
|
|
474
|
-
|
|
475
|
-
export default Persistence;
|
|
473
|
+
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import Module from '../../core/Module.js';
|
|
2
2
|
|
|
3
|
-
class Popup extends Module{
|
|
3
|
+
export default class Popup extends Module{
|
|
4
|
+
|
|
5
|
+
static moduleName = "popup";
|
|
4
6
|
|
|
5
7
|
constructor(table){
|
|
6
8
|
super(table);
|
|
@@ -220,12 +222,6 @@ class Popup extends Module{
|
|
|
220
222
|
this.dispatchExternal("popupClosed", component.getComponent());
|
|
221
223
|
});
|
|
222
224
|
|
|
223
|
-
|
|
224
|
-
|
|
225
225
|
this.dispatchExternal("popupOpened", component.getComponent());
|
|
226
226
|
}
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
Popup.moduleName = "popup";
|
|
230
|
-
|
|
231
|
-
export default Popup;
|
|
227
|
+
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import Module from '../../core/Module.js';
|
|
2
2
|
|
|
3
|
-
class Print extends Module{
|
|
3
|
+
export default class Print extends Module{
|
|
4
|
+
|
|
5
|
+
static moduleName = "print";
|
|
4
6
|
|
|
5
7
|
constructor(table){
|
|
6
8
|
super(table);
|
|
@@ -131,8 +133,4 @@ class Print extends Module{
|
|
|
131
133
|
|
|
132
134
|
this.manualBlock = false;
|
|
133
135
|
}
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
Print.moduleName = "print";
|
|
137
|
-
|
|
138
|
-
export default Print;
|
|
136
|
+
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import Module from '../../core/Module.js';
|
|
2
2
|
|
|
3
|
-
class ReactiveData extends Module{
|
|
3
|
+
export default class ReactiveData extends Module{
|
|
4
|
+
|
|
5
|
+
static moduleName = "reactiveData";
|
|
4
6
|
|
|
5
7
|
constructor(table){
|
|
6
8
|
super(table);
|
|
@@ -398,11 +400,4 @@ class ReactiveData extends Module{
|
|
|
398
400
|
this.blocked = false;
|
|
399
401
|
}
|
|
400
402
|
}
|
|
401
|
-
}
|
|
402
|
-
|
|
403
|
-
ReactiveData.moduleName = "reactiveData";
|
|
404
|
-
|
|
405
|
-
export default ReactiveData;
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
403
|
+
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import Module from '../../core/Module.js';
|
|
2
2
|
|
|
3
|
-
class ResizeColumns extends Module{
|
|
4
|
-
|
|
3
|
+
export default class ResizeColumns extends Module{
|
|
4
|
+
|
|
5
|
+
static moduleName = "resizeColumns";
|
|
6
|
+
|
|
5
7
|
constructor(table){
|
|
6
8
|
super(table);
|
|
7
9
|
|
|
@@ -16,6 +18,7 @@ class ResizeColumns extends Module{
|
|
|
16
18
|
this.initialized = false;
|
|
17
19
|
this.registerColumnOption("resizable", true);
|
|
18
20
|
this.registerTableOption("resizableColumnFit", false);
|
|
21
|
+
this.registerTableOption("resizableColumnGuide", false);
|
|
19
22
|
}
|
|
20
23
|
|
|
21
24
|
initialize(){
|
|
@@ -163,7 +166,7 @@ class ResizeColumns extends Module{
|
|
|
163
166
|
|
|
164
167
|
if(oldWidth !== nearestColumn.getWidth()){
|
|
165
168
|
self.dispatch("column-resized", nearestColumn);
|
|
166
|
-
self.
|
|
169
|
+
self.dispatchExternal("columnResized", nearestColumn.getComponent());
|
|
167
170
|
}
|
|
168
171
|
});
|
|
169
172
|
|
|
@@ -208,60 +211,99 @@ class ResizeColumns extends Module{
|
|
|
208
211
|
}
|
|
209
212
|
}
|
|
210
213
|
|
|
214
|
+
resize(e, column){
|
|
215
|
+
var x = typeof e.clientX === "undefined" ? e.touches[0].clientX : e.clientX,
|
|
216
|
+
startDiff = x - this.startX,
|
|
217
|
+
moveDiff = x - this.latestX,
|
|
218
|
+
blockedBefore, blockedAfter;
|
|
219
|
+
|
|
220
|
+
this.latestX = x;
|
|
221
|
+
|
|
222
|
+
if(this.table.rtl){
|
|
223
|
+
startDiff = -startDiff;
|
|
224
|
+
moveDiff = -moveDiff;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
blockedBefore = column.width == column.minWidth || column.width == column.maxWidth;
|
|
228
|
+
|
|
229
|
+
column.setWidth(this.startWidth + startDiff);
|
|
230
|
+
|
|
231
|
+
blockedAfter = column.width == column.minWidth || column.width == column.maxWidth;
|
|
232
|
+
|
|
233
|
+
if(moveDiff < 0){
|
|
234
|
+
this.nextColumn = this.initialNextColumn;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
if(this.table.options.resizableColumnFit && this.nextColumn && !(blockedBefore && blockedAfter)){
|
|
238
|
+
let colWidth = this.nextColumn.getWidth();
|
|
239
|
+
|
|
240
|
+
if(moveDiff > 0){
|
|
241
|
+
if(colWidth <= this.nextColumn.minWidth){
|
|
242
|
+
this.nextColumn = this.nextColumn.nextColumn();
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
if(this.nextColumn){
|
|
247
|
+
this.nextColumn.setWidth(this.nextColumn.getWidth() - moveDiff);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
this.table.columnManager.rerenderColumns(true);
|
|
252
|
+
|
|
253
|
+
if(!this.table.browserSlow && column.modules.resize && column.modules.resize.variableHeight){
|
|
254
|
+
column.checkCellHeights();
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
calcGuidePosition(e, column, handle) {
|
|
259
|
+
var mouseX = typeof e.clientX === "undefined" ? e.touches[0].clientX : e.clientX,
|
|
260
|
+
handleX = handle.getBoundingClientRect().x - this.table.element.getBoundingClientRect().x,
|
|
261
|
+
tableX = this.table.element.getBoundingClientRect().x,
|
|
262
|
+
columnX = column.element.getBoundingClientRect().left - tableX,
|
|
263
|
+
mouseDiff = mouseX - this.startX,
|
|
264
|
+
pos = Math.max(handleX + mouseDiff, columnX + column.minWidth);
|
|
265
|
+
|
|
266
|
+
if(column.maxWidth){
|
|
267
|
+
pos = Math.min(pos, columnX + column.maxWidth);
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
return pos;
|
|
271
|
+
}
|
|
272
|
+
|
|
211
273
|
_checkResizability(column){
|
|
212
274
|
return column.definition.resizable;
|
|
213
275
|
}
|
|
214
276
|
|
|
215
277
|
_mouseDown(e, column, handle){
|
|
216
|
-
var self = this
|
|
217
|
-
|
|
278
|
+
var self = this,
|
|
279
|
+
guideEl;
|
|
280
|
+
|
|
281
|
+
this.dispatchExternal("columnResizing", column.getComponent());
|
|
282
|
+
|
|
283
|
+
if(self.table.options.resizableColumnGuide){
|
|
284
|
+
guideEl = document.createElement("span");
|
|
285
|
+
guideEl.classList.add('tabulator-col-resize-guide');
|
|
286
|
+
self.table.element.appendChild(guideEl);
|
|
287
|
+
setTimeout(() => {
|
|
288
|
+
guideEl.style.left = self.calcGuidePosition(e, column, handle) + "px";
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
|
|
218
292
|
self.table.element.classList.add("tabulator-block-select");
|
|
219
|
-
|
|
293
|
+
|
|
220
294
|
function mouseMove(e){
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
self.latestX = x;
|
|
227
|
-
|
|
228
|
-
if(self.table.rtl){
|
|
229
|
-
startDiff = -startDiff;
|
|
230
|
-
moveDiff = -moveDiff;
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
blockedBefore = column.width == column.minWidth || column.width == column.maxWidth;
|
|
234
|
-
|
|
235
|
-
column.setWidth(self.startWidth + startDiff);
|
|
236
|
-
|
|
237
|
-
blockedAfter = column.width == column.minWidth || column.width == column.maxWidth;
|
|
238
|
-
|
|
239
|
-
if(moveDiff < 0){
|
|
240
|
-
self.nextColumn = self.initialNextColumn;
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
if(self.table.options.resizableColumnFit && self.nextColumn && !(blockedBefore && blockedAfter)){
|
|
244
|
-
let colWidth = self.nextColumn.getWidth();
|
|
245
|
-
|
|
246
|
-
if(moveDiff > 0){
|
|
247
|
-
if(colWidth <= self.nextColumn.minWidth){
|
|
248
|
-
self.nextColumn = self.nextColumn.nextColumn();
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
if(self.nextColumn){
|
|
253
|
-
self.nextColumn.setWidth(self.nextColumn.getWidth() - moveDiff);
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
self.table.columnManager.rerenderColumns(true);
|
|
258
|
-
|
|
259
|
-
if(!self.table.browserSlow && column.modules.resize && column.modules.resize.variableHeight){
|
|
260
|
-
column.checkCellHeights();
|
|
295
|
+
if(self.table.options.resizableColumnGuide){
|
|
296
|
+
guideEl.style.left = self.calcGuidePosition(e, column, handle) + "px";
|
|
297
|
+
}else{
|
|
298
|
+
self.resize(e, column);
|
|
261
299
|
}
|
|
262
300
|
}
|
|
263
301
|
|
|
264
302
|
function mouseUp(e){
|
|
303
|
+
if(self.table.options.resizableColumnGuide){
|
|
304
|
+
self.resize(e, column);
|
|
305
|
+
guideEl.remove();
|
|
306
|
+
}
|
|
265
307
|
|
|
266
308
|
//block editor from taking action while resizing is taking place
|
|
267
309
|
if(self.startColumn.modules.edit){
|
|
@@ -284,7 +326,7 @@ class ResizeColumns extends Module{
|
|
|
284
326
|
self.table.columnManager.verticalAlignHeaders();
|
|
285
327
|
|
|
286
328
|
self.dispatch("column-resized", column);
|
|
287
|
-
self.
|
|
329
|
+
self.dispatchExternal("columnResized", column.getComponent());
|
|
288
330
|
}
|
|
289
331
|
}
|
|
290
332
|
|
|
@@ -295,7 +337,7 @@ class ResizeColumns extends Module{
|
|
|
295
337
|
self.startColumn.modules.edit.blocked = true;
|
|
296
338
|
}
|
|
297
339
|
|
|
298
|
-
self.startX = typeof e.
|
|
340
|
+
self.startX = typeof e.clientX === "undefined" ? e.touches[0].clientX : e.clientX;
|
|
299
341
|
self.latestX = self.startX;
|
|
300
342
|
self.startWidth = column.getWidth();
|
|
301
343
|
|
|
@@ -304,8 +346,4 @@ class ResizeColumns extends Module{
|
|
|
304
346
|
handle.addEventListener("touchmove", mouseMove, {passive: true});
|
|
305
347
|
handle.addEventListener("touchend", mouseUp);
|
|
306
348
|
}
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
ResizeColumns.moduleName = "resizeColumns";
|
|
310
|
-
|
|
311
|
-
export default ResizeColumns;
|
|
349
|
+
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import Module from '../../core/Module.js';
|
|
2
2
|
|
|
3
|
-
class ResizeRows extends Module{
|
|
3
|
+
export default class ResizeRows extends Module{
|
|
4
|
+
|
|
5
|
+
static moduleName = "resizeRows";
|
|
4
6
|
|
|
5
7
|
constructor(table){
|
|
6
8
|
super(table);
|
|
@@ -12,6 +14,7 @@ class ResizeRows extends Module{
|
|
|
12
14
|
this.prevHandle = null;
|
|
13
15
|
|
|
14
16
|
this.registerTableOption("resizableRows", false); //resizable rows
|
|
17
|
+
this.registerTableOption("resizableRowGuide", false);
|
|
15
18
|
}
|
|
16
19
|
|
|
17
20
|
initialize(){
|
|
@@ -62,16 +65,50 @@ class ResizeRows extends Module{
|
|
|
62
65
|
rowEl.appendChild(prevHandle);
|
|
63
66
|
}
|
|
64
67
|
|
|
68
|
+
resize(e, row) {
|
|
69
|
+
row.setHeight(this.startHeight + ((typeof e.screenY === "undefined" ? e.touches[0].screenY : e.screenY) - this.startY));
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
calcGuidePosition(e, row, handle) {
|
|
73
|
+
var mouseY = typeof e.screenY === "undefined" ? e.touches[0].screenY : e.screenY,
|
|
74
|
+
handleY = handle.getBoundingClientRect().y - this.table.element.getBoundingClientRect().y,
|
|
75
|
+
tableY = this.table.element.getBoundingClientRect().y,
|
|
76
|
+
rowY = row.element.getBoundingClientRect().top - tableY,
|
|
77
|
+
mouseDiff = mouseY - this.startY;
|
|
78
|
+
|
|
79
|
+
return Math.max(handleY + mouseDiff, rowY);
|
|
80
|
+
}
|
|
81
|
+
|
|
65
82
|
_mouseDown(e, row, handle){
|
|
66
|
-
var self = this
|
|
83
|
+
var self = this,
|
|
84
|
+
guideEl;
|
|
85
|
+
|
|
86
|
+
self.dispatchExternal("rowResizing", row.getComponent());
|
|
87
|
+
|
|
88
|
+
if(self.table.options.resizableRowGuide){
|
|
89
|
+
guideEl = document.createElement("span");
|
|
90
|
+
guideEl.classList.add('tabulator-row-resize-guide');
|
|
91
|
+
self.table.element.appendChild(guideEl);
|
|
92
|
+
setTimeout(() => {
|
|
93
|
+
guideEl.style.top = self.calcGuidePosition(e, row, handle) + "px";
|
|
94
|
+
});
|
|
95
|
+
}
|
|
67
96
|
|
|
68
97
|
self.table.element.classList.add("tabulator-block-select");
|
|
69
98
|
|
|
70
99
|
function mouseMove(e){
|
|
71
|
-
|
|
100
|
+
if(self.table.options.resizableRowGuide){
|
|
101
|
+
guideEl.style.top = self.calcGuidePosition(e, row, handle) + "px";
|
|
102
|
+
}else{
|
|
103
|
+
self.resize(e, row);
|
|
104
|
+
}
|
|
72
105
|
}
|
|
73
106
|
|
|
74
107
|
function mouseUp(e){
|
|
108
|
+
if(self.table.options.resizableRowGuide){
|
|
109
|
+
self.resize(e, row);
|
|
110
|
+
guideEl.remove();
|
|
111
|
+
}
|
|
75
112
|
|
|
76
113
|
// //block editor from taking action while resizing is taking place
|
|
77
114
|
// if(self.startColumn.modules.edit){
|
|
@@ -105,8 +142,4 @@ class ResizeRows extends Module{
|
|
|
105
142
|
handle.addEventListener("touchmove", mouseMove, {passive: true});
|
|
106
143
|
handle.addEventListener("touchend", mouseUp);
|
|
107
144
|
}
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
ResizeRows.moduleName = "resizeRows";
|
|
111
|
-
|
|
112
|
-
export default ResizeRows;
|
|
145
|
+
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import Module from '../../core/Module.js';
|
|
2
2
|
|
|
3
|
-
class ResizeTable extends Module{
|
|
3
|
+
export default class ResizeTable extends Module{
|
|
4
|
+
|
|
5
|
+
static moduleName = "resizeTable";
|
|
4
6
|
|
|
5
7
|
constructor(table){
|
|
6
8
|
super(table);
|
|
@@ -153,8 +155,4 @@ class ResizeTable extends Module{
|
|
|
153
155
|
this.containerObserver.unobserve(this.table.element.parentNode);
|
|
154
156
|
}
|
|
155
157
|
}
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
ResizeTable.moduleName = "resizeTable";
|
|
159
|
-
|
|
160
|
-
export default ResizeTable;
|
|
158
|
+
}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import Module from '../../core/Module.js';
|
|
2
|
+
import extensions from './extensions/extensions.js';
|
|
2
3
|
|
|
3
|
-
class ResponsiveLayout extends Module{
|
|
4
|
+
export default class ResponsiveLayout extends Module{
|
|
5
|
+
|
|
6
|
+
static moduleName = "responsiveLayout";
|
|
7
|
+
static moduleExtensions = extensions;
|
|
4
8
|
|
|
5
9
|
constructor(table){
|
|
6
10
|
super(table);
|
|
@@ -58,6 +62,10 @@ class ResponsiveLayout extends Module{
|
|
|
58
62
|
this.collapseStartOpen = this.table.options.responsiveLayoutCollapseStartOpen;
|
|
59
63
|
this.hiddenColumns = [];
|
|
60
64
|
|
|
65
|
+
if(this.collapseFormatter){
|
|
66
|
+
this.collapseFormatter = this.collapseFormatter.bind(this.table);
|
|
67
|
+
}
|
|
68
|
+
|
|
61
69
|
//determine level of responsivity for each column
|
|
62
70
|
this.table.columnManager.columnsByIndex.forEach((column, i) => {
|
|
63
71
|
if(column.modules.responsive){
|
|
@@ -249,6 +257,7 @@ class ResponsiveLayout extends Module{
|
|
|
249
257
|
if(contents){
|
|
250
258
|
el.appendChild(contents);
|
|
251
259
|
}
|
|
260
|
+
row.calcHeight(true);
|
|
252
261
|
}
|
|
253
262
|
}
|
|
254
263
|
|
|
@@ -314,7 +323,7 @@ class ResponsiveLayout extends Module{
|
|
|
314
323
|
formatCollapsedData(data){
|
|
315
324
|
var list = document.createElement("table");
|
|
316
325
|
|
|
317
|
-
data.forEach(
|
|
326
|
+
data.forEach((item) => {
|
|
318
327
|
var row = document.createElement("tr");
|
|
319
328
|
var titleData = document.createElement("td");
|
|
320
329
|
var valueData = document.createElement("td");
|
|
@@ -322,7 +331,8 @@ class ResponsiveLayout extends Module{
|
|
|
322
331
|
|
|
323
332
|
var titleHighlight = document.createElement("strong");
|
|
324
333
|
titleData.appendChild(titleHighlight);
|
|
325
|
-
|
|
334
|
+
|
|
335
|
+
this.modules.localize.bind("columns|" + item.field, function(text){
|
|
326
336
|
titleHighlight.innerHTML = text || item.title;
|
|
327
337
|
});
|
|
328
338
|
|
|
@@ -337,12 +347,8 @@ class ResponsiveLayout extends Module{
|
|
|
337
347
|
row.appendChild(titleData);
|
|
338
348
|
row.appendChild(valueData);
|
|
339
349
|
list.appendChild(row);
|
|
340
|
-
}
|
|
350
|
+
});
|
|
341
351
|
|
|
342
352
|
return Object.keys(data).length ? list : "";
|
|
343
353
|
}
|
|
344
|
-
}
|
|
345
|
-
|
|
346
|
-
ResponsiveLayout.moduleName = "responsiveLayout";
|
|
347
|
-
|
|
348
|
-
export default ResponsiveLayout;
|
|
354
|
+
}
|