datatables.net-vue3 3.0.0 → 3.0.2
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 l=require("vue"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("vue"),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(i){p=i}},h=l.defineComponent({...k,props:{ajax:null,columns:null,data:null,options:null},emits:b,setup(i,{expose:f}){const o=i,m=l.ref(null),u={},c=l.ref(),g=l.ref([]);l.watch(()=>o.data,r=>{let e=c.value;if(e){for(var n=Object.keys(u),a=0;a<n.length;a++)delete u[n[a]];e.clear(),e.rows.add(r).draw(!1)}},{deep:!0}),l.onMounted(()=>{var n;const r=l.getCurrentInstance();let e=o.options||{};if(o.data&&(e.data=o.data,w(e.data)),o.columns&&(e.columns=o.columns),e.columns&&v(e.columns,r),o.ajax&&(e.ajax=o.ajax),e.columnDefs||(e.columnDefs=[]),r){let a=Object.keys(r.slots);for(let t=0;t<a.length;t++){let s=a[t];if(s.match(/^column\-/)){let d=s.replace("column-","");e.columnDefs.push({target:d.match(/^\d+$/)?parseInt(d):d+":name",render:"#"+s})}}v(e.columnDefs,r)}if(!p)throw new Error("DataTables library not set. See https://datatables.net/tn/19 for details.");c.value=new p(l.unref(m),e),(n=c.value)==null||n.on("preXhr",function(){let a=Object.keys(u);for(var t=0;t<a.length;t++)delete u[a[t]]});for(let a of b)c.value&&r&&c.value.on(a,function(){var t=Array.from(arguments),s=t.shift();t.unshift({event:s,dt:c}),t.unshift(a),r.emit.apply(r,t)})}),l.onBeforeUnmount(()=>{var r;(r=c.value)==null||r.destroy(!0)});function w(r){g.value=r.value?r.value.slice():r.slice()}function y(r){return function(e,n,a,t){let s=t.row+","+t.col;if(!u[s]){let d=l.h("div",r({cellData:e,colIndex:t.col,rowData:a,rowIndex:t.row,type:n}));u[s]=document.createElement("div"),l.render(d,u[s])}return u[s]}}function v(r,e){if(e)for(let a=0;a<r.length;a++){let t=r[a];if(typeof t.render=="string"&&t.render.charAt(0)==="#"){var n=t.render.replace("#","");e.slots[n]&&(t.render=y(e.slots[n]))}else if(typeof t.render=="object"&&typeof t.render.display=="string"&&t.render.display.charAt(0)==="#"){var n=t.render.display.replace("#","");e.slots[n]&&(t.render.display=y(e.slots[n]))}}}return f({dt:c}),(r,e)=>e[0]||(l.setBlockTracking(-1),e[0]=l.createElementVNode("div",{class:"datatable"},[l.createElementVNode("table",l.mergeProps({ref_key:"table",ref:m},r.$attrs,{style:{width:"100%"}}),[l.renderSlot(r.$slots,"default")],16)]),l.setBlockTracking(1),e[0])}}),D=(()=>{const i=h;return i.install=f=>{f.component("Datatables.netVue",i)},i})();exports.DataTable=h;exports.default=D;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
const
|
|
1
|
+
import { defineComponent as D, ref as f, watch as j, onMounted as x, getCurrentInstance as I, unref as A, onBeforeUnmount as E, setBlockTracking as b, createElementVNode as h, mergeProps as O, renderSlot as R, h as S, render as T } from "vue";
|
|
2
|
+
const g = [
|
|
3
3
|
"childRow",
|
|
4
4
|
"column-sizing",
|
|
5
5
|
"column-visibility",
|
|
@@ -45,118 +45,123 @@ const h = [
|
|
|
45
45
|
"user-select",
|
|
46
46
|
"stateRestore-change"
|
|
47
47
|
];
|
|
48
|
-
let
|
|
49
|
-
const
|
|
48
|
+
let p;
|
|
49
|
+
const _ = {
|
|
50
50
|
name: "Datatables.netVue",
|
|
51
51
|
inheritAttrs: !1,
|
|
52
|
-
use(
|
|
53
|
-
|
|
52
|
+
use(i) {
|
|
53
|
+
p = i;
|
|
54
54
|
}
|
|
55
|
-
},
|
|
56
|
-
...
|
|
55
|
+
}, C = /* @__PURE__ */ D({
|
|
56
|
+
..._,
|
|
57
57
|
props: {
|
|
58
58
|
ajax: null,
|
|
59
59
|
columns: null,
|
|
60
60
|
data: null,
|
|
61
61
|
options: null
|
|
62
62
|
},
|
|
63
|
-
emits:
|
|
64
|
-
setup(
|
|
65
|
-
const s =
|
|
66
|
-
|
|
63
|
+
emits: g,
|
|
64
|
+
setup(i, { expose: d }) {
|
|
65
|
+
const s = i, m = f(null), o = {}, c = f(), w = f([]);
|
|
66
|
+
j(
|
|
67
67
|
() => s.data,
|
|
68
|
-
(
|
|
69
|
-
let e =
|
|
68
|
+
(r) => {
|
|
69
|
+
let e = c.value;
|
|
70
70
|
if (e) {
|
|
71
|
-
for (var n = Object.keys(
|
|
72
|
-
delete
|
|
73
|
-
e.clear(), e.rows.add(
|
|
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
74
|
}
|
|
75
75
|
},
|
|
76
76
|
{
|
|
77
77
|
deep: !0
|
|
78
78
|
}
|
|
79
|
-
),
|
|
80
|
-
|
|
79
|
+
), x(() => {
|
|
80
|
+
var n;
|
|
81
|
+
const r = I();
|
|
81
82
|
let e = s.options || {};
|
|
82
|
-
if (s.data && (e.data = s.data,
|
|
83
|
-
let
|
|
84
|
-
for (let
|
|
85
|
-
let
|
|
86
|
-
if (
|
|
87
|
-
let
|
|
83
|
+
if (s.data && (e.data = s.data, k(e.data)), s.columns && (e.columns = s.columns), e.columns && v(e.columns, r), s.ajax && (e.ajax = s.ajax), e.columnDefs || (e.columnDefs = []), r) {
|
|
84
|
+
let a = Object.keys(r.slots);
|
|
85
|
+
for (let t = 0; t < a.length; t++) {
|
|
86
|
+
let l = a[t];
|
|
87
|
+
if (l.match(/^column\-/)) {
|
|
88
|
+
let u = l.replace("column-", "");
|
|
88
89
|
e.columnDefs.push({
|
|
89
|
-
target:
|
|
90
|
-
render: "#" +
|
|
90
|
+
target: u.match(/^\d+$/) ? parseInt(u) : u + ":name",
|
|
91
|
+
render: "#" + l
|
|
91
92
|
});
|
|
92
93
|
}
|
|
93
94
|
}
|
|
94
|
-
|
|
95
|
+
v(e.columnDefs, r);
|
|
95
96
|
}
|
|
96
|
-
if (!
|
|
97
|
+
if (!p)
|
|
97
98
|
throw new Error(
|
|
98
99
|
"DataTables library not set. See https://datatables.net/tn/19 for details."
|
|
99
100
|
);
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
101
|
+
c.value = new p(A(m), e), (n = c.value) == null || n.on("preXhr", function() {
|
|
102
|
+
let a = Object.keys(o);
|
|
103
|
+
for (var t = 0; t < a.length; t++)
|
|
104
|
+
delete o[a[t]];
|
|
105
|
+
});
|
|
106
|
+
for (let a of g)
|
|
107
|
+
c.value && r && c.value.on(a, function() {
|
|
108
|
+
var t = Array.from(arguments), l = t.shift();
|
|
109
|
+
t.unshift({ event: l, dt: c }), t.unshift(a), r.emit.apply(r, t);
|
|
105
110
|
});
|
|
106
111
|
}), E(() => {
|
|
107
|
-
var
|
|
108
|
-
(
|
|
112
|
+
var r;
|
|
113
|
+
(r = c.value) == null || r.destroy(!0);
|
|
109
114
|
});
|
|
110
|
-
function
|
|
111
|
-
|
|
115
|
+
function k(r) {
|
|
116
|
+
w.value = r.value ? r.value.slice() : r.slice();
|
|
112
117
|
}
|
|
113
|
-
function
|
|
114
|
-
return function(e, n, a,
|
|
115
|
-
let l =
|
|
116
|
-
if (!
|
|
117
|
-
let
|
|
118
|
+
function y(r) {
|
|
119
|
+
return function(e, n, a, t) {
|
|
120
|
+
let l = t.row + "," + t.col;
|
|
121
|
+
if (!o[l]) {
|
|
122
|
+
let u = S("div", r({
|
|
118
123
|
cellData: e,
|
|
119
|
-
colIndex:
|
|
124
|
+
colIndex: t.col,
|
|
120
125
|
rowData: a,
|
|
121
|
-
rowIndex:
|
|
126
|
+
rowIndex: t.row,
|
|
122
127
|
type: n
|
|
123
128
|
}));
|
|
124
|
-
|
|
129
|
+
o[l] = document.createElement("div"), T(u, o[l]);
|
|
125
130
|
}
|
|
126
|
-
return
|
|
131
|
+
return o[l];
|
|
127
132
|
};
|
|
128
133
|
}
|
|
129
|
-
function
|
|
134
|
+
function v(r, e) {
|
|
130
135
|
if (e)
|
|
131
|
-
for (let a = 0; a <
|
|
132
|
-
let
|
|
133
|
-
if (typeof
|
|
134
|
-
var n =
|
|
135
|
-
e.slots[n] && (
|
|
136
|
-
} else if (typeof
|
|
137
|
-
var n =
|
|
138
|
-
e.slots[n] && (
|
|
136
|
+
for (let a = 0; a < r.length; a++) {
|
|
137
|
+
let t = r[a];
|
|
138
|
+
if (typeof t.render == "string" && t.render.charAt(0) === "#") {
|
|
139
|
+
var n = t.render.replace("#", "");
|
|
140
|
+
e.slots[n] && (t.render = y(e.slots[n]));
|
|
141
|
+
} else if (typeof t.render == "object" && typeof t.render.display == "string" && t.render.display.charAt(0) === "#") {
|
|
142
|
+
var n = t.render.display.replace("#", "");
|
|
143
|
+
e.slots[n] && (t.render.display = y(e.slots[n]));
|
|
139
144
|
}
|
|
140
145
|
}
|
|
141
146
|
}
|
|
142
|
-
return
|
|
143
|
-
dt:
|
|
144
|
-
}), (
|
|
145
|
-
|
|
147
|
+
return d({
|
|
148
|
+
dt: c
|
|
149
|
+
}), (r, e) => e[0] || (b(-1), e[0] = h("div", { class: "datatable" }, [
|
|
150
|
+
h("table", O({
|
|
146
151
|
ref_key: "table",
|
|
147
|
-
ref:
|
|
148
|
-
},
|
|
149
|
-
|
|
152
|
+
ref: m
|
|
153
|
+
}, r.$attrs, { style: { width: "100%" } }), [
|
|
154
|
+
R(r.$slots, "default")
|
|
150
155
|
], 16)
|
|
151
|
-
]),
|
|
156
|
+
]), b(1), e[0]);
|
|
152
157
|
}
|
|
153
158
|
}), P = /* @__PURE__ */ (() => {
|
|
154
|
-
const
|
|
155
|
-
return
|
|
156
|
-
|
|
157
|
-
},
|
|
159
|
+
const i = C;
|
|
160
|
+
return i.install = (d) => {
|
|
161
|
+
d.component("Datatables.netVue", i);
|
|
162
|
+
}, i;
|
|
158
163
|
})();
|
|
159
164
|
export {
|
|
160
|
-
|
|
165
|
+
C as DataTable,
|
|
161
166
|
P as default
|
|
162
167
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(l,
|
|
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 y=["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(u){p=u}},b=n.defineComponent({...k,props:{ajax:null,columns:null,data:null,options:null},emits:y,setup(u,{expose:m}){const i=u,h=n.ref(null),d={},c=n.ref(),D=n.ref([]);n.watch(()=>i.data,r=>{let e=c.value;if(e){for(var s=Object.keys(d),a=0;a<s.length;a++)delete d[s[a]];e.clear(),e.rows.add(r).draw(!1)}},{deep:!0}),n.onMounted(()=>{var s;const r=n.getCurrentInstance();let e=i.options||{};if(i.data&&(e.data=i.data,j(e.data)),i.columns&&(e.columns=i.columns),e.columns&&w(e.columns,r),i.ajax&&(e.ajax=i.ajax),e.columnDefs||(e.columnDefs=[]),r){let a=Object.keys(r.slots);for(let t=0;t<a.length;t++){let o=a[t];if(o.match(/^column\-/)){let f=o.replace("column-","");e.columnDefs.push({target:f.match(/^\d+$/)?parseInt(f):f+":name",render:"#"+o})}}w(e.columnDefs,r)}if(!p)throw new Error("DataTables library not set. See https://datatables.net/tn/19 for details.");c.value=new p(n.unref(h),e),(s=c.value)==null||s.on("preXhr",function(){let a=Object.keys(d);for(var t=0;t<a.length;t++)delete d[a[t]]});for(let a of y)c.value&&r&&c.value.on(a,function(){var t=Array.from(arguments),o=t.shift();t.unshift({event:o,dt:c}),t.unshift(a),r.emit.apply(r,t)})}),n.onBeforeUnmount(()=>{var r;(r=c.value)==null||r.destroy(!0)});function j(r){D.value=r.value?r.value.slice():r.slice()}function g(r){return function(e,s,a,t){let o=t.row+","+t.col;if(!d[o]){let f=n.h("div",r({cellData:e,colIndex:t.col,rowData:a,rowIndex:t.row,type:s}));d[o]=document.createElement("div"),n.render(f,d[o])}return d[o]}}function w(r,e){if(e)for(let a=0;a<r.length;a++){let t=r[a];if(typeof t.render=="string"&&t.render.charAt(0)==="#"){var s=t.render.replace("#","");e.slots[s]&&(t.render=g(e.slots[s]))}else if(typeof t.render=="object"&&typeof t.render.display=="string"&&t.render.display.charAt(0)==="#"){var s=t.render.display.replace("#","");e.slots[s]&&(t.render.display=g(e.slots[s]))}}}return m({dt:c}),(r,e)=>e[0]||(n.setBlockTracking(-1),e[0]=n.createElementVNode("div",{class:"datatable"},[n.createElementVNode("table",n.mergeProps({ref_key:"table",ref:h},r.$attrs,{style:{width:"100%"}}),[n.renderSlot(r.$slots,"default")],16)]),n.setBlockTracking(1),e[0])}}),v=(()=>{const u=b;return u.install=m=>{m.component("Datatables.netVue",u)},u})();l.DataTable=b,l.default=v,Object.defineProperties(l,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
package/package.json
CHANGED
package/src/DataTable.vue
CHANGED
|
@@ -94,6 +94,9 @@ onMounted(() => {
|
|
|
94
94
|
|
|
95
95
|
if (props.columns) {
|
|
96
96
|
options.columns = props.columns;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
if (options.columns) {
|
|
97
100
|
applyRenderers(options.columns, inst);
|
|
98
101
|
}
|
|
99
102
|
|
|
@@ -137,6 +140,16 @@ onMounted(() => {
|
|
|
137
140
|
// Create the DataTable!
|
|
138
141
|
dt.value = new DataTablesLib(unref(table), options);
|
|
139
142
|
|
|
143
|
+
// When server-side processing or Ajax loading data, the data indexes for
|
|
144
|
+
// rows are reused, so we need to clear out any rendered elements for slots.
|
|
145
|
+
dt.value?.on('preXhr', function () {
|
|
146
|
+
let keys = Object.keys(elements);
|
|
147
|
+
|
|
148
|
+
for (var i=0 ; i<keys.length ; i++) {
|
|
149
|
+
delete elements[keys[i]];
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
|
|
140
153
|
// Re-export all DataTables events by listening for them using DataTable's
|
|
141
154
|
// `on` method and then emit them to our Vue component
|
|
142
155
|
for (let eName of dtEvents) {
|