jqtree 1.6.0 → 1.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.
Files changed (301) hide show
  1. package/.eslintrc +3 -11
  2. package/.github/workflows/ci.yml +48 -23
  3. package/.github/workflows/codeql-analysis.yml +9 -5
  4. package/.prettier +3 -0
  5. package/README.md +11 -8
  6. package/bower.json +1 -1
  7. package/{.postcssrc → config/.postcssrc} +0 -0
  8. package/config/babel.config.json +11 -0
  9. package/config/babel.coverage.config.json +4 -0
  10. package/{jest-jsdom.config.js → config/jest.config.js} +9 -5
  11. package/config/playwright.config.js +18 -0
  12. package/config/production +4 -0
  13. package/{rollup.config.js → config/rollup.config.js} +19 -14
  14. package/{jqtree.postcss → css/jqtree.postcss} +3 -0
  15. package/devserver/index.html +1 -9
  16. package/docs/Gemfile +2 -0
  17. package/docs/Gemfile.lock +263 -0
  18. package/{_config.yml → docs/_config.yml} +8 -1
  19. package/{_entries → docs/_entries}/01_general.md +0 -0
  20. package/{_entries → docs/_entries}/02_introduction.md +0 -0
  21. package/{_entries → docs/_entries}/03_features.md +1 -1
  22. package/{_entries → docs/_entries}/04_demo.html +1 -7
  23. package/{_entries → docs/_entries}/05_requirements.md +0 -0
  24. package/{_entries → docs/_entries}/06_downloads.md +0 -0
  25. package/{_entries → docs/_entries}/07_tutorial.md +0 -0
  26. package/{_entries → docs/_entries}/08_examples.md +0 -0
  27. package/{_entries → docs/_entries}/09_usecases.md +0 -0
  28. package/{_entries → docs/_entries}/10_changelog.md +14 -0
  29. package/{_entries → docs/_entries}/11_options.md +0 -0
  30. package/{_entries → docs/_entries}/12_animationspeed.md +0 -0
  31. package/{_entries → docs/_entries}/13_autoescape.md +0 -0
  32. package/{_entries → docs/_entries}/14_autoopen.md +0 -0
  33. package/{_entries → docs/_entries}/15_buttonleft.md +0 -0
  34. package/{_entries → docs/_entries}/16_closedicon.md +0 -0
  35. package/{_entries → docs/_entries}/17_data.md +0 -0
  36. package/{_entries → docs/_entries}/18_datafilter.md +0 -0
  37. package/{_entries → docs/_entries}/19_data-url.md +0 -0
  38. package/{_entries → docs/_entries}/20_draganddrop.md +0 -0
  39. package/{_entries → docs/_entries}/21_keyboardsupport.md +0 -0
  40. package/{_entries → docs/_entries}/22_oncanmove.md +0 -0
  41. package/{_entries → docs/_entries}/23_oncanmoveto.md +2 -2
  42. package/{_entries → docs/_entries}/24_oncanselectnode.md +0 -0
  43. package/{_entries → docs/_entries}/25_oncreateli.md +2 -2
  44. package/{_entries → docs/_entries}/26_ondragmove.md +0 -0
  45. package/{_entries → docs/_entries}/27_ondragstop.md +0 -0
  46. package/{_entries → docs/_entries}/28_onismovehandle.md +0 -0
  47. package/{_entries → docs/_entries}/29_onloadfailed.md +0 -0
  48. package/{_entries → docs/_entries}/30_onloading.md +2 -2
  49. package/{_entries → docs/_entries}/31_openedicon.md +0 -0
  50. package/{_entries → docs/_entries}/32_openfolderdelay.md +2 -0
  51. package/{_entries → docs/_entries}/33_rtl.md +0 -0
  52. package/{_entries → docs/_entries}/34_savestate.md +0 -0
  53. package/{_entries → docs/_entries}/35_selectable.md +0 -0
  54. package/{_entries → docs/_entries}/36_showemptyfolder.md +0 -0
  55. package/{_entries → docs/_entries}/37_slide.md +0 -0
  56. package/{_entries → docs/_entries}/38_start_dnd_delay.md +0 -0
  57. package/{_entries → docs/_entries}/39_tabindex.md +0 -0
  58. package/{_entries → docs/_entries}/40_usecontextmenu.md +0 -0
  59. package/{_entries → docs/_entries}/41_functions.md +0 -0
  60. package/{_entries → docs/_entries}/42_addparentnode.md +1 -1
  61. package/{_entries → docs/_entries}/43_addnodeafter.md +1 -1
  62. package/{_entries → docs/_entries}/44_addnodebefore.md +1 -1
  63. package/{_entries → docs/_entries}/45_appendnode.md +5 -5
  64. package/{_entries → docs/_entries}/46_closenode.md +0 -0
  65. package/{_entries → docs/_entries}/47_destroy.md +0 -0
  66. package/{_entries → docs/_entries}/48_getnodebycallback.md +0 -0
  67. package/{_entries → docs/_entries}/49_getnodebyid.md +0 -0
  68. package/{_entries → docs/_entries}/50_getnodebyhtmlelement.md +2 -2
  69. package/{_entries → docs/_entries}/51_getselectednode.md +0 -0
  70. package/{_entries → docs/_entries}/52_getstate.md +0 -0
  71. package/{_entries → docs/_entries}/53_gettree.md +1 -1
  72. package/{_entries → docs/_entries}/54_isdragging.md +1 -1
  73. package/{_entries → docs/_entries}/55_loaddata.md +3 -3
  74. package/{_entries → docs/_entries}/56_loaddatafromurl.md +4 -4
  75. package/{_entries → docs/_entries}/57_movedown.md +0 -0
  76. package/{_entries → docs/_entries}/58_movenode.md +3 -3
  77. package/{_entries → docs/_entries}/59_moveup.md +0 -0
  78. package/{_entries → docs/_entries}/60_opennode.md +3 -3
  79. package/docs/_entries/61_prependnode.md +21 -0
  80. package/docs/_entries/62_refresh.md +12 -0
  81. package/{_entries/62_reload.md → docs/_entries/63_reload.md} +2 -2
  82. package/{_entries/63_removenode.md → docs/_entries/64_removenode.md} +0 -0
  83. package/{_entries/64_selectnode.md → docs/_entries/65_selectnode.md} +0 -0
  84. package/{_entries/65_scrolltonode.md → docs/_entries/66_scrolltonode.md} +0 -0
  85. package/{_entries/66_setoption.md → docs/_entries/67_setoption.md} +0 -0
  86. package/{_entries/67_setstate.md → docs/_entries/68_setstate.md} +0 -0
  87. package/{_entries/68_toggle.md → docs/_entries/69_toggle.md} +0 -0
  88. package/{_entries/69_tojson.md → docs/_entries/70_tojson.md} +0 -0
  89. package/{_entries/70_updatenode.md → docs/_entries/71_updatenode.md} +1 -1
  90. package/{_entries/71_events.md → docs/_entries/72_events.md} +0 -0
  91. package/{_entries/72_tree-click.md → docs/_entries/73_tree-click.md} +0 -0
  92. package/{_entries/73_tree-close.md → docs/_entries/74_tree-close.md} +0 -0
  93. package/{_entries/74_tree-contextmenu.md → docs/_entries/75_tree-contextmenu.md} +0 -0
  94. package/{_entries/75_tree-dblclick.md → docs/_entries/76_tree-dblclick.md} +0 -0
  95. package/{_entries/76_tree-init.md → docs/_entries/77_tree-init.md} +0 -0
  96. package/{_entries/77_tree-load-data.md → docs/_entries/78_tree-load-data.md} +0 -0
  97. package/{_entries/78_tree-loading-data.md → docs/_entries/79_tree-loading-data.md} +0 -0
  98. package/{_entries/79_tree-move.md → docs/_entries/80_tree-move.md} +0 -0
  99. package/{_entries/80_tree-refresh.md → docs/_entries/81_tree-refresh.md} +0 -0
  100. package/{_entries/81_tree-open.md → docs/_entries/82_tree-open.md} +0 -0
  101. package/{_entries/82_tree-select.md → docs/_entries/83_tree-select.md} +0 -0
  102. package/{_entries/83_multiple-selection.md → docs/_entries/84_multiple-selection.md} +0 -0
  103. package/{_entries/84_add-to-selection.md → docs/_entries/85_add-to-selection.md} +0 -0
  104. package/{_entries/85_get-selected-nodes.md → docs/_entries/86_get-selected-nodes.md} +0 -0
  105. package/{_entries/86_is-node-selected.md → docs/_entries/87_is-node-selected.md} +1 -1
  106. package/{_entries/87_remove-from-selection.md → docs/_entries/88_remove-from-selection.md} +0 -0
  107. package/{_entries/88_node-functions.md → docs/_entries/89_node-functions.md} +0 -0
  108. package/{_entries/89_children.md → docs/_entries/90_children.md} +0 -0
  109. package/{_entries/90_getdata.md → docs/_entries/91_getdata.md} +2 -2
  110. package/{_entries/91_getlevel.md → docs/_entries/92_getlevel.md} +0 -0
  111. package/{_entries/92_getnextnode.md → docs/_entries/93_getnextnode.md} +0 -0
  112. package/{_entries/93_getnextsibling.md → docs/_entries/94_getnextsibling.md} +0 -0
  113. package/{_entries/94_getpreviousnode.md → docs/_entries/95_getpreviousnode.md} +0 -0
  114. package/{_entries/95_getprevioussibling.md → docs/_entries/96_getprevioussibling.md} +0 -0
  115. package/{_entries/96_parent.md → docs/_entries/97_parent.md} +1 -1
  116. package/{_entries → docs/_entries}/insert.py +0 -0
  117. package/{_entries → docs/_entries}/renumber.py +0 -0
  118. package/{_examples → docs/_examples}/01_load_json_data.html +3 -5
  119. package/{_examples → docs/_examples}/02_load_json_data_from_server.html +3 -5
  120. package/{_examples → docs/_examples}/03_drag_and_drop.html +3 -5
  121. package/{_examples → docs/_examples}/04_save_state.html +3 -5
  122. package/{_examples → docs/_examples}/05_load_on_demand.html +3 -5
  123. package/{_examples → docs/_examples}/06_autoescape.html +3 -5
  124. package/{_examples → docs/_examples}/07_autoscroll.html +3 -5
  125. package/{_examples → docs/_examples}/08_multiple_select.html +3 -5
  126. package/{_examples → docs/_examples}/09_custom_html.html +3 -5
  127. package/{_examples → docs/_examples}/10_icon_buttons.html +3 -5
  128. package/{_examples → docs/_examples}/11_right-to-left.html +3 -5
  129. package/{_examples → docs/_examples}/12_button_on_right.html +3 -5
  130. package/docs/_examples/13_drag_outside.html +48 -0
  131. package/docs/_examples/14_filter.html +111 -0
  132. package/docs/_layouts/example.html +7 -0
  133. package/docs/_layouts/page.html +26 -0
  134. package/docs/documentation.css +3 -0
  135. package/docs/index.html +65 -0
  136. package/docs/jqtree.css +189 -0
  137. package/docs/package.json +22 -0
  138. package/docs/pnpm-lock.yaml +768 -0
  139. package/docs/postcss.config.js +7 -0
  140. package/docs/static/bower.json +8 -0
  141. package/docs/static/bower_components/fontawesome/css/all.min.css +5 -0
  142. package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-brands-400.eot +0 -0
  143. package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-brands-400.svg +774 -627
  144. package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-brands-400.ttf +0 -0
  145. package/docs/static/bower_components/fontawesome/webfonts/fa-brands-400.woff +0 -0
  146. package/docs/static/bower_components/fontawesome/webfonts/fa-brands-400.woff2 +0 -0
  147. package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-regular-400.eot +0 -0
  148. package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-regular-400.svg +93 -95
  149. package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-regular-400.ttf +0 -0
  150. package/docs/static/bower_components/fontawesome/webfonts/fa-regular-400.woff +0 -0
  151. package/docs/static/bower_components/fontawesome/webfonts/fa-regular-400.woff2 +0 -0
  152. package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-solid-900.eot +0 -0
  153. package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-solid-900.svg +1164 -1074
  154. package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-solid-900.ttf +0 -0
  155. package/docs/static/bower_components/fontawesome/webfonts/fa-solid-900.woff +0 -0
  156. package/docs/static/bower_components/fontawesome/webfonts/fa-solid-900.woff2 +0 -0
  157. package/{static → docs/static}/bower_components/jquery/dist/jquery.js +118 -109
  158. package/docs/static/bower_components/jquery/dist/jquery.min.js +2 -0
  159. package/{static → docs/static}/bower_components/jquery-mockjax/dist/jquery.mockjax.js +15 -9
  160. package/docs/static/documentation.css +1313 -0
  161. package/docs/static/documentation.js +26 -0
  162. package/{static → docs/static}/example.css +14 -33
  163. package/{static → docs/static}/example.postcss +15 -32
  164. package/{static → docs/static}/example_data.js +33 -36
  165. package/{static → docs/static}/examples/autoescape.js +0 -0
  166. package/{static → docs/static}/examples/autoscroll.js +0 -0
  167. package/{static → docs/static}/examples/button-on-right.js +0 -0
  168. package/{static → docs/static}/examples/custom_html.js +5 -9
  169. package/{static → docs/static}/examples/drag-outside.js +0 -0
  170. package/{static → docs/static}/examples/drag_and_drop.js +0 -0
  171. package/docs/static/examples/filter.js +63 -0
  172. package/{static → docs/static}/examples/icon_buttons.js +0 -0
  173. package/{static → docs/static}/examples/load_json_data.js +0 -0
  174. package/{static → docs/static}/examples/load_json_data_from_server.js +0 -0
  175. package/{static → docs/static}/examples/load_on_demand.js +0 -0
  176. package/{static → docs/static}/examples/multiple_select.js +0 -0
  177. package/{static → docs/static}/examples/right-to-left.js +0 -0
  178. package/{static → docs/static}/examples/save_state.js +0 -0
  179. package/{static → docs/static}/monokai.css +0 -0
  180. package/{static → docs/static}/spinner.gif +0 -0
  181. package/docs/tailwind.config.js +16 -0
  182. package/docs/tree.jquery.js +21 -0
  183. package/jqtree.css +4 -1
  184. package/lib/dataLoader.js +146 -98
  185. package/lib/dragAndDropHandler.js +672 -470
  186. package/lib/elementsRenderer.js +282 -197
  187. package/lib/jqtreeOptions.js +1 -2
  188. package/lib/keyHandler.js +134 -87
  189. package/lib/mouse.widget.js +285 -184
  190. package/lib/node.js +691 -505
  191. package/lib/nodeElement.js +329 -205
  192. package/lib/playwright/coverage.js +140 -0
  193. package/lib/playwright/playwright.test.js +298 -179
  194. package/lib/playwright/testUtils.js +267 -0
  195. package/lib/saveStateHandler.js +311 -204
  196. package/lib/scrollHandler.js +293 -199
  197. package/lib/selectNodeHandler.js +140 -100
  198. package/lib/simple.widget.js +184 -109
  199. package/lib/test/global.d.js +3 -0
  200. package/lib/test/jqTree/create.test.js +44 -40
  201. package/lib/test/jqTree/events.test.js +186 -138
  202. package/lib/test/jqTree/keyboard.test.js +216 -199
  203. package/lib/test/jqTree/loadOnDemand.test.js +238 -157
  204. package/lib/test/jqTree/methods.test.js +1289 -1019
  205. package/lib/test/jqTree/options.test.js +491 -410
  206. package/lib/test/node.test.js +1036 -873
  207. package/lib/test/nodeUtil.test.js +21 -20
  208. package/lib/test/support/exampleData.js +35 -23
  209. package/lib/test/support/jqTreeMatchers.js +72 -54
  210. package/lib/test/support/matchers.d.js +1 -0
  211. package/lib/test/support/setupTests.js +9 -3
  212. package/lib/test/support/testUtil.js +35 -15
  213. package/lib/test/support/treeStructure.js +41 -32
  214. package/lib/test/util.test.js +21 -20
  215. package/lib/tree.jquery.d.js +1 -0
  216. package/lib/tree.jquery.js +1264 -886
  217. package/lib/types.js +1 -2
  218. package/lib/typings.d.js +2 -0
  219. package/lib/util.js +19 -8
  220. package/lib/version.js +8 -3
  221. package/package.json +54 -47
  222. package/src/dataLoader.ts +6 -6
  223. package/src/dragAndDropHandler.ts +8 -8
  224. package/src/elementsRenderer.ts +4 -0
  225. package/src/jqtreeOptions.ts +2 -2
  226. package/src/mouse.widget.ts +19 -15
  227. package/src/node.ts +27 -41
  228. package/src/nodeElement.ts +17 -9
  229. package/src/playwright/.eslintrc +5 -0
  230. package/src/playwright/coverage.ts +41 -0
  231. package/src/playwright/playwright.test.ts +75 -77
  232. package/src/playwright/playwright.test.ts-snapshots/with-dragAndDrop-moves-a-node-1-Chromium-darwin.png +0 -0
  233. package/src/playwright/playwright.test.ts-snapshots/with-dragAndDrop-moves-a-node-1-Chromium-linux.png +0 -0
  234. package/src/playwright/playwright.test.ts-snapshots/without-dragAndDrop-displays-a-tree-1-Chromium-darwin.png +0 -0
  235. package/src/playwright/playwright.test.ts-snapshots/without-dragAndDrop-displays-a-tree-1-Chromium-linux.png +0 -0
  236. package/src/playwright/playwright.test.ts-snapshots/without-dragAndDrop-selects-a-node-1-Chromium-darwin.png +0 -0
  237. package/src/playwright/playwright.test.ts-snapshots/without-dragAndDrop-selects-a-node-1-Chromium-linux.png +0 -0
  238. package/src/playwright/testUtils.ts +122 -0
  239. package/src/saveStateHandler.ts +11 -6
  240. package/src/selectNodeHandler.ts +1 -1
  241. package/src/simple.widget.ts +1 -1
  242. package/src/test/.eslintrc +14 -0
  243. package/src/test/jqTree/create.test.ts +0 -1
  244. package/src/test/jqTree/events.test.ts +10 -10
  245. package/src/test/jqTree/keyboard.test.ts +0 -1
  246. package/src/test/jqTree/loadOnDemand.test.ts +56 -11
  247. package/src/test/jqTree/methods.test.ts +72 -55
  248. package/src/test/jqTree/options.test.ts +30 -33
  249. package/src/test/node.test.ts +2 -2
  250. package/src/test/support/jqTreeMatchers.ts +8 -9
  251. package/src/test/support/matchers.d.ts +2 -4
  252. package/src/test/support/setupTests.ts +2 -1
  253. package/src/tree.jquery.d.ts +19 -13
  254. package/src/tree.jquery.ts +35 -28
  255. package/src/version.ts +1 -1
  256. package/tree.jquery.debug.js +4810 -3325
  257. package/tree.jquery.debug.js.map +1 -1
  258. package/tree.jquery.js +3 -3
  259. package/tree.jquery.js.map +1 -1
  260. package/tsconfig.json +1 -0
  261. package/_entries/61_prependnode.md +0 -21
  262. package/_examples/13_drag_outside.html +0 -25
  263. package/_layouts/base.html +0 -55
  264. package/_layouts/frontpage.html +0 -20
  265. package/_layouts/page.html +0 -7
  266. package/index.html +0 -48
  267. package/jest-browser.config.js +0 -18
  268. package/jest-playwright.config.js +0 -21
  269. package/jest.config.js +0 -8
  270. package/lib/playwright/testUtil.js +0 -223
  271. package/lib/playwright/visualRegression.js +0 -128
  272. package/production +0 -5
  273. package/src/playwright/screenshots/displays_a_tree_Desktop.png +0 -0
  274. package/src/playwright/screenshots/displays_a_tree_iPhone 6.png +0 -0
  275. package/src/playwright/screenshots/moves_a_node_Desktop.png +0 -0
  276. package/src/playwright/screenshots/moves_a_node_iPhone 6.png +0 -0
  277. package/src/playwright/screenshots/opens_a_node_Desktop.png +0 -0
  278. package/src/playwright/screenshots/opens_a_node_iPhone 6.png +0 -0
  279. package/src/playwright/screenshots/selects_a_node_Desktop.png +0 -0
  280. package/src/playwright/screenshots/selects_a_node_iPhone 6.png +0 -0
  281. package/src/playwright/testUtil.ts +0 -171
  282. package/src/playwright/visualRegression.ts +0 -88
  283. package/static/bower.json +0 -9
  284. package/static/bower_components/bootstrap/dist/css/bootstrap-theme.min.css +0 -6
  285. package/static/bower_components/bootstrap/dist/css/bootstrap.min.css +0 -6
  286. package/static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot +0 -0
  287. package/static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.svg +0 -288
  288. package/static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
  289. package/static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff +0 -0
  290. package/static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 +0 -0
  291. package/static/bower_components/bootstrap/dist/js/bootstrap.min.js +0 -6
  292. package/static/bower_components/fontawesome/css/all.min.css +0 -5
  293. package/static/bower_components/fontawesome/webfonts/fa-brands-400.woff +0 -0
  294. package/static/bower_components/fontawesome/webfonts/fa-brands-400.woff2 +0 -0
  295. package/static/bower_components/fontawesome/webfonts/fa-regular-400.woff +0 -0
  296. package/static/bower_components/fontawesome/webfonts/fa-regular-400.woff2 +0 -0
  297. package/static/bower_components/fontawesome/webfonts/fa-solid-900.woff +0 -0
  298. package/static/bower_components/fontawesome/webfonts/fa-solid-900.woff2 +0 -0
  299. package/static/bower_components/jquery/dist/jquery.min.js +0 -2
  300. package/static/documentation.css +0 -171
  301. package/static/documentation.js +0 -48
