datatables.net-vue3 3.0.2 → 3.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("vue"),h=["childRow","column-sizing","column-visibility","destroy","draw","error","init","length","order","page","preDraw","preInit","preXhr","processing","requestChild","search","stateLoadParams","stateLoaded","stateSaveParams","xhr","autoFill","preAutoFill","buttons-action","buttons-processing","column-reorder","key","key-blur","key-focus","key-refocus","key-return-submit","responsive-display","responsive-resize","rowgroup-datasrc","pre-row-reorder","row-reorder","row-reordered","dtsb-inserted","deselect","select","select-blur","selectItems","selectStyle","user-select","stateRestore-change"];let m;const D={name:"Datatables.netVue",inheritAttrs:!1,use(u){m=u}},g=n.defineComponent({...D,props:{ajax:null,columns:null,data:null,options:null},emits:h,setup(u,{expose:f}){const i=u,v=n.ref(null),c={},s=n.ref(),w=n.ref([]);n.watch(()=>i.data,t=>{let e=s.value;e&&(p(e),e.clear(),e.rows.add(t).draw(!1))},{deep:!0}),n.onMounted(()=>{var a;const t=n.getCurrentInstance();let e=Object.assign({},i.options)||{};if(i.data&&(e.data=i.data,k(e.data)),i.columns&&(e.columns=i.columns),e.columns&&b(e.columns,t),i.ajax&&(e.ajax=i.ajax),e.columnDefs||(e.columnDefs=[]),t){let l=Object.keys(t.slots);for(let r=0;r<l.length;r++){let o=l[r];if(o.match(/^column\-/)){let d=o.replace("column-","");e.columnDefs.push({target:d.match(/^\d+$/)?parseInt(d):d+":name",render:"#"+o})}}b(e.columnDefs,t)}if(!m)throw new Error("DataTables library not set. See https://datatables.net/tn/19 for details.");s.value=new m(n.unref(v),e),(a=s.value)==null||a.on("preXhr",function(){p(s.value)});for(let l of h)s.value&&t&&s.value.on(l,function(){var r=Array.from(arguments),o=r.shift();r.unshift({event:o,dt:s}),r.unshift(l),t.emit.apply(t,r)})}),n.onBeforeUnmount(()=>{var t;p(s.value),(t=s.value)==null||t.destroy(!0)});function k(t){w.value=t.value?t.value.slice():t.slice()}function y(t){return function(e,a,l,r){let o=r.row+","+r.col;if(!c[o]){let d=n.h("div",t({cellData:e,colIndex:r.col,rowData:l,rowIndex:r.row,type:a}));c[o]=document.createElement("div"),n.render(d,c[o])}return c[o]}}function b(t,e){if(e)for(let l=0;l<t.length;l++){let r=t[l];if(typeof r.render=="string"&&r.render.charAt(0)==="#"){var a=r.render.replace("#","");e.slots[a]&&(r.render=y(e.slots[a]))}else if(typeof r.render=="object"&&typeof r.render.display=="string"&&r.render.display.charAt(0)==="#"){var a=r.render.display.replace("#","");e.slots[a]&&(r.render.display=y(e.slots[a]))}}}function p(t){let e=Object.keys(c),a=t.table().node().id;for(var l=0;l<e.length;l++)e[l].indexOf(a+",")===0&&delete c[e[l]]}return f({dt:s}),(t,e)=>e[0]||(n.setBlockTracking(-1),e[0]=n.createElementVNode("div",{class:"datatable"},[n.createElementVNode("table",n.mergeProps({ref_key:"table",ref:v},t.$attrs,{style:{width:"100%"}}),[n.renderSlot(t.$slots,"default")],16)]),n.setBlockTracking(1),e[0])}}),j=(()=>{const u=g;return u.install=f=>{f.component("Datatables.netVue",u)},u})();exports.DataTable=g;exports.default=j;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
const
|
|
1
|
+
import { defineComponent as x, ref as p, watch as j, onMounted as I, getCurrentInstance as A, unref as E, onBeforeUnmount as O, setBlockTracking as h, createElementVNode as g, mergeProps as R, renderSlot as S, h as T, render as _ } from "vue";
|
|
2
|
+
const w = [
|
|
3
3
|
"childRow",
|
|
4
4
|
"column-sizing",
|
|
5
5
|
"column-visibility",
|
|
@@ -45,123 +45,122 @@ const g = [
|
|
|
45
45
|
"user-select",
|
|
46
46
|
"stateRestore-change"
|
|
47
47
|
];
|
|
48
|
-
let
|
|
49
|
-
const
|
|
48
|
+
let m;
|
|
49
|
+
const C = {
|
|
50
50
|
name: "Datatables.netVue",
|
|
51
51
|
inheritAttrs: !1,
|
|
52
52
|
use(i) {
|
|
53
|
-
|
|
53
|
+
m = i;
|
|
54
54
|
}
|
|
55
|
-
},
|
|
56
|
-
...
|
|
55
|
+
}, L = /* @__PURE__ */ x({
|
|
56
|
+
...C,
|
|
57
57
|
props: {
|
|
58
58
|
ajax: null,
|
|
59
59
|
columns: null,
|
|
60
60
|
data: null,
|
|
61
61
|
options: null
|
|
62
62
|
},
|
|
63
|
-
emits:
|
|
63
|
+
emits: w,
|
|
64
64
|
setup(i, { expose: d }) {
|
|
65
|
-
const
|
|
65
|
+
const o = i, y = p(null), u = {}, l = p(), D = p([]);
|
|
66
66
|
j(
|
|
67
|
-
() =>
|
|
68
|
-
(
|
|
69
|
-
let e =
|
|
70
|
-
|
|
71
|
-
for (var n = Object.keys(o), a = 0; a < n.length; a++)
|
|
72
|
-
delete o[n[a]];
|
|
73
|
-
e.clear(), e.rows.add(r).draw(!1);
|
|
74
|
-
}
|
|
67
|
+
() => o.data,
|
|
68
|
+
(t) => {
|
|
69
|
+
let e = l.value;
|
|
70
|
+
e && (f(e), e.clear(), e.rows.add(t).draw(!1));
|
|
75
71
|
},
|
|
76
72
|
{
|
|
77
73
|
deep: !0
|
|
78
74
|
}
|
|
79
|
-
),
|
|
80
|
-
var
|
|
81
|
-
const
|
|
82
|
-
let e =
|
|
83
|
-
if (
|
|
84
|
-
let
|
|
85
|
-
for (let
|
|
86
|
-
let
|
|
87
|
-
if (
|
|
88
|
-
let
|
|
75
|
+
), I(() => {
|
|
76
|
+
var a;
|
|
77
|
+
const t = A();
|
|
78
|
+
let e = Object.assign({}, o.options) || {};
|
|
79
|
+
if (o.data && (e.data = o.data, k(e.data)), o.columns && (e.columns = o.columns), e.columns && b(e.columns, t), o.ajax && (e.ajax = o.ajax), e.columnDefs || (e.columnDefs = []), t) {
|
|
80
|
+
let n = Object.keys(t.slots);
|
|
81
|
+
for (let r = 0; r < n.length; r++) {
|
|
82
|
+
let s = n[r];
|
|
83
|
+
if (s.match(/^column\-/)) {
|
|
84
|
+
let c = s.replace("column-", "");
|
|
89
85
|
e.columnDefs.push({
|
|
90
|
-
target:
|
|
91
|
-
render: "#" +
|
|
86
|
+
target: c.match(/^\d+$/) ? parseInt(c) : c + ":name",
|
|
87
|
+
render: "#" + s
|
|
92
88
|
});
|
|
93
89
|
}
|
|
94
90
|
}
|
|
95
|
-
|
|
91
|
+
b(e.columnDefs, t);
|
|
96
92
|
}
|
|
97
|
-
if (!
|
|
93
|
+
if (!m)
|
|
98
94
|
throw new Error(
|
|
99
95
|
"DataTables library not set. See https://datatables.net/tn/19 for details."
|
|
100
96
|
);
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
for (var t = 0; t < a.length; t++)
|
|
104
|
-
delete o[a[t]];
|
|
97
|
+
l.value = new m(E(y), e), (a = l.value) == null || a.on("preXhr", function() {
|
|
98
|
+
f(l.value);
|
|
105
99
|
});
|
|
106
|
-
for (let
|
|
107
|
-
|
|
108
|
-
var
|
|
109
|
-
|
|
100
|
+
for (let n of w)
|
|
101
|
+
l.value && t && l.value.on(n, function() {
|
|
102
|
+
var r = Array.from(arguments), s = r.shift();
|
|
103
|
+
r.unshift({ event: s, dt: l }), r.unshift(n), t.emit.apply(t, r);
|
|
110
104
|
});
|
|
111
|
-
}),
|
|
112
|
-
var
|
|
113
|
-
(
|
|
105
|
+
}), O(() => {
|
|
106
|
+
var t;
|
|
107
|
+
f(l.value), (t = l.value) == null || t.destroy(!0);
|
|
114
108
|
});
|
|
115
|
-
function k(
|
|
116
|
-
|
|
109
|
+
function k(t) {
|
|
110
|
+
D.value = t.value ? t.value.slice() : t.slice();
|
|
117
111
|
}
|
|
118
|
-
function
|
|
119
|
-
return function(e,
|
|
120
|
-
let
|
|
121
|
-
if (!
|
|
122
|
-
let
|
|
112
|
+
function v(t) {
|
|
113
|
+
return function(e, a, n, r) {
|
|
114
|
+
let s = r.row + "," + r.col;
|
|
115
|
+
if (!u[s]) {
|
|
116
|
+
let c = T("div", t({
|
|
123
117
|
cellData: e,
|
|
124
|
-
colIndex:
|
|
125
|
-
rowData:
|
|
126
|
-
rowIndex:
|
|
127
|
-
type:
|
|
118
|
+
colIndex: r.col,
|
|
119
|
+
rowData: n,
|
|
120
|
+
rowIndex: r.row,
|
|
121
|
+
type: a
|
|
128
122
|
}));
|
|
129
|
-
|
|
123
|
+
u[s] = document.createElement("div"), _(c, u[s]);
|
|
130
124
|
}
|
|
131
|
-
return
|
|
125
|
+
return u[s];
|
|
132
126
|
};
|
|
133
127
|
}
|
|
134
|
-
function
|
|
128
|
+
function b(t, e) {
|
|
135
129
|
if (e)
|
|
136
|
-
for (let
|
|
137
|
-
let
|
|
138
|
-
if (typeof
|
|
139
|
-
var
|
|
140
|
-
e.slots[
|
|
141
|
-
} else if (typeof
|
|
142
|
-
var
|
|
143
|
-
e.slots[
|
|
130
|
+
for (let n = 0; n < t.length; n++) {
|
|
131
|
+
let r = t[n];
|
|
132
|
+
if (typeof r.render == "string" && r.render.charAt(0) === "#") {
|
|
133
|
+
var a = r.render.replace("#", "");
|
|
134
|
+
e.slots[a] && (r.render = v(e.slots[a]));
|
|
135
|
+
} else if (typeof r.render == "object" && typeof r.render.display == "string" && r.render.display.charAt(0) === "#") {
|
|
136
|
+
var a = r.render.display.replace("#", "");
|
|
137
|
+
e.slots[a] && (r.render.display = v(e.slots[a]));
|
|
144
138
|
}
|
|
145
139
|
}
|
|
146
140
|
}
|
|
141
|
+
function f(t) {
|
|
142
|
+
let e = Object.keys(u), a = t.table().node().id;
|
|
143
|
+
for (var n = 0; n < e.length; n++)
|
|
144
|
+
e[n].indexOf(a + ",") === 0 && delete u[e[n]];
|
|
145
|
+
}
|
|
147
146
|
return d({
|
|
148
|
-
dt:
|
|
149
|
-
}), (
|
|
150
|
-
|
|
147
|
+
dt: l
|
|
148
|
+
}), (t, e) => e[0] || (h(-1), e[0] = g("div", { class: "datatable" }, [
|
|
149
|
+
g("table", R({
|
|
151
150
|
ref_key: "table",
|
|
152
|
-
ref:
|
|
153
|
-
},
|
|
154
|
-
|
|
151
|
+
ref: y
|
|
152
|
+
}, t.$attrs, { style: { width: "100%" } }), [
|
|
153
|
+
S(t.$slots, "default")
|
|
155
154
|
], 16)
|
|
156
|
-
]),
|
|
155
|
+
]), h(1), e[0]);
|
|
157
156
|
}
|
|
158
|
-
}),
|
|
159
|
-
const i =
|
|
157
|
+
}), V = /* @__PURE__ */ (() => {
|
|
158
|
+
const i = L;
|
|
160
159
|
return i.install = (d) => {
|
|
161
160
|
d.component("Datatables.netVue", i);
|
|
162
161
|
}, i;
|
|
163
162
|
})();
|
|
164
163
|
export {
|
|
165
|
-
|
|
166
|
-
|
|
164
|
+
L as DataTable,
|
|
165
|
+
V as default
|
|
167
166
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(l,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],n):(l=typeof globalThis<"u"?globalThis:l||self,n((l.datatables=l.datatables||{},l.datatables["net-vue3"]={}),l.Vue))})(this,function(l,n){"use strict";const
|
|
1
|
+
(function(l,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],n):(l=typeof globalThis<"u"?globalThis:l||self,n((l.datatables=l.datatables||{},l.datatables["net-vue3"]={}),l.Vue))})(this,function(l,n){"use strict";const b=["childRow","column-sizing","column-visibility","destroy","draw","error","init","length","order","page","preDraw","preInit","preXhr","processing","requestChild","search","stateLoadParams","stateLoaded","stateSaveParams","xhr","autoFill","preAutoFill","buttons-action","buttons-processing","column-reorder","key","key-blur","key-focus","key-refocus","key-return-submit","responsive-display","responsive-resize","rowgroup-datasrc","pre-row-reorder","row-reorder","row-reordered","dtsb-inserted","deselect","select","select-blur","selectItems","selectStyle","user-select","stateRestore-change"];let p;const k={name:"Datatables.netVue",inheritAttrs:!1,use(c){p=c}},h=n.defineComponent({...k,props:{ajax:null,columns:null,data:null,options:null},emits:b,setup(c,{expose:m}){const d=c,g=n.ref(null),u={},o=n.ref(),j=n.ref([]);n.watch(()=>d.data,t=>{let e=o.value;e&&(y(e),e.clear(),e.rows.add(t).draw(!1))},{deep:!0}),n.onMounted(()=>{var s;const t=n.getCurrentInstance();let e=Object.assign({},d.options)||{};if(d.data&&(e.data=d.data,x(e.data)),d.columns&&(e.columns=d.columns),e.columns&&v(e.columns,t),d.ajax&&(e.ajax=d.ajax),e.columnDefs||(e.columnDefs=[]),t){let a=Object.keys(t.slots);for(let r=0;r<a.length;r++){let i=a[r];if(i.match(/^column\-/)){let f=i.replace("column-","");e.columnDefs.push({target:f.match(/^\d+$/)?parseInt(f):f+":name",render:"#"+i})}}v(e.columnDefs,t)}if(!p)throw new Error("DataTables library not set. See https://datatables.net/tn/19 for details.");o.value=new p(n.unref(g),e),(s=o.value)==null||s.on("preXhr",function(){y(o.value)});for(let a of b)o.value&&t&&o.value.on(a,function(){var r=Array.from(arguments),i=r.shift();r.unshift({event:i,dt:o}),r.unshift(a),t.emit.apply(t,r)})}),n.onBeforeUnmount(()=>{var t;y(o.value),(t=o.value)==null||t.destroy(!0)});function x(t){j.value=t.value?t.value.slice():t.slice()}function w(t){return function(e,s,a,r){let i=r.row+","+r.col;if(!u[i]){let f=n.h("div",t({cellData:e,colIndex:r.col,rowData:a,rowIndex:r.row,type:s}));u[i]=document.createElement("div"),n.render(f,u[i])}return u[i]}}function v(t,e){if(e)for(let a=0;a<t.length;a++){let r=t[a];if(typeof r.render=="string"&&r.render.charAt(0)==="#"){var s=r.render.replace("#","");e.slots[s]&&(r.render=w(e.slots[s]))}else if(typeof r.render=="object"&&typeof r.render.display=="string"&&r.render.display.charAt(0)==="#"){var s=r.render.display.replace("#","");e.slots[s]&&(r.render.display=w(e.slots[s]))}}}function y(t){let e=Object.keys(u),s=t.table().node().id;for(var a=0;a<e.length;a++)e[a].indexOf(s+",")===0&&delete u[e[a]]}return m({dt:o}),(t,e)=>e[0]||(n.setBlockTracking(-1),e[0]=n.createElementVNode("div",{class:"datatable"},[n.createElementVNode("table",n.mergeProps({ref_key:"table",ref:g},t.$attrs,{style:{width:"100%"}}),[n.renderSlot(t.$slots,"default")],16)]),n.setBlockTracking(1),e[0])}}),D=(()=>{const c=h;return c.install=m=>{m.component("Datatables.netVue",c)},c})();l.DataTable=h,l.default=D,Object.defineProperties(l,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
package/package.json
CHANGED
package/src/DataTable.vue
CHANGED
|
@@ -68,11 +68,7 @@ watch(
|
|
|
68
68
|
return;
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
for (var i = 0; i < keys.length; i++) {
|
|
74
|
-
delete elements[keys[i]];
|
|
75
|
-
}
|
|
71
|
+
deleteElements(api);
|
|
76
72
|
|
|
77
73
|
api.clear();
|
|
78
74
|
api.rows.add(newVal).draw(false);
|
|
@@ -85,7 +81,7 @@ watch(
|
|
|
85
81
|
// lifecycle
|
|
86
82
|
onMounted(() => {
|
|
87
83
|
const inst = getCurrentInstance();
|
|
88
|
-
let options: any = props.options || {};
|
|
84
|
+
let options: any = Object.assign({}, props.options) || {};
|
|
89
85
|
|
|
90
86
|
if (props.data) {
|
|
91
87
|
options.data = props.data;
|
|
@@ -143,11 +139,7 @@ onMounted(() => {
|
|
|
143
139
|
// When server-side processing or Ajax loading data, the data indexes for
|
|
144
140
|
// rows are reused, so we need to clear out any rendered elements for slots.
|
|
145
141
|
dt.value?.on('preXhr', function () {
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
for (var i=0 ; i<keys.length ; i++) {
|
|
149
|
-
delete elements[keys[i]];
|
|
150
|
-
}
|
|
142
|
+
deleteElements(dt.value!);
|
|
151
143
|
});
|
|
152
144
|
|
|
153
145
|
// Re-export all DataTables events by listening for them using DataTable's
|
|
@@ -168,6 +160,7 @@ onMounted(() => {
|
|
|
168
160
|
});
|
|
169
161
|
|
|
170
162
|
onBeforeUnmount(() => {
|
|
163
|
+
deleteElements(dt.value!);
|
|
171
164
|
dt.value?.destroy(true);
|
|
172
165
|
});
|
|
173
166
|
|
|
@@ -230,7 +223,7 @@ function applyRenderers(columns: any[], inst: any) {
|
|
|
230
223
|
}
|
|
231
224
|
}
|
|
232
225
|
else if (
|
|
233
|
-
// Display
|
|
226
|
+
// Display orthogonal data point given as a slot name
|
|
234
227
|
typeof col.render === 'object' &&
|
|
235
228
|
typeof col.render.display === 'string' &&
|
|
236
229
|
col.render.display.charAt(0) === '#'
|
|
@@ -244,6 +237,17 @@ function applyRenderers(columns: any[], inst: any) {
|
|
|
244
237
|
}
|
|
245
238
|
}
|
|
246
239
|
|
|
240
|
+
function deleteElements(dt: Api) {
|
|
241
|
+
let keys = Object.keys(elements);
|
|
242
|
+
let id = (dt.table().node() as any).id;
|
|
243
|
+
|
|
244
|
+
for (var i = 0; i < keys.length; i++) {
|
|
245
|
+
if (keys[i].indexOf(id + ',') === 0) {
|
|
246
|
+
delete elements[keys[i]];
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
|
|
247
251
|
// expose
|
|
248
252
|
defineExpose({
|
|
249
253
|
/**
|