jqtree 1.7.5 → 1.8.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.
Files changed (119) hide show
  1. package/.eslintrc +13 -3
  2. package/.github/workflows/ci.yml +6 -6
  3. package/.github/workflows/codeql-analysis.yml +4 -4
  4. package/.github/workflows/size.yml +3 -3
  5. package/.github/workflows/static.yml +1 -1
  6. package/bower.json +1 -1
  7. package/config/babel.config.json +1 -1
  8. package/config/jest.config.js +4 -0
  9. package/config/jest.polyfills.js +14 -0
  10. package/config/production +2 -0
  11. package/devserver/devserver_scroll.js +8 -0
  12. package/devserver/test_index.html +9 -0
  13. package/devserver/test_scroll.html +28 -0
  14. package/devserver/test_scroll_container.html +39 -0
  15. package/docs/.ruby-version +1 -1
  16. package/docs/_config.yml +1 -1
  17. package/docs/_entries/general/changelog.md +11 -0
  18. package/docs/_entries/multiple_selection/get-selected-nodes.md +1 -1
  19. package/docs/_entries/node/getnextnode.md +3 -6
  20. package/docs/_entries/node/getnextsibling.md +1 -1
  21. package/docs/_entries/node/getnextvisiblenode.md +8 -5
  22. package/docs/_entries/node/getpreviousnode.md +12 -0
  23. package/docs/_entries/node/getprevioussibling.md +1 -1
  24. package/docs/_entries/node/getpreviousvisiblenode.md +6 -5
  25. package/package.json +35 -29
  26. package/src/dataLoader.ts +57 -34
  27. package/src/dragAndDropHandler/dragElement.ts +54 -0
  28. package/src/dragAndDropHandler/generateHitAreas.ts +176 -0
  29. package/src/dragAndDropHandler/index.ts +454 -0
  30. package/src/dragAndDropHandler/iterateVisibleNodes.ts +91 -0
  31. package/src/dragAndDropHandler/types.ts +13 -0
  32. package/src/elementsRenderer.ts +75 -40
  33. package/src/jqtreeMethodTypes.ts +40 -0
  34. package/src/jqtreeOptions.ts +43 -25
  35. package/src/keyHandler.ts +59 -30
  36. package/src/mouseHandler.ts +385 -0
  37. package/src/mouseUtils.ts +23 -0
  38. package/src/node.ts +1 -29
  39. package/src/nodeElement/borderDropHint.ts +32 -0
  40. package/src/nodeElement/folderElement.ts +133 -0
  41. package/src/nodeElement/ghostDropHint.ts +69 -0
  42. package/src/nodeElement/index.ts +102 -0
  43. package/src/playwright/coverage.ts +4 -7
  44. package/src/playwright/playwright.test.ts +150 -53
  45. package/src/playwright/testUtils.ts +28 -5
  46. package/src/position.ts +28 -0
  47. package/src/saveStateHandler.ts +75 -26
  48. package/src/scrollHandler/containerScrollParent.ts +13 -23
  49. package/src/scrollHandler/createScrollParent.ts +22 -22
  50. package/src/scrollHandler/documentScrollParent.ts +16 -13
  51. package/src/scrollHandler.ts +13 -15
  52. package/src/selectNodeHandler.ts +10 -16
  53. package/src/test/jqTree/events.test.ts +97 -30
  54. package/src/test/jqTree/keyboard.test.ts +18 -23
  55. package/src/test/jqTree/loadOnDemand.test.ts +22 -15
  56. package/src/test/jqTree/methods.test.ts +40 -14
  57. package/src/test/jqTree/mouse.test.ts +82 -0
  58. package/src/test/jqTree/options.test.ts +24 -12
  59. package/src/test/node.test.ts +3 -2
  60. package/src/test/{nodeUtil.test.ts → position.test.ts} +1 -1
  61. package/src/tree.jquery.ts +314 -208
  62. package/src/util.ts +12 -0
  63. package/src/version.ts +1 -1
  64. package/tree.jquery.debug.js +2594 -3419
  65. package/tree.jquery.debug.js.map +1 -1
  66. package/tree.jquery.js +3 -3
  67. package/tree.jquery.js.map +1 -1
  68. package/tsconfig.json +5 -3
  69. package/docs/_entries/functions/get-selected-nodes.md +0 -10
  70. package/lib/dataLoader.js +0 -123
  71. package/lib/dragAndDropHandler.js +0 -588
  72. package/lib/elementsRenderer.js +0 -267
  73. package/lib/jqtreeOptions.js +0 -1
  74. package/lib/keyHandler.js +0 -111
  75. package/lib/mouse.widget.js +0 -255
  76. package/lib/node.js +0 -708
  77. package/lib/nodeElement.js +0 -274
  78. package/lib/nodeUtils.js +0 -10
  79. package/lib/playwright/coverage.js +0 -99
  80. package/lib/playwright/playwright.test.js +0 -606
  81. package/lib/playwright/testUtils.js +0 -210
  82. package/lib/saveStateHandler.js +0 -277
  83. package/lib/scrollHandler/containerScrollParent.js +0 -160
  84. package/lib/scrollHandler/createScrollParent.js +0 -57
  85. package/lib/scrollHandler/documentScrollParent.js +0 -169
  86. package/lib/scrollHandler/scrollParent.js +0 -58
  87. package/lib/scrollHandler/types.js +0 -1
  88. package/lib/scrollHandler.js +0 -71
  89. package/lib/selectNodeHandler.js +0 -128
  90. package/lib/simple.widget.js +0 -158
  91. package/lib/test/global.d.js +0 -3
  92. package/lib/test/jqTree/accessibility.test.js +0 -37
  93. package/lib/test/jqTree/create.test.js +0 -48
  94. package/lib/test/jqTree/events.test.js +0 -210
  95. package/lib/test/jqTree/keyboard.test.js +0 -225
  96. package/lib/test/jqTree/loadOnDemand.test.js +0 -218
  97. package/lib/test/jqTree/methods.test.js +0 -1348
  98. package/lib/test/jqTree/options.test.js +0 -548
  99. package/lib/test/jqTree/scrollHandler/containerScrollParent.test.js +0 -94
  100. package/lib/test/node.test.js +0 -1202
  101. package/lib/test/nodeUtil.test.js +0 -27
  102. package/lib/test/nodeUtils.test.js +0 -20
  103. package/lib/test/support/exampleData.js +0 -35
  104. package/lib/test/support/jqTreeMatchers.js +0 -70
  105. package/lib/test/support/matchers.d.js +0 -1
  106. package/lib/test/support/setupTests.js +0 -7
  107. package/lib/test/support/testUtil.js +0 -29
  108. package/lib/test/support/treeStructure.js +0 -38
  109. package/lib/test/util.test.js +0 -26
  110. package/lib/tree.jquery.d.js +0 -1
  111. package/lib/tree.jquery.js +0 -1105
  112. package/lib/types.js +0 -1
  113. package/lib/typings.d.js +0 -2
  114. package/lib/util.js +0 -15
  115. package/lib/version.js +0 -8
  116. package/src/dragAndDropHandler.ts +0 -713
  117. package/src/mouse.widget.ts +0 -266
  118. package/src/nodeElement.ts +0 -272
  119. package/src/types.ts +0 -19