package/tsconfig.json CHANGED
@@ -3,6 +3,7 @@
3
3
  "exclude": ["_site", "node_modules"],
4
4
  "include": ["src/**/*"],
5
5
  "compilerOptions": {
6
+ "esModuleInterop": true,
6
7
  "lib": ["es2015", "es2015.iterable", "dom"],
7
8
  "moduleResolution": "node",
8
9
  "noEmit": true,
@@ -1,21 +0,0 @@
1
- ---
2
- title: prependNode
3
- name: functions-prependnode
4
- ---
5
-
6
- **function prependNode(new_node_info, parent_node);**
7
-
8
- Add a node to this parent node as the first child. If **parent_node** is empty, then the new node becomes a root node.
9
-
10
- {% highlight js %}
11
- var parent_node = $tree.tree('getNodeById', 123);
12
-
13
- $tree.tree(
14
- 'prependNode',
15
- {
16
- name: 'new_node',
17
- id: 456
18
- },
19
- parent_node
20
- );
21
- {% endhighlight %}
@@ -1,25 +0,0 @@
1
- ---
2
- title: Drag outside tree
3
- layout: page
4
- js: examples/drag-outside.js
5
- css: example.css
6
- ---
7
-
8
- <p id="nav">
9
- <a href="../12_button_on_right/">&laquo; Example 11</a>
10
- </p>
11
-
12
- <h1>Example 13 - drag node outside tree</h1>
13
-
14
- <div id="tree1" data-url="/example_data/"></div>
15
-
16
- <div id="targetDiv">drag here</div>
17
-
18
- <h3>javascript</h3>
19
-
20
- {% highlight js %}
21
- $('#tree1').tree({
22
- onDragMove: handleMove,
23
- onDragStop: handleStop
24
- });
25
- {% endhighlight %}
@@ -1,55 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <title>{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}</title>
6
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
- <meta name="description" content="JqTree is a jQuery widget for displaying a tree structure in html" />
8
- <link rel="stylesheet" href="{{ site.baseurl }}/static/bower_components/bootstrap/dist/css/bootstrap.min.css" />
9
- <link
10
- rel="stylesheet"
11
- href="{{ site.baseurl }}/static/bower_components/bootstrap/dist/css/bootstrap-theme.min.css"
12
- />
13
- <link rel="stylesheet" href="{{ site.baseurl }}/jqtree.css" />
14
- <link rel="stylesheet" href="{{ site.baseurl }}/static/monokai.css" />
15
- <link rel="stylesheet" href="{{ site.baseurl }}/static/bower_components/fontawesome/css/all.min.css" />
16
-
17
- <script>
18
- ;(function(i, s, o, g, r, a, m) {
19
- i["GoogleAnalyticsObject"] = r
20
- ;(i[r] =
21
- i[r] ||
22
- function() {
23
- ;(i[r].q = i[r].q || []).push(arguments)
24
- }),
25
- (i[r].l = 1 * new Date())
26
- ;(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0])
27
- a.async = 1
28
- a.src = g
29
- m.parentNode.insertBefore(a, m)
30
- })(window, document, "script", "//www.google-analytics.com/analytics.js", "ga")
31
-
32
- ga("create", "UA-33742133-1", "auto")
33
- ga("require", "displayfeatures")
34
- ga("require", "linkid", "linkid.js")
35
- ga("send", "pageview")
36
- </script>
37
-
38
- {% if page.css %}
39
- <link rel="stylesheet" href="{{ site.baseurl }}/static/{{ page.css }}" />
40
- {% endif %}
41
- </head>
42
- <body>
43
- {{ content }}
44
- </body>
45
-
46
- <script src="{{ site.baseurl }}/static/bower_components/jquery/dist/jquery.min.js"></script>
47
- <script src="{{ site.baseurl }}/tree.jquery.js"></script>
48
- <script src="{{ site.baseurl }}/static/bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
49
- <script src="{{ site.baseurl }}/static/bower_components/jquery-mockjax/dist/jquery.mockjax.js"></script>
50
- <script src="{{ site.baseurl }}/static/example_data.js"></script>
51
-
52
- {% if page.js %}
53
- <script src="{{ site.baseurl }}/static/{{ page.js }}"></script>
54
- {% endif %}
55
- </html>
@@ -1,20 +0,0 @@
1
- ---
2
- layout: base
3
- ---
4
-
5
- <div class="jumbotron" id="jqtree">
6
- <div class="container">
7
- <h1>jqTree</h1>
8
- <p>
9
- <strong class="title">JqTree</strong> is a jQuery widget for displaying a <strong>tree structure</strong> in html
10
- <br>
11
- It supports <strong>json data</strong>, loading via <strong>ajax</strong> and <strong>drag-and-drop</strong>.
12
- </p>
13
- <p>
14
- <a class="btn btn-primary" href="https://github.com/mbraak/jqTree/tarball/master">Download jqTree</a>
15
- </p>
16
- </div>
17
- </div>
18
- <div class="container">
19
- {{ content }}
20
- </div>
@@ -1,7 +0,0 @@
1
- ---
2
- layout: base
3
- ---
4
-
5
- <div class="container">
6
- {{ content }}
7
- </div>
package/index.html DELETED
@@ -1,48 +0,0 @@
1
- ---
2
- layout: frontpage
3
- js: documentation.js
4
- css: documentation.css
5
- ---
6
-
7
- <div class="row">
8
- <div class="col-md-3">
9
- <div class="bs-sidebar hidden-print" id="menu" role="complementary">
10
- <a href="#jqtree"><h2>jqTree</h2></a>
11
- <ul class="nav bs-sidenav">
12
- {% assign level = 0 %}
13
-
14
- {% for entry in site.entries %}
15
- {% if entry.section %}
16
- {% if level == 1 %}
17
- </ul>
18
- </li>
19
- {% endif %}
20
- <li>
21
- <a href="#{{ entry.name }}">{{ entry.title }}</a>
22
- <ul class="nav">
23
- {% assign level = 1 %}
24
- {% else %}
25
- <li><a href="#{{ entry.name }}">{{ entry.title }}</a></li>
26
- {% endif %}
27
- {% endfor %}
28
-
29
- {% if level == 1 %}
30
- </ul>
31
- </li>
32
- {% endif %}
33
- </ul>
34
- </div>
35
- </div>
36
- <div class="col-md-9" id="main">
37
- {% for entry in site.entries %}
38
- {% if entry.hide_title %}
39
- <div id="{{ entry.name }}"></div>
40
- {% elsif entry.section %}
41
- <h3 id="{{ entry.name }}">{{ entry.title }}</h3>
42
- {% else %}
43
- <h4 id="{{ entry.name }}">{{ entry.title }}</h4>
44
- {% endif %}
45
- {{ entry.output }}
46
- {% endfor %}
47
- </div>
48
- </div>
@@ -1,18 +0,0 @@
1
- module.exports = {
2
- modulePathIgnorePatterns: [
3
- "<rootDir>/build/",
4
- "<rootDir>/lib/",
5
- "<rootDir>/_site/",
6
- "<rootDir>/static/",
7
- ],
8
- preset: "jest-playwright-preset",
9
- testRegex: "\\/src\\/playwright\\/.*\\.test\\.ts",
10
- setupFilesAfterEnv: ["expect-playwright", "givens/setup.js"],
11
- transform: {
12
- "^.+\\.ts$": "ts-jest",
13
- },
14
- coveragePathIgnorePatterns: [
15
- "<rootDir>/node_modules/",
16
- "<rootDir>/src/playwright/",
17
- ],
18
- };
@@ -1,21 +0,0 @@
1
- module.exports = {
2
- devices: [
3
- {
4
- name: "Desktop",
5
- deviceScaleFactor: 1,
6
- hasTouch: false,
7
- isMobile: false,
8
- userAgent: "Chrome",
9
- viewport: {
10
- width: 800,
11
- height: 600,
12
- },
13
- },
14
- "iPhone 6",
15
- ],
16
- launchOptions: {
17
- headless: true,
18
- chromiumSandbox: false,
19
- },
20
- collectCoverage: true,
21
- };
package/jest.config.js DELETED
@@ -1,8 +0,0 @@
1
- module.exports = {
2
- projects: [
3
- "<rootDir>/jest-browser.config.js",
4
- "<rootDir>/jest-jsdom.config.js",
5
- ],
6
- coverageDirectory: "jest-coverage",
7
- coverageReporters: ["json"],
8
- };
@@ -1,223 +0,0 @@
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
- exports.dragAndDrop = exports.getTreeStructure = exports.selectNode = exports.openNode = exports.findNodeElement = exports.findTitleElement = exports.expectToBeClosed = exports.expectToBeOpen = exports.expectToBeSelected = void 0;
40
- var expectToBeSelected = function (handle) { return __awaiter(void 0, void 0, void 0, function () {
41
- var isSelected;
42
- return __generator(this, function (_a) {
43
- switch (_a.label) {
44
- case 0: return [4 /*yield*/, isNodeSelected(handle)];
45
- case 1:
46
- isSelected = _a.sent();
47
- expect(isSelected).toBe(true);
48
- return [2 /*return*/];
49
- }
50
- });
51
- }); };
52
- exports.expectToBeSelected = expectToBeSelected;
53
- var expectToBeOpen = function (handle) { return __awaiter(void 0, void 0, void 0, function () {
54
- var isOpen;
55
- return __generator(this, function (_a) {
56
- switch (_a.label) {
57
- case 0: return [4 /*yield*/, isNodeOpen(handle)];
58
- case 1:
59
- isOpen = _a.sent();
60
- expect(isOpen).toBe(true);
61
- return [2 /*return*/];
62
- }
63
- });
64
- }); };
65
- exports.expectToBeOpen = expectToBeOpen;
66
- var expectToBeClosed = function (handle) { return __awaiter(void 0, void 0, void 0, function () {
67
- var isOpen;
68
- return __generator(this, function (_a) {
69
- switch (_a.label) {
70
- case 0: return [4 /*yield*/, isNodeOpen(handle)];
71
- case 1:
72
- isOpen = _a.sent();
73
- expect(isOpen).toBe(false);
74
- return [2 /*return*/];
75
- }
76
- });
77
- }); };
78
- exports.expectToBeClosed = expectToBeClosed;
79
- var findTitleElement = function (title) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
80
- switch (_a.label) {
81
- case 0: return [4 /*yield*/, findElement("css=.jqtree-title >> text=\"" + title + "\"")];
82
- case 1: return [2 /*return*/, _a.sent()];
83
- }
84
- }); }); };
85
- exports.findTitleElement = findTitleElement;
86
- var findNodeElement = function (title) { return __awaiter(void 0, void 0, void 0, function () {
87
- var titleElement;
88
- return __generator(this, function (_a) {
89
- switch (_a.label) {
90
- case 0: return [4 /*yield*/, exports.findTitleElement(title)];
91
- case 1:
92
- titleElement = _a.sent();
93
- return [4 /*yield*/, titleElement.evaluateHandle(function (el) {
94
- var li = el.closest("li");
95
- if (!li) {
96
- throw Error("Node element not found");
97
- }
98
- return li;
99
- })];
100
- case 2: return [2 /*return*/, _a.sent()];
101
- }
102
- });
103
- }); };
104
- exports.findNodeElement = findNodeElement;
105
- var openNode = function (handle) { return __awaiter(void 0, void 0, void 0, function () {
106
- var toggler;
107
- return __generator(this, function (_a) {
108
- switch (_a.label) {
109
- case 0: return [4 /*yield*/, findToggler(handle)];
110
- case 1:
111
- toggler = _a.sent();
112
- return [4 /*yield*/, toggler.click()];
113
- case 2:
114
- _a.sent();
115
- return [2 /*return*/];
116
- }
117
- });
118
- }); };
119
- exports.openNode = openNode;
120
- var findToggler = function (handle) { return __awaiter(void 0, void 0, void 0, function () {
121
- var toggler;
122
- return __generator(this, function (_a) {
123
- switch (_a.label) {
124
- case 0: return [4 /*yield*/, handle.$(".jqtree-toggler")];
125
- case 1:
126
- toggler = _a.sent();
127
- if (!toggler) {
128
- throw Error("Toggler button not found");
129
- }
130
- return [2 /*return*/, toggler];
131
- }
132
- });
133
- }); };
134
- var findElement = function (selector) { return __awaiter(void 0, void 0, void 0, function () {
135
- var element;
136
- return __generator(this, function (_a) {
137
- switch (_a.label) {
138
- case 0: return [4 /*yield*/, page.$(selector)];
139
- case 1:
140
- element = _a.sent();
141
- if (!element) {
142
- throw Error("Element not found: " + selector);
143
- }
144
- return [2 /*return*/, element];
145
- }
146
- });
147
- }); };
148
- var isNodeOpen = function (handle) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
149
- return [2 /*return*/, handle.evaluate(function (el) { return !el.classList.contains("jqtree-closed"); })];
150
- }); }); };
151
- var isNodeSelected = function (handle) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
152
- return [2 /*return*/, handle.evaluate(function (el) { return el.classList.contains("jqtree-selected"); })];
153
- }); }); };
154
- var selectNode = function (handle) { return __awaiter(void 0, void 0, void 0, function () {
155
- var titleHandle;
156
- return __generator(this, function (_a) {
157
- switch (_a.label) {
158
- case 0: return [4 /*yield*/, handle.$(".jqtree-title")];
159
- case 1:
160
- titleHandle = _a.sent();
161
- return [4 /*yield*/, (titleHandle === null || titleHandle === void 0 ? void 0 : titleHandle.click())];
162
- case 2:
163
- _a.sent();
164
- return [2 /*return*/];
165
- }
166
- });
167
- }); };
168
- exports.selectNode = selectNode;
169
- var getTreeStructure = function () { return __awaiter(void 0, void 0, void 0, function () {
170
- return __generator(this, function (_a) {
171
- switch (_a.label) {
172
- case 0: return [4 /*yield*/, page
173
- .evaluate("\n function getTreeNode($li) {\n const $div = $li.children(\"div.jqtree-element\");\n const $span = $div.children(\"span.jqtree-title\");\n const name = $span.text();\n const selected = $li.hasClass(\"jqtree-selected\");\n\n if ($li.hasClass(\"jqtree-folder\")) {\n const $ul = $li.children(\"ul.jqtree_common\");\n\n return {\n nodeType: \"folder\",\n children: getChildren($ul),\n name,\n open: !$li.hasClass(\"jqtree-closed\"),\n selected,\n };\n } else {\n return {\n nodeType: \"child\",\n name,\n selected,\n };\n }\n };\n\n function getChildren($ul) {\n return $ul\n .children(\"li.jqtree_common\")\n .map((_, li) => {\n return getTreeNode(jQuery(li))\n })\n .get();\n };\n\n JSON.stringify(window.getChildren(jQuery(\"ul.jqtree-tree\")))\n ")
174
- .then(function (s) { return JSON.parse(s); })];
175
- case 1: return [2 /*return*/, _a.sent()];
176
- }
177
- });
178
- }); };
179
- exports.getTreeStructure = getTreeStructure;
180
- var getRect = function (handle) { return __awaiter(void 0, void 0, void 0, function () {
181
- var boundingBox;
182
- return __generator(this, function (_a) {
183
- switch (_a.label) {
184
- case 0: return [4 /*yield*/, handle.boundingBox()];
185
- case 1:
186
- boundingBox = _a.sent();
187
- if (!boundingBox) {
188
- throw "No bounding box";
189
- }
190
- return [2 /*return*/, boundingBox];
191
- }
192
- });
193
- }); };
194
- var dragAndDrop = function (from, to) { return __awaiter(void 0, void 0, void 0, function () {
195
- var fromRect, toRect;
196
- return __generator(this, function (_a) {
197
- switch (_a.label) {
198
- case 0: return [4 /*yield*/, exports.findTitleElement(from).then(getRect)];
199
- case 1:
200
- fromRect = _a.sent();
201
- return [4 /*yield*/, exports.findTitleElement(to).then(getRect)];
202
- case 2:
203
- toRect = _a.sent();
204
- return [4 /*yield*/, page.mouse.move(fromRect.x + fromRect.width / 2, fromRect.y + fromRect.height / 2)];
205
- case 3:
206
- _a.sent();
207
- return [4 /*yield*/, page.mouse.down()];
208
- case 4:
209
- _a.sent();
210
- return [4 /*yield*/, page.waitForTimeout(200)];
211
- case 5:
212
- _a.sent();
213
- return [4 /*yield*/, page.mouse.move(toRect.x + toRect.width / 2, toRect.y + toRect.height / 2)];
214
- case 6:
215
- _a.sent();
216
- return [4 /*yield*/, page.mouse.up()];
217
- case 7:
218
- _a.sent();
219
- return [2 /*return*/];
220
- }
221
- });
222
- }); };
223
- exports.dragAndDrop = dragAndDrop;
@@ -1,128 +0,0 @@
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
- exports.matchScreenshot = void 0;
40
- var fs_1 = require("fs");
41
- var promises_1 = require("fs/promises");
42
- var path = require("path");
43
- var pngjs_1 = require("pngjs");
44
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-var-requires
45
- var pixelmatch = require("pixelmatch");
46
- var matchScreenshot = function (testName) { return __awaiter(void 0, void 0, void 0, function () {
47
- var screenshotBuffer, expectedImagePath, expectedImage, screenshot, _a, adjustedExpectedImage, adjustedScreenshot, width, height, diff, mismatchedPixels, percentage;
48
- return __generator(this, function (_b) {
49
- switch (_b.label) {
50
- case 0: return [4 /*yield*/, page.screenshot()];
51
- case 1:
52
- screenshotBuffer = _b.sent();
53
- expectedImagePath = path.join(__dirname, "screenshots/" + testName + "_" + (deviceName || "unknown") + ".png");
54
- if (!!fs_1.existsSync(expectedImagePath)) return [3 /*break*/, 3];
55
- return [4 /*yield*/, saveFile(expectedImagePath, screenshotBuffer)];
56
- case 2:
57
- _b.sent();
58
- return [2 /*return*/];
59
- case 3: return [4 /*yield*/, readPng(expectedImagePath)];
60
- case 4:
61
- expectedImage = _b.sent();
62
- screenshot = pngjs_1.PNG.sync.read(screenshotBuffer);
63
- _a = getImagesOfEqualSize(expectedImage, screenshot), adjustedExpectedImage = _a[0], adjustedScreenshot = _a[1];
64
- width = adjustedExpectedImage.width, height = adjustedExpectedImage.height;
65
- diff = new pngjs_1.PNG({ width: width, height: height });
66
- mismatchedPixels = pixelmatch(adjustedExpectedImage.data, adjustedScreenshot.data, diff.data, width, height, {});
67
- percentage = Math.pow((mismatchedPixels / diff.width / diff.height), 0.5);
68
- if (!(percentage >= 0.1)) return [3 /*break*/, 6];
69
- return [4 /*yield*/, saveFile(path.join(__dirname, testName + ".png"), pngjs_1.PNG.sync.write(adjustedScreenshot))];
70
- case 5:
71
- _b.sent();
72
- _b.label = 6;
73
- case 6:
74
- expect(percentage).toBeLessThan(0.1);
75
- return [2 /*return*/];
76
- }
77
- });
78
- }); };
79
- exports.matchScreenshot = matchScreenshot;
80
- var saveFile = function (filePath, buffer) { return __awaiter(void 0, void 0, void 0, function () {
81
- var file;
82
- return __generator(this, function (_a) {
83
- switch (_a.label) {
84
- case 0: return [4 /*yield*/, promises_1.open(filePath, "w")];
85
- case 1:
86
- file = _a.sent();
87
- _a.label = 2;
88
- case 2:
89
- _a.trys.push([2, , 4, 6]);
90
- return [4 /*yield*/, promises_1.writeFile(filePath, buffer)];
91
- case 3:
92
- _a.sent();
93
- return [3 /*break*/, 6];
94
- case 4: return [4 /*yield*/, file.close()];
95
- case 5:
96
- _a.sent();
97
- return [7 /*endfinally*/];
98
- case 6: return [2 /*return*/];
99
- }
100
- });
101
- }); };
102
- var readPng = function (filePath) { return __awaiter(void 0, void 0, void 0, function () {
103
- var buffer;
104
- return __generator(this, function (_a) {
105
- switch (_a.label) {
106
- case 0: return [4 /*yield*/, promises_1.readFile(filePath)];
107
- case 1:
108
- buffer = _a.sent();
109
- return [2 /*return*/, pngjs_1.PNG.sync.read(buffer)];
110
- }
111
- });
112
- }); };
113
- var adjustImageSize = function (image, width, height) {
114
- if (image.width === width && image.height === height) {
115
- return image;
116
- }
117
- var adjustedImage = new pngjs_1.PNG({ width: width, height: height });
118
- pngjs_1.PNG.bitblt(image, adjustedImage, 0, 0, image.width, image.height, 0, 0);
119
- return adjustedImage;
120
- };
121
- var getImagesOfEqualSize = function (image1, image2) {
122
- var width = Math.max(image1.width, image2.width);
123
- var height = Math.max(image1.height, image2.height);
124
- return [
125
- adjustImageSize(image1, width, height),
126
- adjustImageSize(image2, width, height),
127
- ];
128
- };
package/production DELETED
@@ -1,5 +0,0 @@
1
- rollup -c rollup.config.js
2
- DEBUG_BUILD=true rollup -c rollup.config.js
3
- tsc --outDir lib --noEmit false --project tsconfig.json &&
4
- postcss -o jqtree.css jqtree.postcss
5
- postcss -o static/example.css static/example.postcss