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