jqtree 1.5.2 → 1.6.2

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 (174) hide show
  1. package/.eslintrc +1 -0
  2. package/.github/workflows/ci.yml +54 -0
  3. package/.github/workflows/codeql-analysis.yml +28 -0
  4. package/README.md +1 -1
  5. package/_config.yml +1 -1
  6. package/_entries/10_changelog.md +20 -0
  7. package/_entries/{36_showemptynode.md → 36_showemptyfolder.md} +5 -5
  8. package/_entries/38_start_dnd_delay.md +13 -0
  9. package/_entries/{38_tabindex.md → 39_tabindex.md} +0 -0
  10. package/_entries/{39_usecontextmenu.md → 40_usecontextmenu.md} +0 -0
  11. package/_entries/{40_functions.md → 41_functions.md} +0 -0
  12. package/_entries/{41_addparentnode.md → 42_addparentnode.md} +0 -0
  13. package/_entries/{42_addnodeafter.md → 43_addnodeafter.md} +0 -0
  14. package/_entries/{43_addnodebefore.md → 44_addnodebefore.md} +0 -0
  15. package/_entries/{44_appendnode.md → 45_appendnode.md} +0 -0
  16. package/_entries/{45_closenode.md → 46_closenode.md} +0 -0
  17. package/_entries/{46_destroy.md → 47_destroy.md} +0 -0
  18. package/_entries/{47_getnodebycallback.md → 48_getnodebycallback.md} +0 -0
  19. package/_entries/{48_getnodebyid.md → 49_getnodebyid.md} +0 -0
  20. package/_entries/{49_getnodebyhtmlelement.md → 50_getnodebyhtmlelement.md} +0 -0
  21. package/_entries/{50_getselectednode.md → 51_getselectednode.md} +0 -0
  22. package/_entries/{51_getstate.md → 52_getstate.md} +0 -0
  23. package/_entries/{52_gettree.md → 53_gettree.md} +0 -0
  24. package/_entries/{53_isdragging.md → 54_isdragging.md} +0 -0
  25. package/_entries/{54_loaddata.md → 55_loaddata.md} +0 -0
  26. package/_entries/{55_loaddatafromurl.md → 56_loaddatafromurl.md} +0 -0
  27. package/_entries/{56_movedown.md → 57_movedown.md} +0 -0
  28. package/_entries/{57_movenode.md → 58_movenode.md} +0 -0
  29. package/_entries/{58_moveup.md → 59_moveup.md} +0 -0
  30. package/_entries/{59_opennode.md → 60_opennode.md} +0 -0
  31. package/_entries/{60_prependnode.md → 61_prependnode.md} +0 -0
  32. package/_entries/62_refresh.md +12 -0
  33. package/_entries/{61_reload.md → 63_reload.md} +0 -0
  34. package/_entries/{62_removenode.md → 64_removenode.md} +0 -0
  35. package/_entries/{63_selectnode.md → 65_selectnode.md} +0 -0
  36. package/_entries/{64_scrolltonode.md → 66_scrolltonode.md} +0 -0
  37. package/_entries/{65_setoption.md → 67_setoption.md} +0 -0
  38. package/_entries/{66_setstate.md → 68_setstate.md} +0 -0
  39. package/_entries/{67_toggle.md → 69_toggle.md} +0 -0
  40. package/_entries/{68_tojson.md → 70_tojson.md} +0 -0
  41. package/_entries/{69_updatenode.md → 71_updatenode.md} +0 -0
  42. package/_entries/{70_events.md → 72_events.md} +0 -0
  43. package/_entries/{71_tree-click.md → 73_tree-click.md} +0 -0
  44. package/_entries/{72_tree-close.md → 74_tree-close.md} +0 -0
  45. package/_entries/{73_tree-contextmenu.md → 75_tree-contextmenu.md} +0 -0
  46. package/_entries/{74_tree-dblclick.md → 76_tree-dblclick.md} +0 -0
  47. package/_entries/{75_tree-init.md → 77_tree-init.md} +0 -0
  48. package/_entries/{76_tree-load-data.md → 78_tree-load-data.md} +0 -0
  49. package/_entries/{77_tree-loading-data.md → 79_tree-loading-data.md} +0 -0
  50. package/_entries/{78_tree-move.md → 80_tree-move.md} +0 -0
  51. package/_entries/{79_tree-refresh.md → 81_tree-refresh.md} +0 -0
  52. package/_entries/{80_tree-open.md → 82_tree-open.md} +0 -0
  53. package/_entries/{81_tree-select.md → 83_tree-select.md} +0 -0
  54. package/_entries/{82_multiple-selection.md → 84_multiple-selection.md} +0 -0
  55. package/_entries/{83_add-to-selection.md → 85_add-to-selection.md} +0 -0
  56. package/_entries/{84_get-selected-nodes.md → 86_get-selected-nodes.md} +0 -0
  57. package/_entries/{85_is-node-selected.md → 87_is-node-selected.md} +0 -0
  58. package/_entries/{86_remove-from-selection.md → 88_remove-from-selection.md} +0 -0
  59. package/_entries/{87_node-functions.md → 89_node-functions.md} +0 -0
  60. package/_entries/{88_children.md → 90_children.md} +0 -0
  61. package/_entries/{89_getdata.md → 91_getdata.md} +0 -0
  62. package/_entries/{90_getlevel.md → 92_getlevel.md} +0 -0
  63. package/_entries/{91_getnextnode.md → 93_getnextnode.md} +0 -0
  64. package/_entries/{92_getnextsibling.md → 94_getnextsibling.md} +0 -0
  65. package/_entries/{93_getpreviousnode.md → 95_getpreviousnode.md} +0 -0
  66. package/_entries/{94_getprevioussibling.md → 96_getprevioussibling.md} +0 -0
  67. package/_entries/{95_parent.md → 97_parent.md} +0 -0
  68. package/_examples/13_drag_outside.html +2 -1
  69. package/_examples/14_filter.html +113 -0
  70. package/_layouts/base.html +1 -23
  71. package/babel.config.json +11 -0
  72. package/babel.coverage.config.json +4 -0
  73. package/bower.json +1 -1
  74. package/jest-browser.config.js +0 -3
  75. package/jest-jsdom.config.js +1 -2
  76. package/jqtree.css +4 -1
  77. package/jqtree.postcss +3 -0
  78. package/lib/dataLoader.js +146 -98
  79. package/lib/dragAndDropHandler.js +668 -470
  80. package/lib/elementsRenderer.js +282 -197
  81. package/lib/jqtreeOptions.js +1 -2
  82. package/lib/keyHandler.js +134 -87
  83. package/lib/mouse.widget.js +288 -165
  84. package/lib/node.js +693 -505
  85. package/lib/nodeElement.js +329 -205
  86. package/lib/playwright/playwright.test.js +216 -189
  87. package/lib/playwright/testUtil.js +437 -192
  88. package/lib/playwright/visualRegression.js +183 -117
  89. package/lib/saveStateHandler.js +311 -204
  90. package/lib/scrollHandler.js +293 -199
  91. package/lib/selectNodeHandler.js +140 -105
  92. package/lib/simple.widget.js +184 -109
  93. package/lib/test/global.d.js +3 -0
  94. package/lib/test/jqTree/create.test.js +44 -40
  95. package/lib/test/jqTree/events.test.js +185 -138
  96. package/lib/test/jqTree/keyboard.test.js +216 -199
  97. package/lib/test/jqTree/loadOnDemand.test.js +233 -157
  98. package/lib/test/jqTree/methods.test.js +1269 -1000
  99. package/lib/test/jqTree/options.test.js +467 -398
  100. package/lib/test/node.test.js +1036 -873
  101. package/lib/test/nodeUtil.test.js +21 -20
  102. package/lib/test/support/exampleData.js +35 -23
  103. package/lib/test/support/jqTreeMatchers.js +72 -54
  104. package/lib/test/support/matchers.d.js +1 -0
  105. package/lib/test/support/setupTests.js +9 -3
  106. package/lib/test/support/testUtil.js +38 -15
  107. package/lib/test/support/treeStructure.js +41 -32
  108. package/lib/test/util.test.js +21 -20
  109. package/lib/tree.jquery.d.js +1 -0
  110. package/lib/tree.jquery.js +1264 -883
  111. package/lib/types.js +1 -2
  112. package/lib/typings.d.js +2 -0
  113. package/lib/util.js +21 -7
  114. package/lib/version.js +8 -3
  115. package/package.json +43 -36
  116. package/production +4 -4
  117. package/rollup.config.js +16 -11
  118. package/src/dataLoader.ts +6 -6
  119. package/src/dragAndDropHandler.ts +0 -4
  120. package/src/elementsRenderer.ts +4 -0
  121. package/src/jqtreeOptions.ts +33 -32
  122. package/src/mouse.widget.ts +58 -29
  123. package/src/node.ts +32 -46
  124. package/src/nodeElement.ts +17 -9
  125. package/src/playwright/.eslintrc +5 -0
  126. package/src/playwright/playwright.test.ts +30 -30
  127. package/src/playwright/testUtil.ts +36 -37
  128. package/src/saveStateHandler.ts +11 -6
  129. package/src/selectNodeHandler.ts +14 -21
  130. package/src/simple.widget.ts +1 -1
  131. package/src/test/.eslintrc +4 -0
  132. package/src/test/jqTree/create.test.ts +0 -1
  133. package/src/test/jqTree/events.test.ts +12 -13
  134. package/src/test/jqTree/keyboard.test.ts +0 -1
  135. package/src/test/jqTree/loadOnDemand.test.ts +46 -1
  136. package/src/test/jqTree/methods.test.ts +67 -18
  137. package/src/test/jqTree/options.test.ts +5 -6
  138. package/src/test/node.test.ts +2 -2
  139. package/src/test/support/jqTreeMatchers.ts +8 -9
  140. package/src/test/support/matchers.d.ts +2 -4
  141. package/src/test/support/setupTests.ts +2 -1
  142. package/src/tree.jquery.d.ts +19 -13
  143. package/src/tree.jquery.ts +63 -57
  144. package/src/version.ts +1 -1
  145. package/static/bower.json +3 -3
  146. package/static/bower_components/fontawesome/css/all.min.css +2 -2
  147. package/static/bower_components/fontawesome/webfonts/fa-brands-400.eot +0 -0
  148. package/static/bower_components/fontawesome/webfonts/fa-brands-400.svg +774 -627
  149. package/static/bower_components/fontawesome/webfonts/fa-brands-400.ttf +0 -0
  150. package/static/bower_components/fontawesome/webfonts/fa-brands-400.woff +0 -0
  151. package/static/bower_components/fontawesome/webfonts/fa-brands-400.woff2 +0 -0
  152. package/static/bower_components/fontawesome/webfonts/fa-regular-400.eot +0 -0
  153. package/static/bower_components/fontawesome/webfonts/fa-regular-400.svg +93 -95
  154. package/static/bower_components/fontawesome/webfonts/fa-regular-400.ttf +0 -0
  155. package/static/bower_components/fontawesome/webfonts/fa-regular-400.woff +0 -0
  156. package/static/bower_components/fontawesome/webfonts/fa-regular-400.woff2 +0 -0
  157. package/static/bower_components/fontawesome/webfonts/fa-solid-900.eot +0 -0
  158. package/static/bower_components/fontawesome/webfonts/fa-solid-900.svg +1164 -1074
  159. package/static/bower_components/fontawesome/webfonts/fa-solid-900.ttf +0 -0
  160. package/static/bower_components/fontawesome/webfonts/fa-solid-900.woff +0 -0
  161. package/static/bower_components/fontawesome/webfonts/fa-solid-900.woff2 +0 -0
  162. package/static/bower_components/jquery/dist/jquery.js +118 -109
  163. package/static/bower_components/jquery/dist/jquery.min.js +2 -2
  164. package/static/bower_components/jquery-mockjax/dist/jquery.mockjax.js +15 -9
  165. package/static/example.css +13 -0
  166. package/static/example.postcss +13 -0
  167. package/static/example_data.js +33 -36
  168. package/static/examples/filter.js +63 -0
  169. package/tree.jquery.debug.js +4809 -3305
  170. package/tree.jquery.debug.js.map +1 -1
  171. package/tree.jquery.js +3 -3
  172. package/tree.jquery.js.map +1 -1
  173. package/tsconfig.json +1 -0
  174. package/.travis.yml +0 -18
