datatables.net-vue3 3.0.1 → 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,123 +45,123 @@ const w = [
|
|
|
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
|
|
66
|
-
|
|
67
|
-
() =>
|
|
68
|
-
(
|
|
69
|
-
let e =
|
|
63
|
+
emits: g,
|
|
64
|
+
setup(i, { expose: d }) {
|
|
65
|
+
const s = i, m = f(null), o = {}, c = f(), w = f([]);
|
|
66
|
+
j(
|
|
67
|
+
() => s.data,
|
|
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
|
-
var n
|
|
81
|
-
const
|
|
82
|
-
let e =
|
|
83
|
-
if (
|
|
84
|
-
let
|
|
85
|
-
for (let
|
|
86
|
-
let
|
|
87
|
-
if (
|
|
88
|
-
let
|
|
79
|
+
), x(() => {
|
|
80
|
+
var n;
|
|
81
|
+
const r = I();
|
|
82
|
+
let e = s.options || {};
|
|
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-", "");
|
|
89
89
|
e.columnDefs.push({
|
|
90
|
-
target:
|
|
91
|
-
render: "#" +
|
|
90
|
+
target: u.match(/^\d+$/) ? parseInt(u) : u + ":name",
|
|
91
|
+
render: "#" + l
|
|
92
92
|
});
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
|
-
|
|
95
|
+
v(e.columnDefs, r);
|
|
96
96
|
}
|
|
97
|
-
if (!
|
|
97
|
+
if (!p)
|
|
98
98
|
throw new Error(
|
|
99
99
|
"DataTables library not set. See https://datatables.net/tn/19 for details."
|
|
100
100
|
);
|
|
101
|
-
|
|
102
|
-
let
|
|
103
|
-
for (var
|
|
104
|
-
delete
|
|
105
|
-
})
|
|
106
|
-
for (let
|
|
107
|
-
|
|
108
|
-
var
|
|
109
|
-
|
|
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);
|
|
110
110
|
});
|
|
111
111
|
}), E(() => {
|
|
112
|
-
var
|
|
113
|
-
(
|
|
112
|
+
var r;
|
|
113
|
+
(r = c.value) == null || r.destroy(!0);
|
|
114
114
|
});
|
|
115
|
-
function
|
|
116
|
-
|
|
115
|
+
function k(r) {
|
|
116
|
+
w.value = r.value ? r.value.slice() : r.slice();
|
|
117
117
|
}
|
|
118
|
-
function
|
|
119
|
-
return function(e, n,
|
|
120
|
-
let
|
|
121
|
-
if (!
|
|
122
|
-
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({
|
|
123
123
|
cellData: e,
|
|
124
|
-
colIndex:
|
|
125
|
-
rowData:
|
|
126
|
-
rowIndex:
|
|
124
|
+
colIndex: t.col,
|
|
125
|
+
rowData: a,
|
|
126
|
+
rowIndex: t.row,
|
|
127
127
|
type: n
|
|
128
128
|
}));
|
|
129
|
-
|
|
129
|
+
o[l] = document.createElement("div"), T(u, o[l]);
|
|
130
130
|
}
|
|
131
|
-
return
|
|
131
|
+
return o[l];
|
|
132
132
|
};
|
|
133
133
|
}
|
|
134
|
-
function
|
|
134
|
+
function v(r, e) {
|
|
135
135
|
if (e)
|
|
136
|
-
for (let
|
|
137
|
-
let
|
|
138
|
-
if (typeof
|
|
139
|
-
var n =
|
|
140
|
-
e.slots[n] && (
|
|
141
|
-
} else if (typeof
|
|
142
|
-
var n =
|
|
143
|
-
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]));
|
|
144
144
|
}
|
|
145
145
|
}
|
|
146
146
|
}
|
|
147
147
|
return d({
|
|
148
|
-
dt:
|
|
149
|
-
}), (
|
|
150
|
-
|
|
148
|
+
dt: c
|
|
149
|
+
}), (r, e) => e[0] || (b(-1), e[0] = h("div", { class: "datatable" }, [
|
|
150
|
+
h("table", O({
|
|
151
151
|
ref_key: "table",
|
|
152
|
-
ref:
|
|
153
|
-
},
|
|
154
|
-
R(
|
|
152
|
+
ref: m
|
|
153
|
+
}, r.$attrs, { style: { width: "100%" } }), [
|
|
154
|
+
R(r.$slots, "default")
|
|
155
155
|
], 16)
|
|
156
|
-
]),
|
|
156
|
+
]), b(1), e[0]);
|
|
157
157
|
}
|
|
158
|
-
}),
|
|
159
|
-
const
|
|
160
|
-
return
|
|
161
|
-
d.component("Datatables.netVue",
|
|
162
|
-
},
|
|
158
|
+
}), P = /* @__PURE__ */ (() => {
|
|
159
|
+
const i = C;
|
|
160
|
+
return i.install = (d) => {
|
|
161
|
+
d.component("Datatables.netVue", i);
|
|
162
|
+
}, i;
|
|
163
163
|
})();
|
|
164
164
|
export {
|
|
165
|
-
|
|
166
|
-
|
|
165
|
+
C as DataTable,
|
|
166
|
+
P as default
|
|
167
167
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
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,17 +140,15 @@ onMounted(() => {
|
|
|
137
140
|
// Create the DataTable!
|
|
138
141
|
dt.value = new DataTablesLib(unref(table), options);
|
|
139
142
|
|
|
140
|
-
// When server-side processing
|
|
141
|
-
// are reused, so we need to clear out any rendered elements for slots.
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
let keys = Object.keys(elements);
|
|
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);
|
|
145
147
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
}
|
|
148
|
+
for (var i=0 ; i<keys.length ; i++) {
|
|
149
|
+
delete elements[keys[i]];
|
|
150
|
+
}
|
|
151
|
+
});
|
|
151
152
|
|
|
152
153
|
// Re-export all DataTables events by listening for them using DataTable's
|
|
153
154
|
// `on` method and then emit them to our Vue component
|