<html>
<head>
<script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
<link href="https://nightly.datatables.net/css/jquery.dataTables.css" rel="stylesheet" type="text/css" />
<script src="https://nightly.datatables.net/js/jquery.dataTables.js"></script>
<script src="https://kit.fontawesome.com/f7473a804c.js" crossorigin="anonymous"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/gh/ashl1/datatables-rowsgroup@master/dataTables.rowsGroup.js"></script>
<meta charset=utf-8 />
<title>DataTables - JS Bin</title>
</head>
<body>
<div id="container">
<h2 id="title">News</h2>
<div class="card border-light bg-light">
<table class="table table-hover hover" id="newsTable">
<thead>
<tr>
<th>ID</th>
<th>News Type</th>
<th>Visibility</th>
<th>Language</th>
<th>Title</th>
<th>Summary</th>
<th></th>
<th></th>
</tr>
</thead>
<tbody id="dataTableBody"></tbody>
</table>
</div>
</div>
</body>
</html>
body {
font: 90%/1.45em "Helvetica Neue", HelveticaNeue, Verdana, Arial, Helvetica, sans-serif;
margin: 0;
padding: 0;
color: #333;
background-color: #fff;
}
.lang, .icon {
text-align: center;
}
.visible {
color: #00b831;
font-size: 12px;
}
.nonvisible {
color: #ed0000;
font-size: 12px;
}
$(function () {
var data = [{"id":3,"news_type":"All Information","visibility":1,"thumbnail":null,"banner":null,"published_date":"23/3/2019","last_modified":"12/5/2020","lang":"ENG","lang_id":1,"title":"Sun","summary":"Pencil","content":"Words"},{"id":3,"news_type":"All Information","visibility":1,"thumbnail":null,"banner":null,"published_date":"23/3/2019","last_modified":"12/5/2020","lang":"CHI","lang_id":2,"title":"Fun","summary":"Pen","content":"Hi"},{"id":4,"news_type":"All Information","visibility":1,"thumbnail":null,"banner":null,"published_date":"23/3/2019","last_modified":"12/5/2020","lang":"ENG","lang_id":1,"title":"Hello","summary":"Smile","content":"Want"},{"id":4,"news_type":"All Information","visibility":1,"thumbnail":null,"banner":null,"published_date":"23/3/2019","last_modified":"12/5/2020","lang":"CHI","lang_id":2,"title":"Nice","summary":"Cold","content":"Warm"},{"id":9,"news_type":"Market Research","visibility":1,"thumbnail":"C:\\Documents\\Newsletters\\Space.png","banner":"C:\\Documents\\Newsletters\\Space.png","published_date":"28/5/2020","last_modified":"28/5/2020","lang":"ENG","lang_id":1,"title":"Rocket","summary":"Space","content":"Stars"},{"id":10,"news_type":"Market Research","visibility":1,"thumbnail":"C:\\Documents\\Newsletters\\Space.png","banner":"C:\\Documents\\Newsletters\\Space.png","published_date":"28/5/2020","last_modified":"28/5/2020","lang":"ENG","lang_id":1,"title":"Eyes","summary":"Space","content":"Stars"},{"id":10,"news_type":"Market Research","visibility":1,"thumbnail":"C:\\Documents\\Newsletters\\Space.png","banner":"C:\\Documents\\Newsletters\\Space.png","published_date":"28/5/2020","last_modified":"28/5/2020","lang":"CHI","lang_id":2,"title":"示范","summary":"苹果","content":"电脑"},{"id":12,"news_type":"Market Research","visibility":1,"thumbnail":"C:\\Documents\\Newsletters\\Space.png","banner":"C:\\Documents\\Newsletters\\Space.png","published_date":"28/5/2020","last_modified":"28/5/2020","lang":"ENG","lang_id":1,"title":"Astro","summary":"Space","content":"Stars"},{"id":13,"news_type":"Market Research","visibility":1,"thumbnail":"mountains_clouds_forest_lake_trees_camping_3419x1843.jpg","banner":"mountains_clouds_forest_lake_trees_camping_3419x1843.jpg","published_date":"1/6/2020","last_modified":"1/6/2020","lang":"ENG","lang_id":1,"title":"Campaign","summary":"Ship","content":"Work"},{"id":22,"news_type":"Financial Report","visibility":1,"thumbnail":"macOS_Catalina_Dark.jpg","banner":"macOS_Catalina_Dark.jpg","published_date":"2/6/2020","last_modified":"2/6/2020","lang":"CHI","lang_id":2,"title":"Night","summary":"Poland","content":"View"},{"id":26,"news_type":"Shopping Guide","visibility":1,"thumbnail":"","banner":"","published_date":"8/6/2020","last_modified":"8/6/2020","lang":"CHI","lang_id":2,"title":"z","summary":"z","content":"z"},{"id":27,"news_type":"Shopping Guide","visibility":1,"thumbnail":"","banner":"","published_date":"8/6/2020","last_modified":"8/6/2020","lang":"CHI","lang_id":2,"title":"2020年全球最佳留学国家排名榜-加拿大名列第一!","summary":"几天前,全球教育网发布了2020年全球最佳留学国家排行榜TOP10。\n这份排名更多的专注于学生留学的体验感,如果你更多的想享受你的留学生活,不妨来看看这个排行榜。","content":"加拿大雄踞榜首,澳大利亚位居第二位,德国排名第三,而美国和英国分别位居第五位和第八位。\n\nTop1 加拿大\n\n加拿大的教育体系是世界顶尖的,这毋庸置疑。加拿大属于北美教育体系,这种体系被全世界范围内广泛认可。它既兼具着美国体系的灵活创新,又不乏英联邦教育体制的严谨!\n\n加拿大的大学90%都是公立制的,比如说著名的多伦多大学,英属哥伦比亚大学,皇后大学,滑铁卢大学等等,都是公立大学!\n\nTop2 澳大利亚\n\n澳大利亚在获得高质量教育方面排名第三,在墨尔本,悉尼和布里斯班等城市拥有许多顶尖大学例如悉尼大学、墨尔本大学等。\n\n此外澳大利亚在结交新朋友方面的能力也排名第三,在个人发展方面排名第七,这证明了澳大利亚所提供的不仅仅是优质的教育。\n\nTop3 德国\n\n德国是世界上第三大留学地带,是欧洲留学的热门选择。德国在获得高质量教育方面排名第一,无论你是对慕尼黑,柏林或法兰克福等城市的城市氛围感兴趣,还是对马尔堡和弗莱堡童话般的小镇感兴趣,都可以获得世界一流的教育!\n\nTop4 瑞士\n\n在瑞士,生活质量很高,教育质量也很高。尽管瑞士人以其巧克力,奶酪,手表和军刀而享誉国际,但瑞士的大学在教育质量上也名列前茅。\n\n瑞士是一个美丽的国家,拥有壮丽的景色和世界一流的城市,也被认为是世界上最安全的国家之一,因此学生们可以放心探索。\n\nTop5 美国\n\n对于许多想出国旅行的学生来说,美国可谓提供了无尽的机会。这个广阔的国家横跨大西洋和太平洋,为每个州提供了独特的体验。并且美国在获得更高质量的教学,文化和生活方式方面名列世界第五!\n\nTop6 瑞典\n\n瑞典有斯德哥尔摩大学、乌普萨拉大学及隆德大学等30多所学校可供留学生选择。在“实现我的职业目标\"这一指标排名中,瑞典位居世界第一。得益于瑞典迅速成长的初创企业及该国国民很高的英语水平,在瑞典留学的国际留学生在毕业后会有很多发展机会。\n\nTop7 荷兰\n\n如果舒适的咖啡馆、广阔的郁金香田野和运河旁步道引起了大家的兴趣,那么荷兰应该是大家的留学目的地!荷兰的大学以其很高的英语水平而闻名,会提供许多英语课程,因此国际留学生可以找到适合自己的课程。并且,荷兰语也被认为是最容易学习的语言之一!\n\nTop8 英国\n\n从伦敦繁华的城市环境到爱丁堡的中世纪街道,留学生们一定都会爱上英国。由于拥有牛津大学和剑桥大学等世界著名优质大学,英国在“获得更高水平的教学\"这一因素排名上位居第二。"},{"id":28,"news_type":"Breaking News","visibility":0,"thumbnail":"","banner":"","published_date":"10/6/2020","last_modified":"10/6/2020","lang":"ENG","lang_id":1,"title":"Nod","summary":"Break","content":"Here"}];
var table = $('#newsTable').DataTable({
dom: 'Bfrtip',
buttons: [
{
text: 'Reset order',
action: function (e, dt, node, config) {
$('#newsTable').dataTable().fnSortNeutral();
}
}
],
data: data,
columns: [
{
"data": "id",
"name": "recId"
},
{
"data": "news_type",
"name": "type"
},
{
"data": "visibility",
"name": "vis",
"render": function (data, type, row) {
//console.log(data);
var text = "";
if (data == "1") {
text = "<i class='fa fa-circle visible'></i>";
} else {
text = "<i class='fa fa-circle nonvisible'></i>";
}
data = text;
return data;
},
},
{ "data": "lang" },
{ "data": "title" },
{ "data": "summary" },
{
"data": null,
"render": function (data, type, row) {
return '<button type="button" onclick="onEditButtonClick(event)" class="btn btn-md btn-primary" rid="` + data.id + `" lang_id="` + data.lang_id + `"><i class="fa fa-edit"style="pointer-events:none"></i> Edit</button>';
}
},
{
"data": null,
"render": function (data, type, row) {
return '<button type="button" onclick="onDeleteButtonClick(event)" class="btn btn-md btn-danger" rid="` + data.id + `" lang_id="` + data.lang_id + `"><i class="fa fa-trash" style="pointer-events:none"></i> Delete</button>';
}
}
],
rowsGroup: [// Always the array (!) of the column-selectors in specified order to which rows groupping is applied
// (column-selector could be any of specified in https://datatables.net/reference/type/column-selector)
'recId:name',
'type:name',
'vis:name'
],
columnDefs: [
{ "orderable": false, "targets": [0, 6, 7] },
{ "className": "dt-center", "targets": [2, 3] }
//,{ "visible": false, "targets": 1 }
],
order: [[0, 'asc']]
});
$.ajax({
data: data,
dataType: 'json',
success: function (json) {
table.rows.add(json).order.neutral().draw();
}
});
table.on('order.dt search.dt', function () {
var counter = 1;
var index = 0;
sortedNews = table.rows({ filter: 'applied' }).data();
table.column(0, { search: 'applied', order: 'applied' }).nodes().each(function (cell, i) {
if (index < sortedNews.length - 1) {
if (sortedNews[index].id != sortedNews[index + 1].id) {
cell.innerHTML = counter;
counter += 1;
}
else {
cell.innerHTML = counter;
}
index++;
} else if (index == sortedNews.length - 1) {
cell.innerHTML = counter;
}
});
}).draw();
});
You can jump to the latest bin by adding /latest
to your URL
Shortcut | Action |
---|---|
ctrl + [num] | Toggle nth panel |
ctrl + 0 | Close focused panel |
ctrl + enter | Re-render output. If console visible: run JS in console |
Ctrl + l | Clear the console |
ctrl + / | Toggle comment on selected lines |
ctrl + [ | Indents selected lines |
ctrl + ] | Unindents selected lines |
tab | Code complete & Emmet expand |
ctrl + s | Save & lock current Bin from further changes |
ctrl + shift + s | Clone Bin |
ctrl + y | Archive Bin |
Complete list of JS Bin shortcuts |
URL | Action |
---|---|
/ | Show the full rendered output. This content will update in real time as it's updated from the /edit url. |
/edit | Edit the current bin |
/watch | Follow a Code Casting session |
/embed | Create an embeddable version of the bin |
/latest | Load the very latest bin (/latest goes in place of the revision) |
/[username]/last | View the last edited bin for this user |
/[username]/last/edit | Edit the last edited bin for this user |
/[username]/last/watch | Follow the Code Casting session for the latest bin for this user |
/quiet | Remove analytics and edit button from rendered output |
.js | Load only the JavaScript for a bin |
.css | Load only the CSS for a bin |
Except for username prefixed urls, the url may start with http://jsbin.com/abc and the url fragments can be added to the url to view it differently. |