@honed/table 0.20.0 → 0.21.0

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.
package/dist/index.es.js CHANGED
@@ -116,7 +116,7 @@ function ce(r, h, p = {}, d = {}) {
116
116
  ...l,
117
117
  apply: (e, t = {}) => y(l, e, t),
118
118
  clear: (e = {}) => D(l, e),
119
- bind: () => I(l.name)
119
+ bind: (e = {}) => I(l.name, e)
120
120
  }));
121
121
  }
122
122
  ), M = v(
@@ -126,7 +126,7 @@ function ce(r, h, p = {}, d = {}) {
126
126
  ...l,
127
127
  apply: (e = {}) => F(l, l.direction, e),
128
128
  clear: (e = {}) => G(e),
129
- bind: () => Q(l)
129
+ bind: (e = {}) => Q(l, e)
130
130
  }));
131
131
  }
132
132
  ), U = v(
@@ -136,7 +136,7 @@ function ce(r, h, p = {}, d = {}) {
136
136
  ...l,
137
137
  apply: (e = {}) => A(l, e),
138
138
  clear: (e = {}) => A(l, e),
139
- bind: () => K(l)
139
+ bind: (e = {}) => K(l, e)
140
140
  }));
141
141
  }
142
142
  ), E = v(
@@ -384,7 +384,7 @@ function ce(r, h, p = {}, d = {}) {
384
384
  function ee(n = {}) {
385
385
  if (!g.value)
386
386
  return console.warn("Refine cannot perform searching.");
387
- const { debounce: l = 700, transform: e, ...t } = n;
387
+ const { debounce: l = 750, transform: e, ...t } = n;
388
388
  return {
389
389
  "onUpdate:modelValue": Y(
390
390
  (a) => {
package/dist/index.umd.js CHANGED
@@ -1 +1 @@
1
- (function(F,c){typeof exports=="object"&&typeof module<"u"?c(exports,require("vue"),require("@inertiajs/vue3"),require("axios")):typeof define=="function"&&define.amd?define(["exports","vue","@inertiajs/vue3","axios"],c):(F=typeof globalThis<"u"?globalThis:F||self,c(F["@honed/table"]={},F.Vue,F.Inertia,F.axios))})(this,function(F,c,x,le){"use strict";function ee(r,h={},p={}){if(!r.href||!r.method)return!1;if(r.type==="inertia")r.method==="delete"?x.router.delete(r.href,p):x.router[r.method](r.href,h,p);else{const m=d=>{var o;return(o=p.onError)==null?void 0:o.call(p,d)};r.method==="get"?window.location.href=r.href:r.method==="delete"?le.delete(r.href).catch(m):le[r.method](r.href,h).catch(m)}return!0}function re(){const r=c.ref({all:!1,only:new Set,except:new Set});function h(){r.value.all=!0,r.value.only.clear(),r.value.except.clear()}function p(){r.value.all=!1,r.value.only.clear(),r.value.except.clear()}function m(...f){f.forEach(b=>r.value.except.delete(b)),f.forEach(b=>r.value.only.add(b))}function d(...f){f.forEach(b=>r.value.except.add(b)),f.forEach(b=>r.value.only.delete(b))}function o(f,b){if(v(f)||b===!1)return d(f);if(!v(f)||b===!0)return m(f)}function v(f){return r.value.all?!r.value.except.has(f):r.value.only.has(f)}const u=c.computed(()=>r.value.all&&r.value.except.size===0),k=c.computed(()=>r.value.only.size>0||u.value);function S(f){return{"onUpdate:modelValue":b=>{b?m(f):d(f)},modelValue:v(f),value:f}}function g(){return{"onUpdate:modelValue":f=>{f?h():p()},modelValue:u.value}}return{allSelected:u,selection:r,hasSelected:k,selectAll:h,deselectAll:p,select:m,deselect:d,toggle:o,selected:v,bind:S,bindAll:g}}typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const ae=()=>{};function oe(r,h){function p(...m){return new Promise((d,o)=>{Promise.resolve(r(()=>h.apply(this,m),{fn:h,thisArg:this,args:m})).then(d).catch(o)})}return p}function ue(r,h={}){let p,m,d=ae;const o=u=>{clearTimeout(u),d(),d=ae};let v;return u=>{const k=c.toValue(r),S=c.toValue(h.maxWait);return p&&o(p),k<=0||S!==void 0&&S<=0?(m&&(o(m),m=null),Promise.resolve(u())):new Promise((g,f)=>{d=h.rejectOnCancel?f:g,v=u,S&&!m&&(m=setTimeout(()=>{p&&o(p),m=null,g(v())},S)),p=setTimeout(()=>{m&&o(m),m=null,g(u())},k)})}}function H(r,h=200,p={}){return oe(ue(h,p),r)}function ie(r,h,p={},m={}){if(!(r!=null&&r[h]))throw new Error("The refine must be provided with valid props and key.");const{onFinish:d,...o}=p,v=c.ref(!1),u=c.computed(()=>r[h]),k=c.computed(()=>u.value.term),S=c.computed(()=>!!u.value._sort_key),g=c.computed(()=>!!u.value._search_key),f=c.computed(()=>!!u.value._match_key),b=c.computed(()=>{var t;return(t=u.value.filters)==null?void 0:t.map(l=>({...l,apply:(e,n={})=>y(l,e,n),clear:(e={})=>B(l,e),bind:()=>I(l.name)}))}),U=c.computed(()=>{var t;return(t=u.value.sorts)==null?void 0:t.map(l=>({...l,apply:(e={})=>V(l,l.direction,e),clear:(e={})=>D(e),bind:()=>Y(l)}))}),C=c.computed(()=>{var t;return(t=u.value.searches)==null?void 0:t.map(l=>({...l,apply:(e={})=>A(l,e),clear:(e={})=>A(l,e),bind:()=>K(l)}))}),P=c.computed(()=>b.value.filter(({active:t})=>t)),E=c.computed(()=>U.value.find(({active:t})=>t)),j=c.computed(()=>C.value.filter(({active:t})=>t));function L(t){return Array.isArray(t)?t.join(u.value._delimiter):t}function M(t){return typeof t!="string"?t:t.trim().replace(/\s+/g,"+")}function R(t){if(!["",null,void 0,[]].includes(t))return t}function J(t){return[L,M,R].reduce((l,e)=>e(l),t)}function N(t,l){return l=Array.isArray(l)?l:[l],l.includes(t)?l.filter(e=>e!==t):[...l,t]}function q(t){return typeof t!="string"?t:b.value.find(({name:l})=>l===t)}function O(t,l=null){return typeof t!="string"?t:U.value.find(({name:e,direction:n})=>e===t&&n===l)}function W(t){return typeof t!="string"?t:C.value.find(({name:l})=>l===t)}function te(t){return t?typeof t=="string"?P.value.some(l=>l.name===t):t.active:!!P.value.length}function _(t){var l;return t?typeof t=="string"?((l=E.value)==null?void 0:l.name)===t:t.active:!!E.value}function z(t){var l;return t?typeof t=="string"?(l=j.value)==null?void 0:l.some(e=>e.name===t):t.active:!!k.value}function Q(t,l={}){const e=Object.fromEntries(Object.entries(t).map(([i,s])=>[i,J(s)])),{onFinish:n,...a}=l;v.value=!0,x.router.reload({...o,...a,data:e,onFinish:i=>{v.value=!1,n==null||n(i),d==null||d(i)}})}function y(t,l,e={}){const n=q(t);if(!n)return console.warn(`Filter [${t}] does not exist.`);const{parameters:a,onFinish:i,...s}=e;v.value=!0,x.router.reload({...o,...s,onFinish:w=>{v.value=!1,i==null||i(w),d==null||d(w)},data:{[n.name]:J(l),...a,...m}})}function V(t,l=null,e={}){if(!S.value)return console.warn("Refine cannot perform sorting.");const n=O(t,l);if(!n)return console.warn(`Sort [${t}] does not exist.`);const{parameters:a,onFinish:i,...s}=e;v.value=!0,x.router.reload({...o,...s,onFinish:w=>{v.value=!1,i==null||i(w),d==null||d(w)},data:{[u.value._sort_key]:R(n.next),...a}})}function $(t,l={}){if(!g.value)return console.warn("Refine cannot perform searching.");t=[M,R].reduce((i,s)=>s(i),t);const{parameters:e,onFinish:n,...a}=l;v.value=!0,x.router.reload({...o,...a,onFinish:i=>{v.value=!1,n==null||n(i),d==null||d(i)},data:{[u.value._search_key]:t,...e,...m}})}function A(t,l={}){if(!f.value||!g.value)return console.warn("Refine cannot perform matching.");const e=W(t);if(!e)return console.warn(`Match [${t}] does not exist.`);const n=N(e.name,j.value.map(({name:w})=>w)),{parameters:a,onFinish:i,...s}=l;v.value=!0,x.router.reload({...o,...s,onFinish:w=>{v.value=!1,i==null||i(w),d==null||d(w)},data:{[u.value._match_key]:L(n),...a,...m}})}function B(t,l={}){if(t)return y(t,null,l);const{parameters:e,onFinish:n,...a}=l;v.value=!0,x.router.reload({...o,...a,onFinish:i=>{v.value=!1,n==null||n(i),d==null||d(i)},data:{...Object.fromEntries(P.value.map(({name:i})=>[i,null])),...e}})}function D(t={}){if(!S.value)return console.warn("Refine cannot perform sorting.");const{parameters:l,onFinish:e,...n}=t;v.value=!0,x.router.reload({...o,...n,onFinish:a=>{v.value=!1,e==null||e(a),d==null||d(a)},data:{[u.value._sort_key]:null,...l}})}function T(t={}){$(null,t)}function G(t={}){if(!f.value)return console.warn("Refine cannot perform matching.");const{parameters:l,onFinish:e,...n}=t;v.value=!0,x.router.reload({...o,...n,onFinish:a=>{v.value=!1,e==null||e(a),d==null||d(a)},data:{[u.value._match_key]:null,...l}})}function X(t={}){var l;const{parameters:e,onFinish:n,...a}=t;v.value=!0,x.router.reload({...o,...a,onFinish:i=>{v.value=!1,n==null||n(i),d==null||d(i)},data:{[u.value._search_key??""]:void 0,[u.value._sort_key??""]:void 0,[u.value._match_key??""]:void 0,...Object.fromEntries(((l=u.value.filters)==null?void 0:l.map(i=>[i.name,void 0]))??[]),...e}})}function I(t,l={}){const e=q(t);if(!e)return console.warn(`Filter [${t}] does not exist.`);const{debounce:n=150,transform:a=s=>s,...i}=l;return{"onUpdate:modelValue":H(s=>{y(e,a(s),i)},n),modelValue:e.value}}function Y(t,l={}){if(!S.value)return console.warn("Refine cannot perform sorting.");const e=O(t);if(!e)return console.warn(`Sort [${t}] does not exist.`);const{debounce:n=0,transform:a,...i}=l;return{onClick:H(()=>{var s;V(e,(s=E.value)==null?void 0:s.direction,i)},n)}}function ne(t={}){if(!g.value)return console.warn("Refine cannot perform searching.");const{debounce:l=700,transform:e,...n}=t;return{"onUpdate:modelValue":H(a=>{$(a,n)},l),modelValue:k.value??""}}function K(t,l={}){if(!f.value)return console.warn("Refine cannot perform matching.");const e=W(t);if(!e)return console.warn(`Match [${t}] does not exist.`);const{debounce:n=0,transform:a,...i}=l;return{"onUpdate:modelValue":H(s=>{A(s,i)},n),modelValue:z(e),value:e.name}}return{processing:v,filters:b,sorts:U,searches:C,currentFilters:P,currentSort:E,currentSearches:j,searchTerm:k,isSortable:S,isSearchable:g,isMatchable:f,isFiltering:te,isSorting:_,isSearching:z,getFilter:q,getSort:O,getSearch:W,apply:Q,applyFilter:y,applySort:V,applySearch:$,applyMatch:A,clearFilter:B,clearSort:D,clearSearch:T,clearMatch:G,reset:X,bindFilter:I,bindSort:Y,bindSearch:ne,bindMatch:K,stringValue:M,omitValue:R,toggleValue:N,delimitArray:L}}function ce(r,h,p={}){if(!(r!=null&&r[h]))throw new Error("The table must be provided with valid props and key.");const{recordOperations:m={},...d}={only:[...p.only??[],h.toString()],...p},o=c.computed(()=>r[h]),v=c.computed(()=>o.value._id),u=re(),{processing:k,...S}=ie(r,h,d,{[o.value._page_key]:void 0}),{onFinish:g,...f}=d,b=c.computed(()=>o.value.meta),U=c.computed(()=>o.value.views??[]),C=c.computed(()=>o.value.state??null),P=c.computed(()=>o.value.placeholder??null),E=c.computed(()=>!!o.value.state),j=c.computed(()=>!!o.value._page_key&&!!o.value._record_key),L=c.computed(()=>!!o.value._column_key),M=c.computed(()=>o.value.columns.filter(({active:e,hidden:n})=>e&&!n).map(e=>{var n;return{...e,isSorting:!!((n=e.sort)!=null&&n.active),toggleSort:(a={})=>S.applySort(e.sort,null,a)}})),R=c.computed(()=>o.value.columns.filter(({hidden:e})=>!e).map(e=>({...e,toggle:(n={})=>ne(e.name,n)}))),J=c.computed(()=>o.value.records.map(e=>({...e,operations:e.operations.map(n=>({...n,execute:(a={})=>G(n,e,a)})),selected:u.selected(y(e)),default:(n={})=>{const a=e.operations.find(({default:i})=>i);a&&G(a,e,n)},select:()=>u.select(y(e)),deselect:()=>u.deselect(y(e)),toggle:()=>u.toggle(y(e)),bind:()=>u.bind(y(e)),entry:n=>V(e,n),value:n=>$(e,n),extra:n=>A(e,n)}))),N=c.computed(()=>!!o.value.operations.inline),q=c.computed(()=>o.value.operations.bulk.map(e=>({...e,execute:(n={})=>X(e,n)}))),O=c.computed(()=>o.value.operations.page.map(e=>({...e,execute:(n={})=>I(e,n)}))),W=c.computed(()=>o.value.pages.find(({active:e})=>e)),te=c.computed(()=>o.value.pages),_=c.computed(()=>({...o.value.paginate,next:(e={})=>{"nextLink"in _.value&&_.value.nextLink&&T(_.value.nextLink,e)},previous:(e={})=>{"prevLink"in _.value&&_.value.prevLink&&T(_.value.prevLink,e)},first:(e={})=>{"firstLink"in _.value&&_.value.firstLink&&T(_.value.firstLink,e)},last:(e={})=>{"lastLink"in _.value&&_.value.lastLink&&T(_.value.lastLink,e)},..."links"in o.value.paginate&&o.value.paginate.links?{links:o.value.paginate.links.map(e=>({...e,navigate:(n={})=>e.url&&T(e.url,n)}))}:{}})),z=c.computed(()=>o.value.records.length>0&&o.value.records.every(e=>u.selected(y(e))));function Q(e){return typeof e=="string"?e:e.name}function y(e){return e._key}function V(e,n){const a=Q(n);return e[a]}function $(e,n){var a;return((a=V(e,n))==null?void 0:a.v)??null}function A(e,n){var a;return(a=V(e,n))==null?void 0:a.e}function B(e){return{id:y(e)}}function D(){return{all:u.selection.value.all,only:Array.from(u.selection.value.only),except:Array.from(u.selection.value.except)}}function T(e,n={}){k.value=!0;const{onFinish:a,...i}=n;x.router.visit(e,{preserveScroll:!0,preserveState:!0,...f,...i,onFinish:s=>{k.value=!1,g==null||g(s),a==null||a(s)},method:"get"})}function G(e,n,a={}){var s;ee(e,B(n),{...p,...a})||(s=m==null?void 0:m[e.name])==null||s.call(m,n)}function X(e,n={}){return ee(e,D(),{...p,...n,onSuccess:a=>{var i,s;(i=n.onSuccess)==null||i.call(n,a),(s=p.onSuccess)==null||s.call(p,a),console.log("onSuccess"),e.keep||u.deselectAll()}})}function I(e,n={},a={}){return ee(e,n,{...p,...a})}function Y(e,n={}){if(!j.value)return console.warn("The table does not support pagination changes.");const{onFinish:a,...i}=n;k.value=!0,x.router.reload({...f,...i,onFinish:s=>{k.value=!1,g==null||g(s),a==null||a(s)},data:{[o.value._record_key]:e.value,[o.value._page_key]:void 0}})}function ne(e,n={}){if(!L.value)return console.warn("The table does not support column toggling.");const a=Q(e);if(!a)return console.log(`Column [${e}] does not exist.`);const i=S.toggleValue(a,M.value.map(({name:Z})=>Z)),{onFinish:s,...w}=n;k.value=!0,x.router.reload({...f,...w,onFinish:Z=>{k.value=!1,g==null||g(Z),s==null||s(Z)},data:{[o.value._column_key]:S.delimitArray(i)}})}function K(){u.select(...o.value.records.map(e=>y(e)))}function t(){u.deselect(...o.value.records.map(e=>y(e)))}function l(){return{"onUpdate:modelValue":e=>{e?K():t()},modelValue:z.value}}return c.reactive({id:v,meta:b,views:U,emptyState:C,placeholder:P,isEmpty:E,isPageable:j,isToggleable:L,getEntry:V,getValue:$,getExtra:A,getRecordKey:y,headings:M,columns:R,records:J,inline:N,bulk:q,page:O,pages:te,currentPage:W,paginator:_,executeInline:G,executeBulk:X,executePage:I,getBulkData:D,getRecordData:B,applyPage:Y,selection:u.selection,select:e=>u.select(y(e)),deselect:e=>u.deselect(y(e)),selectPage:K,deselectPage:t,toggle:e=>u.toggle(y(e)),selected:e=>u.selected(y(e)),selectAll:u.selectAll,deselectAll:u.deselectAll,isPageSelected:z,hasSelected:u.hasSelected,bindCheckbox:e=>u.bind(y(e)),bindPage:l,bindAll:u.bindAll,processing:k,...S})}function se(r,h){return r?typeof r=="object"?r.type===h:r===h:!1}F.is=se,F.useTable=ce,Object.defineProperty(F,Symbol.toStringTag,{value:"Module"})});
1
+ (function(F,c){typeof exports=="object"&&typeof module<"u"?c(exports,require("vue"),require("@inertiajs/vue3"),require("axios")):typeof define=="function"&&define.amd?define(["exports","vue","@inertiajs/vue3","axios"],c):(F=typeof globalThis<"u"?globalThis:F||self,c(F["@honed/table"]={},F.Vue,F.Inertia,F.axios))})(this,function(F,c,x,le){"use strict";function ee(r,h={},p={}){if(!r.href||!r.method)return!1;if(r.type==="inertia")r.method==="delete"?x.router.delete(r.href,p):x.router[r.method](r.href,h,p);else{const m=d=>{var o;return(o=p.onError)==null?void 0:o.call(p,d)};r.method==="get"?window.location.href=r.href:r.method==="delete"?le.delete(r.href).catch(m):le[r.method](r.href,h).catch(m)}return!0}function re(){const r=c.ref({all:!1,only:new Set,except:new Set});function h(){r.value.all=!0,r.value.only.clear(),r.value.except.clear()}function p(){r.value.all=!1,r.value.only.clear(),r.value.except.clear()}function m(...f){f.forEach(b=>r.value.except.delete(b)),f.forEach(b=>r.value.only.add(b))}function d(...f){f.forEach(b=>r.value.except.add(b)),f.forEach(b=>r.value.only.delete(b))}function o(f,b){if(v(f)||b===!1)return d(f);if(!v(f)||b===!0)return m(f)}function v(f){return r.value.all?!r.value.except.has(f):r.value.only.has(f)}const u=c.computed(()=>r.value.all&&r.value.except.size===0),k=c.computed(()=>r.value.only.size>0||u.value);function S(f){return{"onUpdate:modelValue":b=>{b?m(f):d(f)},modelValue:v(f),value:f}}function g(){return{"onUpdate:modelValue":f=>{f?h():p()},modelValue:u.value}}return{allSelected:u,selection:r,hasSelected:k,selectAll:h,deselectAll:p,select:m,deselect:d,toggle:o,selected:v,bind:S,bindAll:g}}typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const ae=()=>{};function oe(r,h){function p(...m){return new Promise((d,o)=>{Promise.resolve(r(()=>h.apply(this,m),{fn:h,thisArg:this,args:m})).then(d).catch(o)})}return p}function ue(r,h={}){let p,m,d=ae;const o=u=>{clearTimeout(u),d(),d=ae};let v;return u=>{const k=c.toValue(r),S=c.toValue(h.maxWait);return p&&o(p),k<=0||S!==void 0&&S<=0?(m&&(o(m),m=null),Promise.resolve(u())):new Promise((g,f)=>{d=h.rejectOnCancel?f:g,v=u,S&&!m&&(m=setTimeout(()=>{p&&o(p),m=null,g(v())},S)),p=setTimeout(()=>{m&&o(m),m=null,g(u())},k)})}}function H(r,h=200,p={}){return oe(ue(h,p),r)}function ie(r,h,p={},m={}){if(!(r!=null&&r[h]))throw new Error("The refine must be provided with valid props and key.");const{onFinish:d,...o}=p,v=c.ref(!1),u=c.computed(()=>r[h]),k=c.computed(()=>u.value.term),S=c.computed(()=>!!u.value._sort_key),g=c.computed(()=>!!u.value._search_key),f=c.computed(()=>!!u.value._match_key),b=c.computed(()=>{var t;return(t=u.value.filters)==null?void 0:t.map(l=>({...l,apply:(e,n={})=>y(l,e,n),clear:(e={})=>B(l,e),bind:(e={})=>I(l.name,e)}))}),U=c.computed(()=>{var t;return(t=u.value.sorts)==null?void 0:t.map(l=>({...l,apply:(e={})=>V(l,l.direction,e),clear:(e={})=>D(e),bind:(e={})=>Y(l,e)}))}),C=c.computed(()=>{var t;return(t=u.value.searches)==null?void 0:t.map(l=>({...l,apply:(e={})=>A(l,e),clear:(e={})=>A(l,e),bind:(e={})=>K(l,e)}))}),P=c.computed(()=>b.value.filter(({active:t})=>t)),E=c.computed(()=>U.value.find(({active:t})=>t)),j=c.computed(()=>C.value.filter(({active:t})=>t));function L(t){return Array.isArray(t)?t.join(u.value._delimiter):t}function M(t){return typeof t!="string"?t:t.trim().replace(/\s+/g,"+")}function R(t){if(!["",null,void 0,[]].includes(t))return t}function J(t){return[L,M,R].reduce((l,e)=>e(l),t)}function N(t,l){return l=Array.isArray(l)?l:[l],l.includes(t)?l.filter(e=>e!==t):[...l,t]}function q(t){return typeof t!="string"?t:b.value.find(({name:l})=>l===t)}function O(t,l=null){return typeof t!="string"?t:U.value.find(({name:e,direction:n})=>e===t&&n===l)}function W(t){return typeof t!="string"?t:C.value.find(({name:l})=>l===t)}function te(t){return t?typeof t=="string"?P.value.some(l=>l.name===t):t.active:!!P.value.length}function _(t){var l;return t?typeof t=="string"?((l=E.value)==null?void 0:l.name)===t:t.active:!!E.value}function z(t){var l;return t?typeof t=="string"?(l=j.value)==null?void 0:l.some(e=>e.name===t):t.active:!!k.value}function Q(t,l={}){const e=Object.fromEntries(Object.entries(t).map(([i,s])=>[i,J(s)])),{onFinish:n,...a}=l;v.value=!0,x.router.reload({...o,...a,data:e,onFinish:i=>{v.value=!1,n==null||n(i),d==null||d(i)}})}function y(t,l,e={}){const n=q(t);if(!n)return console.warn(`Filter [${t}] does not exist.`);const{parameters:a,onFinish:i,...s}=e;v.value=!0,x.router.reload({...o,...s,onFinish:w=>{v.value=!1,i==null||i(w),d==null||d(w)},data:{[n.name]:J(l),...a,...m}})}function V(t,l=null,e={}){if(!S.value)return console.warn("Refine cannot perform sorting.");const n=O(t,l);if(!n)return console.warn(`Sort [${t}] does not exist.`);const{parameters:a,onFinish:i,...s}=e;v.value=!0,x.router.reload({...o,...s,onFinish:w=>{v.value=!1,i==null||i(w),d==null||d(w)},data:{[u.value._sort_key]:R(n.next),...a}})}function $(t,l={}){if(!g.value)return console.warn("Refine cannot perform searching.");t=[M,R].reduce((i,s)=>s(i),t);const{parameters:e,onFinish:n,...a}=l;v.value=!0,x.router.reload({...o,...a,onFinish:i=>{v.value=!1,n==null||n(i),d==null||d(i)},data:{[u.value._search_key]:t,...e,...m}})}function A(t,l={}){if(!f.value||!g.value)return console.warn("Refine cannot perform matching.");const e=W(t);if(!e)return console.warn(`Match [${t}] does not exist.`);const n=N(e.name,j.value.map(({name:w})=>w)),{parameters:a,onFinish:i,...s}=l;v.value=!0,x.router.reload({...o,...s,onFinish:w=>{v.value=!1,i==null||i(w),d==null||d(w)},data:{[u.value._match_key]:L(n),...a,...m}})}function B(t,l={}){if(t)return y(t,null,l);const{parameters:e,onFinish:n,...a}=l;v.value=!0,x.router.reload({...o,...a,onFinish:i=>{v.value=!1,n==null||n(i),d==null||d(i)},data:{...Object.fromEntries(P.value.map(({name:i})=>[i,null])),...e}})}function D(t={}){if(!S.value)return console.warn("Refine cannot perform sorting.");const{parameters:l,onFinish:e,...n}=t;v.value=!0,x.router.reload({...o,...n,onFinish:a=>{v.value=!1,e==null||e(a),d==null||d(a)},data:{[u.value._sort_key]:null,...l}})}function T(t={}){$(null,t)}function G(t={}){if(!f.value)return console.warn("Refine cannot perform matching.");const{parameters:l,onFinish:e,...n}=t;v.value=!0,x.router.reload({...o,...n,onFinish:a=>{v.value=!1,e==null||e(a),d==null||d(a)},data:{[u.value._match_key]:null,...l}})}function X(t={}){var l;const{parameters:e,onFinish:n,...a}=t;v.value=!0,x.router.reload({...o,...a,onFinish:i=>{v.value=!1,n==null||n(i),d==null||d(i)},data:{[u.value._search_key??""]:void 0,[u.value._sort_key??""]:void 0,[u.value._match_key??""]:void 0,...Object.fromEntries(((l=u.value.filters)==null?void 0:l.map(i=>[i.name,void 0]))??[]),...e}})}function I(t,l={}){const e=q(t);if(!e)return console.warn(`Filter [${t}] does not exist.`);const{debounce:n=150,transform:a=s=>s,...i}=l;return{"onUpdate:modelValue":H(s=>{y(e,a(s),i)},n),modelValue:e.value}}function Y(t,l={}){if(!S.value)return console.warn("Refine cannot perform sorting.");const e=O(t);if(!e)return console.warn(`Sort [${t}] does not exist.`);const{debounce:n=0,transform:a,...i}=l;return{onClick:H(()=>{var s;V(e,(s=E.value)==null?void 0:s.direction,i)},n)}}function ne(t={}){if(!g.value)return console.warn("Refine cannot perform searching.");const{debounce:l=750,transform:e,...n}=t;return{"onUpdate:modelValue":H(a=>{$(a,n)},l),modelValue:k.value??""}}function K(t,l={}){if(!f.value)return console.warn("Refine cannot perform matching.");const e=W(t);if(!e)return console.warn(`Match [${t}] does not exist.`);const{debounce:n=0,transform:a,...i}=l;return{"onUpdate:modelValue":H(s=>{A(s,i)},n),modelValue:z(e),value:e.name}}return{processing:v,filters:b,sorts:U,searches:C,currentFilters:P,currentSort:E,currentSearches:j,searchTerm:k,isSortable:S,isSearchable:g,isMatchable:f,isFiltering:te,isSorting:_,isSearching:z,getFilter:q,getSort:O,getSearch:W,apply:Q,applyFilter:y,applySort:V,applySearch:$,applyMatch:A,clearFilter:B,clearSort:D,clearSearch:T,clearMatch:G,reset:X,bindFilter:I,bindSort:Y,bindSearch:ne,bindMatch:K,stringValue:M,omitValue:R,toggleValue:N,delimitArray:L}}function ce(r,h,p={}){if(!(r!=null&&r[h]))throw new Error("The table must be provided with valid props and key.");const{recordOperations:m={},...d}={only:[...p.only??[],h.toString()],...p},o=c.computed(()=>r[h]),v=c.computed(()=>o.value._id),u=re(),{processing:k,...S}=ie(r,h,d,{[o.value._page_key]:void 0}),{onFinish:g,...f}=d,b=c.computed(()=>o.value.meta),U=c.computed(()=>o.value.views??[]),C=c.computed(()=>o.value.state??null),P=c.computed(()=>o.value.placeholder??null),E=c.computed(()=>!!o.value.state),j=c.computed(()=>!!o.value._page_key&&!!o.value._record_key),L=c.computed(()=>!!o.value._column_key),M=c.computed(()=>o.value.columns.filter(({active:e,hidden:n})=>e&&!n).map(e=>{var n;return{...e,isSorting:!!((n=e.sort)!=null&&n.active),toggleSort:(a={})=>S.applySort(e.sort,null,a)}})),R=c.computed(()=>o.value.columns.filter(({hidden:e})=>!e).map(e=>({...e,toggle:(n={})=>ne(e.name,n)}))),J=c.computed(()=>o.value.records.map(e=>({...e,operations:e.operations.map(n=>({...n,execute:(a={})=>G(n,e,a)})),selected:u.selected(y(e)),default:(n={})=>{const a=e.operations.find(({default:i})=>i);a&&G(a,e,n)},select:()=>u.select(y(e)),deselect:()=>u.deselect(y(e)),toggle:()=>u.toggle(y(e)),bind:()=>u.bind(y(e)),entry:n=>V(e,n),value:n=>$(e,n),extra:n=>A(e,n)}))),N=c.computed(()=>!!o.value.operations.inline),q=c.computed(()=>o.value.operations.bulk.map(e=>({...e,execute:(n={})=>X(e,n)}))),O=c.computed(()=>o.value.operations.page.map(e=>({...e,execute:(n={})=>I(e,n)}))),W=c.computed(()=>o.value.pages.find(({active:e})=>e)),te=c.computed(()=>o.value.pages),_=c.computed(()=>({...o.value.paginate,next:(e={})=>{"nextLink"in _.value&&_.value.nextLink&&T(_.value.nextLink,e)},previous:(e={})=>{"prevLink"in _.value&&_.value.prevLink&&T(_.value.prevLink,e)},first:(e={})=>{"firstLink"in _.value&&_.value.firstLink&&T(_.value.firstLink,e)},last:(e={})=>{"lastLink"in _.value&&_.value.lastLink&&T(_.value.lastLink,e)},..."links"in o.value.paginate&&o.value.paginate.links?{links:o.value.paginate.links.map(e=>({...e,navigate:(n={})=>e.url&&T(e.url,n)}))}:{}})),z=c.computed(()=>o.value.records.length>0&&o.value.records.every(e=>u.selected(y(e))));function Q(e){return typeof e=="string"?e:e.name}function y(e){return e._key}function V(e,n){const a=Q(n);return e[a]}function $(e,n){var a;return((a=V(e,n))==null?void 0:a.v)??null}function A(e,n){var a;return(a=V(e,n))==null?void 0:a.e}function B(e){return{id:y(e)}}function D(){return{all:u.selection.value.all,only:Array.from(u.selection.value.only),except:Array.from(u.selection.value.except)}}function T(e,n={}){k.value=!0;const{onFinish:a,...i}=n;x.router.visit(e,{preserveScroll:!0,preserveState:!0,...f,...i,onFinish:s=>{k.value=!1,g==null||g(s),a==null||a(s)},method:"get"})}function G(e,n,a={}){var s;ee(e,B(n),{...p,...a})||(s=m==null?void 0:m[e.name])==null||s.call(m,n)}function X(e,n={}){return ee(e,D(),{...p,...n,onSuccess:a=>{var i,s;(i=n.onSuccess)==null||i.call(n,a),(s=p.onSuccess)==null||s.call(p,a),console.log("onSuccess"),e.keep||u.deselectAll()}})}function I(e,n={},a={}){return ee(e,n,{...p,...a})}function Y(e,n={}){if(!j.value)return console.warn("The table does not support pagination changes.");const{onFinish:a,...i}=n;k.value=!0,x.router.reload({...f,...i,onFinish:s=>{k.value=!1,g==null||g(s),a==null||a(s)},data:{[o.value._record_key]:e.value,[o.value._page_key]:void 0}})}function ne(e,n={}){if(!L.value)return console.warn("The table does not support column toggling.");const a=Q(e);if(!a)return console.log(`Column [${e}] does not exist.`);const i=S.toggleValue(a,M.value.map(({name:Z})=>Z)),{onFinish:s,...w}=n;k.value=!0,x.router.reload({...f,...w,onFinish:Z=>{k.value=!1,g==null||g(Z),s==null||s(Z)},data:{[o.value._column_key]:S.delimitArray(i)}})}function K(){u.select(...o.value.records.map(e=>y(e)))}function t(){u.deselect(...o.value.records.map(e=>y(e)))}function l(){return{"onUpdate:modelValue":e=>{e?K():t()},modelValue:z.value}}return c.reactive({id:v,meta:b,views:U,emptyState:C,placeholder:P,isEmpty:E,isPageable:j,isToggleable:L,getEntry:V,getValue:$,getExtra:A,getRecordKey:y,headings:M,columns:R,records:J,inline:N,bulk:q,page:O,pages:te,currentPage:W,paginator:_,executeInline:G,executeBulk:X,executePage:I,getBulkData:D,getRecordData:B,applyPage:Y,selection:u.selection,select:e=>u.select(y(e)),deselect:e=>u.deselect(y(e)),selectPage:K,deselectPage:t,toggle:e=>u.toggle(y(e)),selected:e=>u.selected(y(e)),selectAll:u.selectAll,deselectAll:u.deselectAll,isPageSelected:z,hasSelected:u.hasSelected,bindCheckbox:e=>u.bind(y(e)),bindPage:l,bindAll:u.bindAll,processing:k,...S})}function se(r,h){return r?typeof r=="object"?r.type===h:r===h:!1}F.is=se,F.useTable=ce,Object.defineProperty(F,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@honed/table",
3
3
  "private": false,
4
- "version": "0.20.0",
4
+ "version": "0.21.0",
5
5
  "license": "MIT",
6
6
  "description": "-",
7
7
  "keywords": [
@@ -58,7 +58,7 @@
58
58
  },
59
59
  "peerDependencies": {
60
60
  "@honed/action": "^0.14.0",
61
- "@honed/refine": "^0.15.0",
61
+ "@honed/refine": "^0.16.0",
62
62
  "@inertiajs/vue3": "^1.2.0||^2.0.0",
63
63
  "@vueuse/core": "^11.0.0||^12.0.0",
64
64
  "axios": "^1.2.0",