You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
320 lines
7.2 KiB
320 lines
7.2 KiB
var data = [ |
|
{ |
|
name: "bootstrap-table", |
|
stargazers_count: "526", |
|
forks_count: "122", |
|
description: |
|
"An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3) ", |
|
}, |
|
{ |
|
name: "multiple-select", |
|
stargazers_count: "288", |
|
forks_count: "150", |
|
description: |
|
"A jQuery plugin to select multiple elements with checkboxes :)", |
|
}, |
|
{ |
|
name: "bootstrap-show-password", |
|
stargazers_count: "32", |
|
forks_count: "11", |
|
description: "Show/hide password plugin for twitter bootstrap.", |
|
}, |
|
{ |
|
name: "blog", |
|
stargazers_count: "13", |
|
forks_count: "4", |
|
description: "my blog", |
|
}, |
|
{ |
|
name: "scutech-redmine", |
|
stargazers_count: "6", |
|
forks_count: "3", |
|
description: "Redmine notification tools for chrome extension.", |
|
}, |
|
]; |
|
|
|
$(function () { |
|
$("#smptable").bootstrapTable({ |
|
data: data, |
|
}); |
|
}); |
|
|
|
/*table column*/ |
|
|
|
function buildTable($el, cells, rows) { |
|
var i, |
|
j, |
|
row, |
|
columns = [], |
|
data = []; |
|
|
|
for (i = 0; i < cells; i++) { |
|
columns.push({ |
|
field: "field" + i, |
|
title: "Cell" + i, |
|
}); |
|
} |
|
for (i = 0; i < rows; i++) { |
|
row = {}; |
|
for (j = 0; j < cells; j++) { |
|
row["field" + j] = "Row-" + i + "-" + j; |
|
} |
|
data.push(row); |
|
} |
|
$el.bootstrapTable("destroy").bootstrapTable({ |
|
columns: columns, |
|
data: data, |
|
}); |
|
} |
|
|
|
$(function () { |
|
buildTable($("#clmtable"), 50, 50); |
|
}); |
|
|
|
var $table = $("#exporttable"); |
|
var $remove = $("#remove"); |
|
var selections = []; |
|
|
|
function getIdSelections() { |
|
return $.map($table.bootstrapTable("getSelections"), function (row) { |
|
return row.id; |
|
}); |
|
} |
|
|
|
function responseHandler(res) { |
|
$.each(res.rows, function (i, row) { |
|
row.state = $.inArray(row.id, selections) !== -1; |
|
}); |
|
return res; |
|
} |
|
|
|
function detailFormatter(index, row) { |
|
var html = []; |
|
$.each(row, function (key, value) { |
|
html.push("<p><b>" + key + ":</b> " + value + "</p>"); |
|
}); |
|
return html.join(""); |
|
} |
|
|
|
function operateFormatter(value, row, index) { |
|
return [ |
|
'<a class="like" href="javascript:void(0)" title="Like">', |
|
'<i class="fas fa-heart"></i>', |
|
"</a> ", |
|
'<a class="remove" href="javascript:void(0)" title="Remove">', |
|
'<i class="fas fa-trash"></i>', |
|
"</a>", |
|
].join(""); |
|
} |
|
|
|
window.operateEvents = { |
|
"click .like": function (e, value, row, index) { |
|
alert("You click like action, row: " + JSON.stringify(row)); |
|
}, |
|
"click .remove": function (e, value, row, index) { |
|
$table.bootstrapTable("remove", { |
|
field: "id", |
|
values: [row.id], |
|
}); |
|
}, |
|
}; |
|
|
|
function totalTextFormatter(data) { |
|
return "Total"; |
|
} |
|
|
|
function totalNameFormatter(data) { |
|
return data.length; |
|
} |
|
|
|
function totalPriceFormatter(data) { |
|
var field = this.field; |
|
return ( |
|
"$" + |
|
data |
|
.map(function (row) { |
|
return +row[field].substring(1); |
|
}) |
|
.reduce(function (sum, i) { |
|
return sum + i; |
|
}, 0) |
|
); |
|
} |
|
|
|
function initTable() { |
|
$table.bootstrapTable("destroy").bootstrapTable({ |
|
height: 550, |
|
locale: $("#locale").val(), |
|
icons: { |
|
paginationSwitchDown: "far fa-caret-square-down", |
|
paginationSwitchUp: "far fa-caret-square-up", |
|
refresh: "fas fa-history", |
|
toggleOff: "fas fa-toggle-off", |
|
toggleOn: "fas fa-toggle-on", |
|
columns: "fas fa-list", |
|
fullscreen: "fas fa-expand", |
|
detailOpen: "fas fa-plus-circle", |
|
detailClose: "far fa-times-circle", |
|
export: "fas fa-share-alt", |
|
}, |
|
columns: [ |
|
[ |
|
{ |
|
field: "state", |
|
checkbox: true, |
|
rowspan: 2, |
|
align: "center", |
|
valign: "middle", |
|
}, |
|
{ |
|
title: "Item ID", |
|
field: "id", |
|
rowspan: 2, |
|
align: "center", |
|
valign: "middle", |
|
sortable: true, |
|
footerFormatter: totalTextFormatter, |
|
}, |
|
{ |
|
title: "Item Detail", |
|
colspan: 3, |
|
align: "center", |
|
}, |
|
], |
|
[ |
|
{ |
|
field: "name", |
|
title: "Item Name", |
|
sortable: true, |
|
footerFormatter: totalNameFormatter, |
|
align: "center", |
|
}, |
|
{ |
|
field: "price", |
|
title: "Item Price", |
|
sortable: true, |
|
align: "center", |
|
footerFormatter: totalPriceFormatter, |
|
}, |
|
{ |
|
field: "operate", |
|
title: "Item Operate", |
|
align: "center", |
|
events: window.operateEvents, |
|
formatter: operateFormatter, |
|
}, |
|
], |
|
], |
|
}); |
|
$table.on( |
|
"check.bs.table uncheck.bs.table " + |
|
"check-all.bs.table uncheck-all.bs.table", |
|
function () { |
|
$remove.prop("disabled", !$table.bootstrapTable("getSelections").length); |
|
|
|
// save your data, here just save the current page |
|
selections = getIdSelections(); |
|
// push or splice the selections if you want to save all data selections |
|
} |
|
); |
|
$table.on("expand-row.bs.table", function (e, index, row, $detail) { |
|
if (index % 2 === 1) { |
|
$detail.html("Loading from ajax request..."); |
|
$.get("LICENSE", function (res) { |
|
$detail.html(res.replace(/\n/g, "<br>")); |
|
}); |
|
} |
|
}); |
|
$table.on("all.bs.table", function (e, name, args) { |
|
console.log(name, args); |
|
}); |
|
$remove.click(function () { |
|
var ids = getIdSelections(); |
|
$table.bootstrapTable("remove", { |
|
field: "id", |
|
values: ids, |
|
}); |
|
$remove.prop("disabled", true); |
|
}); |
|
} |
|
|
|
$(function () { |
|
initTable(); |
|
$("#locale").change(initTable); |
|
}); |
|
|
|
var $table1 = $("#tablemodal"); |
|
|
|
$(function () { |
|
$("#modalTable").on("shown.bs.modal", function () { |
|
$table1.bootstrapTable("resetView"); |
|
}); |
|
}); |
|
|
|
var $table2 = $("#subtable"); |
|
|
|
function buildTable($el, cells, rows) { |
|
var i; |
|
var j; |
|
var row; |
|
var columns = []; |
|
var data = []; |
|
|
|
for (i = 0; i < cells; i++) { |
|
columns.push({ |
|
field: "field" + i, |
|
title: "Cell" + i, |
|
sortable: true, |
|
}); |
|
} |
|
for (i = 0; i < rows; i++) { |
|
row = {}; |
|
for (j = 0; j < cells; j++) { |
|
row["field" + j] = "Row-" + i + "-" + j; |
|
} |
|
data.push(row); |
|
} |
|
$el.bootstrapTable({ |
|
columns: columns, |
|
data: data, |
|
detailView: cells > 1, |
|
onExpandRow: function (index, row, $detail) { |
|
/* eslint no-use-before-define: ["error", { "functions": false }]*/ |
|
expandTable($detail, cells - 1); |
|
}, |
|
}); |
|
} |
|
|
|
function expandTable($detail, cells) { |
|
buildTable($detail.html("<table></table>").find("table"), cells, 1); |
|
} |
|
|
|
$(function () { |
|
buildTable($table2, 8, 1); |
|
}); |
|
|
|
var $table3 = $("#localetable"); |
|
|
|
$(function () { |
|
$table3.bootstrapTable(); |
|
$table3.bootstrapTable("destroy").bootstrapTable({ |
|
locale: $("#localetable").val(), |
|
icons: { |
|
paginationSwitchDown: "far fa-caret-square-down", |
|
paginationSwitchUp: "far fa-caret-square-up", |
|
refresh: "fas fa-history", |
|
toggleOff: "fas fa-toggle-off", |
|
toggleOn: "fas fa-toggle-on", |
|
columns: "fas fa-list", |
|
fullscreen: "fas fa-expand", |
|
detailOpen: "fas fa-plus-circle", |
|
detailClose: "far fa-times-circle", |
|
export: "fas fa-share-alt", |
|
}, |
|
}); |
|
$("#localetable").change(function () { |
|
$table3.bootstrapTable("refreshOptions", { |
|
locale: $(this).val(), |
|
}); |
|
}); |
|
});
|
|
|