@universis/ngx-tables 0.6.7 → 0.6.11
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/bundles/universis-ngx-tables.umd.js +252 -84
- package/bundles/universis-ngx-tables.umd.js.map +1 -1
- package/bundles/universis-ngx-tables.umd.min.js +1 -1
- package/bundles/universis-ngx-tables.umd.min.js.map +1 -1
- package/esm2015/lib/components/advanced-select/advanced-select.component.js +2 -2
- package/esm2015/lib/components/advanced-table/advanced-table-search.component.js +3 -3
- package/esm2015/lib/components/advanced-table/advanced-table.component.js +18 -6
- package/esm2015/lib/components/advanced-table/advanced-table.formatters.interface.js +4 -2
- package/esm2015/lib/components/advanced-table/advanced-table.formatters.js +195 -58
- package/esm2015/lib/components/advanced-table-modal/advanced-table-modal-base.component.js +17 -10
- package/esm2015/lib/tables.module.js +1 -3
- package/esm5/lib/components/advanced-select/advanced-select.component.js +2 -2
- package/esm5/lib/components/advanced-table/advanced-table-search.component.js +3 -3
- package/esm5/lib/components/advanced-table/advanced-table.component.js +18 -6
- package/esm5/lib/components/advanced-table/advanced-table.formatters.interface.js +4 -2
- package/esm5/lib/components/advanced-table/advanced-table.formatters.js +202 -67
- package/esm5/lib/components/advanced-table-modal/advanced-table-modal-base.component.js +12 -5
- package/esm5/lib/tables.module.js +1 -3
- package/fesm2015/universis-ngx-tables.js +233 -77
- package/fesm2015/universis-ngx-tables.js.map +1 -1
- package/fesm5/universis-ngx-tables.js +233 -81
- package/fesm5/universis-ngx-tables.js.map +1 -1
- package/lib/components/advanced-table/advanced-table.formatters.d.ts +15 -0
- package/lib/components/advanced-table/advanced-table.formatters.interface.d.ts +3 -1
- package/lib/components/advanced-table-modal/advanced-table-modal-base.component.d.ts +5 -1
- package/package.json +1 -1
- package/universis-ngx-tables.metadata.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('iso-639-1/build'), require('
|
|
3
|
-
typeof define === 'function' && define.amd ? define('@universis/ngx-tables', ['exports', 'iso-639-1/build', '
|
|
4
|
-
(factory((global.universis = global.universis || {}, global.universis['ngx-tables'] = {}),global.ISO6391,global.
|
|
5
|
-
}(this, (function (exports,ISO6391,
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('iso-639-1/build'), require('rxjs'), require('jquery'), require('datatables.net'), require('lodash'), require('datatables.net-scroller'), require('rxjs/add/observable/combineLatest'), require('@angular/common/http'), require('@themost/angular'), require('@themost/client'), require('@angular/core'), require('@angular/common'), require('@ngx-translate/core'), require('@angular/forms'), require('@universis/common'), require('@universis/common/routing'), require('@universis/forms'), require('angular-formio'), require('@angular/router'), require('ngx-bootstrap/modal'), require('ngx-bootstrap/progressbar'), require('ngx-pipes')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define('@universis/ngx-tables', ['exports', 'iso-639-1/build', 'rxjs', 'jquery', 'datatables.net', 'lodash', 'datatables.net-scroller', 'rxjs/add/observable/combineLatest', '@angular/common/http', '@themost/angular', '@themost/client', '@angular/core', '@angular/common', '@ngx-translate/core', '@angular/forms', '@universis/common', '@universis/common/routing', '@universis/forms', 'angular-formio', '@angular/router', 'ngx-bootstrap/modal', 'ngx-bootstrap/progressbar', 'ngx-pipes'], factory) :
|
|
4
|
+
(factory((global.universis = global.universis || {}, global.universis['ngx-tables'] = {}),global.ISO6391,global.rxjs,global.jQuery_,null,global.lodash,null,global.rxjs['add/observable/combineLatest'],global.ng.common.http,global.i1,global.client,global.ng.core,global.ng.common,global.core,global.ng.forms,global.i2,global.routing,global.forms$1,global.angularFormio,global.ng.router,global.modal,global.progressbar,global.ngxPipes));
|
|
5
|
+
}(this, (function (exports,ISO6391,rxjs,jQuery_,datatables_net,lodash,datatables_netScroller,combineLatest,http,i1,client,i0,common,core,forms,i2,routing,forms$1,angularFormio,i1$1,modal,progressbar,ngxPipes) { 'use strict';
|
|
6
6
|
|
|
7
7
|
/*! *****************************************************************************
|
|
8
8
|
Copyright (c) Microsoft Corporation.
|
|
@@ -685,6 +685,68 @@
|
|
|
685
685
|
AdvancedColumnFormatter.templateCache.set(expr, result);
|
|
686
686
|
return result;
|
|
687
687
|
};
|
|
688
|
+
AdvancedColumnFormatter.prototype.createUrlTree = function (data, options) {
|
|
689
|
+
if (Array.isArray(options.commands)) {
|
|
690
|
+
var activatedRoute = this.injector.get(i1$1.ActivatedRoute);
|
|
691
|
+
var router = this.injector.get(i1$1.Router);
|
|
692
|
+
var commands = options.commands.map(function (command) {
|
|
693
|
+
if (typeof command === 'string') {
|
|
694
|
+
return AdvancedColumnFormatter.template(command)(data);
|
|
695
|
+
}
|
|
696
|
+
if (command.outlets) {
|
|
697
|
+
var commandOutlets_1 = {};
|
|
698
|
+
Object.keys(command.outlets).forEach(function (key) {
|
|
699
|
+
if (Object.prototype.hasOwnProperty.call(command.outlets, key)) {
|
|
700
|
+
var outlet = command.outlets[key];
|
|
701
|
+
if (Array.isArray(outlet)) {
|
|
702
|
+
Object.defineProperty(commandOutlets_1, key, {
|
|
703
|
+
enumerable: true,
|
|
704
|
+
configurable: true,
|
|
705
|
+
writable: true,
|
|
706
|
+
value: outlet.map(function (x) {
|
|
707
|
+
return AdvancedColumnFormatter.template(x)(data);
|
|
708
|
+
}),
|
|
709
|
+
});
|
|
710
|
+
}
|
|
711
|
+
else {
|
|
712
|
+
Object.defineProperty(commandOutlets_1, key, {
|
|
713
|
+
enumerable: true,
|
|
714
|
+
configurable: true,
|
|
715
|
+
writable: true,
|
|
716
|
+
value: outlet,
|
|
717
|
+
});
|
|
718
|
+
}
|
|
719
|
+
}
|
|
720
|
+
});
|
|
721
|
+
return {
|
|
722
|
+
outlets: commandOutlets_1,
|
|
723
|
+
};
|
|
724
|
+
}
|
|
725
|
+
return command;
|
|
726
|
+
});
|
|
727
|
+
var queryParams_1 = {};
|
|
728
|
+
var replaceUrl = true;
|
|
729
|
+
if (options.navigationExtras && options.navigationExtras.queryParams) {
|
|
730
|
+
Object.keys(options.navigationExtras.queryParams).map(function (key) {
|
|
731
|
+
var text = options.navigationExtras.queryParams[key];
|
|
732
|
+
queryParams_1[key] = AdvancedColumnFormatter.template(text)(data);
|
|
733
|
+
});
|
|
734
|
+
}
|
|
735
|
+
if (options.navigationExtras && typeof options.navigationExtras.replaceUrl !== 'undefined') {
|
|
736
|
+
replaceUrl = options.navigationExtras.replaceUrl;
|
|
737
|
+
}
|
|
738
|
+
var skipLocationChange = false;
|
|
739
|
+
if (options.navigationExtras && typeof options.navigationExtras.skipLocationChange !== 'undefined') {
|
|
740
|
+
skipLocationChange = options.navigationExtras.skipLocationChange;
|
|
741
|
+
}
|
|
742
|
+
return router.createUrlTree(commands, {
|
|
743
|
+
relativeTo: activatedRoute,
|
|
744
|
+
queryParams: queryParams_1,
|
|
745
|
+
replaceUrl: replaceUrl,
|
|
746
|
+
skipLocationChange: skipLocationChange,
|
|
747
|
+
});
|
|
748
|
+
}
|
|
749
|
+
};
|
|
688
750
|
AdvancedColumnFormatter.templateCache = new Map();
|
|
689
751
|
return AdvancedColumnFormatter;
|
|
690
752
|
}());
|
|
@@ -709,7 +771,6 @@
|
|
|
709
771
|
return _super.call(this) || this;
|
|
710
772
|
}
|
|
711
773
|
ButtonFormatter.prototype.render = function (data, type, row, meta) {
|
|
712
|
-
var _this = this;
|
|
713
774
|
if (data == null) {
|
|
714
775
|
return '';
|
|
715
776
|
}
|
|
@@ -732,63 +793,7 @@
|
|
|
732
793
|
buttonTitle = this.injector.get(core.TranslateService).instant(formatOptions.buttonTitle);
|
|
733
794
|
}
|
|
734
795
|
if (Array.isArray(this.formatOptions.commands)) {
|
|
735
|
-
var
|
|
736
|
-
var router = this.injector.get(i1$1.Router);
|
|
737
|
-
var commands = this.formatOptions.commands.map(function (command) {
|
|
738
|
-
if (typeof command === 'string') {
|
|
739
|
-
return AdvancedColumnFormatter.template(command)(row);
|
|
740
|
-
}
|
|
741
|
-
if (command.outlets) {
|
|
742
|
-
var commandOutlets_1 = {};
|
|
743
|
-
Object.keys(command.outlets).forEach(function (key) {
|
|
744
|
-
if (Object.prototype.hasOwnProperty.call(command.outlets, key)) {
|
|
745
|
-
var outlet = command.outlets[key];
|
|
746
|
-
if (Array.isArray(outlet)) {
|
|
747
|
-
Object.defineProperty(commandOutlets_1, key, {
|
|
748
|
-
enumerable: true,
|
|
749
|
-
configurable: true,
|
|
750
|
-
writable: true,
|
|
751
|
-
value: outlet.map(function (x) {
|
|
752
|
-
return AdvancedColumnFormatter.template(x)(row);
|
|
753
|
-
}),
|
|
754
|
-
});
|
|
755
|
-
}
|
|
756
|
-
else {
|
|
757
|
-
Object.defineProperty(commandOutlets_1, key, {
|
|
758
|
-
enumerable: true,
|
|
759
|
-
configurable: true,
|
|
760
|
-
writable: true,
|
|
761
|
-
value: outlet,
|
|
762
|
-
});
|
|
763
|
-
}
|
|
764
|
-
}
|
|
765
|
-
});
|
|
766
|
-
return {
|
|
767
|
-
outlets: commandOutlets_1,
|
|
768
|
-
};
|
|
769
|
-
}
|
|
770
|
-
return command;
|
|
771
|
-
});
|
|
772
|
-
var queryParams_1 = {};
|
|
773
|
-
var replaceUrl = true;
|
|
774
|
-
if (this.formatOptions.navigationExtras && this.formatOptions.navigationExtras.queryParams) {
|
|
775
|
-
Object.keys(this.formatOptions.navigationExtras.queryParams).map(function (key) {
|
|
776
|
-
queryParams_1[key] = AdvancedColumnFormatter.template(_this.formatOptions.navigationExtras.queryParams[key])(row);
|
|
777
|
-
});
|
|
778
|
-
}
|
|
779
|
-
if (this.formatOptions.navigationExtras && typeof this.formatOptions.navigationExtras.replaceUrl !== 'undefined') {
|
|
780
|
-
replaceUrl = this.formatOptions.navigationExtras.replaceUrl;
|
|
781
|
-
}
|
|
782
|
-
var skipLocationChange = false;
|
|
783
|
-
if (this.formatOptions.navigationExtras && typeof this.formatOptions.navigationExtras.skipLocationChange !== 'undefined') {
|
|
784
|
-
skipLocationChange = this.formatOptions.navigationExtras.skipLocationChange;
|
|
785
|
-
}
|
|
786
|
-
var routerLink = router.createUrlTree(commands, {
|
|
787
|
-
relativeTo: activatedRoute,
|
|
788
|
-
queryParams: queryParams_1,
|
|
789
|
-
replaceUrl: replaceUrl,
|
|
790
|
-
skipLocationChange: skipLocationChange,
|
|
791
|
-
}).toString();
|
|
796
|
+
var routerLink = this.createUrlTree(row, this.formatOptions);
|
|
792
797
|
return "<a class=\"" + formatOptions.buttonClass + "\" title=\"" + buttonTitle + "\" href=\"#" + routerLink + "\">" + buttonText + "</a>";
|
|
793
798
|
}
|
|
794
799
|
// and return button
|
|
@@ -848,10 +853,14 @@
|
|
|
848
853
|
}
|
|
849
854
|
}
|
|
850
855
|
// return the dropdown menu with 3 dots
|
|
851
|
-
return "<div class='dropdown details-control' data-id='" + data + "' data-type='student' >\n
|
|
856
|
+
return "<div class='dropdown details-control' data-id='" + data + "' data-type='student' >\n <a id=\"dropdownMenuButton-" + data + "\"\n data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\n <span class=\"fa-2x text-dots\"></span>\n </a>\n <div class=\"dropdown-menu\" aria-labelledby=\"dropdownMenuButton-" + data + "\">\n " + actions.map(function (x) {
|
|
852
857
|
if (x.type === 'divider') {
|
|
853
858
|
return "<div class=\"dropdown-divider\"></div>";
|
|
854
859
|
}
|
|
860
|
+
if (x.formatOptions && x.formatOptions.commands) {
|
|
861
|
+
var urlTree = _this.createUrlTree(row, x.formatOptions);
|
|
862
|
+
return "<a data-name='" + x.name + "' class=\"dropdown-item\" href=\"" + urlTree.toString() + "\">\n " + _this.injector.get(core.TranslateService).instant(x.title) + "\n </a>";
|
|
863
|
+
}
|
|
855
864
|
return "<a data-name='" + x.name + "' class=\"dropdown-item\" href=\"" + AdvancedColumnFormatter.template(x.href)(row) + "\">\n " + _this.injector.get(core.TranslateService).instant(x.title) + "\n </a>";
|
|
856
865
|
})
|
|
857
866
|
.join('') + "\n </div>\n </div>";
|
|
@@ -859,12 +868,149 @@
|
|
|
859
868
|
return data;
|
|
860
869
|
};
|
|
861
870
|
ActionLinkFormatter.prototype.afterRender = function (cell, cellData, rowData, rowIndex, colIndex) {
|
|
862
|
-
// assign bootstrap dropdown
|
|
863
|
-
// tslint:disable-next-line: no-unused-expression
|
|
864
|
-
new bootstrap.Dropdown(cell);
|
|
871
|
+
// assign bootstrap dropdown (?)
|
|
865
872
|
};
|
|
866
873
|
return ActionLinkFormatter;
|
|
867
874
|
}(AdvancedColumnFormatter));
|
|
875
|
+
var ActionButtonFormatter = /** @class */ (function (_super) {
|
|
876
|
+
__extends(ActionButtonFormatter, _super);
|
|
877
|
+
function ActionButtonFormatter() {
|
|
878
|
+
return _super.call(this) || this;
|
|
879
|
+
}
|
|
880
|
+
ActionButtonFormatter.prototype.render = function (data, type, row, meta) {
|
|
881
|
+
var _this = this;
|
|
882
|
+
var e_2, _a;
|
|
883
|
+
// get column
|
|
884
|
+
var column = meta.settings.aoColumns[meta.col];
|
|
885
|
+
if (column && column.data) {
|
|
886
|
+
var actions = this.actions || [];
|
|
887
|
+
var index = 1;
|
|
888
|
+
try {
|
|
889
|
+
for (var actions_2 = __values(actions), actions_2_1 = actions_2.next(); !actions_2_1.done; actions_2_1 = actions_2.next()) {
|
|
890
|
+
var action = actions_2_1.value;
|
|
891
|
+
Object.assign(action, {
|
|
892
|
+
name: action.name || "action" + index,
|
|
893
|
+
});
|
|
894
|
+
index += 1;
|
|
895
|
+
}
|
|
896
|
+
}
|
|
897
|
+
catch (e_2_1) {
|
|
898
|
+
e_2 = { error: e_2_1 };
|
|
899
|
+
}
|
|
900
|
+
finally {
|
|
901
|
+
try {
|
|
902
|
+
if (actions_2_1 && !actions_2_1.done && (_a = actions_2.return))
|
|
903
|
+
_a.call(actions_2);
|
|
904
|
+
}
|
|
905
|
+
finally {
|
|
906
|
+
if (e_2)
|
|
907
|
+
throw e_2.error;
|
|
908
|
+
}
|
|
909
|
+
}
|
|
910
|
+
var buttonText = void 0;
|
|
911
|
+
if (this.formatOptions && this.formatOptions.buttonText) {
|
|
912
|
+
// if button text is a literal expression
|
|
913
|
+
if (this.formatOptions.buttonText.includes('${')) {
|
|
914
|
+
// use template
|
|
915
|
+
buttonText = AdvancedColumnFormatter.template(this.formatOptions.buttonText)(row);
|
|
916
|
+
}
|
|
917
|
+
else {
|
|
918
|
+
// otherwise translate it
|
|
919
|
+
buttonText = this.injector.get(core.TranslateService).instant(this.formatOptions.buttonText);
|
|
920
|
+
}
|
|
921
|
+
}
|
|
922
|
+
var buttonTitle = void 0;
|
|
923
|
+
if (this.formatOptions && this.formatOptions.buttonTitle) {
|
|
924
|
+
buttonTitle = this.injector.get(core.TranslateService).instant(this.formatOptions.buttonTbuttonTitleext);
|
|
925
|
+
}
|
|
926
|
+
var buttonClass = (this.formatOptions && this.formatOptions.buttonClass) || 'btn btn-light';
|
|
927
|
+
// return the dropdown menu with 3 dots
|
|
928
|
+
return "<div class='dropdown details-control' data-id='" + data + "'>\n <a class=\"" + buttonClass + " dropdown-toggle\" href=\"#\" role=\"button\" title=\"" + buttonTitle + "\"\n id=\"dropdownMenuButton-" + data + "\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\n " + buttonText + "\n </a>\n <div class=\"dropdown-menu\" aria-labelledby=\"dropdownMenuButton-" + data + "\">\n " + actions.map(function (x) {
|
|
929
|
+
if (x.type === 'divider') {
|
|
930
|
+
return "<div class=\"dropdown-divider\"></div>";
|
|
931
|
+
}
|
|
932
|
+
if (x.commands) {
|
|
933
|
+
var urlTree = _this.createUrlTree(row, x);
|
|
934
|
+
return "<a class=\"dropdown-item\" href=\"" + urlTree.toString() + "\">\n " + _this.injector.get(core.TranslateService).instant(x.title) + "\n </a>";
|
|
935
|
+
}
|
|
936
|
+
return "<a class=\"dropdown-item\" href=\"" + AdvancedColumnFormatter.template(x.href)(row) + "\">\n " + _this.injector.get(core.TranslateService).instant(x.title) + "\n </a>";
|
|
937
|
+
})
|
|
938
|
+
.join('') + "\n </div>\n </div>";
|
|
939
|
+
}
|
|
940
|
+
return data;
|
|
941
|
+
};
|
|
942
|
+
ActionButtonFormatter.prototype.afterRender = function (cell, cellData, rowData, rowIndex, colIndex) {
|
|
943
|
+
// assign bootstrap dropdown (?)
|
|
944
|
+
};
|
|
945
|
+
return ActionButtonFormatter;
|
|
946
|
+
}(AdvancedColumnFormatter));
|
|
947
|
+
var ActionSplitButtonFormatter = /** @class */ (function (_super) {
|
|
948
|
+
__extends(ActionSplitButtonFormatter, _super);
|
|
949
|
+
function ActionSplitButtonFormatter() {
|
|
950
|
+
return _super.call(this) || this;
|
|
951
|
+
}
|
|
952
|
+
ActionSplitButtonFormatter.prototype.render = function (data, type, row, meta) {
|
|
953
|
+
var _this = this;
|
|
954
|
+
var e_3, _a;
|
|
955
|
+
// get column
|
|
956
|
+
var column = meta.settings.aoColumns[meta.col];
|
|
957
|
+
if (column && column.data) {
|
|
958
|
+
var actions = this.actions || [];
|
|
959
|
+
var index = 1;
|
|
960
|
+
try {
|
|
961
|
+
for (var actions_3 = __values(actions), actions_3_1 = actions_3.next(); !actions_3_1.done; actions_3_1 = actions_3.next()) {
|
|
962
|
+
var action = actions_3_1.value;
|
|
963
|
+
Object.assign(action, {
|
|
964
|
+
name: action.name || "action" + index,
|
|
965
|
+
});
|
|
966
|
+
index += 1;
|
|
967
|
+
}
|
|
968
|
+
}
|
|
969
|
+
catch (e_3_1) {
|
|
970
|
+
e_3 = { error: e_3_1 };
|
|
971
|
+
}
|
|
972
|
+
finally {
|
|
973
|
+
try {
|
|
974
|
+
if (actions_3_1 && !actions_3_1.done && (_a = actions_3.return))
|
|
975
|
+
_a.call(actions_3);
|
|
976
|
+
}
|
|
977
|
+
finally {
|
|
978
|
+
if (e_3)
|
|
979
|
+
throw e_3.error;
|
|
980
|
+
}
|
|
981
|
+
}
|
|
982
|
+
if (actions.length === 0) {
|
|
983
|
+
return;
|
|
984
|
+
}
|
|
985
|
+
var buttonClass = (this.formatOptions && this.formatOptions.buttonClass) || 'btn btn-light';
|
|
986
|
+
// return the dropdown menu with 3 dots
|
|
987
|
+
var defaultAction = actions[0];
|
|
988
|
+
var defaultActionHref = void 0;
|
|
989
|
+
if (defaultAction && defaultAction.commands) {
|
|
990
|
+
defaultActionHref = this.createUrlTree(row, defaultAction).toString();
|
|
991
|
+
}
|
|
992
|
+
else {
|
|
993
|
+
defaultActionHref = AdvancedColumnFormatter.template(defaultAction.href)(row);
|
|
994
|
+
}
|
|
995
|
+
return "<div class=\"btn-group\">\n <a type=\"button\" class=\"" + buttonClass + "\" href=\"" + defaultActionHref + "\">\n " + this.injector.get(core.TranslateService).instant(defaultAction.title) + "\n </a>\n <button type=\"button\" class=\"" + buttonClass + " dropdown-toggle dropdown-toggle-split\"\n data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\n <span class=\"sr-only\">" + this.injector.get(core.TranslateService).instant('Toggle Dropdown') + "</span>\n </button>\n <div class=\"dropdown-menu\" aria-labelledby=\"dropdownMenuButton-" + data + "\">\n " + actions.map(function (x) {
|
|
996
|
+
if (x.title === '-') {
|
|
997
|
+
return "<div class=\"dropdown-divider\"></div>";
|
|
998
|
+
}
|
|
999
|
+
if (x.commands) {
|
|
1000
|
+
var urlTree = _this.createUrlTree(row, x);
|
|
1001
|
+
return "<a class=\"dropdown-item\" href=\"" + urlTree.toString() + "\">\n " + _this.injector.get(core.TranslateService).instant(x.title) + "\n </a>";
|
|
1002
|
+
}
|
|
1003
|
+
return "<a class=\"dropdown-item\" href=\"" + AdvancedColumnFormatter.template(x.href)(row) + "\">\n " + _this.injector.get(core.TranslateService).instant(x.title) + "\n </a>";
|
|
1004
|
+
})
|
|
1005
|
+
.join('') + "\n </div>\n </div>";
|
|
1006
|
+
}
|
|
1007
|
+
return data;
|
|
1008
|
+
};
|
|
1009
|
+
ActionSplitButtonFormatter.prototype.afterRender = function (cell, cellData, rowData, rowIndex, colIndex) {
|
|
1010
|
+
// assign bootstrap dropdown (?)
|
|
1011
|
+
};
|
|
1012
|
+
return ActionSplitButtonFormatter;
|
|
1013
|
+
}(AdvancedColumnFormatter));
|
|
868
1014
|
var SelectRowFormatter = /** @class */ (function (_super) {
|
|
869
1015
|
__extends(SelectRowFormatter, _super);
|
|
870
1016
|
function SelectRowFormatter() {
|
|
@@ -949,7 +1095,7 @@
|
|
|
949
1095
|
return _super.call(this) || this;
|
|
950
1096
|
}
|
|
951
1097
|
NgClassFormatter.prototype.render = function (data, type, row, meta) {
|
|
952
|
-
var
|
|
1098
|
+
var e_4, _a;
|
|
953
1099
|
// get column
|
|
954
1100
|
var column = meta.settings.aoColumns[meta.col];
|
|
955
1101
|
if (column && column.data) {
|
|
@@ -969,8 +1115,8 @@
|
|
|
969
1115
|
}
|
|
970
1116
|
}
|
|
971
1117
|
}
|
|
972
|
-
catch (
|
|
973
|
-
|
|
1118
|
+
catch (e_4_1) {
|
|
1119
|
+
e_4 = { error: e_4_1 };
|
|
974
1120
|
}
|
|
975
1121
|
finally {
|
|
976
1122
|
try {
|
|
@@ -978,8 +1124,8 @@
|
|
|
978
1124
|
_a.call(_b);
|
|
979
1125
|
}
|
|
980
1126
|
finally {
|
|
981
|
-
if (
|
|
982
|
-
throw
|
|
1127
|
+
if (e_4)
|
|
1128
|
+
throw e_4.error;
|
|
983
1129
|
}
|
|
984
1130
|
}
|
|
985
1131
|
}
|
|
@@ -1125,7 +1271,7 @@
|
|
|
1125
1271
|
this.configChanges = new rxjs.BehaviorSubject(null);
|
|
1126
1272
|
this.height = 800;
|
|
1127
1273
|
this.showActions = true;
|
|
1128
|
-
this.autoLoad =
|
|
1274
|
+
this.autoLoad = true;
|
|
1129
1275
|
this.load = new i0.EventEmitter();
|
|
1130
1276
|
this.init = new i0.EventEmitter();
|
|
1131
1277
|
this.reload = new i0.EventEmitter();
|
|
@@ -1585,7 +1731,7 @@
|
|
|
1585
1731
|
});
|
|
1586
1732
|
if (items_1.length > 0) {
|
|
1587
1733
|
Object.assign(columnDefinition, {
|
|
1588
|
-
|
|
1734
|
+
createdCell: function (cell, cellData, rowData, rowIndex, colIndex) {
|
|
1589
1735
|
items_1.forEach(function (columnFormatter) {
|
|
1590
1736
|
var formatter = self._columnFormatters[columnFormatter.formatter];
|
|
1591
1737
|
if (formatter && typeof formatter.afterRender === 'function') {
|
|
@@ -1603,6 +1749,14 @@
|
|
|
1603
1749
|
render: formatter.render.bind(column),
|
|
1604
1750
|
});
|
|
1605
1751
|
}
|
|
1752
|
+
if (formatter && typeof formatter.afterRender === 'function') {
|
|
1753
|
+
Object.assign(columnDefinition, {
|
|
1754
|
+
render: formatter.render.bind(column),
|
|
1755
|
+
});
|
|
1756
|
+
Object.assign(columnDefinition, {
|
|
1757
|
+
createdCell: formatter.afterRender.bind(column),
|
|
1758
|
+
});
|
|
1759
|
+
}
|
|
1606
1760
|
}
|
|
1607
1761
|
return columnDefinition;
|
|
1608
1762
|
});
|
|
@@ -1662,7 +1816,8 @@
|
|
|
1662
1816
|
self.select.emit(row);
|
|
1663
1817
|
});
|
|
1664
1818
|
}
|
|
1665
|
-
tableElement_1.find('input.s-row')
|
|
1819
|
+
var elements = tableElement_1.find('input.s-row');
|
|
1820
|
+
elements.off('click').on('click', _this.onSelectionChange.bind(_this));
|
|
1666
1821
|
// make selection on current page
|
|
1667
1822
|
var key = _this.config.columns[0].property;
|
|
1668
1823
|
if (_this.selected.length > 0) {
|
|
@@ -1874,6 +2029,7 @@
|
|
|
1874
2029
|
}
|
|
1875
2030
|
else {
|
|
1876
2031
|
Object.assign(settings, {
|
|
2032
|
+
scrollY: this.scrollY,
|
|
1877
2033
|
paging: this.paging,
|
|
1878
2034
|
pageLength: this.pageLength,
|
|
1879
2035
|
});
|
|
@@ -1985,7 +2141,7 @@
|
|
|
1985
2141
|
if (item) {
|
|
1986
2142
|
// redraw row
|
|
1987
2143
|
row.data(item);
|
|
1988
|
-
jQuery(row.node()).find(':checkbox').on('click', _this.onSelectionChange.bind(_this));
|
|
2144
|
+
jQuery(row.node()).find(':checkbox').off('click').on('click', _this.onSelectionChange.bind(_this));
|
|
1989
2145
|
// if row is already selected
|
|
1990
2146
|
if (checked) {
|
|
1991
2147
|
_this.selectRow(row, true);
|
|
@@ -2023,6 +2179,7 @@
|
|
|
2023
2179
|
if (findItemIndex < 0) {
|
|
2024
2180
|
// add row to selected rows
|
|
2025
2181
|
this.selected.push(row);
|
|
2182
|
+
this.selectedItems.emit(this.selected);
|
|
2026
2183
|
}
|
|
2027
2184
|
}
|
|
2028
2185
|
else {
|
|
@@ -2036,6 +2193,7 @@
|
|
|
2036
2193
|
});
|
|
2037
2194
|
if (findItemIndex < 0) {
|
|
2038
2195
|
this.unselected.push(row);
|
|
2196
|
+
this.selectedItems.emit(this.selected);
|
|
2039
2197
|
}
|
|
2040
2198
|
}
|
|
2041
2199
|
}
|
|
@@ -2103,7 +2261,7 @@
|
|
|
2103
2261
|
selector: 'app-advanced-table',
|
|
2104
2262
|
template: "\n <table #table class=\"dataTable\">\n </table>\n <div #emptyTable class=\"d-none\">\n <div>\n <div class=\"mt-4\">\n <div class=\"icon-circle bg-gray-300 border-gray-100\"></div>\n </div>\n <div class=\"mt-4\">\n <h4 class=\"font-3xl text-dark\" [translate]=\"'Tables.EmptyTableTitle'\"></h4>\n <p class=\"font-lg text-dark\" [translate]=\"'Tables.EmptyTableMessage'\"></p>\n </div>\n </div>\n </div>\n ",
|
|
2105
2263
|
encapsulation: i0.ViewEncapsulation.None,
|
|
2106
|
-
styles: ["table.dataTable thead .sorting{background-image:none}table.dataTable thead .sorting_asc{background-position:95% 60%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAACXBIWXMAAAsSAAALEgHS3X78AAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAEtJREFUKJFjYBgywAOKMQALFjE/BgaGTCibjYGBYRM+kz0ZGBh2MTAw8DAwMHAxMDBsY2BgCCBGMQzg1IRNMV5NuVAJXIALqmYwAgBBkAlPRCLcLwAAAABJRU5ErkJggg==)}table.dataTable thead .sorting_desc{background-position:95% 60%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAACXBIWXMAAArzAAAK8wHvFRX1AAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAFNJREFUKJHVzTEKgDAQRNGHZfBg2sSTeDMLKwXPYuVJbBKQQEyrH6bZ+cPyWWaElz4kR5cOJ1b0FXnBVRYjjmIUsGGqvX6OmnImYk+JLTkzpPyBGwrtCvfBe56nAAAAAElFTkSuQmCC)}table.dataTable thead th{color:#73818e;font-size:.75rem;font-weight:600;padding-top:16px;padding-bottom:4px;border-bottom:none;padding-left:8px}table.dataTable tbody tr:first-child td:first-child{border-radius:6px 0}table.dataTable tbody tr:first-child td:last-child{border-radius:0 6px}table.dataTable tbody tr{border-radius:6px}table.dataTable tbody tr td:first-child{border-left:1px solid #c2cfd6}table.dataTable tbody tr td:last-child{border-right:1px solid #c2cfd6}table.dataTable tbody tr td{padding-top:
|
|
2264
|
+
styles: ["table.dataTable thead .sorting{background-image:none}table.dataTable thead .sorting_asc{background-position:95% 60%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAACXBIWXMAAAsSAAALEgHS3X78AAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAEtJREFUKJFjYBgywAOKMQALFjE/BgaGTCibjYGBYRM+kz0ZGBh2MTAw8DAwMHAxMDBsY2BgCCBGMQzg1IRNMV5NuVAJXIALqmYwAgBBkAlPRCLcLwAAAABJRU5ErkJggg==)}table.dataTable thead .sorting_desc{background-position:95% 60%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAACXBIWXMAAArzAAAK8wHvFRX1AAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAFNJREFUKJHVzTEKgDAQRNGHZfBg2sSTeDMLKwXPYuVJbBKQQEyrH6bZ+cPyWWaElz4kR5cOJ1b0FXnBVRYjjmIUsGGqvX6OmnImYk+JLTkzpPyBGwrtCvfBe56nAAAAAElFTkSuQmCC)}table.dataTable thead th{color:#73818e;font-size:.75rem;font-weight:600;padding-top:16px;padding-bottom:4px;border-bottom:none;padding-left:8px}table.dataTable tbody tr:first-child td:first-child{border-radius:6px 0}table.dataTable tbody tr:first-child td:last-child{border-radius:0 6px}table.dataTable tbody tr{border-radius:6px}table.dataTable tbody tr td:first-child{border-left:1px solid #c2cfd6}table.dataTable tbody tr td:last-child{border-right:1px solid #c2cfd6}table.dataTable tbody tr td{padding-top:8px;padding-bottom:8px;border-top:1px solid #c2cfd6}table.dataTable tbody tr:last-child td:first-child{border-radius:0 0 0 6px}table.dataTable tbody tr:last-child td:last-child{border-radius:0 0 6px}table.dataTable tbody tr:last-child td{border-bottom:1px solid #c2cfd6}table.dataTable td.dataTables_empty{border:none!important}table.dataTable.no-footer{border-bottom:none}.dataTables_paginate .btn.previous{margin-right:8px}.dataTables_paginate .btn.next{margin-left:8px}.dataTables_info,.dataTables_paginate{margin-top:1rem}.dataTables_paginate span .btn{border-radius:1.5rem}.dataTables_filter{display:none}.dataTables_wrapper.no-footer .dataTables_scrollBody{border-bottom:0;overflow:auto}.dataTables_paginate{display:none}.dataTable.processing{opacity:15%}.dataTables_wrapper .dataTables_processing{background:0 0;position:absolute;display:inline-block;top:25%;z-index:5;color:#73818e}.text-decoration-line-through{text-decoration:line-through!important}tr.removed .checkbox+label{visibility:hidden}"]
|
|
2107
2265
|
}] }
|
|
2108
2266
|
];
|
|
2109
2267
|
/** @nocollapse */
|
|
@@ -2652,7 +2810,7 @@
|
|
|
2652
2810
|
|
|
2653
2811
|
// important: export this const due to AOT compilation errors
|
|
2654
2812
|
// see more https://angular.io/guide/aot-metadata-errors#only-initialized-variables
|
|
2655
|
-
var AdvancedTableModalBaseTemplate = "\n<div>\n <!-- search -->\n <div class=\"row mt-3\">\n <div class=\"col-12 col-lg-3\">\n <div class=\"input-group mb-3\">\n <input spellcheck=\"false\" type=\"text\"\n (keyup)=\"onKeyUp($event)\" [(ngModel)]=\"searchText\"\n class=\"form-control bg-gray-100 border-0\"\n placeholder=\"{{'Tables.SearchPlaceholder' | translate}}\" aria-label=\"Search\" aria-describedby=\"basic-addon2\">\n <div class=\"input-group-append\">\n <button class=\"btn btn-default bg-gray-100 border-0\" type=\"button\">\n <i class=\"fa fa-search text-secondary\"></i>\n </button>\n </div>\n </div>\n </div>\n <div #emptyTable class=\"d-none\">\n <div>\n <div class=\"mt-4\">\n <div class=\"icon-circle bg-gray-300 border-gray-100\"></div>\n </div>\n <div class=\"mt-4\">\n <h4 class=\"font-3xl text-dark\" [translate]=\"'Tables.EmptyTableTitle'\"></h4>\n <p class=\"font-lg text-dark\" [translate]=\"'Tables.EmptyTableMessage'\"></p>\n </div>\n\n </div>\n </div>\n <div class=\"col-12 col-lg-5\">\n <div class=\"btn-toolbar\">\n <button class=\"btn btn-gray-100\">\n <i class=\"fa fa-sliders-h pr-2 text-secondary\" aria-hidden=\"true\"></i>{{'Tables.Filters' | translate}}\n </button>\n <div #dropdownFilter class=\"dropdown ml-3\"
|
|
2813
|
+
var AdvancedTableModalBaseTemplate = "\n<div>\n <!-- search -->\n <div class=\"row mt-3\">\n <div class=\"col-12 col-lg-3\">\n <div class=\"input-group mb-3\">\n <input spellcheck=\"false\" type=\"text\"\n (keyup)=\"onKeyUp($event)\" [(ngModel)]=\"searchText\"\n class=\"form-control bg-gray-100 border-0\"\n placeholder=\"{{'Tables.SearchPlaceholder' | translate}}\" aria-label=\"Search\" aria-describedby=\"basic-addon2\">\n <div class=\"input-group-append\">\n <button class=\"btn btn-default bg-gray-100 border-0\" type=\"button\">\n <i class=\"fa fa-search text-secondary\"></i>\n </button>\n </div>\n </div>\n </div>\n <div #emptyTable class=\"d-none\">\n <div>\n <div class=\"mt-4\">\n <div class=\"icon-circle bg-gray-300 border-gray-100\"></div>\n </div>\n <div class=\"mt-4\">\n <h4 class=\"font-3xl text-dark\" [translate]=\"'Tables.EmptyTableTitle'\"></h4>\n <p class=\"font-lg text-dark\" [translate]=\"'Tables.EmptyTableMessage'\"></p>\n </div>\n\n </div>\n </div>\n <div class=\"col-12 col-lg-5\">\n <div class=\"btn-toolbar\">\n <button class=\"btn btn-gray-100\">\n <i class=\"fa fa-sliders-h pr-2 text-secondary\" aria-hidden=\"true\"></i>{{'Tables.Filters' | translate}}\n </button>\n <div #dropdownFilter class=\"dropdown ml-3\">\n <button class=\"btn btn-gray-100 dropdown-toggle\"\n type=\"button\" id=\"dropdownDefaultFilters\"\n data-toggle=\"dropdown\" dropdownToggle>\n {{ this.defaultFilter.name | translate }}\n </button>\n <div class=\"dropdown-menu\" aria-labelledby=\"dropdownDefaultFilters\">\n <button type=\"button\" class=\"dropdown-item\" *ngFor=\"let filter of defaultFilters\" (click)=\"onFilterSelect(filter)\">\n {{ filter.name | translate }}\n </button>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col text-lg-right mt-3 mt-lg-0\">\n <button [disabled]=\"true\" class=\"btn rounded-pill btn-outline-theme\">\n <span class=\"pr-2 font-lg\">+</span><span [translate]=\"'Tables.AddItem'\"></span>\n </button>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-12\" [ngClass]=\"{ 'component-loading': loading}\">\n <app-advanced-table #advancedTable (init)=\"onTableInit($event)\"\n (load)=\"onDataLoad($event)\"\n [selectable]=\"true\"\n [multipleSelect]=\"true\"\n [scrollX]=\"false\" [scrollY]=\"320\"\n [pageLength]=\"pageLength\"\n [scrollable]=\"false\" [showFooter]=\"false\"\n [showActions]=\"false\" [lengthMenu]=\"lengthMenu\"\n [config]=\"tableConfig\" [configSrc]=\"tableConfigSrc\"></app-advanced-table>\n </div>\n </div>\n <div class=\"row mt-3 table-custom-pager\">\n <div class=\"col-12 d-flex\" *ngIf=\"recordsTotal\">\n <div class=\"mt-2 ml-auto mr-3 text-secondary\" [translate]=\"'Tables.RecordsPerPage'\"></div>\n <div #dropdownLength class=\"dropdown mr-3\">\n <button class=\"btn btn-gray-100 dropdown-toggle\"\n type=\"button\" id=\"dropdownPageSize\" data-toggle=\"dropdown\"\n dropdownToggle>\n {{pageLength}}\n </button>\n <div class=\"dropdown-menu\" aria-labelledby=\"dropdownPageSize\">\n <button (click)=\"setLength(item)\"\n class=\"dropdown-item dropdown-item-theme\"\n type=\"button\" *ngFor=\"let item of lengthMenu\">{{item}}</button>\n </div>\n </div>\n <div class=\"mt-2 mr-2\" [translate]=\"'Tables.PageInfo'\" [translateParams]=\"pageInfo\"></div>\n <button [disabled]=\"pageInfo && pageInfo.page === 0\" class=\"btn text-nowrap\" (click)=\"firstPage()\">\n <i class=\"fa fa-chevron-left text-color-theme\"></i>\n <i class=\"fa fa-chevron-left text-color-theme\"></i>\n </button>\n <button [disabled]=\"pageInfo && pageInfo.page===0\" class=\"btn\" (click)=\"previousPage()\">\n <i class=\"fa fa-chevron-left text-color-theme\"></i>\n </button>\n <button [disabled]=\"pageInfo && pageInfo.page===pageInfo.pages-1\" class=\"btn\" (click)=\"nextPage()\">\n <i class=\"fa fa-chevron-right text-color-theme\"></i>\n </button>\n <button [disabled]=\"pageInfo && pageInfo.page===pageInfo.pages-1\" class=\"btn text-nowrap\" (click)=\"lastPage()\">\n <i class=\"fa fa-chevron-right text-color-theme\"></i>\n <i class=\"fa fa-chevron-right text-color-theme\"></i>\n </button>\n </div>\n </div>\n </div>\n";
|
|
2656
2814
|
var AdvancedTableModalBaseComponent = /** @class */ (function (_super) {
|
|
2657
2815
|
__extends(AdvancedTableModalBaseComponent, _super);
|
|
2658
2816
|
function AdvancedTableModalBaseComponent(_router, _activatedRoute, _context, advancedFilterValueProvider, datePipe) {
|
|
@@ -2821,15 +2979,18 @@
|
|
|
2821
2979
|
}
|
|
2822
2980
|
// Do nothing in absence of configuration.
|
|
2823
2981
|
if (!tableConfig || !Array.isArray(tableConfig.criteria)) {
|
|
2824
|
-
|
|
2982
|
+
return [];
|
|
2983
|
+
}
|
|
2984
|
+
if (searchItem.filter == null) {
|
|
2825
2985
|
return [];
|
|
2826
2986
|
}
|
|
2827
2987
|
var matchedCriterion = tableConfig.criteria.find(function (criterion) {
|
|
2828
2988
|
return Object.prototype.hasOwnProperty.call(searchItem.filter, criterion.name);
|
|
2829
2989
|
});
|
|
2830
|
-
if (
|
|
2990
|
+
if (matchedCriterion == null) {
|
|
2831
2991
|
return [];
|
|
2832
2992
|
}
|
|
2993
|
+
var value = searchItem.filter[matchedCriterion.name];
|
|
2833
2994
|
var criterionSafeName = matchedCriterion.name !== null
|
|
2834
2995
|
? matchedCriterion.name.toString()
|
|
2835
2996
|
: '';
|
|
@@ -2843,7 +3004,7 @@
|
|
|
2843
3004
|
}
|
|
2844
3005
|
else if (criterionSafeName !== 'undefined') {
|
|
2845
3006
|
applicableFilter = (this._template.transform(matchedCriterion.filter, Object.assign({
|
|
2846
|
-
value:
|
|
3007
|
+
value: value
|
|
2847
3008
|
}, defaultFilterValues)));
|
|
2848
3009
|
}
|
|
2849
3010
|
else {
|
|
@@ -2851,6 +3012,9 @@
|
|
|
2851
3012
|
}
|
|
2852
3013
|
return [applicableFilter];
|
|
2853
3014
|
};
|
|
3015
|
+
AdvancedTableModalBaseComponent.prototype.onFilterSelect = function (value) {
|
|
3016
|
+
this.advancedSearch(value);
|
|
3017
|
+
};
|
|
2854
3018
|
/**
|
|
2855
3019
|
*
|
|
2856
3020
|
* Runs a filter against the modal table
|
|
@@ -2907,6 +3071,7 @@
|
|
|
2907
3071
|
};
|
|
2908
3072
|
AdvancedTableModalBaseComponent.decorators = [
|
|
2909
3073
|
{ type: i0.Component, args: [{
|
|
3074
|
+
// tslint:disable-next-line: component-selector
|
|
2910
3075
|
selector: 'app-advanced-table-modal',
|
|
2911
3076
|
template: AdvancedTableModalBaseTemplate,
|
|
2912
3077
|
styles: ["\n\n "]
|
|
@@ -2967,7 +3132,7 @@
|
|
|
2967
3132
|
{ type: i0.Component, args: [{
|
|
2968
3133
|
// tslint:disable-next-line: component-selector
|
|
2969
3134
|
selector: 'app-advanced-select',
|
|
2970
|
-
template: "<div class=\"modal-header\" *ngIf=\"modalTitle\">\n <h5 class=\"modal-title\">{{modalTitle | translate}}</h5>\n <button [disabled]=\"cancelButtonDisabled\" (click)=\"cancel()\" type=\"button\" class=\"close\" data-dismiss=\"modal\"\n aria-label=\"Cancel\">\n <span aria-hidden=\"true\">×</span>\n </button>\n</div>\n<div class=\"modal-body\">\n <div>\n <!-- search -->\n <div class=\"row mt-3\">\n <div class=\"col-12 col-lg-3\">\n <div class=\"input-group mb-3\">\n <input spellcheck=\"false\" type=\"text\" (keyup)=\"onKeyUp($event)\" [(ngModel)]=\"searchText\"\n class=\"form-control bg-gray-100 border-0\" placeholder=\"{{'Tables.SearchPlaceholder' | translate}}\"\n aria-label=\"Search\" aria-describedby=\"basic-addon2\">\n <div class=\"input-group-append\">\n <button class=\"btn btn-default bg-gray-100 border-0\" type=\"button\">\n <i class=\"fa fa-search text-secondary\"></i>\n </button>\n </div>\n </div>\n </div>\n <div #emptyTable class=\"d-none\">\n <div>\n <div class=\"mt-4\">\n <div class=\"icon-circle bg-gray-300 border-gray-100\"></div>\n </div>\n <div class=\"mt-4\">\n <h4 class=\"font-3xl text-dark\" [translate]=\"'Tables.EmptyTableTitle'\"></h4>\n <p class=\"font-lg text-dark\" [translate]=\"'Tables.EmptyTableMessage'\"></p>\n </div>\n\n </div>\n </div>\n <div class=\"col-12 col-lg-5\">\n <div class=\"btn-toolbar\">\n <button class=\"btn btn-gray-100\">\n <i class=\"fa fa-sliders-h pr-2 text-secondary\" aria-hidden=\"true\"></i>{{'Tables.Filters' | translate}}\n </button>\n <div class=\"dropdown ml-3\"
|
|
3135
|
+
template: "<div class=\"modal-header\" *ngIf=\"modalTitle\">\n <h5 class=\"modal-title\">{{modalTitle | translate}}</h5>\n <button [disabled]=\"cancelButtonDisabled\" (click)=\"cancel()\" type=\"button\" class=\"close\" data-dismiss=\"modal\"\n aria-label=\"Cancel\">\n <span aria-hidden=\"true\">×</span>\n </button>\n</div>\n<div class=\"modal-body\">\n <div>\n <!-- search -->\n <div class=\"row mt-3\">\n <div class=\"col-12 col-lg-3\">\n <div class=\"input-group mb-3\">\n <input spellcheck=\"false\" type=\"text\" (keyup)=\"onKeyUp($event)\" [(ngModel)]=\"searchText\"\n class=\"form-control bg-gray-100 border-0\" placeholder=\"{{'Tables.SearchPlaceholder' | translate}}\"\n aria-label=\"Search\" aria-describedby=\"basic-addon2\">\n <div class=\"input-group-append\">\n <button class=\"btn btn-default bg-gray-100 border-0\" type=\"button\">\n <i class=\"fa fa-search text-secondary\"></i>\n </button>\n </div>\n </div>\n </div>\n <div #emptyTable class=\"d-none\">\n <div>\n <div class=\"mt-4\">\n <div class=\"icon-circle bg-gray-300 border-gray-100\"></div>\n </div>\n <div class=\"mt-4\">\n <h4 class=\"font-3xl text-dark\" [translate]=\"'Tables.EmptyTableTitle'\"></h4>\n <p class=\"font-lg text-dark\" [translate]=\"'Tables.EmptyTableMessage'\"></p>\n </div>\n\n </div>\n </div>\n <div class=\"col-12 col-lg-5\">\n <div class=\"btn-toolbar\">\n <button class=\"btn btn-gray-100\">\n <i class=\"fa fa-sliders-h pr-2 text-secondary\" aria-hidden=\"true\"></i>{{'Tables.Filters' | translate}}\n </button>\n <div class=\"dropdown ml-3\">\n <button dropdownToggle class=\"btn btn-gray-100 dropdown-toggle\" type=\"button\" id=\"dropdownDefaultFilters\"\n data-toggle=\"dropdown\">\n {{ this.defaultFilter.name | translate }}\n </button>\n <div class=\"dropdown-menu\" aria-labelledby=\"dropdownDefaultFilters\">\n <a class=\"dropdown-item\" *ngFor=\"let filter of defaultFilters\"\n (click)=\"advancedSearch(filter.filter ? filter : '')\">\n {{ filter.name | translate }}\n </a>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col text-lg-right mt-3 mt-lg-0\">\n <button [disabled]=\"true\" class=\"btn rounded-pill btn-outline-theme\">\n <span class=\"pr-2 font-lg\">+</span><span [translate]=\"'Tables.AddItem'\"></span>\n </button>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-12\" [ngClass]=\"{ 'component-loading': loading}\">\n <app-advanced-table #advancedTable (init)=\"onTableInit($event)\" (load)=\"onDataLoad($event)\"\n [autoLoad]=\"true\"\n [selectable]=\"true\" [multipleSelect]=\"true\" [scrollX]=\"false\" [scrollY]=\"320\" [pageLength]=\"pageLength\"\n [scrollable]=\"false\" [showFooter]=\"false\" [showActions]=\"false\" [lengthMenu]=\"lengthMenu\"\n [config]=\"tableConfig\" [configSrc]=\"tableConfigSrc\"></app-advanced-table>\n </div>\n </div>\n <div class=\"row mt-3 table-custom-pager\">\n <div class=\"col-12 d-flex\" *ngIf=\"recordsTotal\">\n <div class=\"mt-2 ml-auto mr-3 text-secondary\" [translate]=\"'Tables.RecordsPerPage'\"></div>\n <div class=\"dropdown mr-3\">\n <button dropdownToggle class=\"btn btn-gray-100 dropdown-toggle\" type=\"button\" id=\"dropdownPageSize\"\n data-toggle=\"dropdown\">\n {{pageLength}}\n </button>\n <div class=\"dropdown-menu\" aria-labelledby=\"dropdownPageSize\">\n <button (click)=\"setLength(item)\" class=\"dropdown-item dropdown-item-theme\" type=\"button\"\n *ngFor=\"let item of lengthMenu\">{{item}}</button>\n </div>\n </div>\n <div class=\"mt-2 mr-2\" [translate]=\"'Tables.PageInfo'\" [translateParams]=\"pageInfo\"></div>\n <button [disabled]=\"pageInfo && pageInfo.page === 0\" class=\"btn text-nowrap\" (click)=\"firstPage()\">\n <i class=\"fa fa-chevron-left text-color-theme\"></i>\n <i class=\"fa fa-chevron-left text-color-theme\"></i>\n </button>\n <button [disabled]=\"pageInfo && pageInfo.page===0\" class=\"btn\" (click)=\"previousPage()\">\n <i class=\"fa fa-chevron-left text-color-theme\"></i>\n </button>\n <button [disabled]=\"pageInfo && pageInfo.page===pageInfo.pages-1\" class=\"btn\" (click)=\"nextPage()\">\n <i class=\"fa fa-chevron-right text-color-theme\"></i>\n </button>\n <button [disabled]=\"pageInfo && pageInfo.page===pageInfo.pages-1\" class=\"btn text-nowrap\"\n (click)=\"lastPage()\">\n <i class=\"fa fa-chevron-right text-color-theme\"></i>\n <i class=\"fa fa-chevron-right text-color-theme\"></i>\n </button>\n </div>\n </div>\n </div>\n</div>\n<div class=\"modal-footer justify-content-end\">\n <button [disabled]=\"okButtonDisabled\" (click)=\"ok()\" type=\"button\" [ngClass]=\"okButtonClass\">\n {{okButtonText | translate}}\n </button>\n <button [disabled]=\"cancelButtonDisabled\" (click)=\"cancel()\" type=\"button\" [ngClass]=\"cancelButtonClass\"\n data-dismiss=\"modal\">\n {{ cancelButtonText | translate}}\n </button>\n</div>\n",
|
|
2971
3136
|
encapsulation: i0.ViewEncapsulation.None,
|
|
2972
3137
|
styles: ["\n .modal-table .dataTables_wrapper {\n height: 50vh;\n overflow-y: auto;\n }\n "]
|
|
2973
3138
|
}] }
|
|
@@ -3238,7 +3403,7 @@
|
|
|
3238
3403
|
_this.collapsed = true;
|
|
3239
3404
|
_this.allowSave = true;
|
|
3240
3405
|
_this.showMore = true;
|
|
3241
|
-
_this.mergeQueryParams =
|
|
3406
|
+
_this.mergeQueryParams = false;
|
|
3242
3407
|
_this.viewChange = new i0.EventEmitter();
|
|
3243
3408
|
_this.userSearchList = [];
|
|
3244
3409
|
_this.selectedList = null;
|
|
@@ -3738,7 +3903,7 @@
|
|
|
3738
3903
|
{ type: i0.Component, args: [{
|
|
3739
3904
|
// tslint:disable-next-line: component-selector
|
|
3740
3905
|
selector: 'app-advanced-table-search',
|
|
3741
|
-
template: "<div class=\"s--list-navbar d-none d-sm-block\">\n\n <div id=\"collapse-header\" [ngClass]=\"{'show':collapsed}\" class=\"collapse multi-collapse\">\n <form class=\"form-inline p-3 col\">\n <div class=\"form-group col-7\" [ngClass]= \"{ 'col-12': !showMore }\">\n <label class=\"pr-3\" for=\"searchText\" [translate]=\"'Tables.Search'\"></label>\n <input (keydown)=\"onSearchKeyDown($event)\" spellcheck=\"false\" type=\"text\" id=\"searchText\" name=\"searchText\"\n class=\"form-control col text-left\" placeholder=\"{{ 'Tables.SearchPlaceholder' | translate }}\" #searchText>\n </div>\n <div *ngIf=\"showMore\" class=\"col-5 text-right text-secondary\" id=\"heading3\">\n <button class=\"d-inline-block btn btn-link collapsed float-right text-secondary text-decoration-none\"\n type=\"button\" (click)=\"toggleView();\">\n <span class=\"d-none d-sm-inline\" [translate]=\"'AdvancedSearch.More'\"></span>\n <i class=\"ml-2 pt-1 fa fa-chevron-down\"></i>\n </button>\n </div>\n </form>\n </div>\n\n <div id=\"collapse3\" [ngClass]=\"{'show':!collapsed}\" class=\"collapse multi-collapse\" aria-labelledby=\"heading3\">\n <div class=\"row\">\n <div class=\"col-sm-12\">\n <div id=\"advanced-form\">\n <ng-content select=\"advanced-search\"></ng-content>\n <hr class=\"mt-0 mb-0\" width=\"97%\">\n <div class=\"row\">\n <div class=\"col-sm-12\">\n <div class=\"form-inline pb-3 pt-3 pr-1 pl-1 col\">\n\n <div class=\"form-group col-4\">\n <div class=\"d-flex flex-row w-100\" *ngIf=\"allowSave\">\n <label class=\"pr-3 d-none\" [translate]=\"'AdvancedSearch.SavedSearches'\"></label>\n <select *ngIf=\"userSearchList\" class=\"custom-select text-secondary flex col-12\" (change)=\"onSelectUserSearch($event)\" [(ngModel)]=\"selectedList\">\n <option [ngValue]=\"null\" [translate]=\"'AdvancedSearch.Choose'\"></option>\n <option *ngFor=\"let item of userSearchList\" [ngValue]=\"item\">{{ item.name }}</option>\n </select>\n <select *ngIf=\"!userSearchList\" class=\"custom-select flex col-6\">\n <option [value]=\"null\" [translate]=\"'AdvancedSearch.Choose'\"></option>\n </select>\n </div>\n </div>\n\n <div class=\"col-3 d-flex flex-row w-100\">\n <div class=\"btn-group\" *ngIf=\"allowSave\"
|
|
3906
|
+
template: "<div class=\"s--list-navbar d-none d-sm-block\">\n\n <div id=\"collapse-header\" [ngClass]=\"{'show':collapsed}\" class=\"collapse multi-collapse\">\n <form class=\"form-inline p-3 col\">\n <div class=\"form-group col-7\" [ngClass]= \"{ 'col-12': !showMore }\">\n <label class=\"pr-3\" for=\"searchText\" [translate]=\"'Tables.Search'\"></label>\n <input (keydown)=\"onSearchKeyDown($event)\" spellcheck=\"false\" type=\"text\" id=\"searchText\" name=\"searchText\"\n class=\"form-control col text-left\" placeholder=\"{{ 'Tables.SearchPlaceholder' | translate }}\" #searchText>\n </div>\n <div *ngIf=\"showMore\" class=\"col-5 text-right text-secondary\" id=\"heading3\">\n <button class=\"d-inline-block btn btn-link collapsed float-right text-secondary text-decoration-none\"\n type=\"button\" (click)=\"toggleView();\">\n <span class=\"d-none d-sm-inline\" [translate]=\"'AdvancedSearch.More'\"></span>\n <i class=\"ml-2 pt-1 fa fa-chevron-down\"></i>\n </button>\n </div>\n </form>\n </div>\n\n <div id=\"collapse3\" [ngClass]=\"{'show':!collapsed}\" class=\"collapse multi-collapse\" aria-labelledby=\"heading3\">\n <div class=\"row\">\n <div class=\"col-sm-12\">\n <div id=\"advanced-form\">\n <ng-content select=\"advanced-search\"></ng-content>\n <hr class=\"mt-0 mb-0\" width=\"97%\">\n <div class=\"row\">\n <div class=\"col-sm-12\">\n <div class=\"form-inline pb-3 pt-3 pr-1 pl-1 col\">\n\n <div class=\"form-group col-4\">\n <div class=\"d-flex flex-row w-100\" *ngIf=\"allowSave\">\n <label class=\"pr-3 d-none\" [translate]=\"'AdvancedSearch.SavedSearches'\"></label>\n <select *ngIf=\"userSearchList\" class=\"custom-select text-secondary flex col-12\" (change)=\"onSelectUserSearch($event)\" [(ngModel)]=\"selectedList\">\n <option [ngValue]=\"null\" [translate]=\"'AdvancedSearch.Choose'\"></option>\n <option *ngFor=\"let item of userSearchList\" [ngValue]=\"item\">{{ item.name }}</option>\n </select>\n <select *ngIf=\"!userSearchList\" class=\"custom-select flex col-6\">\n <option [value]=\"null\" [translate]=\"'AdvancedSearch.Choose'\"></option>\n </select>\n </div>\n </div>\n\n <div class=\"col-3 d-flex flex-row w-100\">\n <div class=\"btn-group\" *ngIf=\"allowSave\">\n <button type=\"button\" class=\"btn btn-sm btn-primary\" (click)=\"saveSearch(templateToUse, ( (selectedList && selectedList.readOnly) ? true : false ) )\" [translate]=\"'AdvancedSearch.SaveCurrentSearch'\"></button>\n <button type=\"button\" dropdownToggle class=\"btn btn-sm btn-primary dropdown-toggle dropdown-toggle-split\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\n <span class=\"sr-only\" [translate]=\"'AdvancedSearch.ToggleDropdown'\"></span>\n </button>\n\n <div class=\"dropdown-menu\">\n <a [ngClass]=\"{'disabled': selectedList && selectedList.readOnly}\" class=\"dropdown-item\" (click)=\"saveSearch(templateToUse, false)\" [translate]=\"'AdvancedSearch.Save'\" href=\"javascript:void(0)\"></a>\n <a class=\"dropdown-item\" (click)=\"saveSearch(templateToUse)\" [translate]=\"'AdvancedSearch.SaveAs'\" href=\"javascript:void(0)\"></a>\n <div class=\"dropdown-divider\"></div>\n <a [ngClass]=\"{'disabled': selectedList && selectedList.readOnly}\" class=\"dropdown-item\" (click)=\"deleteItemFromSavedSearchListByObject(selectedList)\" [translate]=\"'AdvancedSearch.Delete'\" href=\"javascript:void(0)\"></a>\n </div>\n </div>\n </div>\n\n <div class=\"col-5 text-right text-secondary\">\n <button type=\"button\" class=\"btn btn-light text-secondary pl-2 pr-2 mr-2\" (click)=\"clear()\">\n <i class=\"fa fa-eraser\"></i>\n </button>\n <button type=\"button\" class=\"btn btn-success pl-4 pr-4 mr-2\" (click)=\"advancedSearch($event);\"\n [translate]=\"'Tables.Search'\"></button>\n <button class=\"d-inline-block btn btn-link collapsed float-right text-secondary text-decoration-none\"\n type=\"button\" (click)=\"toggleView();\">\n <span class=\"d-none d-sm-inline\" [translate]=\"'AdvancedSearch.Less'\"></span>\n <i class=\"ml-2 pt-1 fa fa-chevron-up\"></i>\n </button>\n </div>\n\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <ng-template #templateToUse>\n <div class=\"modal-header\">\n <h4 class=\"modal-title pull-left\" [translate]=\"'AdvancedSearch.Modal.Title'\"></h4>\n <button type=\"button\" class=\"close pull-right\" aria-label=\"Close\" (click)=\"modalRef.hide()\">\n <span aria-hidden=\"true\">×</span>\n </button>\n </div>\n <div class=\"modal-body mt-0 mb-0 text-center\">\n <div>\n <p class=\"text-secondary text-left\" [translate]=\"'AdvancedSearch.Modal.Help'\"></p>\n </div>\n <form class=\"p-3 text-center\" #newListForm=\"ngForm\" >\n <div [ngVar]=\"{ name: ( selectedList?.name ? ( selectedList?.name + ' (1)' ) : null ) }\" #model=\"ngVar\">\n <input [(ngModel)]=\"model.value.name\" [required]=\"true\" id=\"newListName\" name=\"newListName\" type=\"text\" class=\"form-control\" placeholder=\"{{ 'AdvancedSearch.Modal.SaveNamePlaceholder' | translate }}\"/>\n <div class=\"btn-group mt-4\">\n <button [disabled]=\"newListForm.invalid\" type=\"button\" class=\"btn btn-primary\" (click)=\"confirmModal(model.value.name)\" [translate]=\"'AdvancedSearch.Modal.Accept'\"></button>\n <button type=\"button\" class=\"btn btn-gray-300 text-white\" (click)=\"closeModal()\" [translate]=\"'AdvancedSearch.Modal.Close'\"></button>\n </div>\n </div>\n </form>\n </div>\n </ng-template>\n\n</div>\n",
|
|
3742
3907
|
encapsulation: i0.ViewEncapsulation.None
|
|
3743
3908
|
}] }
|
|
3744
3909
|
];
|
|
@@ -3781,6 +3946,8 @@
|
|
|
3781
3946
|
TemplateFormatter: new TemplateFormatter(),
|
|
3782
3947
|
TranslationFormatter: new TranslationFormatter(),
|
|
3783
3948
|
TrueFalseFormatter: new TrueFalseFormatter(),
|
|
3949
|
+
ActionButtonFormatter: new ActionButtonFormatter(),
|
|
3950
|
+
ActionSplitButtonFormatter: new ActionSplitButtonFormatter(),
|
|
3784
3951
|
};
|
|
3785
3952
|
|
|
3786
3953
|
var SimpleHeaderToolsComponent = /** @class */ (function () {
|
|
@@ -4617,7 +4784,6 @@
|
|
|
4617
4784
|
forms$1.AdvancedFormsModule,
|
|
4618
4785
|
i2.SharedModule,
|
|
4619
4786
|
modal.ModalModule,
|
|
4620
|
-
dropdown.BsDropdownModule,
|
|
4621
4787
|
progressbar.ProgressbarModule,
|
|
4622
4788
|
ngxPipes.NgPipesModule
|
|
4623
4789
|
],
|
|
@@ -4709,6 +4875,8 @@
|
|
|
4709
4875
|
exports.ButtonFormatter = ButtonFormatter;
|
|
4710
4876
|
exports.LinkFormatter = LinkFormatter;
|
|
4711
4877
|
exports.ActionLinkFormatter = ActionLinkFormatter;
|
|
4878
|
+
exports.ActionButtonFormatter = ActionButtonFormatter;
|
|
4879
|
+
exports.ActionSplitButtonFormatter = ActionSplitButtonFormatter;
|
|
4712
4880
|
exports.SelectRowFormatter = SelectRowFormatter;
|
|
4713
4881
|
exports.TemplateFormatter = TemplateFormatter;
|
|
4714
4882
|
exports.TrueFalseFormatter = TrueFalseFormatter;
|