Supports items field to have only 1 item #283

pull/331/head^2
Alper Ebicoglu 7 years ago
parent d075a14e43
commit 5acbc64499

@ -2,11 +2,47 @@
(function ($) {
/************************************************************************
* RECORD-ACTIONS extension for datatables *
* RECORD-ACTIONS extension for datatables
---------------------------------------------------------------
* USAGE: element (creates the JQuery element and puts in the specified target)
{
targets: 0,
rowAction:
{
element: $("<button/>")
.addClass("btn btn-primary btn-sm m-btn--icon")
.text("My button")
.prepend($("<i/>").addClass("la la-sign-in"))
.click(function () {
console.log($(this).data());
})
},
},
---------------------------------------------------------------
* USAGE: items (create a list of items)
{
targets: 0,
rowAction:
{
text: 'My actions',
items:
[
{
text: "My first action",
visible: function () {
return true;
},
action: function (data) {
console.log(data.record);
}
}
]
}
},
*************************************************************************/
var recordActions = function() {
var recordActions = function () {
if (!$.fn.dataTableExt) {
return;
}
@ -26,7 +62,7 @@
if (!$(this).closest('li').hasClass('disabled')) {
if (fieldItem.confirmMessage) {
abp.message.confirm(fieldItem.confirmMessage({ record: record }))
.done(function(accepted) {
.done(function (accepted) {
if (accepted) {
fieldItem.action({ record: record });
}
@ -110,16 +146,18 @@
};
var _createRowAction = function (record, field, tableInstance) {
if (field.items && field.items.length > 1) {
if (field.items && field.items.length > 0) {
return _createButtonDropdown(record, field, tableInstance);
} else if (field.element) {
var $singleActionButton = _createSingleButton(record, field);
if ($singleActionButton != "") {
return $singleActionButton.clone(true);
if ($singleActionButton === "") {
return "";
}
return $singleActionButton.clone(true);
}
return "";
throw "Cannot create row action. Either set element or items fields!";
}
var hideColumnWithoutRedraw = function (tableInstance, colIndex) {
@ -185,15 +223,15 @@
});
}();
/************************************************************************
* AJAX extension for datatables *
*************************************************************************/
var ajaxActions = function() {
var ajaxActions = function () {
var datatables = abp.utils.createNamespace(abp, 'libs.datatables');
datatables.createAjax = function(serverMethod, inputAction) {
return function(requestData, callback, settings) {
datatables.createAjax = function (serverMethod, inputAction) {
return function (requestData, callback, settings) {
var input = inputAction ? inputAction() : {};
//Paging
@ -216,7 +254,7 @@
}
if (callback) {
serverMethod(input).then(function(result) {
serverMethod(input).then(function (result) {
callback({
recordsTotal: result.totalCount,
recordsFiltered: result.totalCount,

Loading…
Cancel
Save