tree-element 0.1.0 → 0.1.1
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/README.md +16 -0
- package/lib/dataLoader.d.ts.map +1 -1
- package/lib/dataLoader.js +4 -1
- package/lib/dataLoader.js.map +1 -1
- package/lib/events.d.ts +11 -4
- package/lib/events.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +3 -1
- package/src/dataLoader.ts +2 -1
- package/src/events.ts +11 -4
- package/src/version.ts +1 -1
- package/tree_element.debug.js +6 -3
- package/tree_element.debug.js.map +1 -1
- package/tree_element.js +2 -2
- package/tree_element.js.map +1 -1
package/README.md
CHANGED
|
@@ -216,6 +216,22 @@ pnpm ci # lint, typecheck, check the docs and test
|
|
|
216
216
|
|
|
217
217
|
`pnpm test` runs the vitest unit tests and the playwright browser tests.
|
|
218
218
|
|
|
219
|
+
### Releasing
|
|
220
|
+
|
|
221
|
+
Describe the changes under "Unreleased" in `CHANGELOG.md` as you go. To release,
|
|
222
|
+
make sure `master` is pushed and CI is green, then run:
|
|
223
|
+
|
|
224
|
+
```sh
|
|
225
|
+
pnpm release patch # or minor, major, or an explicit version
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
Add `--dry-run` to see the version bump and changelog change without committing.
|
|
229
|
+
|
|
230
|
+
This bumps the version, moves the unreleased changes in the changelog to the new
|
|
231
|
+
version, commits, tags `v<version>` and pushes. The
|
|
232
|
+
[Release workflow](.github/workflows/release.yml) then runs the checks, publishes
|
|
233
|
+
to npm with provenance and creates the GitHub release.
|
|
234
|
+
|
|
219
235
|
## License
|
|
220
236
|
|
|
221
237
|
Apache-2.0. See [LICENSE](LICENSE).
|
package/lib/dataLoader.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataLoader.d.ts","sourceRoot":"","sources":["../src/dataLoader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAE,IAAI,EAAY,MAAM,QAAQ,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAE3C,UAAU,gBAAgB;IACtB,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;CAC9B;AAED,MAAM,CAAC,OAAO,OAAO,UAAU;IAC3B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAC,CAAa;IAChC,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,YAAY,CAAe;gBAEvB,EACR,UAAU,EACV,UAAU,EACV,QAAQ,EACR,WAAW,EACX,YAAY,GACf,EAAE,gBAAgB;IASZ,MAAM,IAAI,IAAI;IAIR,WAAW,CACpB,GAAG,EAAE,UAAU,EACf,IAAI,CAAC,EAAE,IAAI,GACZ,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"dataLoader.d.ts","sourceRoot":"","sources":["../src/dataLoader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAE,IAAI,EAAY,MAAM,QAAQ,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAE3C,UAAU,gBAAgB;IACtB,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;CAC9B;AAED,MAAM,CAAC,OAAO,OAAO,UAAU;IAC3B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAC,CAAa;IAChC,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,YAAY,CAAe;gBAEvB,EACR,UAAU,EACV,UAAU,EACV,QAAQ,EACR,WAAW,EACX,YAAY,GACf,EAAE,gBAAgB;IASZ,MAAM,IAAI,IAAI;IAIR,WAAW,CACpB,GAAG,EAAE,UAAU,EACf,IAAI,CAAC,EAAE,IAAI,GACZ,OAAO,CAAC,IAAI,CAAC;CAgDnB"}
|
package/lib/dataLoader.js
CHANGED
package/lib/dataLoader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataLoader.js","sources":["../src/dataLoader.ts"],"sourcesContent":["import type { ClassNames } from \"./classNames\";\nimport type { LoadData, TriggerEvent } from \"./methodTypes\";\nimport type { Node, NodeData } from \"./node\";\nimport type { DataFilter } from \"./options\";\nimport type RequestUrl from \"./requestUrl\";\n\ninterface DataLoaderParams {\n classNames: ClassNames;\n dataFilter?: DataFilter;\n loadData: LoadData;\n treeElement: HTMLElement;\n triggerEvent: TriggerEvent;\n}\n\nexport default class DataLoader {\n private abortController: AbortController;\n private classNames: ClassNames;\n private dataFilter?: DataFilter;\n private loadData: LoadData;\n private treeElement: HTMLElement;\n private triggerEvent: TriggerEvent;\n\n constructor({\n classNames,\n dataFilter,\n loadData,\n treeElement,\n triggerEvent,\n }: DataLoaderParams) {\n this.abortController = new AbortController();\n this.classNames = classNames;\n this.dataFilter = dataFilter;\n this.loadData = loadData;\n this.treeElement = treeElement;\n this.triggerEvent = triggerEvent;\n }\n\n public deinit(): void {\n this.abortController.abort();\n }\n\n public async loadFromUrl(\n url: RequestUrl,\n node?: Node,\n ): Promise<void> {\n const element = node?.element ?? this.treeElement;\n element.classList.add(this.classNames.loading);\n\n this.triggerEvent(\"tree.loading_data\", {\n element,\n node,\n });\n\n const stopLoading = (): void => {\n element.classList.remove(this.classNames.loading);\n this.triggerEvent(\"tree.loaded_data\", {\n element,\n node,\n });\n };\n\n const handleResponse = async (response: Response): Promise<void> => {\n if (response.ok) {\n const data = (await response.json()) as NodeData[];\n\n stopLoading();\n this.loadData(\n this.dataFilter ? this.dataFilter(data) : data,\n node\n );\n } else {\n stopLoading();\n\n this.triggerEvent(\"tree.load_failed\", { response });\n }\n };\n\n const signal = this.abortController.signal;\n url.setSearchParam(\"_\", Date.now().toString());\n\n return fetch(url.toString(), { headers: { \"Content-Type\": \"application/json\" }, signal })\n .then(handleResponse)\n .catch((error: unknown) => {\n if (this.abortController.signal.aborted) {\n // The request was aborted by deinit.\n return;\n }\n\n
|
|
1
|
+
{"version":3,"file":"dataLoader.js","sources":["../src/dataLoader.ts"],"sourcesContent":["import type { ClassNames } from \"./classNames\";\nimport type { LoadData, TriggerEvent } from \"./methodTypes\";\nimport type { Node, NodeData } from \"./node\";\nimport type { DataFilter } from \"./options\";\nimport type RequestUrl from \"./requestUrl\";\n\ninterface DataLoaderParams {\n classNames: ClassNames;\n dataFilter?: DataFilter;\n loadData: LoadData;\n treeElement: HTMLElement;\n triggerEvent: TriggerEvent;\n}\n\nexport default class DataLoader {\n private abortController: AbortController;\n private classNames: ClassNames;\n private dataFilter?: DataFilter;\n private loadData: LoadData;\n private treeElement: HTMLElement;\n private triggerEvent: TriggerEvent;\n\n constructor({\n classNames,\n dataFilter,\n loadData,\n treeElement,\n triggerEvent,\n }: DataLoaderParams) {\n this.abortController = new AbortController();\n this.classNames = classNames;\n this.dataFilter = dataFilter;\n this.loadData = loadData;\n this.treeElement = treeElement;\n this.triggerEvent = triggerEvent;\n }\n\n public deinit(): void {\n this.abortController.abort();\n }\n\n public async loadFromUrl(\n url: RequestUrl,\n node?: Node,\n ): Promise<void> {\n const element = node?.element ?? this.treeElement;\n element.classList.add(this.classNames.loading);\n\n this.triggerEvent(\"tree.loading_data\", {\n element,\n node,\n });\n\n const stopLoading = (): void => {\n element.classList.remove(this.classNames.loading);\n this.triggerEvent(\"tree.loaded_data\", {\n element,\n node,\n });\n };\n\n const handleResponse = async (response: Response): Promise<void> => {\n if (response.ok) {\n const data = (await response.json()) as NodeData[];\n\n stopLoading();\n this.loadData(\n this.dataFilter ? this.dataFilter(data) : data,\n node\n );\n } else {\n stopLoading();\n\n this.triggerEvent(\"tree.load_failed\", { response });\n }\n };\n\n const signal = this.abortController.signal;\n url.setSearchParam(\"_\", Date.now().toString());\n\n return fetch(url.toString(), { headers: { \"Content-Type\": \"application/json\" }, signal })\n .then(handleResponse)\n .catch((error: unknown) => {\n if (this.abortController.signal.aborted) {\n // The request was aborted by deinit.\n return;\n }\n\n stopLoading();\n this.triggerEvent(\"tree.load_failed\", { error });\n });\n }\n}\n"],"names":["abortController","classNames","dataFilter","loadData","treeElement","triggerEvent"],"mappings":"AAce,MAAM,UAAU,CAAC;EACpBA,gBAAe;EACfC,WAAU;EACVC,WAAU;EACVC,SAAQ;EACRC,YAAW;EACXC,aAAY;AAEpB,EAAA,WAAW,CAAC;IACR,UAAU;IACV,UAAU;IACV,QAAQ;IACR,WAAW;AACX,IAAA;AACc,GAAC,EAAE;AACjB,IAAA,IAAI,CAACL,gBAAe,GAAG,IAAI,eAAe,EAAE;IAC5C,IAAI,CAACC,WAAU,GAAG,UAAU;IAC5B,IAAI,CAACC,WAAU,GAAG,UAAU;IAC5B,IAAI,CAACC,SAAQ,GAAG,QAAQ;IACxB,IAAI,CAACC,YAAW,GAAG,WAAW;IAC9B,IAAI,CAACC,aAAY,GAAG,YAAY;AACpC,EAAA;AAEO,EAAA,MAAM,GAAS;AAClB,IAAA,IAAI,CAACL,gBAAe,CAAC,KAAK,EAAE;AAChC,EAAA;AAEA,EAAA,MAAa,WAAW,CACpB,GAAe,EACf,IAAW,EACE;IACb,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,IAAI,CAACI,YAAW;IACjD,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAACH,WAAU,CAAC,OAAO,CAAC;AAE9C,IAAA,IAAI,CAACI,aAAY,CAAC,mBAAmB,EAAE;MACnC,OAAO;AACP,MAAA;AACJ,KAAC,CAAC;IAEF,MAAM,WAAW,GAAG,MAAY;MAC5B,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAACJ,WAAU,CAAC,OAAO,CAAC;AACjD,MAAA,IAAI,CAACI,aAAY,CAAC,kBAAkB,EAAE;QAClC,OAAO;AACP,QAAA;AACJ,OAAC,CAAC;IACN,CAAC;AAED,IAAA,MAAM,cAAc,GAAG,MAAO,QAAkB,IAAoB;MAChE,IAAI,QAAQ,CAAC,EAAE,EAAE;AACb,QAAA,MAAM,IAAI,GAAI,MAAM,QAAQ,CAAC,IAAI,EAAiB;AAElD,QAAA,WAAW,EAAE;AACb,QAAA,IAAI,CAACF,SAAQ,CACT,IAAI,CAACD,WAAU,GAAG,IAAI,CAACA,WAAU,CAAC,IAAI,CAAC,GAAG,IAAI,EAC9C,IACJ,CAAC;AACL,MAAA,CAAC,MAAM;AACH,QAAA,WAAW,EAAE;AAEb,QAAA,IAAI,CAACG,aAAY,CAAC,kBAAkB,EAAE;AAAE,UAAA;AAAS,SAAC,CAAC;AACvD,MAAA;IACJ,CAAC;AAED,IAAA,MAAM,MAAM,GAAG,IAAI,CAACL,gBAAe,CAAC,MAAM;AAC1C,IAAA,GAAG,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;AAE9C,IAAA,OAAO,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;AAAE,MAAA,OAAO,EAAE;AAAE,QAAA,cAAc,EAAE;OAAoB;AAAE,MAAA;KAAQ,CAAC,CACpF,IAAI,CAAC,cAAc,CAAC,CACpB,KAAK,CAAE,KAAc,IAAK;AACvB,MAAA,IAAI,IAAI,CAACA,gBAAe,CAAC,MAAM,CAAC,OAAO,EAAE;AACrC;AACA,QAAA;AACJ,MAAA;AAEA,MAAA,WAAW,EAAE;AACb,MAAA,IAAI,CAACK,aAAY,CAAC,kBAAkB,EAAE;AAAE,QAAA;AAAM,OAAC,CAAC;AACpD,IAAA,CAAC,CAAC;AACV,EAAA;AACJ;;"}
|
package/lib/events.d.ts
CHANGED
|
@@ -194,19 +194,26 @@ export interface TreeEvents {
|
|
|
194
194
|
node?: Node;
|
|
195
195
|
};
|
|
196
196
|
/**
|
|
197
|
-
* Dispatched when a request returns an error status
|
|
198
|
-
* `tree.loaded_data`:
|
|
197
|
+
* Dispatched when a request returns an error status or fails with a
|
|
198
|
+
* network error, after `tree.loaded_data`:
|
|
199
199
|
*
|
|
200
200
|
* ```js
|
|
201
201
|
* element.addEventListener("tree.load_failed", (e) => {
|
|
202
|
-
*
|
|
202
|
+
* if (e.detail.response) {
|
|
203
|
+
* console.error("loading the tree failed", e.detail.response.status);
|
|
204
|
+
* } else {
|
|
205
|
+
* console.error("loading the tree failed", e.detail.error);
|
|
206
|
+
* }
|
|
203
207
|
* });
|
|
204
208
|
* ```
|
|
205
209
|
*
|
|
206
210
|
* @group Loading data
|
|
207
211
|
*/
|
|
208
212
|
"tree.load_failed": {
|
|
209
|
-
|
|
213
|
+
/** The error thrown by `fetch`, if the request failed with a network error. */
|
|
214
|
+
error?: unknown;
|
|
215
|
+
/** The response, if the request returned an error status. */
|
|
216
|
+
response?: Response;
|
|
210
217
|
};
|
|
211
218
|
}
|
|
212
219
|
type TreeEventMap = {
|
package/lib/events.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEvD,MAAM,WAAW,QAAQ;IACrB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,aAAa,EAAE,KAAK,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,IAAI,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,IAAI,CAAC;CACpB;AAGD,MAAM,MAAM,SAAS,CAAC,IAAI,SAAS,aAAa,GAAG,aAAa,IAAI,WAAW,CAC3E,UAAU,CAAC,IAAI,CAAC,CACnB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC;AAO7C,MAAM,WAAW,UAAU;IACvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,WAAW,EAAE,SAAS,CAAC;IACvB;;;;OAIG;IACH,cAAc,EAAE,SAAS,CAAC;IAC1B;;;;;;;;;;;;OAYG;IACH,YAAY,EAAE;QACV,IAAI,EAAE,IAAI,CAAC;QACX,aAAa,EAAE,UAAU,CAAC;KAC7B,CAAC;IACF;;;;OAIG;IACH,eAAe,EAAE;QACb,IAAI,EAAE,IAAI,CAAC;QACX,aAAa,EAAE,UAAU,CAAC;KAC7B,CAAC;IACF;;;;;OAKG;IACH,kBAAkB,EAAE;QAChB,IAAI,EAAE,IAAI,CAAC;QACX,aAAa,EAAE,UAAU,CAAC;KAC7B,CAAC;IACF;;;;OAIG;IACH,WAAW,EAAE;QACT,IAAI,EAAE,IAAI,CAAC;KACd,CAAC;IACF;;;;OAIG;IACH,YAAY,EAAE;QACV,IAAI,EAAE,IAAI,CAAC;KACd,CAAC;IACF;;;;;;;;;;;;OAYG;IACH,aAAa,EAAE;QACX,iDAAiD;QACjD,cAAc,EAAE,IAAI,GAAG,IAAI,CAAC;QAC5B,qCAAqC;QACrC,IAAI,EAAE,IAAI,CAAC;KACd,CAAC;IACF;;;;;;;;;;;;;;;;;;OAkBG;IACH,eAAe,EAAE;QACb,IAAI,EAAE,IAAI,CAAC;KACd,CAAC;IACF;;;;;;;;;;;;;;;;;OAiBG;IACH,WAAW,EAAE;QACT,iDAAiD;QACjD,QAAQ,EAAE,QAAQ,CAAC;KACtB,CAAC;IACF;;;;;OAKG;IACH,eAAe,EAAE;QACb,kEAAkE;QAClE,IAAI,CAAC,EAAE,IAAI,CAAC;QACZ,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;KACzB,CAAC;IACF;;;;OAIG;IACH,mBAAmB,EAAE;QACjB,OAAO,EAAE,WAAW,CAAC;QACrB,+DAA+D;QAC/D,IAAI,CAAC,EAAE,IAAI,CAAC;KACf,CAAC;IACF;;;;;OAKG;IACH,kBAAkB,EAAE;QAChB,OAAO,EAAE,WAAW,CAAC;QACrB,gEAAgE;QAChE,IAAI,CAAC,EAAE,IAAI,CAAC;KACf,CAAC;IACF
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEvD,MAAM,WAAW,QAAQ;IACrB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,aAAa,EAAE,KAAK,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,IAAI,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,IAAI,CAAC;CACpB;AAGD,MAAM,MAAM,SAAS,CAAC,IAAI,SAAS,aAAa,GAAG,aAAa,IAAI,WAAW,CAC3E,UAAU,CAAC,IAAI,CAAC,CACnB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC;AAO7C,MAAM,WAAW,UAAU;IACvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,WAAW,EAAE,SAAS,CAAC;IACvB;;;;OAIG;IACH,cAAc,EAAE,SAAS,CAAC;IAC1B;;;;;;;;;;;;OAYG;IACH,YAAY,EAAE;QACV,IAAI,EAAE,IAAI,CAAC;QACX,aAAa,EAAE,UAAU,CAAC;KAC7B,CAAC;IACF;;;;OAIG;IACH,eAAe,EAAE;QACb,IAAI,EAAE,IAAI,CAAC;QACX,aAAa,EAAE,UAAU,CAAC;KAC7B,CAAC;IACF;;;;;OAKG;IACH,kBAAkB,EAAE;QAChB,IAAI,EAAE,IAAI,CAAC;QACX,aAAa,EAAE,UAAU,CAAC;KAC7B,CAAC;IACF;;;;OAIG;IACH,WAAW,EAAE;QACT,IAAI,EAAE,IAAI,CAAC;KACd,CAAC;IACF;;;;OAIG;IACH,YAAY,EAAE;QACV,IAAI,EAAE,IAAI,CAAC;KACd,CAAC;IACF;;;;;;;;;;;;OAYG;IACH,aAAa,EAAE;QACX,iDAAiD;QACjD,cAAc,EAAE,IAAI,GAAG,IAAI,CAAC;QAC5B,qCAAqC;QACrC,IAAI,EAAE,IAAI,CAAC;KACd,CAAC;IACF;;;;;;;;;;;;;;;;;;OAkBG;IACH,eAAe,EAAE;QACb,IAAI,EAAE,IAAI,CAAC;KACd,CAAC;IACF;;;;;;;;;;;;;;;;;OAiBG;IACH,WAAW,EAAE;QACT,iDAAiD;QACjD,QAAQ,EAAE,QAAQ,CAAC;KACtB,CAAC;IACF;;;;;OAKG;IACH,eAAe,EAAE;QACb,kEAAkE;QAClE,IAAI,CAAC,EAAE,IAAI,CAAC;QACZ,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;KACzB,CAAC;IACF;;;;OAIG;IACH,mBAAmB,EAAE;QACjB,OAAO,EAAE,WAAW,CAAC;QACrB,+DAA+D;QAC/D,IAAI,CAAC,EAAE,IAAI,CAAC;KACf,CAAC;IACF;;;;;OAKG;IACH,kBAAkB,EAAE;QAChB,OAAO,EAAE,WAAW,CAAC;QACrB,gEAAgE;QAChE,IAAI,CAAC,EAAE,IAAI,CAAC;KACf,CAAC;IACF;;;;;;;;;;;;;;;OAeG;IACH,kBAAkB,EAAE;QAChB,+EAA+E;QAC/E,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,6DAA6D;QAC7D,QAAQ,CAAC,EAAE,QAAQ,CAAC;KACvB,CAAC;CACL;AAGD,KAAK,YAAY,GAAG;KACf,IAAI,IAAI,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC;CAC3C,CAAC;AAGF,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,gBAAiB,SAAQ,YAAY;KAAI;IAEnD,UAAU,mBAAoB,SAAQ,YAAY;KAAI;IAEtD,UAAU,cAAe,SAAQ,YAAY;KAAI;CACpD"}
|
package/lib/index.js
CHANGED
package/lib/version.d.ts
CHANGED
package/lib/version.js
CHANGED
package/lib/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sources":["../src/version.ts"],"sourcesContent":["// Generated by config/generateVersion.mjs. Do not edit.\nconst version = \"0.1.
|
|
1
|
+
{"version":3,"file":"version.js","sources":["../src/version.ts"],"sourcesContent":["// Generated by config/generateVersion.mjs. Do not edit.\nconst version = \"0.1.1\";\n\nexport default version;\n"],"names":[],"mappings":"AAAA;AACA,MAAM,OAAO,GAAG;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tree-element",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Tree widget in plain javascript",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"tree"
|
|
@@ -49,6 +49,8 @@
|
|
|
49
49
|
"prettier": "prettier src/*.ts --write --tab-width 4",
|
|
50
50
|
"tsc": "tsc --noEmit --project tsconfig.json",
|
|
51
51
|
"version": "node config/generateVersion.mjs && git add src/version.ts",
|
|
52
|
+
"prepublishOnly": "pnpm run production",
|
|
53
|
+
"release": "node config/release.mjs",
|
|
52
54
|
"playwright": "pnpm build-with-coverage && playwright test --config playwright/playwright.config.js",
|
|
53
55
|
"test": "pnpm vitest && pnpm playwright",
|
|
54
56
|
"docs-check": "kiira check"
|
package/src/dataLoader.ts
CHANGED
package/src/events.ts
CHANGED
|
@@ -206,19 +206,26 @@ export interface TreeEvents {
|
|
|
206
206
|
node?: Node;
|
|
207
207
|
};
|
|
208
208
|
/**
|
|
209
|
-
* Dispatched when a request returns an error status
|
|
210
|
-
* `tree.loaded_data`:
|
|
209
|
+
* Dispatched when a request returns an error status or fails with a
|
|
210
|
+
* network error, after `tree.loaded_data`:
|
|
211
211
|
*
|
|
212
212
|
* ```js
|
|
213
213
|
* element.addEventListener("tree.load_failed", (e) => {
|
|
214
|
-
*
|
|
214
|
+
* if (e.detail.response) {
|
|
215
|
+
* console.error("loading the tree failed", e.detail.response.status);
|
|
216
|
+
* } else {
|
|
217
|
+
* console.error("loading the tree failed", e.detail.error);
|
|
218
|
+
* }
|
|
215
219
|
* });
|
|
216
220
|
* ```
|
|
217
221
|
*
|
|
218
222
|
* @group Loading data
|
|
219
223
|
*/
|
|
220
224
|
"tree.load_failed": {
|
|
221
|
-
|
|
225
|
+
/** The error thrown by `fetch`, if the request failed with a network error. */
|
|
226
|
+
error?: unknown;
|
|
227
|
+
/** The response, if the request returned an error status. */
|
|
228
|
+
response?: Response;
|
|
222
229
|
};
|
|
223
230
|
}
|
|
224
231
|
/* eslint-enable perfectionist/sort-interfaces */
|
package/src/version.ts
CHANGED
package/tree_element.debug.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
Html-tree 0.1.
|
|
2
|
+
Html-tree 0.1.1
|
|
3
3
|
|
|
4
4
|
Copyright 2026 Marco Braak
|
|
5
5
|
|
|
@@ -119,7 +119,10 @@ var TreeElement = (function () {
|
|
|
119
119
|
// The request was aborted by deinit.
|
|
120
120
|
return;
|
|
121
121
|
}
|
|
122
|
-
|
|
122
|
+
stopLoading();
|
|
123
|
+
this._triggerEvent("tree.load_failed", {
|
|
124
|
+
error
|
|
125
|
+
});
|
|
123
126
|
});
|
|
124
127
|
}
|
|
125
128
|
}
|
|
@@ -3086,7 +3089,7 @@ var TreeElement = (function () {
|
|
|
3086
3089
|
};
|
|
3087
3090
|
|
|
3088
3091
|
// Generated by config/generateVersion.mjs. Do not edit.
|
|
3089
|
-
const version = "0.1.
|
|
3092
|
+
const version = "0.1.1";
|
|
3090
3093
|
|
|
3091
3094
|
// The types that appear in the public api. Consumers cannot import them from
|
|
3092
3095
|
// the submodules directly, because those are not exposed in package.json.
|