@@ -1,173 +1,249 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- exports.__esModule = true;
39
- var $ = require("jquery");
40
- var givens_1 = require("givens");
41
- var dom_1 = require("@testing-library/dom");
42
- var msw_1 = require("msw");
43
- var node_1 = require("msw/node");
2
+
3
+ var _givens = _interopRequireDefault(require("givens"));
4
+
5
+ var _dom = require("@testing-library/dom");
6
+
7
+ var _msw = require("msw");
8
+
9
+ var _node = require("msw/node");
10
+
44
11
  require("../../tree.jquery");
45
- var testUtil_1 = require("../support/testUtil");
12
+
13
+ var _testUtil = require("../support/testUtil");
14
+
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
16
+
17
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
18
+
19
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
20
+
46
21
  var context = describe;
47
22
  beforeEach(function () {
48
- $("body").append('<div id="tree1"></div>');
23
+ $("body").append('<div id="tree1"></div>');
49
24
  });
50
25
  afterEach(function () {
51
- var $tree = $("#tree1");
52
- $tree.tree("destroy");
53
- $tree.remove();
54
- localStorage.clear();
26
+ var $tree = $("#tree1");
27
+ $tree.tree("destroy");
28
+ $tree.remove();
29
+ localStorage.clear();
55
30
  });