@@ -1,6 +1,6 @@
1
1
  import getGiven from "givens";
2
2
  import { screen, waitFor } from "@testing-library/dom";
3
- import { rest } from "msw";
3
+ import { http, HttpResponse } from "msw";
4
4
  import { setupServer } from "msw/node";
5
5
  import "../../tree.jquery";
6
6
  import exampleData from "../support/exampleData";
@@ -199,19 +199,30 @@ describe("closedIcon", () => {
199
199
  });
200
200
 
201
201
  it("renders a html element", () => {
202
- const closedIcon = document.createElement("span");
203
- closedIcon.className = "abc";
204
- closedIcon.textContent = "test";
202
+ const icon = document.createElement("span");
203
+ icon.className = "abc";
204
+ icon.textContent = "test";
205
205
 
206
206
  const $tree = $("#tree1");
207
207
  $tree.tree({
208
- closedIcon,
208
+ closedIcon: icon,
209
209
  data: exampleData,
210
210
  });
211
211
 
212
212
  const $span = $tree.find("a.jqtree-toggler:first span.abc");
213
213
  expect($span.text()).toBe("test");
214
214
  });
215
+
216
+ it("renders a default when the option is empty", () => {
217
+ const $tree = $("#tree1");
218
+ $tree.tree({
219
+ closedIcon: undefined,
220
+ data: exampleData,
221
+ });
222
+
223
+ const $span = $tree.find("a.jqtree-toggler:first");
224
+ expect($span.text()).toBe("►");
225
+ });
215
226
  });
216
227
 
217
228
  describe("dataUrl", () => {
@@ -246,11 +257,11 @@ describe("dataUrl", () => {
246
257
 
247
258
  beforeEach(() => {
248
259
  server.use(
249
- rest.get("/tree/", (request, response, ctx) => {
260
+ http.get("/tree/", ({ request }) => {
250
261
  const nodeName = request.headers.get("node");
251
262
  const data = nodeName ? [nodeName] : exampleData;
252
263
 
253
- return response(ctx.status(200), ctx.json(data));
264
+ return HttpResponse.json(data);
254
265
  }),
255
266
  );
256
267
  });
@@ -400,11 +411,12 @@ describe("onLoadFailed", () => {
400
411
  context("when the loading fails", () => {
401
412
  beforeEach(() => {
402
413
  server.use(
403
- rest.get("/tree/", (_request, response, ctx) =>
404
- response(
405
- ctx.status(500),
406
- ctx.body("Internal server error"),
407
- ),
414
+ http.get(
415
+ "/tree/",
416
+ () =>
417
+ new HttpResponse("Internal server error", {
418
+ status: 500,
419
+ }),
408
420
  ),
409
421
  );
410
422
  });
@@ -1,5 +1,6 @@
1
1
  import getGiven from "givens";
2
- import { Node, Position } from "../node";
2
+ import { Node } from "../node";
3
+ import { Position } from "../position";
3
4
  import exampleData from "./support/exampleData";
4
5
  import "jest-extended";
5
6
 
@@ -349,7 +350,7 @@ describe("constructor", () => {
349
350
  children: [],
350
351
  parent: null,
351
352
  });
352
- expect(given.node).not.toHaveProperty("id");
353
+ expect(given.node.id).toBeUndefined();
353
354
  });
354
355
 
355
356
  it("sets isEmptyFolder to false", () => {
@@ -1,4 +1,4 @@
1
- import { getPosition, getPositionName, Position } from "../node";
1
+ import { getPosition, getPositionName, Position } from "../position";
2
2
 
3
3
  const context = describe;
4
4