From ab6e8eb8e5c730c050d6eb1f62b04611451671b4 Mon Sep 17 00:00:00 2001 From: Eugen Neuber <eugen.neuber@tugraz.at> Date: Wed, 21 Aug 2019 14:14:08 +0200 Subject: [PATCH] Add special rendering of cells bases on content (not column number), more like a proof-of-concept --- .../data-table-view/src/data-table-view.js | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/packages/data-table-view/src/data-table-view.js b/packages/data-table-view/src/data-table-view.js index 90cc41b9..123f2e8c 100644 --- a/packages/data-table-view/src/data-table-view.js +++ b/packages/data-table-view/src/data-table-view.js @@ -121,6 +121,29 @@ class DataTableView extends LitElement { data: [], paging: this.paging, searching: this.searching, + columnDefs: [ + { + "render": function ( data, type, row ) { + let itemText = data; + if (itemText) { + let dat = itemText.toString(); + if (dat.match(/\+\d{2} \(\d+\) \d+/)) { + itemText = "<a href='tel:" + dat + "'>" + dat + '</a>'; + } else if (dat.match(/\w+(?:\+\w+)?@(?:\w+\.)+\w+/)) { + itemText = "<a href='mailto:" + dat + "'>" + dat + '</a>'; + } else if (dat.match(/(\d{4})-(\d{2})-(\d{2})/)) { + itemText = dat.replace(/(\d{4})-(\d{2})-(\d{2})/, "$3.$2.$1"); + // itemText = dat.replace(/(\d{4})-(\d{2})-(\d{2})/, "<input type='date' value='$1-$2-$3' min='$1-$2-$3' max='$1-$2-$3'>"); + // } else if (dat.match(/CAT-\d+/)) { + // itemText = '<button>' + dat + '</button>'; + } + } + // console.log(data); + return itemText; + }, + "targets": [...columns.keys()] + }, + ] }); try { -- GitLab