@jimka/typescript-ui 0.5.0 → 0.6.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/lib/{AbstractInput-B10DfLOf.js → AbstractInput-sRNPzWel.js} +2 -2
- package/dist/lib/{AbstractInput-B10DfLOf.js.map → AbstractInput-sRNPzWel.js.map} +1 -1
- package/dist/lib/Anchor-CwRhdP2J.js +2 -0
- package/dist/lib/Anchor-CwRhdP2J.js.map +1 -0
- package/dist/lib/AnimatedDropdown-H3Rh-YMZ.js +2 -0
- package/dist/lib/AnimatedDropdown-H3Rh-YMZ.js.map +1 -0
- package/dist/lib/Border-0DJFDiij.js +2 -0
- package/dist/lib/Border-0DJFDiij.js.map +1 -0
- package/dist/lib/Button-MpMIYBYJ.js +2 -0
- package/dist/lib/Button-MpMIYBYJ.js.map +1 -0
- package/dist/lib/{Card-CD3jxshU.js → Card-QYo27r5b.js} +2 -2
- package/dist/lib/{Card-CD3jxshU.js.map → Card-QYo27r5b.js.map} +1 -1
- package/dist/lib/Checkbox-D0JYK-wc.js +2 -0
- package/dist/lib/Checkbox-D0JYK-wc.js.map +1 -0
- package/dist/lib/CheckboxMenuRow-CesLhSnp.js +2 -0
- package/dist/lib/CheckboxMenuRow-CesLhSnp.js.map +1 -0
- package/dist/lib/{CodeEditor-BGlB232h.js → CodeEditor-N1FQodcF.js} +2 -2
- package/dist/lib/CodeEditor-N1FQodcF.js.map +1 -0
- package/dist/lib/ComboBox-Dx8Tk9yg.js +2 -0
- package/dist/lib/ComboBox-Dx8Tk9yg.js.map +1 -0
- package/dist/lib/Component-B0ShfPVi.js +2 -0
- package/dist/lib/Component-B0ShfPVi.js.map +1 -0
- package/dist/lib/Container-abY5Ww3W.js +2 -0
- package/dist/lib/{Container-C7RPLQEc.js.map → Container-abY5Ww3W.js.map} +1 -1
- package/dist/lib/{DOM-Ba8YRVel.js → DOM-C-Edb3tA.js} +2 -2
- package/dist/lib/DOM-C-Edb3tA.js.map +1 -0
- package/dist/lib/Dialog-cbA9V17e.js +2 -0
- package/dist/lib/Dialog-cbA9V17e.js.map +1 -0
- package/dist/lib/{FieldDecorator-HG65hEtk.js → FieldDecorator-BlYMfZ9L.js} +2 -2
- package/dist/lib/{FieldDecorator-HG65hEtk.js.map → FieldDecorator-BlYMfZ9L.js.map} +1 -1
- package/dist/lib/{Fit-Cg3dPyZg.js → Fit-BhlB-HAo.js} +2 -2
- package/dist/lib/{Fit-Cg3dPyZg.js.map → Fit-BhlB-HAo.js.map} +1 -1
- package/dist/lib/{FloatingPanel-D5buuVrQ.js → FloatingPanel-DkJXsZ2D.js} +2 -2
- package/dist/lib/{FloatingPanel-D5buuVrQ.js.map → FloatingPanel-DkJXsZ2D.js.map} +1 -1
- package/dist/lib/{Glyph-DeJF_zsR.js → Glyph-_VeBacS2.js} +2 -2
- package/dist/lib/{Glyph-DeJF_zsR.js.map → Glyph-_VeBacS2.js.map} +1 -1
- package/dist/lib/{Grid-BYBohJIA.js → Grid-Daiz7F5d.js} +2 -2
- package/dist/lib/Grid-Daiz7F5d.js.map +1 -0
- package/dist/lib/GridConstraints-C58LuTqM.js +2 -0
- package/dist/lib/{GridConstraints-Bts284FI.js.map → GridConstraints-C58LuTqM.js.map} +1 -1
- package/dist/lib/{Header-BIFJK9nR.js → Header-Dql3Zxc6.js} +2 -2
- package/dist/lib/{Header-BIFJK9nR.js.map → Header-Dql3Zxc6.js.map} +1 -1
- package/dist/lib/{IconText-Dsb1xS-E.js → IconText-PUjhTLlp.js} +2 -2
- package/dist/lib/{IconText-Dsb1xS-E.js.map → IconText-PUjhTLlp.js.map} +1 -1
- package/dist/lib/LayoutSerialization-CMxunLfV.js +2 -0
- package/dist/lib/LayoutSerialization-CMxunLfV.js.map +1 -0
- package/dist/lib/List-nx8220Fi.js +2 -0
- package/dist/lib/{List-BPd-IXZR.js.map → List-nx8220Fi.js.map} +1 -1
- package/dist/lib/MemoryStore-DhPoU-7X.js +2 -0
- package/dist/lib/MemoryStore-DhPoU-7X.js.map +1 -0
- package/dist/lib/Menu-Q0bpXXze.js +2 -0
- package/dist/lib/Menu-Q0bpXXze.js.map +1 -0
- package/dist/lib/{MenuButton-BR4KOFld.js → MenuButton-DCXi0tsP.js} +2 -2
- package/dist/lib/{MenuButton-BR4KOFld.js.map → MenuButton-DCXi0tsP.js.map} +1 -1
- package/dist/lib/OverlayFade-3pof2AJH.js +2 -0
- package/dist/lib/OverlayFade-3pof2AJH.js.map +1 -0
- package/dist/lib/{Panel-CpNQTLNF.js → Panel-Cy1pdlWO.js} +2 -2
- package/dist/lib/{Panel-CpNQTLNF.js.map → Panel-Cy1pdlWO.js.map} +1 -1
- package/dist/lib/{Position-PBVBW1JS.js → Position-BwtxouxK.js} +2 -2
- package/dist/lib/{Position-PBVBW1JS.js.map → Position-BwtxouxK.js.map} +1 -1
- package/dist/lib/{ProgressSpinner-lAsK26C-.js → ProgressSpinner-DK8xEQ9y.js} +2 -2
- package/dist/lib/{ProgressSpinner-lAsK26C-.js.map → ProgressSpinner-DK8xEQ9y.js.map} +1 -1
- package/dist/lib/RadioButton-BEwpqg1k.js +2 -0
- package/dist/lib/{RadioButton-CCcIaL54.js.map → RadioButton-BEwpqg1k.js.map} +1 -1
- package/dist/lib/RadioMenuRow-DP5qPyFR.js +2 -0
- package/dist/lib/RadioMenuRow-DP5qPyFR.js.map +1 -0
- package/dist/lib/{RovingTabIndex-C2Vzq0IX.js → RovingTabIndex-pHEv5oLD.js} +2 -2
- package/dist/lib/{RovingTabIndex-C2Vzq0IX.js.map → RovingTabIndex-pHEv5oLD.js.map} +1 -1
- package/dist/lib/Scrollbar-t8fFrUVQ.js +2 -0
- package/dist/lib/Scrollbar-t8fFrUVQ.js.map +1 -0
- package/dist/lib/{Slider-DZ9drUxn.js → Slider-CTbwR6HR.js} +2 -2
- package/dist/lib/{Slider-DZ9drUxn.js.map → Slider-CTbwR6HR.js.map} +1 -1
- package/dist/lib/{Spacer-SDhOMp2g.js → Spacer-srdN2d2b.js} +2 -2
- package/dist/lib/{Spacer-SDhOMp2g.js.map → Spacer-srdN2d2b.js.map} +1 -1
- package/dist/lib/TabButton-DLoMQzky.js +2 -0
- package/dist/lib/TabButton-DLoMQzky.js.map +1 -0
- package/dist/lib/TabCloseButton-CY7BGitY.js +2 -0
- package/dist/lib/TabCloseButton-CY7BGitY.js.map +1 -0
- package/dist/lib/{Text-CdHf3B-1.js → Text-CMKnK9uB.js} +2 -2
- package/dist/lib/{Text-CdHf3B-1.js.map → Text-CMKnK9uB.js.map} +1 -1
- package/dist/lib/{Tooltip-B_UF5bXD.js → Tooltip-CUOJOqQi.js} +3 -3
- package/dist/lib/Tooltip-CUOJOqQi.js.map +1 -0
- package/dist/lib/Tree-C64JNPWJ.js +2 -0
- package/dist/lib/Tree-C64JNPWJ.js.map +1 -0
- package/dist/lib/VBox-DfJPWXqc.js +2 -0
- package/dist/lib/VBox-DfJPWXqc.js.map +1 -0
- package/dist/lib/VirtualScroller-DTIn19o1.js +2 -0
- package/dist/lib/VirtualScroller-DTIn19o1.js.map +1 -0
- package/dist/lib/assets/StoreWorker-B5NwRM2I.js +2 -0
- package/dist/lib/assets/StoreWorker-B5NwRM2I.js.map +1 -0
- package/dist/lib/component/button.es.js +1 -1
- package/dist/lib/component/button.es.js.map +1 -1
- package/dist/lib/component/chart.es.js +1 -1
- package/dist/lib/component/container.es.js +1 -1
- package/dist/lib/component/container.es.js.map +1 -1
- package/dist/lib/component/diagram.es.js +1 -1
- package/dist/lib/component/diagram.es.js.map +1 -1
- package/dist/lib/component/display.es.js +1 -1
- package/dist/lib/component/display.es.js.map +1 -1
- package/dist/lib/component/editor.es.js +2 -2
- package/dist/lib/component/editor.es.js.map +1 -1
- package/dist/lib/component/input.es.js +1 -1
- package/dist/lib/component/input.es.js.map +1 -1
- package/dist/lib/component/list.es.js +1 -1
- package/dist/lib/component/list.es.js.map +1 -1
- package/dist/lib/component/menubar.es.js +1 -1
- package/dist/lib/component/menubar.es.js.map +1 -1
- package/dist/lib/component/table.es.js +6 -3
- package/dist/lib/component/table.es.js.map +1 -1
- package/dist/lib/component/tree.es.js +1 -1
- package/dist/lib/core.es.js +1 -1
- package/dist/lib/core.es.js.map +1 -1
- package/dist/lib/data.es.js +1 -1
- package/dist/lib/glyphs/solid/index.es.js +1 -1
- package/dist/lib/layout.es.js +1 -1
- package/dist/lib/layout.es.js.map +1 -1
- package/dist/lib/overlay.es.js +1 -1
- package/dist/lib/overlay.es.js.map +1 -1
- package/dist/lib/primitive.es.js +1 -1
- package/dist/lib/router.es.js +1 -1
- package/dist/lib/router.es.js.map +1 -1
- package/dist/lib/selectionsEqual-gMG7gCVI.js +2 -0
- package/dist/lib/selectionsEqual-gMG7gCVI.js.map +1 -0
- package/dist/lib/types/component/button/Button.d.ts +13 -0
- package/dist/lib/types/component/button/MenuButton.d.ts +1 -0
- package/dist/lib/types/component/button/PopupButton.d.ts +22 -0
- package/dist/lib/types/component/button/TabButton.d.ts +4 -0
- package/dist/lib/types/component/button/index.d.ts +2 -0
- package/dist/lib/types/component/container/CheckboxMenuRow.d.ts +33 -0
- package/dist/lib/types/component/container/CollapseButton.d.ts +11 -3
- package/dist/lib/types/component/container/MenuItem.d.ts +15 -5
- package/dist/lib/types/component/container/MenuRow.d.ts +24 -0
- package/dist/lib/types/component/container/MenuSeparator.d.ts +4 -2
- package/dist/lib/types/component/container/RadioMenuRow.d.ts +33 -0
- package/dist/lib/types/component/container/Scrollbar.d.ts +5 -0
- package/dist/lib/types/component/container/SplitGutter.d.ts +7 -2
- package/dist/lib/types/component/container/TabBar.d.ts +2 -0
- package/dist/lib/types/component/container/WindowBorder.d.ts +1 -1
- package/dist/lib/types/component/container/index.d.ts +6 -1
- package/dist/lib/types/component/display/WebGLCanvas.d.ts +1 -0
- package/dist/lib/types/component/input/AbstractCalendarDropdown.d.ts +2 -0
- package/dist/lib/types/component/input/AbstractPickerField.d.ts +3 -2
- package/dist/lib/types/component/list/AbstractSelectableList.d.ts +1 -1
- package/dist/lib/types/component/list/MultiSelectList.d.ts +2 -1
- package/dist/lib/types/component/shared/VirtualRowView.d.ts +2 -0
- package/dist/lib/types/component/table/Body.d.ts +22 -1
- package/dist/lib/types/component/table/Column.d.ts +3 -1
- package/dist/lib/types/component/table/ColumnConfig.d.ts +2 -0
- package/dist/lib/types/component/table/ColumnFilter.d.ts +27 -0
- package/dist/lib/types/component/table/Header.d.ts +30 -3
- package/dist/lib/types/component/table/Row.d.ts +4 -0
- package/dist/lib/types/component/table/Table.d.ts +29 -0
- package/dist/lib/types/component/table/TableExporter.d.ts +4 -3
- package/dist/lib/types/component/table/TreeBody.d.ts +2 -1
- package/dist/lib/types/component/table/cell/CellText.d.ts +9 -0
- package/dist/lib/types/component/table/cell/Filter.d.ts +54 -0
- package/dist/lib/types/component/table/cell/FilterClauseBadge.d.ts +21 -0
- package/dist/lib/types/component/table/cell/GroupSeparator.d.ts +9 -0
- package/dist/lib/types/component/table/cell/Header.d.ts +1 -0
- package/dist/lib/types/component/table/cell/editor/CellEditor.d.ts +1 -0
- package/dist/lib/types/component/table/cell/renderer/CellRenderer.d.ts +1 -0
- package/dist/lib/types/component/table/cell/renderer/Combo.d.ts +2 -0
- package/dist/lib/types/component/table/cell/renderer/Date.d.ts +2 -0
- package/dist/lib/types/component/table/cell/renderer/DateTime.d.ts +2 -0
- package/dist/lib/types/component/table/cell/renderer/Filter.d.ts +16 -0
- package/dist/lib/types/component/table/cell/renderer/Glyph.d.ts +1 -0
- package/dist/lib/types/component/table/cell/renderer/Link.d.ts +2 -0
- package/dist/lib/types/component/table/cell/renderer/Number.d.ts +3 -1
- package/dist/lib/types/component/table/cell/renderer/String.d.ts +2 -0
- package/dist/lib/types/component/table/cell/renderer/Time.d.ts +2 -0
- package/dist/lib/types/component/table/cell/renderer/TreeCell.d.ts +1 -0
- package/dist/lib/types/component/table/index.d.ts +6 -0
- package/dist/lib/types/component/tree/Tree.d.ts +17 -1
- package/dist/lib/types/component/tree/index.d.ts +1 -1
- package/dist/lib/types/core/AnimatedDropdown.d.ts +0 -9
- package/dist/lib/types/core/Body.d.ts +4 -0
- package/dist/lib/types/core/ClassStyleRules.d.ts +1 -0
- package/dist/lib/types/core/DOM.d.ts +10 -0
- package/dist/lib/types/core/Event.d.ts +11 -2
- package/dist/lib/types/core/OverlayFade.d.ts +12 -0
- package/dist/lib/types/core/OverlayPosition.d.ts +6 -0
- package/dist/lib/types/core/Theme.d.ts +8 -0
- package/dist/lib/types/core/index.d.ts +5 -3
- package/dist/lib/types/data/AbstractStore.d.ts +3 -0
- package/dist/lib/types/data/FilterDescriptor.d.ts +13 -0
- package/dist/lib/types/data/index.d.ts +2 -1
- package/dist/lib/types/data/temporalText.d.ts +2 -0
- package/dist/lib/types/layout/BoxLayout.d.ts +6 -1
- package/dist/lib/types/layout/Grid.d.ts +1 -0
- package/dist/lib/types/layout/HFlow.d.ts +1 -1
- package/dist/lib/types/layout/Split.d.ts +10 -1
- package/dist/lib/types/layout/Tab.d.ts +7 -1
- package/dist/lib/types/layout/VFlow.d.ts +1 -1
- package/dist/lib/types/layout/index.d.ts +1 -1
- package/dist/lib/types/overlay/Dock.d.ts +1 -0
- package/dist/lib/types/overlay/Menu.d.ts +1 -1
- package/dist/lib/types/overlay/Popover.d.ts +3 -0
- package/dist/lib/types/overlay/PopupPanel.d.ts +17 -0
- package/dist/lib/types/overlay/Window.d.ts +2 -0
- package/dist/lib/types/overlay/index.d.ts +2 -0
- package/dist/lib/types/router/RoutePattern.d.ts +7 -0
- package/dist/lib/types/router/Router.d.ts +6 -2
- package/dist/lib/types/router/index.d.ts +1 -1
- package/dist/lib/validation.es.js +1 -1
- package/llms.txt +4 -0
- package/package.json +1 -1
- package/dist/lib/AbstractBooleanInput-CbW7ZrDT.js +0 -2
- package/dist/lib/AbstractBooleanInput-CbW7ZrDT.js.map +0 -1
- package/dist/lib/Anchor-BsblS5it.js +0 -2
- package/dist/lib/Anchor-BsblS5it.js.map +0 -1
- package/dist/lib/AnimatedDropdown-kL47HPGP.js +0 -2
- package/dist/lib/AnimatedDropdown-kL47HPGP.js.map +0 -1
- package/dist/lib/Border-CNS6aEXB.js +0 -2
- package/dist/lib/Border-CNS6aEXB.js.map +0 -1
- package/dist/lib/Button-T16zSZip.js +0 -2
- package/dist/lib/Button-T16zSZip.js.map +0 -1
- package/dist/lib/CodeEditor-BGlB232h.js.map +0 -1
- package/dist/lib/ComboBox-C9FYMuLv.js +0 -2
- package/dist/lib/ComboBox-C9FYMuLv.js.map +0 -1
- package/dist/lib/Component-w65rPK75.js +0 -2
- package/dist/lib/Component-w65rPK75.js.map +0 -1
- package/dist/lib/Container-C7RPLQEc.js +0 -2
- package/dist/lib/DOM-Ba8YRVel.js.map +0 -1
- package/dist/lib/DragManager-UvPHSoRm.js +0 -2
- package/dist/lib/DragManager-UvPHSoRm.js.map +0 -1
- package/dist/lib/Grid-BYBohJIA.js.map +0 -1
- package/dist/lib/GridConstraints-Bts284FI.js +0 -2
- package/dist/lib/LayoutSerialization-ySzY1h2l.js +0 -2
- package/dist/lib/LayoutSerialization-ySzY1h2l.js.map +0 -1
- package/dist/lib/LayoutSizes-DKDK1Cle.js +0 -2
- package/dist/lib/LayoutSizes-DKDK1Cle.js.map +0 -1
- package/dist/lib/List-BPd-IXZR.js +0 -2
- package/dist/lib/MemoryStore-BgP7-Uzn.js +0 -2
- package/dist/lib/MemoryStore-BgP7-Uzn.js.map +0 -1
- package/dist/lib/Menu-C0roOCY7.js +0 -2
- package/dist/lib/Menu-C0roOCY7.js.map +0 -1
- package/dist/lib/RadioButton-CCcIaL54.js +0 -2
- package/dist/lib/Scrollbar-C3ZZyZ1e.js +0 -2
- package/dist/lib/Scrollbar-C3ZZyZ1e.js.map +0 -1
- package/dist/lib/TabButton-DNo4ZgV8.js +0 -2
- package/dist/lib/TabButton-DNo4ZgV8.js.map +0 -1
- package/dist/lib/Tooltip-B_UF5bXD.js.map +0 -1
- package/dist/lib/Tree-C7qLbIYH.js +0 -2
- package/dist/lib/Tree-C7qLbIYH.js.map +0 -1
- package/dist/lib/VBox-32fxpkDl.js +0 -2
- package/dist/lib/VBox-32fxpkDl.js.map +0 -1
- package/dist/lib/VirtualScroller-cvFNMS7U.js +0 -2
- package/dist/lib/VirtualScroller-cvFNMS7U.js.map +0 -1
- package/dist/lib/assets/StoreWorker-CgOBYoai.js +0 -2
- package/dist/lib/assets/StoreWorker-CgOBYoai.js.map +0 -1
- package/dist/lib/selectionsEqual-BrTxPMmK.js +0 -2
- package/dist/lib/selectionsEqual-BrTxPMmK.js.map +0 -1
package/dist/lib/data.es.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as e,c as t,d as n,f as r,i,l as a,n as o,o as s,r as c,s as l,t as u,u as d}from"./MemoryStore-BgP7-Uzn.js";var AjaxError=class extends Error{status;statusText;body;operation;url;constructor(e,t,n,r){super(`AjaxProxy: ${e} failed with status ${n.status}`),this.name=`AjaxError`,this.status=n.status,this.statusText=n.statusText,this.body=r,this.operation=e,this.url=t}},f=`data`,p=`total`,JsonReader=class{_root;_rootProperty;_totalProperty;_mode;constructor(e){this._root=e?.root,this._rootProperty=e?.rootProperty??f,this._totalProperty=e?.totalProperty??p,this._mode=e?.mode??`auto`}read(e,t){if(this._mode===`detect`){let t=this._root?e?.[this._root]:e;return Array.isArray(t)?this.readArray(e):this.readEnvelope(e)}return this._mode===`envelope`||this._mode===`auto`&&t?this.readEnvelope(e):this.readArray(e)}readEnvelope(e){let t=this._root?e[this._root]:e;if(typeof t!=`object`||!t)throw Error(`AjaxProxy: paginated response is not an envelope object — if the server returns a top-level array, set mode:'array'`);let n=t[this._rootProperty],r=t[this._totalProperty];if(!Array.isArray(n))throw Error(`AjaxProxy: paginated response 'data' is not an array`);return{records:n,total:typeof r==`number`?r:void 0,success:typeof t.success==`boolean`?t.success:void 0,message:typeof t.message==`string`?t.message:void 0}}readArray(e){if(this._root){let t=e[this._root];if(!Array.isArray(t))throw Error(`AjaxProxy: root '${this._root}' did not resolve to an array`);return{records:t}}if(!Array.isArray(e))throw Error(`AjaxProxy: response is not an array and no root was specified — if the server returns a { data, total } envelope, set mode:'detect' (or mode:'envelope' / a rootProperty), or enable pagination with setPageSize()`);return{records:e}}},JsonWriter=class{_mode;constructor(e){this._mode=e?.mode??`full`}writeRecord(e,t){return JSON.stringify(this.dataFor(e,t))}writeRecords(e,t){return JSON.stringify(e.map(e=>this.dataFor(e,t)))}dataFor(e,t){return this._mode===`dirty`&&t===`update`?e.getChangedData():e.getData()}},AjaxProxy=class extends c{_url;_root;_method;_createMethod;_updateMethod;_headers;_reader;_writer;_lastTotalCount=void 0;constructor(e){super(),this._url=e.url,this._root=e.root,this._method=e.method??`GET`,this._createMethod=e.createMethod??`POST`,this._updateMethod=e.updateMethod??`PUT`,this._headers=e.headers??{},this._reader=e.reader??new JsonReader({root:e.root,mode:e.readMode}),this._writer=e.writer??new JsonWriter({mode:e.writeMode}),e.batch===!1&&this.disableBatch()}disableBatch(){let e=this;e.createBatch=void 0,e.updateBatch=void 0,e.destroyBatch=void 0}async read(e){let t=e!=null&&(e.page!=null||e.pageSize!=null),n=this.buildReadUrl(e),r=await fetch(n,{method:this._method,headers:this._headers,signal:e?.signal});r.ok||await this.throwHttpError(r,`read`,n);let i=await r.json(),a=this._reader.read(i,t);return this._lastTotalCount=a.total,a.records}buildReadUrl(e){if(e==null)return this._url;let t=new URLSearchParams;e.page!=null&&t.set(`page`,String(e.page)),e.pageSize!=null&&t.set(`pageSize`,String(e.pageSize)),e.sorters!=null&&e.sorters.length>0&&t.set(`sort`,JSON.stringify(e.sorters)),e.filters!=null&&e.filters.length>0&&t.set(`filter`,JSON.stringify(e.filters));let n=t.toString();if(n===``)return this._url;let r=this._url.includes(`?`)?`&`:`?`;return this._url+r+n}getLastTotalCount(){return this._lastTotalCount}async create(e){let t=await fetch(this._url,{method:this._createMethod,headers:{"Content-Type":`application/json`,...this._headers},body:this._writer.writeRecord(e,`create`)});t.ok||await this.throwHttpError(t,`create`,this._url);let n=await t.json();return this._root?n[this._root]:n}async update(e){let t=await fetch(`${this._url}/${e.getId()}`,{method:this._updateMethod,headers:{"Content-Type":`application/json`,...this._headers},body:this._writer.writeRecord(e,`update`)});t.ok||await this.throwHttpError(t,`update`,`${this._url}/${e.getId()}`);let n=await t.json();return this._root?n[this._root]:n}async destroy(e){let t=await fetch(`${this._url}/${e.getId()}`,{method:`DELETE`,headers:this._headers});t.ok||await this.throwHttpError(t,`destroy`,`${this._url}/${e.getId()}`)}async createBatch(e){let t=await fetch(this._url,{method:this._createMethod,headers:{"Content-Type":`application/json`,...this._headers},body:this._writer.writeRecords(e,`create`)});return t.ok||await this.throwHttpError(t,`create`,this._url),this.readBatchResponse(t)}async updateBatch(e){let t=await fetch(this._url,{method:this._updateMethod,headers:{"Content-Type":`application/json`,...this._headers},body:this._writer.writeRecords(e,`update`)});return t.ok||await this.throwHttpError(t,`update`,this._url),this.readBatchResponse(t)}async destroyBatch(e){let t=await fetch(this._url,{method:`DELETE`,headers:{"Content-Type":`application/json`,...this._headers},body:this._writer.writeRecords(e)});t.ok||await this.throwHttpError(t,`destroy`,this._url)}async readBatchResponse(e){let t=await e.json();return this._root?t[this._root]:t}async throwHttpError(e,t,n){let r;try{r=await e.json()}catch{try{r=await e.text()}catch{r=void 0}}throw new AjaxError(t,n,e,r)}},AjaxStore=class extends n{model;proxy;constructor(e,t){if(super(),e instanceof i){if(!t)throw Error(`AjaxStore requires an AjaxProxyOptions argument when constructed with a Model.`);this.model=e,this.proxy=new AjaxProxy(t)}else this.model=e.model,this.proxy=new AjaxProxy(e.proxy),this.applyOptions(e)}},TreeNode=class{_store;_record;_parent;_children=[];_depth;_leaf=!1;_loaded=!0;constructor(e,t,n,r){this._store=e,this._record=t,this._parent=n,this._depth=r}getRecord(){return this._record}getId(){return this._record?this._record.get(this._store.getIdField()):void 0}getParent(){return this._parent}getChildren(){return this._children}getDepth(){return this._depth}isExpanded(){return this._store.isExpanded(this)}isLeaf(){return this._leaf}isLoaded(){return this._loaded}setChildren(e){this._children=e}setLeaf(e){this._leaf=e}setLoaded(e){this._loaded=e}},TreeStore=class extends n{model;proxy;_idField;_parentField;_leafField;_hasChildrenField;_childrenKey;_root;_nodesById=new Map;_childRecords=new Map;_expandedIds=new Set;_loadingIds=new Set;_loadedIds=new Set;_visibleNodes=[];constructor(e){super(),this.model=e.model,this.proxy=e.proxy,this._parentField=e.parentField,this._idField=e.idField??this.model.getPrimaryKeyField()?.getName()??`id`,this._leafField=e.leafField,this._hasChildrenField=e.hasChildrenField,this._childrenKey=e.childrenKey,this._root=new TreeNode(this,null,null,-1),this.applyOptions(e)}getIdField(){return this._idField}getParentField(){return this._parentField}loadData(e){super.loadData(this._childrenKey?this.flattenNested(e):e)}applyView(){let e=super.applyView();return this.rebuildNodeIndex(),this.flatten(),e.then(()=>{this.rebuildNodeIndex(),this.flatten()})}flattenNested(e){let t=this.model.getField(this._idField)?.getMapping()??this._idField,n=this.model.getField(this._parentField)?.getMapping()??this._parentField,r=[],walk=(e,i)=>{for(let a of e){let e=a[this._childrenKey],o={...a};delete o[this._childrenKey],i!=null&&o[n]==null&&(o[n]=i),r.push(o),Array.isArray(e)&&e.length>0&&walk(e,o[t])}};return walk(e,null),r}rebuildNodeIndex(){let e=this.getRecords();this.bucketChildRecords(e),this._nodesById.clear(),this._root.setChildren(this.buildChildNodes(null,this._root,0))}bucketChildRecords(e){this._childRecords.clear();let t=new Set;for(let n of e)t.add(n.get(this._idField));for(let n of e){let e=n.get(this._parentField),r=e!=null&&t.has(e)?e:null,i=this._childRecords.get(r);i?i.push(n):this._childRecords.set(r,[n])}}buildChildNodes(e,t,n){return(this._childRecords.get(e)??[]).map(e=>{let r=e.get(this._idField),i=new TreeNode(this,e,t,n);return i.setLeaf(this.resolveLeaf(e,r)),i.setLoaded(this.resolveLoaded(r)),this._nodesById.set(r,i),i.setChildren(this.buildChildNodes(r,i,n+1)),i})}resolveLoaded(e){if(!this._hasChildrenField||this._loadedIds.has(e))return!0;let t=this._childRecords.get(e);return!!t&&t.length>0}resolveLeaf(e,t){if(this._leafField)return e.get(this._leafField)===!0;if(this._hasChildrenField)return e.get(this._hasChildrenField)!==!0;let n=this._childRecords.get(t);return!n||n.length===0}flatten(){let e=[],recurse=t=>{for(let n of t)e.push(n),this._expandedIds.has(n.getId())&&recurse(n.getChildren())};recurse(this._root.getChildren()),this._visibleNodes=e}getRootNode(){return this._root}getNodeById(e){return this._nodesById.get(e)}getNodeForRecord(e){return this._nodesById.get(e.get(this._idField))}getChildren(e){return e.getChildren()}getParent(e){return e.getParent()}getDepth(e){return e.getDepth()}eachNode(e){let recurse=t=>{for(let n of t)e(n),recurse(n.getChildren())};recurse(this._root.getChildren())}getVisibleNodes(){return this._visibleNodes.slice()}getVisibleCount(){return this._visibleNodes.length}async expand(e){let t=e.getId();this._expandedIds.has(t)||e.isLeaf()||!e.isLoaded()&&this.proxy&&!await this.loadChildren(t)||(this._expandedIds.add(t),this.flatten(),this.emit(`expand`,{node:e}))}async loadChildren(e){if(e==null||this._loadingIds.has(e))return!1;this._loadingIds.add(e);try{let t={filters:[{type:`eq`,field:this._parentField,value:e}]},n=await this.proxy.read(t);this._loadedIds.add(e),this.appendRecords(n.map(e=>this.model.createRecord(e)));let r=this.getNodeById(e);return r&&this.emit(`append`,{parent:r,nodes:r.getChildren()}),!0}finally{this._loadingIds.delete(e)}}collapse(e){let t=e.getId();this._expandedIds.has(t)&&(this._expandedIds.delete(t),this.flatten(),this.emit(`collapse`,{node:e}))}toggle(e){return this._expandedIds.has(e.getId())?(this.collapse(e),Promise.resolve()):this.expand(e)}isExpanded(e){return this._expandedIds.has(e.getId())}expandToDepth(e){this.eachNode(t=>{!t.isLeaf()&&t.getDepth()<=e&&this._expandedIds.add(t.getId())}),this.flatten()}collapseAll(){this._expandedIds.clear(),this.flatten()}on(e,t){return super.on(e,t)}off(e,t){return super.off(e,t)}emit(e,t){super.emit(e,t)}onTree(e,t){return this.on(e,t)}},WebStorageProxy=class extends c{_key;_storage;constructor(e){super(),this._key=e.key,this._storage=e.storage===`session`?sessionStorage:localStorage,e.data!==void 0&&this._storage.getItem(this._key)===null&&this.writeAll(e.data)}read(e){return Promise.resolve(this.readAll())}create(e){let t=this.readAll(),n={...e.getData()},r=e.getModel().getPrimaryKeyField()?.getName();return r!==void 0&&e.getId()===void 0&&(n[r]=this.nextId(t,r)),t.push(n),this.writeAll(t),Promise.resolve(n)}update(e){let t=this.readAll(),n={...e.getData()},r=e.getModel().getPrimaryKeyField()?.getName();if(r!==void 0){let i=e.getId(),a=t.findIndex(e=>e[r]===i);a!==-1&&(t[a]=n,this.writeAll(t))}return Promise.resolve(n)}destroy(e){let t=this.readAll(),n=e.getModel().getPrimaryKeyField()?.getName();if(n!==void 0){let r=e.getId(),i=t.findIndex(e=>e[n]===r);i!==-1&&(t.splice(i,1),this.writeAll(t))}return Promise.resolve()}readAll(){let e=this._storage.getItem(this._key);if(e===null)return[];let t=JSON.parse(e);return Array.isArray(t)?t:[]}writeAll(e){this._storage.setItem(this._key,JSON.stringify(e))}nextId(e,t){let n=0;for(let r of e){let e=r[t];typeof e==`number`&&e>n&&(n=e)}return n+1}};export{e as AbstractModel,n as AbstractStore,AjaxError,AjaxProxy,AjaxStore,s as Association,l as BelongsToAssociation,r as Field,t as HasManyAssociation,JsonReader,JsonWriter,o as MemoryProxy,u as MemoryStore,i as Model,a as ModelRecord,c as Proxy,d as Store,TreeNode,TreeStore,WebStorageProxy};
|
|
1
|
+
import{a as e,c as t,d as n,i as r,l as i,n as a,o,p as s,r as c,s as l,t as u,u as d}from"./MemoryStore-DhPoU-7X.js";var AjaxError=class extends Error{status;statusText;body;operation;url;constructor(e,t,n,r){super(`AjaxProxy: ${e} failed with status ${n.status}`),this.name=`AjaxError`,this.status=n.status,this.statusText=n.statusText,this.body=r,this.operation=e,this.url=t}},f=`data`,p=`total`,JsonReader=class{_root;_rootProperty;_totalProperty;_mode;constructor(e){this._root=e?.root,this._rootProperty=e?.rootProperty??f,this._totalProperty=e?.totalProperty??p,this._mode=e?.mode??`auto`}read(e,t){if(this._mode===`detect`){let t=this._root?e?.[this._root]:e;return Array.isArray(t)?this.readArray(e):this.readEnvelope(e)}return this._mode===`envelope`||this._mode===`auto`&&t?this.readEnvelope(e):this.readArray(e)}readEnvelope(e){let t=this._root?e[this._root]:e;if(typeof t!=`object`||!t)throw Error(`AjaxProxy: paginated response is not an envelope object — if the server returns a top-level array, set mode:'array'`);let n=t[this._rootProperty],r=t[this._totalProperty];if(!Array.isArray(n))throw Error(`AjaxProxy: paginated response 'data' is not an array`);return{records:n,total:typeof r==`number`?r:void 0,success:typeof t.success==`boolean`?t.success:void 0,message:typeof t.message==`string`?t.message:void 0}}readArray(e){if(this._root){let t=e[this._root];if(!Array.isArray(t))throw Error(`AjaxProxy: root '${this._root}' did not resolve to an array`);return{records:t}}if(!Array.isArray(e))throw Error(`AjaxProxy: response is not an array and no root was specified — if the server returns a { data, total } envelope, set mode:'detect' (or mode:'envelope' / a rootProperty), or enable pagination with setPageSize()`);return{records:e}}},JsonWriter=class{_mode;constructor(e){this._mode=e?.mode??`full`}writeRecord(e,t){return JSON.stringify(this.dataFor(e,t))}writeRecords(e,t){return JSON.stringify(e.map(e=>this.dataFor(e,t)))}dataFor(e,t){return this._mode===`dirty`&&t===`update`?e.getChangedData():e.getData()}},AjaxProxy=class extends c{_url;_root;_method;_createMethod;_updateMethod;_headers;_reader;_writer;_lastTotalCount=void 0;constructor(e){super(),this._url=e.url,this._root=e.root,this._method=e.method??`GET`,this._createMethod=e.createMethod??`POST`,this._updateMethod=e.updateMethod??`PUT`,this._headers=e.headers??{},this._reader=e.reader??new JsonReader({root:e.root,mode:e.readMode}),this._writer=e.writer??new JsonWriter({mode:e.writeMode}),e.batch===!1&&this.disableBatch()}disableBatch(){let e=this;e.createBatch=void 0,e.updateBatch=void 0,e.destroyBatch=void 0}async read(e){let t=e!=null&&(e.page!=null||e.pageSize!=null),n=this.buildReadUrl(e),r=await fetch(n,{method:this._method,headers:this._headers,signal:e?.signal});r.ok||await this.throwHttpError(r,`read`,n);let i=await r.json(),a=this._reader.read(i,t);return this._lastTotalCount=a.total,a.records}buildReadUrl(e){if(e==null)return this._url;let t=new URLSearchParams;e.page!=null&&t.set(`page`,String(e.page)),e.pageSize!=null&&t.set(`pageSize`,String(e.pageSize)),e.sorters!=null&&e.sorters.length>0&&t.set(`sort`,JSON.stringify(e.sorters)),e.filters!=null&&e.filters.length>0&&t.set(`filter`,JSON.stringify(e.filters));let n=t.toString();if(n===``)return this._url;let r=this._url.includes(`?`)?`&`:`?`;return this._url+r+n}getLastTotalCount(){return this._lastTotalCount}async create(e){let t=await fetch(this._url,{method:this._createMethod,headers:{"Content-Type":`application/json`,...this._headers},body:this._writer.writeRecord(e,`create`)});t.ok||await this.throwHttpError(t,`create`,this._url);let n=await t.json();return this._root?n[this._root]:n}async update(e){let t=await fetch(`${this._url}/${e.getId()}`,{method:this._updateMethod,headers:{"Content-Type":`application/json`,...this._headers},body:this._writer.writeRecord(e,`update`)});t.ok||await this.throwHttpError(t,`update`,`${this._url}/${e.getId()}`);let n=await t.json();return this._root?n[this._root]:n}async destroy(e){let t=await fetch(`${this._url}/${e.getId()}`,{method:`DELETE`,headers:this._headers});t.ok||await this.throwHttpError(t,`destroy`,`${this._url}/${e.getId()}`)}async createBatch(e){let t=await fetch(this._url,{method:this._createMethod,headers:{"Content-Type":`application/json`,...this._headers},body:this._writer.writeRecords(e,`create`)});return t.ok||await this.throwHttpError(t,`create`,this._url),this.readBatchResponse(t)}async updateBatch(e){let t=await fetch(this._url,{method:this._updateMethod,headers:{"Content-Type":`application/json`,...this._headers},body:this._writer.writeRecords(e,`update`)});return t.ok||await this.throwHttpError(t,`update`,this._url),this.readBatchResponse(t)}async destroyBatch(e){let t=await fetch(this._url,{method:`DELETE`,headers:{"Content-Type":`application/json`,...this._headers},body:this._writer.writeRecords(e)});t.ok||await this.throwHttpError(t,`destroy`,this._url)}async readBatchResponse(e){let t=await e.json();return this._root?t[this._root]:t}async throwHttpError(e,t,n){let r;try{r=await e.json()}catch{try{r=await e.text()}catch{r=void 0}}throw new AjaxError(t,n,e,r)}},AjaxStore=class extends n{model;proxy;constructor(e,t){if(super(),e instanceof r){if(!t)throw Error(`AjaxStore requires an AjaxProxyOptions argument when constructed with a Model.`);this.model=e,this.proxy=new AjaxProxy(t)}else this.model=e.model,this.proxy=new AjaxProxy(e.proxy),this.applyOptions(e)}},TreeNode=class{_store;_record;_parent;_children=[];_depth;_leaf=!1;_loaded=!0;constructor(e,t,n,r){this._store=e,this._record=t,this._parent=n,this._depth=r}getRecord(){return this._record}getId(){return this._record?this._record.get(this._store.getIdField()):void 0}getParent(){return this._parent}getChildren(){return this._children}getDepth(){return this._depth}isExpanded(){return this._store.isExpanded(this)}isLeaf(){return this._leaf}isLoaded(){return this._loaded}setChildren(e){this._children=e}setLeaf(e){this._leaf=e}setLoaded(e){this._loaded=e}},TreeStore=class extends n{model;proxy;_idField;_parentField;_leafField;_hasChildrenField;_childrenKey;_root;_nodesById=new Map;_childRecords=new Map;_expandedIds=new Set;_loadingIds=new Set;_loadedIds=new Set;_visibleNodes=[];constructor(e){super(),this.model=e.model,this.proxy=e.proxy,this._parentField=e.parentField,this._idField=e.idField??this.model.getPrimaryKeyField()?.getName()??`id`,this._leafField=e.leafField,this._hasChildrenField=e.hasChildrenField,this._childrenKey=e.childrenKey,this._root=new TreeNode(this,null,null,-1),this.applyOptions(e)}getIdField(){return this._idField}getParentField(){return this._parentField}loadData(e){super.loadData(this._childrenKey?this.flattenNested(e):e)}applyView(){let e=super.applyView();return this.rebuildNodeIndex(),this.flatten(),e.then(()=>{this.rebuildNodeIndex(),this.flatten()})}flattenNested(e){let t=this.model.getField(this._idField)?.getMapping()??this._idField,n=this.model.getField(this._parentField)?.getMapping()??this._parentField,r=[],walk=(e,i)=>{for(let a of e){let e=a[this._childrenKey],o={...a};delete o[this._childrenKey],i!=null&&o[n]==null&&(o[n]=i),r.push(o),Array.isArray(e)&&e.length>0&&walk(e,o[t])}};return walk(e,null),r}rebuildNodeIndex(){let e=this.getRecords();this.bucketChildRecords(e),this._nodesById.clear(),this._root.setChildren(this.buildChildNodes(null,this._root,0))}bucketChildRecords(e){this._childRecords.clear();let t=new Set;for(let n of e)t.add(n.get(this._idField));for(let n of e){let e=n.get(this._parentField),r=e!=null&&t.has(e)?e:null,i=this._childRecords.get(r);i?i.push(n):this._childRecords.set(r,[n])}}buildChildNodes(e,t,n){return(this._childRecords.get(e)??[]).map(e=>{let r=e.get(this._idField),i=new TreeNode(this,e,t,n);return i.setLeaf(this.resolveLeaf(e,r)),i.setLoaded(this.resolveLoaded(r)),this._nodesById.set(r,i),i.setChildren(this.buildChildNodes(r,i,n+1)),i})}resolveLoaded(e){if(!this._hasChildrenField||this._loadedIds.has(e))return!0;let t=this._childRecords.get(e);return!!t&&t.length>0}resolveLeaf(e,t){if(this._leafField)return e.get(this._leafField)===!0;if(this._hasChildrenField)return e.get(this._hasChildrenField)!==!0;let n=this._childRecords.get(t);return!n||n.length===0}flatten(){let e=[],recurse=t=>{for(let n of t)e.push(n),this._expandedIds.has(n.getId())&&recurse(n.getChildren())};recurse(this._root.getChildren()),this._visibleNodes=e}getRootNode(){return this._root}getNodeById(e){return this._nodesById.get(e)}getNodeForRecord(e){return this._nodesById.get(e.get(this._idField))}getChildren(e){return e.getChildren()}getParent(e){return e.getParent()}getDepth(e){return e.getDepth()}eachNode(e){let recurse=t=>{for(let n of t)e(n),recurse(n.getChildren())};recurse(this._root.getChildren())}getVisibleNodes(){return this._visibleNodes.slice()}getVisibleCount(){return this._visibleNodes.length}async expand(e){let t=e.getId();this._expandedIds.has(t)||e.isLeaf()||!e.isLoaded()&&this.proxy&&!await this.loadChildren(t)||(this._expandedIds.add(t),this.flatten(),this.emit(`expand`,{node:e}))}async loadChildren(e){if(e==null||this._loadingIds.has(e))return!1;this._loadingIds.add(e);try{let t={filters:[{type:`eq`,field:this._parentField,value:e}]},n=await this.proxy.read(t);this._loadedIds.add(e),this.appendRecords(n.map(e=>this.model.createRecord(e)));let r=this.getNodeById(e);return r&&this.emit(`append`,{parent:r,nodes:r.getChildren()}),!0}finally{this._loadingIds.delete(e)}}collapse(e){let t=e.getId();this._expandedIds.has(t)&&(this._expandedIds.delete(t),this.flatten(),this.emit(`collapse`,{node:e}))}toggle(e){return this._expandedIds.has(e.getId())?(this.collapse(e),Promise.resolve()):this.expand(e)}isExpanded(e){return this._expandedIds.has(e.getId())}expandToDepth(e){this.eachNode(t=>{!t.isLeaf()&&t.getDepth()<=e&&this._expandedIds.add(t.getId())}),this.flatten()}collapseAll(){this._expandedIds.clear(),this.flatten()}on(e,t){return super.on(e,t)}off(e,t){return super.off(e,t)}emit(e,t){super.emit(e,t)}onTree(e,t){return this.on(e,t)}},WebStorageProxy=class extends c{_key;_storage;constructor(e){super(),this._key=e.key,this._storage=e.storage===`session`?sessionStorage:localStorage,e.data!==void 0&&this._storage.getItem(this._key)===null&&this.writeAll(e.data)}read(e){return Promise.resolve(this.readAll())}create(e){let t=this.readAll(),n={...e.getData()},r=e.getModel().getPrimaryKeyField()?.getName();return r!==void 0&&e.getId()===void 0&&(n[r]=this.nextId(t,r)),t.push(n),this.writeAll(t),Promise.resolve(n)}update(e){let t=this.readAll(),n={...e.getData()},r=e.getModel().getPrimaryKeyField()?.getName();if(r!==void 0){let i=e.getId(),a=t.findIndex(e=>e[r]===i);a!==-1&&(t[a]=n,this.writeAll(t))}return Promise.resolve(n)}destroy(e){let t=this.readAll(),n=e.getModel().getPrimaryKeyField()?.getName();if(n!==void 0){let r=e.getId(),i=t.findIndex(e=>e[n]===r);i!==-1&&(t.splice(i,1),this.writeAll(t))}return Promise.resolve()}readAll(){let e=this._storage.getItem(this._key);if(e===null)return[];let t=JSON.parse(e);return Array.isArray(t)?t:[]}writeAll(e){this._storage.setItem(this._key,JSON.stringify(e))}nextId(e,t){let n=0;for(let r of e){let e=r[t];typeof e==`number`&&e>n&&(n=e)}return n+1}};export{e as AbstractModel,n as AbstractStore,AjaxError,AjaxProxy,AjaxStore,o as Association,l as BelongsToAssociation,s as Field,t as HasManyAssociation,JsonReader,JsonWriter,a as MemoryProxy,u as MemoryStore,r as Model,i as ModelRecord,c as Proxy,d as Store,TreeNode,TreeStore,WebStorageProxy};
|
|
2
2
|
//# sourceMappingURL=data.es.js.map
|