@yongdall/theme 0.6.1 → 0.6.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.
- package/hooks.mjs +1 -1
- package/hooks.mjs.map +1 -1
- package/index.mjs +3 -3
- package/index.mjs.map +1 -1
- package/package.json +3 -3
- package/theme-allSider.css +2 -1
- package/theme-allSider.css.map +1 -1
- package/theme-base.css +46 -37
- package/theme-base.css.map +1 -1
- package/theme-tabs.css +46 -37
- package/theme-tabs.css.map +1 -1
package/hooks.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{BindObjectStore as e,Code128 as t,Modal as n,PageIdent as r,Pagination as i,Pattern as a,createComputed as o,createQuickFilters as s,createShowField as c,createState as l,effect as u,getPatternFields as d,getPermissionFields as f,getPrimaryFields as p,importStyle as m,importWidget as h,permissionsService as g,renderForm as _,showFilterDialog as v,showSortDialog as y,toId as b,watch as x}from"@yongdall/web";import{Check as ee,Source as te}from"@neeloong/table";function S(e){let t=document.createElement(`div`),n=t;return n.style.overflow=`hidden`,n.style.whiteSpace=`nowrap`,n.style.textOverflow=`ellipsis`,e.listen(`scrollIntoView`,()=>t.scrollIntoView()),[t,e=>{n.title=n.innerText=e??``}]}function C(e,t,n,r,i){let a=e.editable,o=e.field?.nullable?null:i,[s,c]=(a?t:n)(e,t=>{o=r(t,e.field?.nullable),e.value=o});function l(e,t){!t&&e===o||(o=e,c(e))}return l(e.value,!0),u(()=>l(e.value),e.signal),s}function ne(e){let t=document.createElement(`div`),n=t;return e.listen(`scrollIntoView`,()=>t.scrollIntoView()),[t,e=>{n.innerText=e??``}]}function w(e,t){return e||!t?e:null}function T(e,t){let n=document.createElement(`textarea`);return n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),u(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),u(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var E=e=>C(e,T,ne,w,``);function D(e,t){let n=parseFloat(e);return Number.isFinite(n)?n:t?null:0}function re(e,t){let n=document.createElement(`input`);return n.type=`number`,n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),u(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),u(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var O=e=>C(e,re,S,D,0);function ie(e,t){let n=parseInt(e);return Number.isFinite(n)?n:t?null:0}function k(e,t){let n=document.createElement(`input`);return n.type=`number`,n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),u(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),u(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var A=e=>C(e,k,S,ie,0);function ae(e,t){if(!e)return t?null:0n;try{return BigInt(e)}catch{}return t?null:0n}function j(e,t){let n=document.createElement(`input`);return n.type=`number`,n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),u(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),u(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var M=e=>C(e,j,S,ae,0n);function N(e,t){return e||!t?e:null}function oe(e,t){let n=document.createElement(`input`);return n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),u(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),u(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var se=e=>C(e,oe,S,N,``),P=e=>{if(!e.editable){let t=document.createElement(`span`);return e.listen(`scrollIntoView`,()=>t.scrollIntoView()),u(()=>{let n=e.value;t.innerText=(!e.field?.nullable||typeof n==`boolean`)&&n?`✔`:`☐`},e.signal),t}let t=document.createElement(`input`);t.type=`checkbox`;let n=e.field?.nullable?null:!1;t.addEventListener(`input`,()=>{n=!!t.checked,e.value=n}),t.addEventListener(`change`,t=>e.emit(`change`,t)),t.addEventListener(`focus`,t=>e.emit(`focus`,t)),t.addEventListener(`blur`,t=>e.emit(`blur`,t)),u(()=>t.disabled=!!(e.readonly||e.disabled),e.signal),u(()=>t.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>t.focus()),e.listen(`scrollIntoView`,()=>t.scrollIntoView());function r(r){let i=!e.field?.nullable||typeof r==`boolean`?!!r:null;i!==n&&(n=i,t.checked=!!i)}return u(()=>r(e.value),e.signal),t};function F(e,t){return Number.isFinite(new Date(e).valueOf())?e:t?null:``}function ce(e,t){let n=document.createElement(`input`);return n.type=`date`,n.step=`1`,n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),u(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),u(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var le=e=>C(e,ce,S,F,``);function ue(e,t){let n=new Date(e);return Number.isFinite(n)?e:t?null:``}function de(e,t){let n=document.createElement(`input`);return n.type=`time`,n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),u(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),u(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var I=e=>C(e,de,S,ue,``);function fe(e,t){let n=new Date(e);return Number.isFinite(n.valueOf())?n:null}function L(e,t){return e.valueOf()?`${[`${e.getFullYear()}`.padStart(4,`0`),`${e.getMonth()+1}`.padStart(2,`0`),`${e.getDate()}`.padStart(2,`0`)].join(`-`)}${t}${[`${e.getHours()}`.padStart(2,`0`),`${e.getMinutes()}`.padStart(2,`0`),`${e.getSeconds()}`.padStart(2,`0`)].join(`:`)}`:``}function R(e,t=`T`){return e instanceof Date?L(e,t):L(new Date(e),t)??``}function pe(e){let t=document.createElement(`div`),n=t;return n.style.overflow=`hidden`,n.style.whiteSpace=`nowrap`,n.style.textOverflow=`ellipsis`,e.listen(`scrollIntoView`,()=>t.scrollIntoView()),[t,e=>{n.title=n.innerText=R(e,` `)}]}function me(e,t){let n=document.createElement(`input`);return n.type=`datetime-local`,n.step=`1`,n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),u(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),u(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=R(e)}]}var z=e=>C(e,me,pe,fe,null);function he(e,t){return e||!t?e:null}function ge(e,t){let n=document.createElement(`input`);return n.type=`password`,n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),u(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),u(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var B=e=>C(e,ge,S,he,``);function _e(e,t){return e||!t?e:null}function ve(e,t){let n=document.createElement(`input`);return n.type=`url`,n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),u(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),u(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var ye=e=>C(e,ve,S,_e,``);function be(e,t){return e||!t?e:null}function xe(e,t){let n=document.createElement(`input`);return n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),u(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),u(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var Se=e=>C(e,xe,S,be,``);m(`@neeloong/table/style.css`);async function Ce(e,t,r){let m=e.signal,h=t.service,g=await Promise.race([h?.loadScript(),e.waitDestroy(!0)]);if(!g)return Promise.reject();let _=t.label||g.labelPattern||``,S=t.fields,C=t.queryFilters||[],ne=t.limit||100,w=l([]),T=l(t.sort||[]),E=l(ne),D=l(1),re=l([]),O=e.createHeader(),ie=O.container.appendChild(document.createElement(`div`)),k=O.buttons,A=e.container,ae=e.createFooter().container;ie.classList.add(`QueryFilters`);let j=Symbol(),M=new te({idKey:j,parentKey:`parent`});M.selectable=!0;let N=g.fields,oe=f(`options`,g.permissions||[],g),se=Object.entries(N).filter(([,{type:e}])=>e&&typeof e!=`object`).filter(([e])=>oe.has(e)),P=p(g),F=[];for(let{field:e,width:t,label:n,align:r,enableLink:i}of S||[]){if(!e||!Object.hasOwn(N,e))continue;let a=N[e];if(!a)continue;let o=a.type;!o||typeof o!=`string`||F.push({name:e,width:t||void 0,title:n||a.label||``,field:a,align:r,enableLink:i})}if(!F.length){for(let[e,t]of se)if(F.push({name:e,title:t.label||``,field:t}),F.length>=4)break}let ce=[...new Set([...F.map(e=>e.name),...P,...d(_)])];u(()=>M.setValue(re.get()),m);let le=F.map(({name:e,field:t,title:n,width:r,align:i,enableLink:a})=>({field:e,title:n,width:r,resizable:!0,render(r){let o=document.createElement(`td`);i&&(o.style.textAlign=i);let s=c(e,t,{enableLink:a},r.data);return o.appendChild(s.root),{root:o,destroy(){s.destroy()},setHidden(){},update(n){s.destroy(),o.innerHTML=``,s=c(e,t,{enableLink:a},n.data),o.appendChild(s.root)},header(){let e=document.createElement(`span`);return e.innerText=n,i&&(e.style.textAlign=i),{root:e,update(){},destroy(){}}}}}}));le.unshift({field:j,width:200,resizable:!0,render(e){let t=e.data,n=document.createElement(`td`),r=a.generate(_,t)||P.map(e=>t[e]).join(`$`);return n.appendChild(document.createTextNode(r)),{root:n,destroy(){},setHidden(){},update(e){let t=e.data,r=a.generate(_,t)||P.map(e=>t[e]).join(`$`);n.innerHTML=``,n.appendChild(document.createTextNode(r))}}}}),r&&le.unshift({field:j,extensions:[ee],render(e){return{root:document.createElement(`div`),destroy(){},setHidden(){},update(){}}}});let ue=M.createGroup(le,2),de=document.createElement(`table`);ue.createHeader(de.appendChild(document.createElement(`thead`)).appendChild(document.createElement(`tr`))),ue.createBody(de.appendChild(document.createElement(`tbody`)));let I=new i;x(()=>E.get(),e=>I.size=e||ne,{immediate:!0,signal:m}),x(()=>D.get(),e=>I.page=e||1,{immediate:!0,signal:m}),I.listen(()=>{D.set(I.page),E.set(I.size)});let fe=0,L=l(!1);async function R(){if(!(m?.aborted||!h)&&!L.get())try{L.set(!0),fe++;let e=fe,{options:n,total:r}=await h.options({limit:E.get(),page:D.get(),sort:T.get(),where:[...w.get()||[],...t.where||[]],or:t.orWhere||[],select:ce,total:!0});if(m?.aborted||e!==fe)return;re.set(n.map(e=>({...e,[j]:b(e,P)}))),I.total=r}finally{L.set(!1)}}function pe(){g&&v(g,w.get(),A).then(e=>{w.set(e)}).catch(()=>{})}function me(){g&&new n({signal:m,parent:A}).do(e=>y(e,g,T.get())).then(e=>{T.set(e)}).catch(()=>{})}function z(e,t,n){let r=document.createElement(`button`);r.appendChild(document.createTextNode(e));let i=o(()=>!!n?.get());return u(()=>{r.disabled=i.get()},m),r.addEventListener(`click`,e=>{i.get()||e.defaultPrevented||t()}),r}let{promise:he,reject:ge,resolve:B}=Promise.withResolvers();return k.appendChild(z(`刷新`,R,L)),k.appendChild(z(`过滤`,pe)),k.appendChild(z(`排序`,me)),k.appendChild(z(`确定`,()=>{let e=[];if(r){if(e=M.checked,!e.length)return B([])}else{let t=M.selectedId;if(!t)return B(null);e=[t]}if(!e.length){B(r?[]:null);return}let t=re.get(),n=Object.fromEntries(t.map(e=>[e[j],e])),i=[...new Set(e.map(e=>n[e]).filter(Boolean))].map(e=>({value:e[j],label:a.generate(_,e)||e[j],data:e}));B(r?i:i[0])})),k.appendChild(z(`取消`,()=>{ge()})),m?.addEventListener(`abort`,()=>ge(m.reason)),s({get(){return w.get()||[]},set(e){w.set(e),R()}},ie,C||[],{fields:g.fields,signal:m,inline:!0}),A.appendChild(de),ae.appendChild(I.root),x([()=>w.get(),()=>E.get(),()=>T.get(),()=>D.get()],R,{signal:m,immediate:!0}),he}var we=e=>{let t=e.source.service,i=document.createElement(`div`);i.classList.add(`InputDocument`);let o=i.appendChild(document.createElement(`div`)),s=o.appendChild(document.createElement(`div`)),c=e.style.enableLink&&e.source.model,f=o.appendChild(document.createElement(c?`a`:`div`));s.classList.add(`InputDocument-placeholder`),e.listen(`scrollIntoView`,()=>o.scrollIntoView()),e.listen(`focus`,()=>o.focus());let p=null,m=null,h=l(),g=l(),_=null;return u(()=>s.innerText=e.placeholder,e.signal),u(()=>{let e=h.get()||``;f.innerText=e,s.hidden=!!e},e.signal),c&&u(()=>{let e=g.get()||``;if(!e)f.removeAttribute(`href`),f.tabIndex=-1;else{f.removeAttribute(`tabIndex`);let t=r.toHref({type:`model`,model:c,id:e});f.setAttribute(`href`,t)}},e.signal),u(async()=>{let n=e.value,r=n==``||n==null?null:n;if(p===r)return;p=r;let i=e.current[`${e.name}~label`];if(g.set(p),i){m=null,p=null,h.set(i);return}if(m=p,h.set(p||``),!p||!t)return;let o=await t;if(!o)return;let s=o.labelPattern||``;if(!d(s).length)return;let{option:c}=await t.option(p);!c||p!==m||h.set(a.generate(s,c)||p)},e.signal),e.editable?(o.classList.add(`InputDocument-text`),u(()=>{e.readonly||e.disabled?(o.removeAttribute(`tabIndex`),_?.abort(),_=null,o.setAttribute(`disabled`,``)):(o.tabIndex=0,o.removeAttribute(`disabled`))},e.signal),o.addEventListener(`click`,async()=>{if(!(e.readonly||e.disabled)){_?.abort(),_=new AbortController,e.emit(`focus`,null);try{let t=await new n({parent:i,signal:AbortSignal.any([_.signal,e.signal])}).do(t=>Ce(t,e.source)),r=Array.isArray(t)?t[0]:t;if(!r){if(!e.value)return;(e.clearable||e.nullable)&&(p=``,m=null,e.value=e.nullable?null:``,h.set(``),g.set(``),e.emit(`change`,null));return}let a=r.value;if(a===e.value)return;p=a,e.value=a,m=null,g.set(a),h.set(r.label||a),e.emit(`change`,a),e.bind?.(r.data)}finally{e.emit(`blur`,null)}}}),i):i};function Te(e,t){return e.length===t.length?e.findIndex((e,n)=>e!=t[n])===-1:!1}var Ee=e=>{let t=e.source.service,i=document.createElement(`div`);i.classList.add(`InputDocument`);let o=i.appendChild(document.createElement(`div`)),s=o.appendChild(document.createElement(`div`)),c=o.appendChild(document.createElement(`div`));s.classList.add(`InputDocument-placeholder`),e.listen(`scrollIntoView`,()=>o.scrollIntoView()),e.listen(`focus`,()=>o.focus());let f=[],m=[],h=l([]),g=null;u(()=>s.innerText=e.placeholder,e.signal);let _=e.style.enableLink&&e.source.model;return u(()=>{let e=h.get();if(c.innerHTML=``,_)for(let t of e){let e=c.appendChild(document.createElement(`a`));e.innerText=t;let n=r.toHref({type:`model`,model:_,id:t});c.setAttribute(`href`,n),e.classList.add(`InputDocument-Item`)}else for(let t of e){let e=c.appendChild(document.createElement(`span`));e.innerText=t,e.classList.add(`InputDocument-Item`)}s.hidden=!!e.length},e.signal),u(async()=>{let n=e.value,r=(Array.isArray(n)?n:[n]).map(e=>typeof e==`string`||typeof e==`number`?String(e):``).filter(Boolean);if(Te(f,r))return;f=r;let i=e.current[`${e.name}~label`];if(i){m=[],f=[],h.set(i);return}if(m=f,h.set(f),!f.length||!t)return;let o=await t;if(!o)return;let s=o.labelPattern||``;if(!d(s).length)return;let{options:c}=await t.options({primary:f,limit:f.length*10});if(!c.length||f!==m)return;let l=p(o),u=Object.fromEntries(c.map(e=>[b(e,l),e]));f.map(e=>{let t=Object.hasOwn(u,e)&&u[e];return t&&a.generate(s,t)||e}),h.set(f.map(e=>{let t=Object.hasOwn(u,e)&&u[e];return t&&a.generate(s,t)||e}))},e.signal),e.editable?(o.classList.add(`InputDocument-text`),u(()=>{e.readonly||e.disabled?(o.removeAttribute(`tabIndex`),g?.abort(),g=null,o.setAttribute(`disabled`,``)):(o.tabIndex=0,o.removeAttribute(`disabled`))},e.signal),o.addEventListener(`click`,async()=>{if(!(e.readonly||e.disabled)){g?.abort(),g=new AbortController,e.emit(`focus`,null);try{let t=await new n({parent:i,signal:AbortSignal.any([g.signal,e.signal])}).do(t=>Ce(t,e.source,!0)),r=Array.isArray(t)?t:t?[t]:[];if(!r.length){if(!e.value?.length)return;e.clearable||e.nullable?(f=[],m=[],e.value=e.nullable?null:[],h.set([]),e.emit(`change`,null)):e.value=[];return}let a=r.map(e=>e.value);if(Te(a,e.value))return;f=a,e.value=a,m=[],h.set(r.map(e=>e.label||e.value)),e.emit(`change`,null)}finally{e.emit(`blur`,null)}}}),i):i},De=e=>{if(!e.editable){let t=document.createElement(`span`),n=l(``);e.listen(`focus`,()=>t.focus()),e.listen(`scrollIntoView`,()=>t.scrollIntoView());function r(){let r=n.get();r===``?t.innerText=``:t.innerText=e.source.labels[r]??r}function i(e){let t=e==null?``:String(e);t!==n.get()&&n.set(t)}return u(()=>i(e.value),e.signal),u(r,e.signal),t}let t=o(()=>``in e.source.labels),n=document.createElement(`select`);n.addEventListener(`change`,()=>{let r=n.value||(e.nullable&&!t.get()?null:``);if(e.value=r,!r)return;let i=e.source.map;e.bind?.(Object.hasOwn(i,r)&&i[r])}),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),u(()=>n.disabled=!!(e.readonly||e.disabled),e.signal);let r=o(()=>{let t=e.source.levelTree;return e.clearable?[{value:``,label:e.field?.label??``,disabled:!1,level:0},...t]:t});u(()=>{n.innerHTML=``;for(let{value:e,label:t,disabled:i,level:a}of r.get()){let r=document.createElement(`option`);r.value=`${e}`,r.label=`${Array(a).fill(` `).join(``)}${t}`,i&&(r.disabled=i),n.appendChild(r)}n.value=e.value||``},e.signal);function i(e){n.value=e??``}return u(()=>i(e.value),e.signal),n};m(`@neeloong/table/style.css`);async function Oe(e,t,n){let r=await Promise.race([t.service?.loadScript(),e.waitDestroy(!0)]),i=t.fields,a=o(()=>t.options),s=e.createHeader(),l=s.container.appendChild(document.createElement(`div`)),d=s.buttons,p=e.container;l.classList.add(`QueryFilters`);let m=`value`,h=new te({idKey:m,parentKey:`parent`});h.selectable=!0;let g=e.signal,_=r?.fields,v=r?f(`options`,r.permissions||[],r):new Set,y=[];for(let{field:e,width:t,label:n,align:r}of i||[])if(e)if(_){if(!Object.hasOwn(_,e))continue;let i=_[e];if(!i)continue;let a=i.type;if(!a||typeof a!=`string`)continue;y.push({name:e,width:t||void 0,title:n||i.label||``,field:i,align:r})}else y.push({name:e,width:t||void 0,title:n||e||``,align:r});if(!y.length&&_){let e=Object.entries(_).filter(([,{type:e}])=>e&&typeof e!=`object`).filter(([e])=>v.has(e));for(let[t,n]of e)if(y.push({name:t,title:n.label||``,field:n}),y.length>=4)break}u(()=>h.setValue(a.get()),g);let b=y.map(({name:e,title:t,width:n,align:r,field:i})=>({field:e,title:t,width:n,resizable:!0,render(t){let n=document.createElement(`td`);r&&(n.style.textAlign=r);let a=i&&c(e,i,{},t.data.data);return a?n.appendChild(a.root):n.innerText=t.data.data?.[e],{root:n,destroy(){a&&a.destroy()},setHidden(){},update(t){a&&a.destroy(),n.innerHTML=``,a=i&&c(e,i,{},t.data),a?n.appendChild(a.root):n.innerText=t.data.data?.[e]}}},header(){let e=document.createElement(`span`);return e.innerText=t,r&&(e.style.textAlign=r),{root:e,update(){},destroy(){}}}}));b.unshift({field:`_`,width:200,resizable:!0,render(e){let t=e.data,n=document.createElement(`td`),r=t.label||t.value;return n.appendChild(document.createTextNode(r)),{root:n,destroy(){},setHidden(){},update(e){let t=e.data,r=t.label||t.value;n.innerHTML=``,n.appendChild(document.createTextNode(r))}}}}),n&&b.unshift({field:`_`,extensions:[ee],render(e){return{root:document.createElement(`div`),destroy(){},setHidden(){},update(){}}}});let x=h.createGroup(b,2),S=document.createElement(`table`);x.createHeader(S.appendChild(document.createElement(`thead`)).appendChild(document.createElement(`tr`))),x.createBody(S.appendChild(document.createElement(`tbody`)));function C(e,t,n){let r=document.createElement(`button`);r.appendChild(document.createTextNode(e));let i=o(()=>!!n?.get());return u(()=>{r.disabled=i.get()},g),r.addEventListener(`click`,e=>{i.get()||e.defaultPrevented||t()}),r}let{promise:ne,reject:w,resolve:T}=Promise.withResolvers();return d.appendChild(C(`确定`,()=>{let e=[];if(n){if(e=h.checked,!e.length)return T([])}else{let t=h.selectedId;if(!t)return T(null);e=[t]}if(!e.length){T(n?[]:null);return}let t=a.get(),r=Object.fromEntries(t.map(e=>[e[m],e])),i=[...new Set(e.map(e=>r[e]).filter(Boolean))].map(e=>({value:e[m],label:e.label||e[m],data:e.data}));T(n?i:i[0])})),d.appendChild(C(`取消`,()=>{w()})),p.appendChild(S),ne}var ke=e=>{let t=e.editable,r=document.createElement(`div`);r.classList.add(`InputDocument`);let i=r.appendChild(document.createElement(`div`)),a=i.appendChild(document.createElement(`div`)),o=i.appendChild(document.createElement(`div`));a.classList.add(`InputDocument-placeholder`),e.listen(`scrollIntoView`,()=>i.scrollIntoView()),e.listen(`focus`,()=>i.focus());let s=null,c=l(),d=null;return u(()=>a.innerText=e.placeholder,e.signal),u(()=>{let t=c.get()||``;if(a.hidden=!!t,t){let n=e.source.labels;o.innerText=Object.hasOwn(n,t)&&n[t]||t}else o.innerText=``},e.signal),u(async()=>{let t=e.value,n=t==``||t==null?null:t;if(s===n)return;s=n;let r=e.current[`${e.name}~label`];if(r){s=null,c.set(r);return}c.set(s||``)},e.signal),t?(i.classList.add(`InputDocument-text`),u(()=>{e.readonly||e.disabled?(i.removeAttribute(`tabIndex`),d?.abort(),d=null,i.setAttribute(`disabled`,``)):(i.tabIndex=0,i.removeAttribute(`disabled`))},e.signal),i.addEventListener(`click`,async()=>{if(!(e.readonly||e.disabled)){d?.abort(),d=new AbortController,e.emit(`focus`,null);try{let t=await new n({parent:r,signal:AbortSignal.any([d.signal,e.signal])}).do(t=>Oe(t,e.source)),i=Array.isArray(t)?t[0]:t;if(!i){if(!e.value)return;(e.clearable||e.nullable)&&(s=``,e.value=e.nullable?null:``,c.set(``),e.emit(`change`,null));return}let a=i.value;if(a===e.value)return;s=a,e.value=a,c.set(a),e.emit(`change`,a),e.bind?.(i.data)}finally{e.emit(`blur`,null)}}}),r):r};function Ae(e,t){return e.length===t.length?e.findIndex((e,n)=>e!=t[n])===-1:!1}var je=e=>{let t=e.editable,r=document.createElement(`div`);r.classList.add(`InputDocument`);let i=r.appendChild(document.createElement(`div`)),a=i.appendChild(document.createElement(`div`)),o=i.appendChild(document.createElement(`div`));a.classList.add(`InputDocument-placeholder`),e.listen(`scrollIntoView`,()=>i.scrollIntoView()),e.listen(`focus`,()=>i.focus());let s=[],c=l([]),d=null;return u(()=>a.innerText=e.placeholder,e.signal),u(()=>{let t=c.get(),n=e.source.labels;o.innerHTML=``;for(let e of t){let t=o.appendChild(document.createElement(`span`));t.innerText=Object.hasOwn(n,e)&&n[e]||e,t.classList.add(`InputDocument-Item`)}a.hidden=!!t.length},e.signal),u(async()=>{let t=e.value,n=(Array.isArray(t)?t:[t]).map(e=>typeof e==`string`||typeof e==`number`?String(e):``).filter(Boolean);Ae(s,n)||(s=n,c.set(s))},e.signal),t?(i.classList.add(`InputDocument-text`),u(()=>{e.readonly||e.disabled?(i.removeAttribute(`tabIndex`),d?.abort(),d=null,i.setAttribute(`disabled`,``)):(i.tabIndex=0,i.removeAttribute(`disabled`))},e.signal),i.addEventListener(`click`,async()=>{if(!(e.readonly||e.disabled)){d?.abort(),d=new AbortController,e.emit(`focus`,null);try{let t=await new n({parent:r,signal:AbortSignal.any([d.signal,e.signal])}).do(t=>Oe(t,e.source,!0)),i=Array.isArray(t)?t:t?[t]:[];if(!i.length){if(!e.value?.length)return;e.clearable||e.nullable?(s=[],e.value=e.nullable?null:[],c.set([]),e.emit(`change`,null)):e.value=[];return}let a=i.map(e=>e.value);if(Ae(a,e.value))return;s=a,e.value=a,c.set(a),e.emit(`change`,null)}finally{e.emit(`blur`,null)}}}),r):r},Me=e=>{let t=document.createElement(`div`),n=t.appendChild(document.createElement(`div`)).appendChild(document.createElement(`label`)),r=n.appendChild(document.createElement(`input`));n.appendChild(document.createTextNode(`全选`)),n.classList.add(`align-center`),r.type=`checkbox`;let i=t.appendChild(document.createElement(`div`)),a=new Set,s=o(()=>new Set(g.get().flatMap(e=>e.children?.map(e=>e.value)||[])));function c(){s.get().size===a.size?(r.indeterminate=!1,r.checked=!0):a.size?r.indeterminate=!0:(r.indeterminate=!1,r.checked=!1)}function d(){a=new Set;for(let{checked:e,value:t}of i.querySelectorAll(`input`))!e||!t||a.add(t);e.value=[...a].map(e=>({permission:e})),c()}function f(){for(let e of i.querySelectorAll(`input`))e.checked=a.has(e.value)}function p(){f(),c()}let m=l([]);function h(){i.innerHTML=``;let e=[];for(let{label:t,children:n}of g.get()){if(!n?.length)continue;let r=i.appendChild(document.createElement(`details`));r.open=!0,r.appendChild(document.createElement(`summary`)).appendChild(document.createTextNode(t));for(let{value:t,label:i}of n){let n=r.appendChild(document.createElement(`label`)),a=n.appendChild(document.createElement(`input`));a.type=`checkbox`,n.appendChild(document.createTextNode(i)),n.classList.add(`align-center`),n.classList.add(`inline`),a.value=String(t||``),a.addEventListener(`input`,d),e.push(a)}}m.set(e),p()}u(()=>h(),e.signal),r.addEventListener(`input`,()=>{if(!r.checked){for(let e of i.querySelectorAll(`input`))e.checked=!1;e.value=[];return}let t=new Set;for(let e of i.querySelectorAll(`input`))e.checked=!0,t.add(e.value);e.value=[...t].map(e=>({permission:e})),f()}),r.addEventListener(`change`,t=>e.emit(`change`,t)),r.addEventListener(`focus`,t=>e.emit(`focus`,t)),r.addEventListener(`blur`,t=>e.emit(`blur`,t));let _=o(()=>!!(!e.editable||e.disabled));e.listen(`focus`,()=>r.focus()),e.listen(`scrollIntoView`,()=>r.scrollIntoView()),u(()=>r.hidden=!!e.hidden,e.signal),u(()=>{let e=_.get();n.hidden=e;for(let t of m.get())t.disabled=e},e.signal),u(()=>r.readOnly=!!e.readonly,e.signal);function v(e){let t=new Set(Array.isArray(e)&&e.map(e=>e.permission)||[]);if(t.size===a.size){for(let e of a)if(!t.has(e))break;return}a=t,p()}return u(()=>v(e.value),e.signal),t};function Ne(t,n){return(r,i)=>{let{signal:a,editable:o,store:s}=r;if(!s||a.aborted)return;let c=new e(t,s,a),{enableLink:l,design:u}=r.style;r.root.style.inlineSize=`100%`,_(c,r.root,{enableLink:l,design:u,layout:n,editable:o,signal:a})}}async function Pe(e){if(typeof e==`string`)return h(e);if(!e||typeof e!=`object`)return null;let{widget:t,schema:n,layout:r}=e;return typeof t==`string`&&t?h(t):n&&typeof n==`object`?Ne(n,r):null}var Fe=e=>{let t=null,n=null,r=document.createElement(`div`);async function i(i){if(e.signal.aborted||i===t)return;t=i,n?.abort(),n=new AbortController;let a=AbortSignal.any([n.signal,e.signal]),o=await Pe(i);typeof o==`function`&&(a.aborted||o({root:r,get store(){return e.store},get style(){return e.style},get field(){return e.field},get name(){return e.name},get value(){return e.value},set value(t){e.value=t},get current(){return e.current},get destroyed(){return e.destroyed},get readonly(){return e.readonly},get editable(){return e.editable},get required(){return e.required},get nullable(){return e.nullable},get disabled(){return e.disabled},get clearable(){return e.clearable},get hidden(){return e.hidden},get label(){return e.label},get placeholder(){return e.placeholder},get description(){return e.description},get source(){return e.source},get signal(){return a},listen(t,n){return e.listen(t,n)},emit(t,n){return e.emit(t,n)},get bind(){return e.bind}},typeof i==`object`&&i||{}))}let a=null;return u(()=>{let t=e.source.configurator||null;a!==null&&cancelIdleCallback(a),a=requestIdleCallback(()=>{a=null,i(t)})},e.signal),r};function Ie(e,n,r){let i=t.encode(r);if(!i?.length){n.setAttribute(`d`,``);return}let a=[];for(let e=0;e<i.length;e++){if(!i[e])continue;let t=e-i.length/2,n=1;for(;i[e+1];)n++,e++;a.push(`M${t} -0.5h${n}v1h-${n}Z`)}if(!a.length){n.setAttribute(`d`,``);return}let o=i.length;e.setAttribute(`viewBox`,`${-o/2-10} -0.5 ${o+20} 1`),n.setAttribute(`d`,a.join(` `))}var Le=e=>{let t=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`);t.setAttribute(`preserveAspectRatio`,`none`);let n=document.createElementNS(`http://www.w3.org/2000/svg`,`path`);t.appendChild(n),t.style.blockSize=`var(--input-height)`,t.style.inlineSize=`100%`,n.setAttribute(`fill`,`black`),e.listen(`focus`,()=>t.focus()),e.listen(`scrollIntoView`,()=>t.scrollIntoView());let r=``;return u(()=>{let i=String(e.value??``).replace(/[^\0-\x7f]+/g,``);i!==r&&(r=i,Ie(t,n,i))},e.signal),t},Re=e=>{if(!e.editable){let t=document.createElement(`span`),n=l([]);e.listen(`focus`,()=>t.focus()),e.listen(`scrollIntoView`,()=>t.scrollIntoView());function r(){t.innerText=n.get().map(t=>e.source.labels[t]??t).join(`, `)}function i(e){let t=[e].flat().map(e=>String(e??``)).filter(Boolean);n.set(t)}return u(()=>i(e.value),e.signal),u(r,e.signal),t}let t=document.createElement(`div`);t.classList.add(`InputCheckbox-group`);let n=Object.create(null);function r(t){let r=[];for(let[e,t]of Object.entries(n))t.checked&&r.push(e);e.value=r.length===0&&e.nullable?null:r,e.emit(`change`,t)}t.addEventListener(`focus`,t=>e.emit(`focus`,t),!0),t.addEventListener(`blur`,t=>e.emit(`blur`,t),!0),e.listen(`focus`,()=>{for(let e of Object.values(n))if(!e.disabled){e.focus();break}}),e.listen(`scrollIntoView`,()=>t.scrollIntoView()),u(()=>{let t=!!(e.readonly||e.disabled);for(let e of Object.values(n))e.disabled=t},e.signal);let i=o(()=>e.source.levelTree);return u(()=>{t.innerHTML=``,n=Object.create(null);let a=i.get(),o=new Set(Array.isArray(e.value)?e.value:e.value==null?[]:[e.value]);for(let{value:e,label:i,disabled:s,level:c}of a){let a=document.createElement(`input`);a.type=`checkbox`,a.value=`${e}`,a.checked=o.has(e),s&&(a.disabled=!0),a.addEventListener(`change`,r),n[e]=a;let c=document.createTextNode(i),l=document.createElement(`span`),u=document.createElement(`label`);u.classList.add(`InputCheckbox-label`),u.appendChild(a),u.appendChild(l),l.appendChild(c),t.appendChild(u)}},e.signal),u(()=>{let t=[e.value].flat().map(e=>String(e??``)).filter(Boolean),r=new Set(t);for(let[e,t]of Object.entries(n))t.checked=r.has(e)},e.signal),t},ze=e=>{if(!e.editable){let t=document.createElement(`span`),n=l(``);e.listen(`focus`,()=>t.focus()),e.listen(`scrollIntoView`,()=>t.scrollIntoView());function r(){let r=n.get();r===``?t.innerText=``:t.innerText=e.source.labels[r]??r}function i(e){let t=e==null?``:String(e);t!==n.get()&&n.set(t)}return u(()=>i(e.value),e.signal),u(r,e.signal),t}let t=document.createElement(`div`);t.classList.add(`InputRadio-group`);let n=Object.create(null);function r(t){let n=t.target;n&&n.checked&&(e.value=n.value,e.emit(`change`,t))}t.addEventListener(`focus`,t=>e.emit(`focus`,t),!0),t.addEventListener(`blur`,t=>e.emit(`blur`,t),!0),e.listen(`focus`,()=>{for(let e of Object.values(n))if(!e.disabled){e.focus();break}}),e.listen(`scrollIntoView`,()=>t.scrollIntoView()),u(()=>{let t=!!(e.readonly||e.disabled);for(let e of Object.values(n))e.disabled=t},e.signal);let i=o(()=>e.source.levelTree);return u(()=>{t.innerHTML=``,n=Object.create(null);let a=i.get(),o=e.value==null?``:String(e.value);for(let{value:e,label:i,disabled:s,level:c}of a){let a=document.createElement(`input`);a.type=`radio`,a.value=`${e}`,a.checked=o===String(e),s&&(a.disabled=!0),a.addEventListener(`change`,r),n[e]=a;let c=document.createTextNode(i),l=document.createElement(`span`),u=document.createElement(`label`);u.classList.add(`InputCheckbox-label`),u.appendChild(a),u.appendChild(l),l.appendChild(c),t.appendChild(u)}},e.signal),u(()=>{let t=String(e.value??``);for(let[e,r]of Object.entries(n))r.checked=t===e},e.signal),t};function V(e,t){let{inline:n,showLabel:r,quick:i}=t.style,a=document.createElement(n?`span`:`div`),o=t.field?.label??``;if(r){let e=a.appendChild(document.createElement(n?`span`:`div`));e.innerText=o}let s=e(n?a:a.appendChild(document.createElement(`div`)),i?o:``,e=>{t.value=e});return u(()=>s(t.value),t.signal),a}function Be(e,t,n){let r=e.appendChild(document.createElement(`textarea`));return t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(r.value||null)),e=>{r.value=e??``}}var H=V.bind(null,Be);function Ve(e,t){let n=parseFloat(e);return Number.isFinite(n)?n:t?0:null}function He(e,t,n){let r=e.appendChild(document.createElement(`input`));return r.type=`number`,t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(Ve(r.value))),e=>{r.value=e??``}}var U=V.bind(null,He);function Ue(e,t){let n=parseInt(e);return Number.isFinite(n)?n:t?0:null}function We(e,t,n){let r=e.appendChild(document.createElement(`input`));return r.type=`number`,t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(Ue(r.value))),e=>{r.value=e??``}}var W=V.bind(null,We);function Ge(e,t){if(!e)return t?0n:null;try{return BigInt(e)}catch{}return t?0n:null}function Ke(e,t,n){let r=e.appendChild(document.createElement(`input`));return r.type=`number`,t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(Ge(r.value))),e=>{r.value=e??``}}var G=V.bind(null,Ke);function qe(e,t,n){let r=e.appendChild(document.createElement(`input`));return t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(r.value||null)),e=>{r.value=e??``}}var K=V.bind(null,qe),Je=e=>{let{inline:t,showLabel:n,quick:r}=e.style,i=document.createElement(t?`span`:`div`),a=i.appendChild(document.createElement(`label`)),o=a.appendChild(document.createElement(`input`));return o.type=`checkbox`,o.addEventListener(`input`,()=>{e.value=o.indeterminate?null:!!o.checked}),u(()=>{let t=e.value;if(typeof t==`boolean`){o.checked=t;return}if(t===`false`||t===`0`||t===0){o.checked=!1;return}if(t===`true`||t===`1`||t===1){o.checked=!0;return}o.indeterminate=!0,t!==null&&(e.value=null)},e.signal),n?a.insertBefore(document.createTextNode(e.field?.label??``),a.firstChild):r&&a.appendChild(document.createTextNode(e.field?.label??``)),i};function Ye(e,t,n){let r=e.appendChild(document.createElement(`input`));return r.type=`date`,r.step=`1`,t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(r.value||null)),e=>{r.value=e??``}}var q=V.bind(null,Ye);function Xe(e,t,n){let r=e.appendChild(document.createElement(`input`));return r.type=`time`,t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(r.value||null)),e=>{r.value=e??``}}var J=V.bind(null,Xe);function Ze(e,t,n){let r=e.appendChild(document.createElement(`input`));return r.type=`datetime-local`,r.step=`1`,t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(r.value||null)),e=>{r.value=e??``}}var Y=V.bind(null,Ze);function Qe(e,t,n){let r=e.appendChild(document.createElement(`input`));return r.type=`url`,t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(r.value||null)),e=>{r.value=e??``}}var $e=V.bind(null,Qe);function et(e,t,n){let r=e.appendChild(document.createElement(`input`));return t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(r.value||null)),e=>{r.value=e??``}}var tt=V.bind(null,et),X=e=>{let{inline:t,showLabel:r,quick:i}=e.style,o=e.source.service,s=document.createElement(t?`span`:`div`),c=s.appendChild(document.createElement(`label`));s.classList.add(`InputDocument`);let f=c.appendChild(document.createElement(`div`)),p=f.appendChild(document.createElement(`div`)),m=f.appendChild(document.createElement(`div`));p.classList.add(`InputDocument-placeholder`);let h=null,g=null,_=l(),v=null,y=e.field?.label??``;return p.innerText=i?y:``,u(()=>{let e=_.get()||``;m.innerText=e,p.hidden=!!e},e.signal),u(async()=>{let t=e.value,n=t==``||t==null?null:t;if(h===n||(h=n,g=h,_.set(h||``),!h)||!o)return;let r=await o;if(!r)return;let i=r.labelPattern||``;if(!d(i).length)return;let{option:s}=await o.option(h);!s||h!==g||_.set(a.generate(i,s)||h)},e.signal),r&&c.insertBefore(document.createTextNode(y),c.firstChild),o?(f.classList.add(`InputDocument-text`),f.tabIndex=0,f.addEventListener(`click`,async()=>{v?.abort(),v=new AbortController;let t=await new n({parent:s,signal:AbortSignal.any([v.signal,e.signal])}).do(t=>Ce(t,e.source)),r=Array.isArray(t)?t[0]:t;if(!r){if(!e.value)return;h=``,g=null,e.value=null,_.set(``);return}let i=r.value;i!==e.value&&(h=i,e.value=i,g=null,_.set(r.label||i))}),s):s},Z=e=>{let{inline:t,showLabel:n,quick:r}=e.style,i=document.createElement(t?`span`:`div`).appendChild(document.createElement(`label`)),a=i.appendChild(document.createElement(`select`));a.addEventListener(`change`,()=>{e.value=a.value||null});let s=o(()=>{let t=e.source.levelTree;return[{value:``,label:r&&e.field?.label||``,disabled:!1,level:0},...t]});return u(()=>{a.innerHTML=``;for(let{value:e,label:t,disabled:n,level:r}of s.get()){let i=document.createElement(`option`);i.value=`${e}`,i.label=`${Array(r).fill(` `).join(``)}${t}`,n&&(i.disabled=n),a.appendChild(i)}a.value=e.value||``},e.signal),u(()=>{let t=e.value;a.value=(t==``||t==null?null:t)||``},e.signal),n&&i.insertBefore(document.createTextNode(e.field?.label??``),i.firstChild),a},Q=e=>{let{inline:t,showLabel:r,quick:i}=e.style,a=document.createElement(t?`span`:`div`),o=a.appendChild(document.createElement(`label`));a.classList.add(`InputDocument`);let s=o.appendChild(document.createElement(`div`)),c=s.appendChild(document.createElement(`div`)),d=s.appendChild(document.createElement(`div`));c.classList.add(`InputDocument-placeholder`);let f=null,p=l(),m=null,h=e.field?.label??``;return c.innerText=i?h:``,u(()=>{let t=p.get()||``;if(c.hidden=!!t,t){let n=e.source.labels;d.innerText=Object.hasOwn(n,t)&&n[t]||t}else d.innerText=``},e.signal),u(async()=>{let t=e.value,n=t==``||t==null?null:t;f!==n&&(f=n,p.set(f||``))},e.signal),r&&o.insertBefore(document.createTextNode(h),o.firstChild),s.classList.add(`InputDocument-text`),s.tabIndex=0,s.addEventListener(`click`,async()=>{m?.abort(),m=new AbortController;let t=await new n({parent:a,signal:AbortSignal.any([m.signal,e.signal])}).do(t=>Oe(t,e.source)),r=Array.isArray(t)?t[0]:t;if(!r){if(!e.value)return;f=``,e.value=null,p.set(``);return}let i=r.value;i!==e.value&&(f=i,e.value=i,p.set(r.label||i))}),a};function nt(e){if(typeof e!=`string`)return!!e;switch(e.toLowerCase()){case``:case`0`:case`n`:case`f`:case`no`:case`off`:case`false`:return!1}return!0}function $(e,t){if([e,t].filter(e=>(e??null)===null).length===1)return!1;let n=e??null,r=t??null;return Object.is(n,r)?!0:n===null||r===null?!1:typeof e==`boolean`||typeof t==`boolean`?nt(e)===nt(t):e==t}function rt(e,t){if(Array.isArray(t)){for(let n of e)if(Array.isArray(n)){if(n.length!==t.length)continue;if(t.findIndex((e,t)=>!$(n[t],e))<0)return!0}else for(let e of t)if($(n,e))return!0}else for(let n of e)if($(n,t))return!0;return!1}function it(e,t){if(Array.isArray(t))return null;let n=t??null,r=n===null?``:String(n);for(let t of e){let e=(Array.isArray(t)?t[0]:t)??null;if(!(e===null||e===``)&&r.includes(String(e)))return}return!1}function at(e,t){if(Array.isArray(t)){for(let n of e)if(Array.isArray(n)&&n.length===t.length&&t.findIndex((e,t)=>!$(n[t],e))<0)return!0}else for(let n of e)if(Array.isArray(n)&&n.length===t.length){for(let e of n)if($(e,t))return!0}return!1}function ot(e,t,n){if(((Array.isArray(n)?n[0]:n)??null)===null)return null;for(let r of t){if(Array.isArray(r)||(r??null)===null)continue;let t=e(r,n);if(typeof t==`boolean`)return t}return!1}function st(e,t){return ot((e,t)=>e>t,e,t)}function ct(e,t){return ot((e,t)=>e>=t,e,t)}function lt(e,t){return ot((e,t)=>e<t,e,t)}function ut(e,t){return ot((e,t)=>e<=t,e,t)}const dt=[{not:`!=`,notLabel:`≠`,value:rt,filters:{gt:{value:st},ge:{value:ct},lt:{value:lt},le:{value:ut},in:{value:rt,not:`nin`},contains:{value:it}}},{array:!0,not:`!=`,notLabel:`≠`,value:at,filters:{in:{value:at,not:`nin`}}},{type:`text`,input:E,filter:H,notFilter:H,filters:{ne:{filter:H,label:`≠`},gt:{filter:H,label:`>`},ge:{filter:H,label:`≥`},lt:{filter:H,label:`<`},le:{filter:H,label:`≤`},contains:{filter:H,label:`包含`}}},{type:`string`,input:se,filter:K,notFilter:K,filters:{ne:{filter:K,label:`≠`},gt:{filter:K,label:`>`},ge:{filter:K,label:`≥`},lt:{filter:K,label:`<`},le:{filter:K,label:`≤`},contains:{filter:K,label:`包含`}}},{type:`bool`,input:P,filter:Je,notFilter:Je,filters:{ne:{filter:Je,label:`≠`}}},{type:`f32`,input:O,filter:U,notFilter:U,filters:{ne:{filter:U,label:`≠`},gt:{filter:U,label:`>`},ge:{filter:U,label:`≥`},lt:{filter:U,label:`<`},le:{filter:U,label:`≤`}}},{type:`f64`,input:O,filter:U,notFilter:U,filters:{ne:{filter:U,label:`≠`},gt:{filter:U,label:`>`},ge:{filter:U,label:`≥`},lt:{filter:U,label:`<`},le:{filter:U,label:`≤`}}},{type:`decimal`,input:O,filter:U,notFilter:U,filters:{ne:{filter:U,label:`≠`},gt:{filter:U,label:`>`},ge:{filter:U,label:`≥`},lt:{filter:U,label:`<`},le:{filter:U,label:`≤`}}},{type:`numeric`,input:O,filter:U,notFilter:U,filters:{ne:{filter:U,label:`≠`},gt:{filter:U,label:`>`},ge:{filter:U,label:`≥`},lt:{filter:U,label:`<`},le:{filter:U,label:`≤`}}},{type:`money`,input:O,filter:U,notFilter:U,filters:{ne:{filter:U,label:`≠`},gt:{filter:U,label:`>`},ge:{filter:U,label:`≥`},lt:{filter:U,label:`<`},le:{filter:U,label:`≤`}}},{type:`i16`,input:A,filter:W,notFilter:W,filters:{ne:{filter:W,label:`≠`},gt:{filter:W,label:`>`},ge:{filter:W,label:`≥`},lt:{filter:W,label:`<`},le:{filter:W,label:`≤`}}},{type:`i32`,input:A,filter:W,notFilter:W,filters:{ne:{filter:W,label:`≠`},gt:{filter:W,label:`>`},ge:{filter:W,label:`≥`},lt:{filter:W,label:`<`},le:{filter:W,label:`≤`}}},{type:`i64`,input:M,filter:G,notFilter:G,filters:{ne:{filter:G,label:`≠`},gt:{filter:G,label:`>`},ge:{filter:G,label:`≥`},lt:{filter:G,label:`<`},le:{filter:G,label:`≤`}}},{type:`date`,input:le,filter:q,notFilter:q,filters:{ne:{filter:q,label:`≠`},gt:{filter:q,label:`>`},ge:{filter:q,label:`≥`},lt:{filter:q,label:`<`},le:{filter:q,label:`≤`}}},{type:`time`,input:I,filter:J,notFilter:J,filters:{ne:{filter:J,label:`≠`},gt:{filter:J,label:`>`},ge:{filter:J,label:`≥`},lt:{filter:J,label:`<`},le:{filter:J,label:`≤`}}},{type:`uuid`,input:Se,filter:tt,notFilter:tt,filters:{ne:{filter:tt,label:`≠`}}},{type:`datetime`,input:z,filter:Y,notFilter:Y,filters:{ne:{filter:Y,label:`≠`},gt:{filter:Y,label:`>`},ge:{filter:Y,label:`≥`},lt:{filter:Y,label:`<`},le:{filter:Y,label:`≤`}}},{type:`timetz`,input:I,filter:J,notFilter:J,filters:{ne:{filter:J,label:`≠`},gt:{filter:J,label:`>`},ge:{filter:J,label:`≥`},lt:{filter:J,label:`<`},le:{filter:J,label:`≤`}}},{type:`timestamp`,input:z,filter:Y,notFilter:Y,filters:{ne:{filter:Y,label:`≠`},gt:{filter:Y,label:`>`},ge:{filter:Y,label:`≥`},lt:{filter:Y,label:`<`},le:{filter:Y,label:`≤`}}},{renderer:`password`,input:B,filter:K,notFilter:K,filters:{ne:{filter:K,label:`≠`}}},{renderer:`uri`,input:ye,filter:$e,notFilter:$e,filters:{ne:{filter:$e,label:`≠`}}},{renderer:`document`,input:we,filter:X,notFilter:X,filters:{ne:{filter:X,label:`≠`}}},{array:!0,renderer:`document`,input:Ee,filter:X,notFilter:X,filters:{ne:{filter:X,label:`≠`}}},{renderer:`select`,input:De,filter:Z,notFilter:Z,filters:{ne:{filter:Z,label:`≠`}}},{renderer:`select`,array:!0,input:je,filter:Z,notFilter:Z,filters:{ne:{filter:Z,label:`≠`}}},{renderer:`choice`,input:ze,filter:Z,notFilter:Z,filters:{ne:{filter:Z,label:`≠`}}},{renderer:`choice`,array:!0,input:Re,filter:Z,notFilter:Z,filters:{ne:{filter:Z,label:`≠`}}},{renderer:`search`,input:ke,filter:Q,notFilter:Q,filters:{ne:{filter:Q,label:`≠`}}},{renderer:`search`,array:!0,input:je,filter:Q,notFilter:Q,filters:{ne:{filter:Q,label:`≠`}}},{renderer:`code128`,input:Le},{renderer:`barcode`,input:Le},{renderer:`configuration`,input:Fe},{type:`submodel`,array:!0,renderer:`permission`,input:Me}],ft=[`style.css`];export{dt as formFields,ft as styles};
|
|
1
|
+
import{BindObjectStore as e,Code128 as t,Modal as n,PageIdent as r,Pagination as i,Pattern as a,createComputed as o,createQuickFilters as s,createShowField as c,createState as l,effect as u,getPatternFields as d,getPermissionFields as f,getPrimaryFields as p,importStyle as m,importWidget as h,permissionsService as g,renderForm as _,showFilterDialog as v,showSortDialog as y,toId as b,watch as x}from"@yongdall/web";import{Check as ee,Source as te}from"@neeloong/table";function S(e){let t=document.createElement(`div`),n=t;return n.style.overflow=`hidden`,n.style.whiteSpace=`nowrap`,n.style.textOverflow=`ellipsis`,e.listen(`scrollIntoView`,()=>t.scrollIntoView()),[t,e=>{n.title=n.innerText=e??``}]}function C(e,t,n,r,i){let a=e.editable,o=e.field?.nullable?null:i,[s,c]=(a?t:n)(e,t=>{o=r(t,e.field?.nullable),e.value=o});function l(e,t){!t&&e===o||(o=e,c(e))}return l(e.value,!0),u(()=>l(e.value),e.signal),s}function ne(e){let t=document.createElement(`div`),n=t;return e.listen(`scrollIntoView`,()=>t.scrollIntoView()),[t,e=>{n.innerText=e??``}]}function w(e,t){return e||!t?e:null}function T(e,t){let n=document.createElement(`textarea`);return n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),u(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),u(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var E=e=>C(e,T,ne,w,``);function D(e,t){let n=parseFloat(e);return Number.isFinite(n)?n:t?null:0}function re(e,t){let n=document.createElement(`input`);return n.type=`number`,n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),u(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),u(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var O=e=>C(e,re,S,D,0);function ie(e,t){let n=parseInt(e);return Number.isFinite(n)?n:t?null:0}function k(e,t){let n=document.createElement(`input`);return n.type=`number`,n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),u(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),u(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var A=e=>C(e,k,S,ie,0);function ae(e,t){if(!e)return t?null:0n;try{return BigInt(e)}catch{}return t?null:0n}function j(e,t){let n=document.createElement(`input`);return n.type=`number`,n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),u(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),u(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var M=e=>C(e,j,S,ae,0n);function N(e,t){return e||!t?e:null}function oe(e,t){let n=document.createElement(`input`);return n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),u(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),u(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var se=e=>C(e,oe,S,N,``),P=e=>{if(!e.editable){let t=document.createElement(`span`);return e.listen(`scrollIntoView`,()=>t.scrollIntoView()),u(()=>{let n=e.value;t.innerText=(!e.field?.nullable||typeof n==`boolean`)&&n?`✔`:`☐`},e.signal),t}let t=document.createElement(`input`);t.type=`checkbox`;let n=e.field?.nullable?null:!1;t.addEventListener(`input`,()=>{n=!!t.checked,e.value=n}),t.addEventListener(`change`,t=>e.emit(`change`,t)),t.addEventListener(`focus`,t=>e.emit(`focus`,t)),t.addEventListener(`blur`,t=>e.emit(`blur`,t)),u(()=>t.disabled=!!(e.readonly||e.disabled),e.signal),u(()=>t.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>t.focus()),e.listen(`scrollIntoView`,()=>t.scrollIntoView());function r(r){let i=!e.field?.nullable||typeof r==`boolean`?!!r:null;i!==n&&(n=i,t.checked=!!i)}return u(()=>r(e.value),e.signal),t};function F(e,t){return Number.isFinite(new Date(e).valueOf())?e:t?null:``}function ce(e,t){let n=document.createElement(`input`);return n.type=`date`,n.step=`1`,n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),u(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),u(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var le=e=>C(e,ce,S,F,``);function ue(e,t){let n=new Date(e);return Number.isFinite(n)?e:t?null:``}function de(e,t){let n=document.createElement(`input`);return n.type=`time`,n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),u(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),u(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var I=e=>C(e,de,S,ue,``);function fe(e,t){let n=new Date(e);return Number.isFinite(n.valueOf())?n:null}function L(e,t){return e.valueOf()?`${[`${e.getFullYear()}`.padStart(4,`0`),`${e.getMonth()+1}`.padStart(2,`0`),`${e.getDate()}`.padStart(2,`0`)].join(`-`)}${t}${[`${e.getHours()}`.padStart(2,`0`),`${e.getMinutes()}`.padStart(2,`0`),`${e.getSeconds()}`.padStart(2,`0`)].join(`:`)}`:``}function R(e,t=`T`){return e instanceof Date?L(e,t):L(new Date(e),t)??``}function pe(e){let t=document.createElement(`div`),n=t;return n.style.overflow=`hidden`,n.style.whiteSpace=`nowrap`,n.style.textOverflow=`ellipsis`,e.listen(`scrollIntoView`,()=>t.scrollIntoView()),[t,e=>{n.title=n.innerText=R(e,` `)}]}function me(e,t){let n=document.createElement(`input`);return n.type=`datetime-local`,n.step=`1`,n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),u(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),u(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=R(e)}]}var z=e=>C(e,me,pe,fe,null);function he(e,t){return e||!t?e:null}function ge(e,t){let n=document.createElement(`input`);return n.type=`password`,n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),u(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),u(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var B=e=>C(e,ge,S,he,``);function _e(e,t){return e||!t?e:null}function ve(e,t){let n=document.createElement(`input`);return n.type=`url`,n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),u(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),u(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var ye=e=>C(e,ve,S,_e,``);function be(e,t){return e||!t?e:null}function xe(e,t){let n=document.createElement(`input`);return n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),u(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),u(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var Se=e=>C(e,xe,S,be,``);m(`@neeloong/table/style.css`);async function Ce(e,t,r){let m=e.signal,h=t.service,g=await Promise.race([h?.loadScript(),e.waitDestroy(!0)]);if(!g)return Promise.reject();let _=t.label||g.labelPattern||``,S=t.fields,C=t.queryFilters||[],ne=t.limit||100,w=l([]),T=l(t.sort||[]),E=l(ne),D=l(1),re=l([]),O=e.createHeader(),ie=O.container.appendChild(document.createElement(`div`)),k=O.buttons,A=e.container,ae=e.createFooter().container;ie.classList.add(`QueryFilters`);let j=Symbol(),M=new te({idKey:j,parentKey:`parent`});M.selectable=!0;let N=g.fields,oe=f(`options`,g.permissions||[],g),se=Object.entries(N).filter(([,{type:e}])=>e&&typeof e!=`object`).filter(([e])=>oe.has(e)),P=p(g),F=[];for(let{field:e,width:t,label:n,align:r,enableLink:i}of S||[]){if(!e||!Object.hasOwn(N,e))continue;let a=N[e];if(!a)continue;let o=a.type;!o||typeof o!=`string`||F.push({name:e,width:t||void 0,title:n||a.label||``,field:a,align:r,enableLink:i})}if(!F.length){for(let[e,t]of se)if(F.push({name:e,title:t.label||``,field:t}),F.length>=4)break}let ce=[...new Set([...F.map(e=>e.name),...P,...d(_)])];u(()=>M.setValue(re.get()),m);let le=F.map(({name:e,field:t,title:n,width:r,align:i,enableLink:a})=>({field:e,title:n,width:r,resizable:!0,render(r){let o=document.createElement(`td`);i&&(o.style.textAlign=i);let s=c(e,t,{enableLink:a},r.data);return o.appendChild(s.root),{root:o,destroy(){s.destroy()},setHidden(){},update(n){s.destroy(),o.innerHTML=``,s=c(e,t,{enableLink:a},n.data),o.appendChild(s.root)},header(){let e=document.createElement(`span`);return e.innerText=n,i&&(e.style.textAlign=i),{root:e,update(){},destroy(){}}}}}}));le.unshift({field:j,width:200,resizable:!0,render(e){let t=e.data,n=document.createElement(`td`),r=a.generate(_,t)||P.map(e=>t[e]).join(`$`);return n.appendChild(document.createTextNode(r)),{root:n,destroy(){},setHidden(){},update(e){let t=e.data,r=a.generate(_,t)||P.map(e=>t[e]).join(`$`);n.innerHTML=``,n.appendChild(document.createTextNode(r))}}}}),r&&le.unshift({field:j,extensions:[ee],render(e){return{root:document.createElement(`div`),destroy(){},setHidden(){},update(){}}}});let ue=M.createGroup(le,2),de=document.createElement(`table`);ue.createHeader(de.appendChild(document.createElement(`thead`)).appendChild(document.createElement(`tr`))),ue.createBody(de.appendChild(document.createElement(`tbody`)));let I=new i;x(()=>E.get(),e=>I.size=e||ne,{immediate:!0,signal:m}),x(()=>D.get(),e=>I.page=e||1,{immediate:!0,signal:m}),I.listen(()=>{D.set(I.page),E.set(I.size)});let fe=0,L=l(!1);async function R(){if(!(m?.aborted||!h)&&!L.get())try{L.set(!0),fe++;let e=fe,{options:n,total:r}=await h.options({limit:E.get(),page:D.get(),sort:T.get(),where:[...w.get()||[],...t.where||[]],or:t.orWhere||[],select:ce,total:!0});if(m?.aborted||e!==fe)return;re.set(n.map(e=>({...e,[j]:b(e,P)}))),I.total=r}finally{L.set(!1)}}function pe(){g&&v(g,w.get(),A).then(e=>{w.set(e)}).catch(()=>{})}function me(){g&&new n({signal:m,parent:A}).do(e=>y(e,g,T.get())).then(e=>{T.set(e)}).catch(()=>{})}function z(e,t,n){let r=document.createElement(`button`);r.appendChild(document.createTextNode(e));let i=o(()=>!!n?.get());return u(()=>{r.disabled=i.get()},m),r.addEventListener(`click`,e=>{i.get()||e.defaultPrevented||t()}),r}let{promise:he,reject:ge,resolve:B}=Promise.withResolvers();return k.appendChild(z(`刷新`,R,L)),k.appendChild(z(`过滤`,pe)),k.appendChild(z(`排序`,me)),k.appendChild(z(`确定`,()=>{let e=[];if(r){if(e=M.checked,!e.length)return B([])}else{let t=M.selectedId;if(!t)return B(null);e=[t]}if(!e.length){B(r?[]:null);return}let t=re.get(),n=Object.fromEntries(t.map(e=>[e[j],e])),i=[...new Set(e.map(e=>n[e]).filter(Boolean))].map(e=>({value:e[j],label:a.generate(_,e)||e[j],data:e}));B(r?i:i[0])})),k.appendChild(z(`取消`,()=>{ge()})),m?.addEventListener(`abort`,()=>ge(m.reason)),s({get(){return w.get()||[]},set(e){w.set(e),R()}},ie,C||[],{fields:g.fields,signal:m,inline:!0}),A.appendChild(de),ae.appendChild(I.root),x([()=>w.get(),()=>E.get(),()=>T.get(),()=>D.get()],R,{signal:m,immediate:!0}),he}var we=e=>{let t=e.source.service,i=document.createElement(`div`);i.classList.add(`InputDocument`);let o=i.appendChild(document.createElement(`div`)),s=o.appendChild(document.createElement(`div`)),c=e.style.enableLink&&e.source.model,f=o.appendChild(document.createElement(c?`a`:`div`));s.classList.add(`InputDocument-placeholder`),e.listen(`scrollIntoView`,()=>o.scrollIntoView()),e.listen(`focus`,()=>o.focus());let p=null,m=null,h=l(),g=l(),_=null;return u(()=>s.innerText=e.placeholder,e.signal),u(()=>{let e=h.get()||``;f.innerText=e,s.hidden=!!e},e.signal),c&&u(()=>{let e=g.get()||``;if(!e)f.removeAttribute(`href`),f.tabIndex=-1;else{f.removeAttribute(`tabIndex`);let t=r.toHref({type:`model`,model:c,id:e});f.setAttribute(`href`,t)}},e.signal),u(async()=>{let n=e.value,r=n==``||n==null?null:n;if(p===r)return;p=r;let i=e.current[`${e.name}~label`];if(g.set(p),typeof i==`string`){m=null,p=null,h.set(i);return}if(m=p,h.set(p||``),!p||!t)return;let o=await t;if(!o)return;let s=o.labelPattern||``;if(!d(s).length)return;let{option:c}=await t.option(p);!c||p!==m||h.set(a.generate(s,c)||p)},e.signal),e.editable?(o.classList.add(`InputDocument-text`),u(()=>{e.readonly||e.disabled?(o.removeAttribute(`tabIndex`),_?.abort(),_=null,o.setAttribute(`disabled`,``)):(o.tabIndex=0,o.removeAttribute(`disabled`))},e.signal),o.addEventListener(`click`,async()=>{if(!(e.readonly||e.disabled)){_?.abort(),_=new AbortController,e.emit(`focus`,null);try{let t=await new n({parent:i,signal:AbortSignal.any([_.signal,e.signal])}).do(t=>Ce(t,e.source)),r=Array.isArray(t)?t[0]:t;if(!r){if(!e.value)return;(e.clearable||e.nullable)&&(p=``,m=null,e.value=e.nullable?null:``,h.set(``),g.set(``),e.emit(`change`,null));return}let a=r.value;if(a===e.value)return;p=a,e.value=a,m=null,g.set(a),h.set(r.label||a),e.emit(`change`,a),e.bind?.(r.data)}finally{e.emit(`blur`,null)}}}),i):i};function Te(e,t){return e.length===t.length?e.findIndex((e,n)=>e!=t[n])===-1:!1}var Ee=e=>{let t=e.source.service,i=document.createElement(`div`);i.classList.add(`InputDocument`);let o=i.appendChild(document.createElement(`div`)),s=o.appendChild(document.createElement(`div`)),c=o.appendChild(document.createElement(`div`));s.classList.add(`InputDocument-placeholder`),e.listen(`scrollIntoView`,()=>o.scrollIntoView()),e.listen(`focus`,()=>o.focus());let f=[],m=[],h=l([]),g=null;u(()=>s.innerText=e.placeholder,e.signal);let _=e.style.enableLink&&e.source.model;return u(()=>{let e=h.get();if(c.innerHTML=``,_)for(let t of e){let e=c.appendChild(document.createElement(`a`));e.innerText=t;let n=r.toHref({type:`model`,model:_,id:t});c.setAttribute(`href`,n),e.classList.add(`InputDocument-Item`)}else for(let t of e){let e=c.appendChild(document.createElement(`span`));e.innerText=t,e.classList.add(`InputDocument-Item`)}s.hidden=!!e.length},e.signal),u(async()=>{let n=e.value,r=(Array.isArray(n)?n:[n]).map(e=>typeof e==`string`||typeof e==`number`?String(e):``).filter(Boolean);if(Te(f,r))return;f=r;let i=e.current[`${e.name}~label`];if(i){m=[],f=[],h.set(i);return}if(m=f,h.set(f),!f.length||!t)return;let o=await t;if(!o)return;let s=o.labelPattern||``;if(!d(s).length)return;let{options:c}=await t.options({primary:f,limit:f.length*10});if(!c.length||f!==m)return;let l=p(o),u=Object.fromEntries(c.map(e=>[b(e,l),e]));f.map(e=>{let t=Object.hasOwn(u,e)&&u[e];return t&&a.generate(s,t)||e}),h.set(f.map(e=>{let t=Object.hasOwn(u,e)&&u[e];return t&&a.generate(s,t)||e}))},e.signal),e.editable?(o.classList.add(`InputDocument-text`),u(()=>{e.readonly||e.disabled?(o.removeAttribute(`tabIndex`),g?.abort(),g=null,o.setAttribute(`disabled`,``)):(o.tabIndex=0,o.removeAttribute(`disabled`))},e.signal),o.addEventListener(`click`,async()=>{if(!(e.readonly||e.disabled)){g?.abort(),g=new AbortController,e.emit(`focus`,null);try{let t=await new n({parent:i,signal:AbortSignal.any([g.signal,e.signal])}).do(t=>Ce(t,e.source,!0)),r=Array.isArray(t)?t:t?[t]:[];if(!r.length){if(!e.value?.length)return;e.clearable||e.nullable?(f=[],m=[],e.value=e.nullable?null:[],h.set([]),e.emit(`change`,null)):e.value=[];return}let a=r.map(e=>e.value);if(Te(a,e.value))return;f=a,e.value=a,m=[],h.set(r.map(e=>e.label||e.value)),e.emit(`change`,null)}finally{e.emit(`blur`,null)}}}),i):i},De=e=>{if(!e.editable){let t=document.createElement(`span`),n=l(``);e.listen(`focus`,()=>t.focus()),e.listen(`scrollIntoView`,()=>t.scrollIntoView());function r(){let r=n.get();r===``?t.innerText=``:t.innerText=e.source.labels[r]??r}function i(e){let t=e==null?``:String(e);t!==n.get()&&n.set(t)}return u(()=>i(e.value),e.signal),u(r,e.signal),t}let t=o(()=>``in e.source.labels),n=document.createElement(`select`);n.addEventListener(`change`,()=>{let r=n.value||(e.nullable&&!t.get()?null:``);if(e.value=r,!r)return;let i=e.source.map;e.bind?.(Object.hasOwn(i,r)&&i[r])}),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),u(()=>n.disabled=!!(e.readonly||e.disabled),e.signal);let r=o(()=>{let t=e.source.levelTree;return e.clearable?[{value:``,label:e.field?.label??``,disabled:!1,level:0},...t]:t});u(()=>{n.innerHTML=``;for(let{value:e,label:t,disabled:i,level:a}of r.get()){let r=document.createElement(`option`);r.value=`${e}`,r.label=`${Array(a).fill(` `).join(``)}${t}`,i&&(r.disabled=i),n.appendChild(r)}n.value=e.value||``},e.signal);function i(e){n.value=e??``}return u(()=>i(e.value),e.signal),n};m(`@neeloong/table/style.css`);async function Oe(e,t,n){let r=await Promise.race([t.service?.loadScript(),e.waitDestroy(!0)]),i=t.fields,a=o(()=>t.options),s=e.createHeader(),l=s.container.appendChild(document.createElement(`div`)),d=s.buttons,p=e.container;l.classList.add(`QueryFilters`);let m=`value`,h=new te({idKey:m,parentKey:`parent`});h.selectable=!0;let g=e.signal,_=r?.fields,v=r?f(`options`,r.permissions||[],r):new Set,y=[];for(let{field:e,width:t,label:n,align:r}of i||[])if(e)if(_){if(!Object.hasOwn(_,e))continue;let i=_[e];if(!i)continue;let a=i.type;if(!a||typeof a!=`string`)continue;y.push({name:e,width:t||void 0,title:n||i.label||``,field:i,align:r})}else y.push({name:e,width:t||void 0,title:n||e||``,align:r});if(!y.length&&_){let e=Object.entries(_).filter(([,{type:e}])=>e&&typeof e!=`object`).filter(([e])=>v.has(e));for(let[t,n]of e)if(y.push({name:t,title:n.label||``,field:n}),y.length>=4)break}u(()=>h.setValue(a.get()),g);let b=y.map(({name:e,title:t,width:n,align:r,field:i})=>({field:e,title:t,width:n,resizable:!0,render(t){let n=document.createElement(`td`);r&&(n.style.textAlign=r);let a=i&&c(e,i,{},t.data.data);return a?n.appendChild(a.root):n.innerText=t.data.data?.[e],{root:n,destroy(){a&&a.destroy()},setHidden(){},update(t){a&&a.destroy(),n.innerHTML=``,a=i&&c(e,i,{},t.data),a?n.appendChild(a.root):n.innerText=t.data.data?.[e]}}},header(){let e=document.createElement(`span`);return e.innerText=t,r&&(e.style.textAlign=r),{root:e,update(){},destroy(){}}}}));b.unshift({field:`_`,width:200,resizable:!0,render(e){let t=e.data,n=document.createElement(`td`),r=t.label||t.value;return n.appendChild(document.createTextNode(r)),{root:n,destroy(){},setHidden(){},update(e){let t=e.data,r=t.label||t.value;n.innerHTML=``,n.appendChild(document.createTextNode(r))}}}}),n&&b.unshift({field:`_`,extensions:[ee],render(e){return{root:document.createElement(`div`),destroy(){},setHidden(){},update(){}}}});let x=h.createGroup(b,2),S=document.createElement(`table`);x.createHeader(S.appendChild(document.createElement(`thead`)).appendChild(document.createElement(`tr`))),x.createBody(S.appendChild(document.createElement(`tbody`)));function C(e,t,n){let r=document.createElement(`button`);r.appendChild(document.createTextNode(e));let i=o(()=>!!n?.get());return u(()=>{r.disabled=i.get()},g),r.addEventListener(`click`,e=>{i.get()||e.defaultPrevented||t()}),r}let{promise:ne,reject:w,resolve:T}=Promise.withResolvers();return d.appendChild(C(`确定`,()=>{let e=[];if(n){if(e=h.checked,!e.length)return T([])}else{let t=h.selectedId;if(!t)return T(null);e=[t]}if(!e.length){T(n?[]:null);return}let t=a.get(),r=Object.fromEntries(t.map(e=>[e[m],e])),i=[...new Set(e.map(e=>r[e]).filter(Boolean))].map(e=>({value:e[m],label:e.label||e[m],data:e.data}));T(n?i:i[0])})),d.appendChild(C(`取消`,()=>{w()})),p.appendChild(S),ne}var ke=e=>{let t=e.editable,r=document.createElement(`div`);r.classList.add(`InputDocument`);let i=r.appendChild(document.createElement(`div`)),a=i.appendChild(document.createElement(`div`)),o=i.appendChild(document.createElement(`div`));a.classList.add(`InputDocument-placeholder`),e.listen(`scrollIntoView`,()=>i.scrollIntoView()),e.listen(`focus`,()=>i.focus());let s=null,c=l(),d=null;return u(()=>a.innerText=e.placeholder,e.signal),u(()=>{let t=c.get()||``;if(a.hidden=!!t,t){let n=e.source.labels;o.innerText=Object.hasOwn(n,t)&&n[t]||t}else o.innerText=``},e.signal),u(async()=>{let t=e.value,n=t==``||t==null?null:t;if(s===n)return;s=n;let r=e.current[`${e.name}~label`];if(r){s=null,c.set(r);return}c.set(s||``)},e.signal),t?(i.classList.add(`InputDocument-text`),u(()=>{e.readonly||e.disabled?(i.removeAttribute(`tabIndex`),d?.abort(),d=null,i.setAttribute(`disabled`,``)):(i.tabIndex=0,i.removeAttribute(`disabled`))},e.signal),i.addEventListener(`click`,async()=>{if(!(e.readonly||e.disabled)){d?.abort(),d=new AbortController,e.emit(`focus`,null);try{let t=await new n({parent:r,signal:AbortSignal.any([d.signal,e.signal])}).do(t=>Oe(t,e.source)),i=Array.isArray(t)?t[0]:t;if(!i){if(!e.value)return;(e.clearable||e.nullable)&&(s=``,e.value=e.nullable?null:``,c.set(``),e.emit(`change`,null));return}let a=i.value;if(a===e.value)return;s=a,e.value=a,c.set(a),e.emit(`change`,a),e.bind?.(i.data)}finally{e.emit(`blur`,null)}}}),r):r};function Ae(e,t){return e.length===t.length?e.findIndex((e,n)=>e!=t[n])===-1:!1}var je=e=>{let t=e.editable,r=document.createElement(`div`);r.classList.add(`InputDocument`);let i=r.appendChild(document.createElement(`div`)),a=i.appendChild(document.createElement(`div`)),o=i.appendChild(document.createElement(`div`));a.classList.add(`InputDocument-placeholder`),e.listen(`scrollIntoView`,()=>i.scrollIntoView()),e.listen(`focus`,()=>i.focus());let s=[],c=l([]),d=null;return u(()=>a.innerText=e.placeholder,e.signal),u(()=>{let t=c.get(),n=e.source.labels;o.innerHTML=``;for(let e of t){let t=o.appendChild(document.createElement(`span`));t.innerText=Object.hasOwn(n,e)&&n[e]||e,t.classList.add(`InputDocument-Item`)}a.hidden=!!t.length},e.signal),u(async()=>{let t=e.value,n=(Array.isArray(t)?t:[t]).map(e=>typeof e==`string`||typeof e==`number`?String(e):``).filter(Boolean);Ae(s,n)||(s=n,c.set(s))},e.signal),t?(i.classList.add(`InputDocument-text`),u(()=>{e.readonly||e.disabled?(i.removeAttribute(`tabIndex`),d?.abort(),d=null,i.setAttribute(`disabled`,``)):(i.tabIndex=0,i.removeAttribute(`disabled`))},e.signal),i.addEventListener(`click`,async()=>{if(!(e.readonly||e.disabled)){d?.abort(),d=new AbortController,e.emit(`focus`,null);try{let t=await new n({parent:r,signal:AbortSignal.any([d.signal,e.signal])}).do(t=>Oe(t,e.source,!0)),i=Array.isArray(t)?t:t?[t]:[];if(!i.length){if(!e.value?.length)return;e.clearable||e.nullable?(s=[],e.value=e.nullable?null:[],c.set([]),e.emit(`change`,null)):e.value=[];return}let a=i.map(e=>e.value);if(Ae(a,e.value))return;s=a,e.value=a,c.set(a),e.emit(`change`,null)}finally{e.emit(`blur`,null)}}}),r):r},Me=e=>{let t=document.createElement(`div`),n=t.appendChild(document.createElement(`div`)).appendChild(document.createElement(`label`)),r=n.appendChild(document.createElement(`input`));n.appendChild(document.createTextNode(`全选`)),n.classList.add(`align-center`),r.type=`checkbox`;let i=t.appendChild(document.createElement(`div`)),a=new Set,s=o(()=>new Set(g.get().flatMap(e=>e.children?.map(e=>e.value)||[])));function c(){s.get().size===a.size?(r.indeterminate=!1,r.checked=!0):a.size?r.indeterminate=!0:(r.indeterminate=!1,r.checked=!1)}function d(){a=new Set;for(let{checked:e,value:t}of i.querySelectorAll(`input`))!e||!t||a.add(t);e.value=[...a].map(e=>({permission:e})),c()}function f(){for(let e of i.querySelectorAll(`input`))e.checked=a.has(e.value)}function p(){f(),c()}let m=l([]);function h(){i.innerHTML=``;let e=[];for(let{label:t,children:n}of g.get()){if(!n?.length)continue;let r=i.appendChild(document.createElement(`details`));r.open=!0,r.appendChild(document.createElement(`summary`)).appendChild(document.createTextNode(t));for(let{value:t,label:i}of n){let n=r.appendChild(document.createElement(`label`)),a=n.appendChild(document.createElement(`input`));a.type=`checkbox`,n.appendChild(document.createTextNode(i)),n.classList.add(`align-center`),n.classList.add(`inline`),a.value=String(t||``),a.addEventListener(`input`,d),e.push(a)}}m.set(e),p()}u(()=>h(),e.signal),r.addEventListener(`input`,()=>{if(!r.checked){for(let e of i.querySelectorAll(`input`))e.checked=!1;e.value=[];return}let t=new Set;for(let e of i.querySelectorAll(`input`))e.checked=!0,t.add(e.value);e.value=[...t].map(e=>({permission:e})),f()}),r.addEventListener(`change`,t=>e.emit(`change`,t)),r.addEventListener(`focus`,t=>e.emit(`focus`,t)),r.addEventListener(`blur`,t=>e.emit(`blur`,t));let _=o(()=>!!(!e.editable||e.disabled));e.listen(`focus`,()=>r.focus()),e.listen(`scrollIntoView`,()=>r.scrollIntoView()),u(()=>r.hidden=!!e.hidden,e.signal),u(()=>{let e=_.get();n.hidden=e;for(let t of m.get())t.disabled=e},e.signal),u(()=>r.readOnly=!!e.readonly,e.signal);function v(e){let t=new Set(Array.isArray(e)&&e.map(e=>e.permission)||[]);if(t.size===a.size){for(let e of a)if(!t.has(e))break;return}a=t,p()}return u(()=>v(e.value),e.signal),t};function Ne(t,n){return(r,i)=>{let{signal:a,editable:o,store:s}=r;if(!s||a.aborted)return;let c=new e(t,s,a),{enableLink:l,design:u}=r.style;r.root.style.inlineSize=`100%`,_(c,r.root,{enableLink:l,design:u,layout:n,editable:o,signal:a})}}async function Pe(e){if(typeof e==`string`)return h(e);if(!e||typeof e!=`object`)return null;let{widget:t,schema:n,layout:r}=e;return typeof t==`string`&&t?h(t):n&&typeof n==`object`?Ne(n,r):null}var Fe=e=>{let t=null,n=null,r=document.createElement(`div`);async function i(i){if(e.signal.aborted||i===t)return;t=i,n?.abort(),n=new AbortController;let a=AbortSignal.any([n.signal,e.signal]),o=await Pe(i);typeof o==`function`&&(a.aborted||o({root:r,get store(){return e.store},get style(){return e.style},get field(){return e.field},get name(){return e.name},get value(){return e.value},set value(t){e.value=t},get current(){return e.current},get destroyed(){return e.destroyed},get readonly(){return e.readonly},get editable(){return e.editable},get required(){return e.required},get nullable(){return e.nullable},get disabled(){return e.disabled},get clearable(){return e.clearable},get hidden(){return e.hidden},get label(){return e.label},get placeholder(){return e.placeholder},get description(){return e.description},get source(){return e.source},get signal(){return a},listen(t,n){return e.listen(t,n)},emit(t,n){return e.emit(t,n)},get bind(){return e.bind}},typeof i==`object`&&i||{}))}let a=null;return u(()=>{let t=e.source.configurator||null;a!==null&&cancelIdleCallback(a),a=requestIdleCallback(()=>{a=null,i(t)})},e.signal),r};function Ie(e,n,r){let i=t.encode(r);if(!i?.length){n.setAttribute(`d`,``);return}let a=[];for(let e=0;e<i.length;e++){if(!i[e])continue;let t=e-i.length/2,n=1;for(;i[e+1];)n++,e++;a.push(`M${t} -0.5h${n}v1h-${n}Z`)}if(!a.length){n.setAttribute(`d`,``);return}let o=i.length;e.setAttribute(`viewBox`,`${-o/2-10} -0.5 ${o+20} 1`),n.setAttribute(`d`,a.join(` `))}var Le=e=>{let t=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`);t.setAttribute(`preserveAspectRatio`,`none`);let n=document.createElementNS(`http://www.w3.org/2000/svg`,`path`);t.appendChild(n),t.style.blockSize=`var(--input-height)`,t.style.inlineSize=`100%`,n.setAttribute(`fill`,`black`),e.listen(`focus`,()=>t.focus()),e.listen(`scrollIntoView`,()=>t.scrollIntoView());let r=``;return u(()=>{let i=String(e.value??``).replace(/[^\0-\x7f]+/g,``);i!==r&&(r=i,Ie(t,n,i))},e.signal),t},Re=e=>{if(!e.editable){let t=document.createElement(`span`),n=l([]);e.listen(`focus`,()=>t.focus()),e.listen(`scrollIntoView`,()=>t.scrollIntoView());function r(){t.innerText=n.get().map(t=>e.source.labels[t]??t).join(`, `)}function i(e){let t=[e].flat().map(e=>String(e??``)).filter(Boolean);n.set(t)}return u(()=>i(e.value),e.signal),u(r,e.signal),t}let t=document.createElement(`div`);t.classList.add(`InputCheckbox-group`);let n=Object.create(null);function r(t){let r=[];for(let[e,t]of Object.entries(n))t.checked&&r.push(e);e.value=r.length===0&&e.nullable?null:r,e.emit(`change`,t)}t.addEventListener(`focus`,t=>e.emit(`focus`,t),!0),t.addEventListener(`blur`,t=>e.emit(`blur`,t),!0),e.listen(`focus`,()=>{for(let e of Object.values(n))if(!e.disabled){e.focus();break}}),e.listen(`scrollIntoView`,()=>t.scrollIntoView()),u(()=>{let t=!!(e.readonly||e.disabled);for(let e of Object.values(n))e.disabled=t},e.signal);let i=o(()=>e.source.levelTree);return u(()=>{t.innerHTML=``,n=Object.create(null);let a=i.get(),o=new Set(Array.isArray(e.value)?e.value:e.value==null?[]:[e.value]);for(let{value:e,label:i,disabled:s,level:c}of a){let a=document.createElement(`input`);a.type=`checkbox`,a.value=`${e}`,a.checked=o.has(e),s&&(a.disabled=!0),a.addEventListener(`change`,r),n[e]=a;let c=document.createTextNode(i),l=document.createElement(`span`),u=document.createElement(`label`);u.classList.add(`InputCheckbox-label`),u.appendChild(a),u.appendChild(l),l.appendChild(c),t.appendChild(u)}},e.signal),u(()=>{let t=[e.value].flat().map(e=>String(e??``)).filter(Boolean),r=new Set(t);for(let[e,t]of Object.entries(n))t.checked=r.has(e)},e.signal),t},ze=e=>{if(!e.editable){let t=document.createElement(`span`),n=l(``);e.listen(`focus`,()=>t.focus()),e.listen(`scrollIntoView`,()=>t.scrollIntoView());function r(){let r=n.get();r===``?t.innerText=``:t.innerText=e.source.labels[r]??r}function i(e){let t=e==null?``:String(e);t!==n.get()&&n.set(t)}return u(()=>i(e.value),e.signal),u(r,e.signal),t}let t=document.createElement(`div`);t.classList.add(`InputRadio-group`);let n=Object.create(null);function r(t){let n=t.target;n&&n.checked&&(e.value=n.value,e.emit(`change`,t))}t.addEventListener(`focus`,t=>e.emit(`focus`,t),!0),t.addEventListener(`blur`,t=>e.emit(`blur`,t),!0),e.listen(`focus`,()=>{for(let e of Object.values(n))if(!e.disabled){e.focus();break}}),e.listen(`scrollIntoView`,()=>t.scrollIntoView()),u(()=>{let t=!!(e.readonly||e.disabled);for(let e of Object.values(n))e.disabled=t},e.signal);let i=o(()=>e.source.levelTree);return u(()=>{t.innerHTML=``,n=Object.create(null);let a=i.get(),o=e.value==null?``:String(e.value);for(let{value:e,label:i,disabled:s,level:c}of a){let a=document.createElement(`input`);a.type=`radio`,a.value=`${e}`,a.checked=o===String(e),s&&(a.disabled=!0),a.addEventListener(`change`,r),n[e]=a;let c=document.createTextNode(i),l=document.createElement(`span`),u=document.createElement(`label`);u.classList.add(`InputCheckbox-label`),u.appendChild(a),u.appendChild(l),l.appendChild(c),t.appendChild(u)}},e.signal),u(()=>{let t=String(e.value??``);for(let[e,r]of Object.entries(n))r.checked=t===e},e.signal),t};function V(e,t){let{inline:n,showLabel:r,quick:i}=t.style,a=document.createElement(n?`span`:`div`),o=t.field?.label??``;if(r){let e=a.appendChild(document.createElement(n?`span`:`div`));e.innerText=o}let s=e(n?a:a.appendChild(document.createElement(`div`)),i?o:``,e=>{t.value=e});return u(()=>s(t.value),t.signal),a}function Be(e,t,n){let r=e.appendChild(document.createElement(`textarea`));return t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(r.value||null)),e=>{r.value=e??``}}var H=V.bind(null,Be);function Ve(e,t){let n=parseFloat(e);return Number.isFinite(n)?n:t?0:null}function He(e,t,n){let r=e.appendChild(document.createElement(`input`));return r.type=`number`,t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(Ve(r.value))),e=>{r.value=e??``}}var U=V.bind(null,He);function Ue(e,t){let n=parseInt(e);return Number.isFinite(n)?n:t?0:null}function We(e,t,n){let r=e.appendChild(document.createElement(`input`));return r.type=`number`,t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(Ue(r.value))),e=>{r.value=e??``}}var W=V.bind(null,We);function Ge(e,t){if(!e)return t?0n:null;try{return BigInt(e)}catch{}return t?0n:null}function Ke(e,t,n){let r=e.appendChild(document.createElement(`input`));return r.type=`number`,t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(Ge(r.value))),e=>{r.value=e??``}}var G=V.bind(null,Ke);function qe(e,t,n){let r=e.appendChild(document.createElement(`input`));return t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(r.value||null)),e=>{r.value=e??``}}var K=V.bind(null,qe),Je=e=>{let{inline:t,showLabel:n,quick:r}=e.style,i=document.createElement(t?`span`:`div`),a=i.appendChild(document.createElement(`label`)),o=a.appendChild(document.createElement(`input`));return o.type=`checkbox`,o.addEventListener(`input`,()=>{e.value=o.indeterminate?null:!!o.checked}),u(()=>{let t=e.value;if(typeof t==`boolean`){o.checked=t;return}if(t===`false`||t===`0`||t===0){o.checked=!1;return}if(t===`true`||t===`1`||t===1){o.checked=!0;return}o.indeterminate=!0,t!==null&&(e.value=null)},e.signal),n?a.insertBefore(document.createTextNode(e.field?.label??``),a.firstChild):r&&a.appendChild(document.createTextNode(e.field?.label??``)),i};function Ye(e,t,n){let r=e.appendChild(document.createElement(`input`));return r.type=`date`,r.step=`1`,t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(r.value||null)),e=>{r.value=e??``}}var q=V.bind(null,Ye);function Xe(e,t,n){let r=e.appendChild(document.createElement(`input`));return r.type=`time`,t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(r.value||null)),e=>{r.value=e??``}}var J=V.bind(null,Xe);function Ze(e,t,n){let r=e.appendChild(document.createElement(`input`));return r.type=`datetime-local`,r.step=`1`,t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(r.value||null)),e=>{r.value=e??``}}var Y=V.bind(null,Ze);function Qe(e,t,n){let r=e.appendChild(document.createElement(`input`));return r.type=`url`,t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(r.value||null)),e=>{r.value=e??``}}var $e=V.bind(null,Qe);function et(e,t,n){let r=e.appendChild(document.createElement(`input`));return t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(r.value||null)),e=>{r.value=e??``}}var tt=V.bind(null,et),X=e=>{let{inline:t,showLabel:r,quick:i}=e.style,o=e.source.service,s=document.createElement(t?`span`:`div`),c=s.appendChild(document.createElement(`label`));s.classList.add(`InputDocument`);let f=c.appendChild(document.createElement(`div`)),p=f.appendChild(document.createElement(`div`)),m=f.appendChild(document.createElement(`div`));p.classList.add(`InputDocument-placeholder`);let h=null,g=null,_=l(),v=null,y=e.field?.label??``;return p.innerText=i?y:``,u(()=>{let e=_.get()||``;m.innerText=e,p.hidden=!!e},e.signal),u(async()=>{let t=e.value,n=t==``||t==null?null:t;if(h===n||(h=n,g=h,_.set(h||``),!h)||!o)return;let r=await o;if(!r)return;let i=r.labelPattern||``;if(!d(i).length)return;let{option:s}=await o.option(h);!s||h!==g||_.set(a.generate(i,s)||h)},e.signal),r&&c.insertBefore(document.createTextNode(y),c.firstChild),o?(f.classList.add(`InputDocument-text`),f.tabIndex=0,f.addEventListener(`click`,async()=>{v?.abort(),v=new AbortController;let t=await new n({parent:s,signal:AbortSignal.any([v.signal,e.signal])}).do(t=>Ce(t,e.source)),r=Array.isArray(t)?t[0]:t;if(!r){if(!e.value)return;h=``,g=null,e.value=null,_.set(``);return}let i=r.value;i!==e.value&&(h=i,e.value=i,g=null,_.set(r.label||i))}),s):s},Z=e=>{let{inline:t,showLabel:n,quick:r}=e.style,i=document.createElement(t?`span`:`div`).appendChild(document.createElement(`label`)),a=i.appendChild(document.createElement(`select`));a.addEventListener(`change`,()=>{e.value=a.value||null});let s=o(()=>{let t=e.source.levelTree;return[{value:``,label:r&&e.field?.label||``,disabled:!1,level:0},...t]});return u(()=>{a.innerHTML=``;for(let{value:e,label:t,disabled:n,level:r}of s.get()){let i=document.createElement(`option`);i.value=`${e}`,i.label=`${Array(r).fill(` `).join(``)}${t}`,n&&(i.disabled=n),a.appendChild(i)}a.value=e.value||``},e.signal),u(()=>{let t=e.value;a.value=(t==``||t==null?null:t)||``},e.signal),n&&i.insertBefore(document.createTextNode(e.field?.label??``),i.firstChild),a},Q=e=>{let{inline:t,showLabel:r,quick:i}=e.style,a=document.createElement(t?`span`:`div`),o=a.appendChild(document.createElement(`label`));a.classList.add(`InputDocument`);let s=o.appendChild(document.createElement(`div`)),c=s.appendChild(document.createElement(`div`)),d=s.appendChild(document.createElement(`div`));c.classList.add(`InputDocument-placeholder`);let f=null,p=l(),m=null,h=e.field?.label??``;return c.innerText=i?h:``,u(()=>{let t=p.get()||``;if(c.hidden=!!t,t){let n=e.source.labels;d.innerText=Object.hasOwn(n,t)&&n[t]||t}else d.innerText=``},e.signal),u(async()=>{let t=e.value,n=t==``||t==null?null:t;f!==n&&(f=n,p.set(f||``))},e.signal),r&&o.insertBefore(document.createTextNode(h),o.firstChild),s.classList.add(`InputDocument-text`),s.tabIndex=0,s.addEventListener(`click`,async()=>{m?.abort(),m=new AbortController;let t=await new n({parent:a,signal:AbortSignal.any([m.signal,e.signal])}).do(t=>Oe(t,e.source)),r=Array.isArray(t)?t[0]:t;if(!r){if(!e.value)return;f=``,e.value=null,p.set(``);return}let i=r.value;i!==e.value&&(f=i,e.value=i,p.set(r.label||i))}),a};function nt(e){if(typeof e!=`string`)return!!e;switch(e.toLowerCase()){case``:case`0`:case`n`:case`f`:case`no`:case`off`:case`false`:return!1}return!0}function $(e,t){if([e,t].filter(e=>(e??null)===null).length===1)return!1;let n=e??null,r=t??null;return Object.is(n,r)?!0:n===null||r===null?!1:typeof e==`boolean`||typeof t==`boolean`?nt(e)===nt(t):e==t}function rt(e,t){if(Array.isArray(t)){for(let n of e)if(Array.isArray(n)){if(n.length!==t.length)continue;if(t.findIndex((e,t)=>!$(n[t],e))<0)return!0}else for(let e of t)if($(n,e))return!0}else for(let n of e)if($(n,t))return!0;return!1}function it(e,t){if(Array.isArray(t))return null;let n=t??null,r=n===null?``:String(n);for(let t of e){let e=(Array.isArray(t)?t[0]:t)??null;if(!(e===null||e===``)&&r.includes(String(e)))return}return!1}function at(e,t){if(Array.isArray(t)){for(let n of e)if(Array.isArray(n)&&n.length===t.length&&t.findIndex((e,t)=>!$(n[t],e))<0)return!0}else for(let n of e)if(Array.isArray(n)){for(let e of n)if($(e,t))return!0}return!1}function ot(e,t,n){if(((Array.isArray(n)?n[0]:n)??null)===null)return null;for(let r of t){if(Array.isArray(r)||(r??null)===null)continue;let t=e(r,n);if(typeof t==`boolean`)return t}return!1}function st(e,t){return ot((e,t)=>e>t,e,t)}function ct(e,t){return ot((e,t)=>e>=t,e,t)}function lt(e,t){return ot((e,t)=>e<t,e,t)}function ut(e,t){return ot((e,t)=>e<=t,e,t)}const dt=[{not:`!=`,notLabel:`≠`,value:rt,filters:{gt:{value:st},ge:{value:ct},lt:{value:lt},le:{value:ut},in:{value:rt,not:`nin`},contains:{value:it}}},{array:!0,not:`!=`,notLabel:`≠`,value:at,filters:{in:{value:at,not:`nin`}}},{type:`text`,input:E,filter:H,notFilter:H,filters:{ne:{filter:H,label:`≠`},gt:{filter:H,label:`>`},ge:{filter:H,label:`≥`},lt:{filter:H,label:`<`},le:{filter:H,label:`≤`},contains:{filter:H,label:`包含`}}},{type:`string`,input:se,filter:K,notFilter:K,filters:{ne:{filter:K,label:`≠`},gt:{filter:K,label:`>`},ge:{filter:K,label:`≥`},lt:{filter:K,label:`<`},le:{filter:K,label:`≤`},contains:{filter:K,label:`包含`}}},{type:`bool`,input:P,filter:Je,notFilter:Je,filters:{ne:{filter:Je,label:`≠`}}},{type:`f32`,input:O,filter:U,notFilter:U,filters:{ne:{filter:U,label:`≠`},gt:{filter:U,label:`>`},ge:{filter:U,label:`≥`},lt:{filter:U,label:`<`},le:{filter:U,label:`≤`}}},{type:`f64`,input:O,filter:U,notFilter:U,filters:{ne:{filter:U,label:`≠`},gt:{filter:U,label:`>`},ge:{filter:U,label:`≥`},lt:{filter:U,label:`<`},le:{filter:U,label:`≤`}}},{type:`decimal`,input:O,filter:U,notFilter:U,filters:{ne:{filter:U,label:`≠`},gt:{filter:U,label:`>`},ge:{filter:U,label:`≥`},lt:{filter:U,label:`<`},le:{filter:U,label:`≤`}}},{type:`numeric`,input:O,filter:U,notFilter:U,filters:{ne:{filter:U,label:`≠`},gt:{filter:U,label:`>`},ge:{filter:U,label:`≥`},lt:{filter:U,label:`<`},le:{filter:U,label:`≤`}}},{type:`money`,input:O,filter:U,notFilter:U,filters:{ne:{filter:U,label:`≠`},gt:{filter:U,label:`>`},ge:{filter:U,label:`≥`},lt:{filter:U,label:`<`},le:{filter:U,label:`≤`}}},{type:`i16`,input:A,filter:W,notFilter:W,filters:{ne:{filter:W,label:`≠`},gt:{filter:W,label:`>`},ge:{filter:W,label:`≥`},lt:{filter:W,label:`<`},le:{filter:W,label:`≤`}}},{type:`i32`,input:A,filter:W,notFilter:W,filters:{ne:{filter:W,label:`≠`},gt:{filter:W,label:`>`},ge:{filter:W,label:`≥`},lt:{filter:W,label:`<`},le:{filter:W,label:`≤`}}},{type:`i64`,input:M,filter:G,notFilter:G,filters:{ne:{filter:G,label:`≠`},gt:{filter:G,label:`>`},ge:{filter:G,label:`≥`},lt:{filter:G,label:`<`},le:{filter:G,label:`≤`}}},{type:`date`,input:le,filter:q,notFilter:q,filters:{ne:{filter:q,label:`≠`},gt:{filter:q,label:`>`},ge:{filter:q,label:`≥`},lt:{filter:q,label:`<`},le:{filter:q,label:`≤`}}},{type:`time`,input:I,filter:J,notFilter:J,filters:{ne:{filter:J,label:`≠`},gt:{filter:J,label:`>`},ge:{filter:J,label:`≥`},lt:{filter:J,label:`<`},le:{filter:J,label:`≤`}}},{type:`uuid`,input:Se,filter:tt,notFilter:tt,filters:{ne:{filter:tt,label:`≠`}}},{type:`datetime`,input:z,filter:Y,notFilter:Y,filters:{ne:{filter:Y,label:`≠`},gt:{filter:Y,label:`>`},ge:{filter:Y,label:`≥`},lt:{filter:Y,label:`<`},le:{filter:Y,label:`≤`}}},{type:`timetz`,input:I,filter:J,notFilter:J,filters:{ne:{filter:J,label:`≠`},gt:{filter:J,label:`>`},ge:{filter:J,label:`≥`},lt:{filter:J,label:`<`},le:{filter:J,label:`≤`}}},{type:`timestamp`,input:z,filter:Y,notFilter:Y,filters:{ne:{filter:Y,label:`≠`},gt:{filter:Y,label:`>`},ge:{filter:Y,label:`≥`},lt:{filter:Y,label:`<`},le:{filter:Y,label:`≤`}}},{renderer:`password`,input:B,filter:K,notFilter:K,filters:{ne:{filter:K,label:`≠`}}},{renderer:`uri`,input:ye,filter:$e,notFilter:$e,filters:{ne:{filter:$e,label:`≠`}}},{renderer:`document`,input:we,filter:X,notFilter:X,filters:{ne:{filter:X,label:`≠`}}},{array:!0,renderer:`document`,input:Ee,filter:X,notFilter:X,filters:{ne:{filter:X,label:`≠`}}},{renderer:`select`,input:De,filter:Z,notFilter:Z,filters:{ne:{filter:Z,label:`≠`}}},{renderer:`select`,array:!0,input:je,filter:Z,notFilter:Z,filters:{ne:{filter:Z,label:`≠`}}},{renderer:`choice`,input:ze,filter:Z,notFilter:Z,filters:{ne:{filter:Z,label:`≠`}}},{renderer:`choice`,array:!0,input:Re,filter:Z,notFilter:Z,filters:{ne:{filter:Z,label:`≠`}}},{renderer:`search`,input:ke,filter:Q,notFilter:Q,filters:{ne:{filter:Q,label:`≠`}}},{renderer:`search`,array:!0,input:je,filter:Q,notFilter:Q,filters:{ne:{filter:Q,label:`≠`}}},{renderer:`code128`,input:Le},{renderer:`barcode`,input:Le},{renderer:`configuration`,input:Fe},{type:`submodel`,array:!0,renderer:`permission`,input:Me}],ft=[`style.css`];export{dt as formFields,ft as styles};
|
|
2
2
|
//# sourceMappingURL=hooks.mjs.map
|