Skip to content

Commit ee9083f

Browse files
committed
allow for dynamic vue template rendering
1 parent 3d742ee commit ee9083f

File tree

8 files changed

+58
-14
lines changed

8 files changed

+58
-14
lines changed

dist/index.js

Lines changed: 28 additions & 5 deletions
Large diffs are not rendered by default.

dist/index.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

example/App.vue

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,15 @@ export default {
6464
email: { label: 'Email' },
6565
address: {
6666
label: 'Address',
67+
template: '{{ data.street }}, {{ data.suite }}, {{ data.city }} {{ data.zipcode }}'
68+
},
69+
phone: { label: 'Phone' },
70+
website: {
71+
label: 'Website',
6772
render: (data) => {
68-
return `${data.street}, ${data.suite}, ${data.city} ${data.zipcode}`
73+
return `https://${ data }`
6974
}
7075
},
71-
phone: { label: 'Phone' },
72-
website: { label: 'Website' },
7376
actions: {
7477
label: 'Actions',
7578
defaultContent: '<a href="javascript:void(0);" data-action="edit" class="btn btn-primary btn-sm"><i class="mdi mdi-square-edit-outline"></i> Edit</a>' +

lib/index.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/index.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/mix-manifest.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
2-
"/index.js": "/index.js?id=60a271261f3c9348e668",
3-
"/index.js.map": "/index.js.map?id=e728bc86dc8617d43c0f"
2+
"/index.js": "/index.js?id=915839e14c4389063946",
3+
"/index.js.map": "/index.js.map?id=40d6d135deb585d76b5c"
44
}

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "vue-datatables-net",
33
"description": "Vue jQuery DataTables.net wrapper component",
4-
"version": "0.8.4",
4+
"version": "0.8.5",
55
"author": "[email protected]",
66
"license": "MIT",
77
"main": "lib/index.js",

src/VdtnetTable.vue

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,24 @@ export default {
132132
col.orderable = field.sortable
133133
}
134134
135+
if (field.template) {
136+
// must be string template
137+
const res = Vue.compile(`<div>${field.template}</div>`)
138+
field.render = (data, type, row, meta) => {
139+
const comp = new Vue({
140+
data: {
141+
data: data,
142+
type: type,
143+
row: row,
144+
meta: meta
145+
},
146+
render: res.render,
147+
staticRenderFns: res.staticRenderFns
148+
}).$mount()
149+
return jq(comp.$el).html()
150+
}
151+
}
152+
135153
if (field.render) {
136154
col.render = field.render
137155
}

0 commit comments

Comments
 (0)