56
31
  context("when a node has load_on_demand in the data", function () {
57
- var given = givens_1["default"]();
58
- given("autoOpen", function () { return false; });
59
- given("$tree", function () { return $("#tree1"); });
60
- var initialData = [
61
- {
62
- id: 1,
63
- name: "parent-node",
64
- load_on_demand: true
65
- },
66
- ];
67
- var server = null;
68
- beforeAll(function () {
69
- server = node_1.setupServer(msw_1.rest.get("/tree/", function (request, response, ctx) {
70
- var parentId = request.url.searchParams.get("node");
71
- if (parentId === "1") {
72
- return response(ctx.status(200), ctx.json([{ id: 2, name: "loaded-on-demand" }]));
73
- }
74
- else {
75
- return response(ctx.status(400));
76
- }
77
- }));
78
- server.listen();
32
+ var given = (0, _givens["default"])();
33
+ given("autoOpen", function () {
34
+ return false;
35
+ });
36
+ given("$tree", function () {
37
+ return $("#tree1");
38
+ });
39
+ var initialData = [{
40
+ id: 1,
41
+ name: "parent-node",
42
+ load_on_demand: true
43
+ }];
44
+ var server = null;
45
+ beforeAll(function () {
46
+ server = (0, _node.setupServer)(_msw.rest.get("/tree/", function (request, response, ctx) {
47
+ var parentId = request.url.searchParams.get("node");
48
+
49
+ if (parentId === "1") {
50
+ return response(ctx.status(200), ctx.json([{
51
+ id: 2,
52
+ name: "loaded-on-demand"
53
+ }]));
54
+ } else {
55
+ return response(ctx.status(400));
56
+ }
57
+ }));
58
+ server.listen();
59
+ });
60
+ afterAll(function () {
61
+ var _server;
62
+
63
+ (_server = server) === null || _server === void 0 ? void 0 : _server.close();
64
+ });
65
+ beforeEach(function () {
66
+ if (given.savedState) {
67
+ localStorage.setItem("tree", given.savedState);
68
+ }
69
+
70
+ given.$tree.tree({
71
+ autoOpen: given.autoOpen,
72
+ data: initialData,
73
+ dataUrl: "/tree/",
74
+ saveState: true
79
75
  });
80
- afterAll(function () {
81
- server === null || server === void 0 ? void 0 : server.close();
76
+ });
77
+ it("creates a parent node without children", function () {
78
+ expect(given.$tree).toHaveTreeStructure([expect.objectContaining({
79
+ children: [],
80
+ name: "parent-node",
81
+ open: false
82
+ })]);
83
+ });
84
+ context("when the node is opened", function () {
85
+ given("node", function () {
86
+ return given.$tree.tree("getNodeByNameMustExist", "parent-node");
82
87
  });
83
- beforeEach(function () {
84
- if (given.savedState) {
85
- localStorage.setItem("tree", given.savedState);
88
+ it("loads the subtree", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
89
+ return regeneratorRuntime.wrap(function _callee$(_context) {
90
+ while (1) {
91
+ switch (_context.prev = _context.next) {
92
+ case 0:
93
+ (0, _testUtil.togglerLink)(given.node.element).trigger("click");
94
+ _context.next = 3;
95
+ return _dom.screen.findByText("loaded-on-demand");
96
+
97
+ case 3:
98
+ expect(given.$tree).toHaveTreeStructure([expect.objectContaining({
99
+ name: "parent-node",
100
+ open: true,
101
+ children: [expect.objectContaining({
102
+ name: "loaded-on-demand"
103
+ })]
104
+ })]);
105
+
106
+ case 4:
107
+ case "end":
108
+ return _context.stop();
109
+ }
86
110
  }
87
- given.$tree.tree({
88
- autoOpen: given.autoOpen,
89
- data: initialData,
90
- dataUrl: "/tree/",
91
- saveState: true
92
- });
111
+ }, _callee);
112
+ })));
113
+ context("when the node is selected and has the focus", function () {
114
+ beforeEach(function () {
115
+ given.$tree.tree("selectNode", given.node);
116
+ });
117
+ it("keeps the node selected and focused", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
118
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
119
+ while (1) {
120
+ switch (_context2.prev = _context2.next) {
121
+ case 0:
122
+ expect(given.node.element).toBeSelected();
123
+ expect(given.node.element).toBeFocused();
124
+ (0, _testUtil.togglerLink)(given.node.element).trigger("click");
125
+ _context2.next = 5;
126
+ return _dom.screen.findByText("loaded-on-demand");
127
+
128
+ case 5:
129
+ expect(given.node.element).toBeSelected();
130
+ expect(given.node.element).toBeFocused();
131
+
132
+ case 7:
133
+ case "end":
134
+ return _context2.stop();
135
+ }
136
+ }
137
+ }, _callee2);
138
+ })));
93
139
  });
94
- it("creates a parent node without children", function () {
95
- expect(given.$tree).toHaveTreeStructure([
96
- expect.objectContaining({
97
- children: [],
98
- name: "parent-node",
99
- open: false
100
- }),
101
- ]);
140
+ context("when the node is not selected", function () {
141
+ it("doesn't select the node", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
142
+ return regeneratorRuntime.wrap(function _callee3$(_context3) {
143
+ while (1) {
144
+ switch (_context3.prev = _context3.next) {
145
+ case 0:
146
+ expect(given.node.element).not.toBeSelected();
147
+ (0, _testUtil.togglerLink)(given.node.element).trigger("click");
148
+ _context3.next = 4;
149
+ return _dom.screen.findByText("loaded-on-demand");
150
+
151
+ case 4:
152
+ expect(given.node.element).not.toBeSelected();
153
+
154
+ case 5:
155
+ case "end":
156
+ return _context3.stop();
157
+ }
158
+ }
159
+ }, _callee3);
160
+ })));
102
161
  });
103
- context("when the node is opened", function () {
104
- given("node", function () {
105
- return given.$tree.tree("getNodeByNameMustExist", "parent-node");
106
- });
107
- it("loads the subtree", function () { return __awaiter(void 0, void 0, void 0, function () {
108
- return __generator(this, function (_a) {
109
- switch (_a.label) {
110
- case 0:
111
- testUtil_1.togglerLink(given.node.element).trigger("click");
112
- return [4 /*yield*/, dom_1.screen.findByText("loaded-on-demand")];
113
- case 1:
114
- _a.sent();
115
- expect(given.$tree).toHaveTreeStructure([
116
- expect.objectContaining({
117
- name: "parent-node",
118
- open: true,
119
- children: [
120
- expect.objectContaining({ name: "loaded-on-demand" }),
121
- ]
122
- }),
123
- ]);
124
- return [2 /*return*/];
125
- }
126
- });
127
- }); });
162
+ context("when the node is selected and doesn't have the focus", function () {
163
+ beforeEach(function () {
164
+ given.$tree.tree("selectNode", given.node);
165
+ document.activeElement.blur();
166
+ });
167
+ it("keeps the node selected and not focused", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {
168
+ return regeneratorRuntime.wrap(function _callee4$(_context4) {
169
+ while (1) {
170
+ switch (_context4.prev = _context4.next) {
171
+ case 0:
172
+ expect(given.node.element).toBeSelected();
173
+ expect(given.node.element).not.toBeFocused();
174
+ (0, _testUtil.togglerLink)(given.node.element).trigger("click");
175
+ _context4.next = 5;
176
+ return _dom.screen.findByText("loaded-on-demand");
177
+
178
+ case 5:
179
+ expect(given.node.element).toBeSelected();
180
+ expect(given.node.element).not.toBeFocused();
181
+
182
+ case 7:
183
+ case "end":
184
+ return _context4.stop();
185
+ }
186
+ }
187
+ }, _callee4);
188
+ })));
128
189
  });
129
- context("with autoOpen is true", function () {
130
- given("autoOpen", function () { return true; });
131
- it("loads the node on demand", function () { return __awaiter(void 0, void 0, void 0, function () {
132
- return __generator(this, function (_a) {
133
- switch (_a.label) {
134
- case 0: return [4 /*yield*/, dom_1.screen.findByText("loaded-on-demand")];
135
- case 1:
136
- _a.sent();
137
- expect(given.$tree).toHaveTreeStructure([
138
- expect.objectContaining({
139
- name: "parent-node",
140
- open: true,
141
- children: [
142
- expect.objectContaining({ name: "loaded-on-demand" }),
143
- ]
144
- }),
145
- ]);
146
- return [2 /*return*/];
147
- }
148
- });
149
- }); });
190
+ });
191
+ context("with autoOpen is true", function () {
192
+ given("autoOpen", function () {
193
+ return true;
150
194
  });
151
- context("with a saved state with an opened node", function () {
152
- given("savedState", function () { return '{"open_nodes":[1],"selected_node":[]}'; });
153
- it("opens the node and loads its children on demand", function () { return __awaiter(void 0, void 0, void 0, function () {
154
- return __generator(this, function (_a) {
155
- switch (_a.label) {
156
- case 0: return [4 /*yield*/, dom_1.screen.findByText("loaded-on-demand")];
157
- case 1:
158
- _a.sent();
159
- expect(given.$tree).toHaveTreeStructure([
160
- expect.objectContaining({
161
- name: "parent-node",
162
- open: true,
163
- children: [
164
- expect.objectContaining({ name: "loaded-on-demand" }),
165
- ]
166
- }),
167
- ]);
168
- return [2 /*return*/];
169
- }
170
- });
171
- }); });
195
+ it("loads the node on demand", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {
196
+ return regeneratorRuntime.wrap(function _callee5$(_context5) {
197
+ while (1) {
198
+ switch (_context5.prev = _context5.next) {
199
+ case 0:
200
+ _context5.next = 2;
201
+ return _dom.screen.findByText("loaded-on-demand");
202
+
203
+ case 2:
204
+ expect(given.$tree).toHaveTreeStructure([expect.objectContaining({
205
+ name: "parent-node",
206
+ open: true,
207
+ children: [expect.objectContaining({
208
+ name: "loaded-on-demand"
209
+ })]
210
+ })]);
211
+
212
+ case 3:
213
+ case "end":
214
+ return _context5.stop();
215
+ }
216
+ }
217
+ }, _callee5);
218
+ })));
219
+ });
220
+ context("with a saved state with an opened node", function () {
221
+ given("savedState", function () {
222
+ return '{"open_nodes":[1],"selected_node":[]}';
172
223
  });
173
- });
224
+ it("opens the node and loads its children on demand", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {
225
+ return regeneratorRuntime.wrap(function _callee6$(_context6) {
226
+ while (1) {
227
+ switch (_context6.prev = _context6.next) {
228
+ case 0:
229
+ _context6.next = 2;
230
+ return _dom.screen.findByText("loaded-on-demand");
231
+
232
+ case 2:
233
+ expect(given.$tree).toHaveTreeStructure([expect.objectContaining({
234
+ name: "parent-node",
235
+ open: true,
236
+ children: [expect.objectContaining({
237
+ name: "loaded-on-demand"
238
+ })]
239
+ })]);
240
+
241
+ case 3:
242
+ case "end":
243
+ return _context6.stop();
244
+ }
245
+ }
246
+ }, _callee6);
247
+ })));
248
+ });
249
+ });