jqtree 1.6.2 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc +3 -12
- package/.github/workflows/ci.yml +57 -30
- package/.github/workflows/codeql-analysis.yml +9 -5
- package/.prettier +3 -0
- package/.tool-versions +1 -0
- package/README.md +12 -9
- package/bower.json +10 -3
- package/{.postcssrc → config/.postcssrc} +0 -0
- package/{babel.config.json → config/babel.config.json} +0 -0
- package/{babel.coverage.config.json → config/babel.coverage.config.json} +0 -0
- package/{jest-jsdom.config.js → config/jest.config.js} +8 -3
- package/config/playwright.config.js +18 -0
- package/config/production +4 -0
- package/{rollup.config.js → config/rollup.config.mjs} +3 -8
- package/{jqtree.postcss → css/jqtree.postcss} +0 -0
- package/devserver/index.html +1 -9
- package/docs/Gemfile +2 -0
- package/docs/Gemfile.lock +263 -0
- package/{_config.yml → docs/_config.yml} +8 -1
- package/{_entries → docs/_entries}/01_general.md +0 -0
- package/{_entries → docs/_entries}/02_introduction.md +0 -0
- package/{_entries → docs/_entries}/03_features.md +1 -1
- package/{_entries → docs/_entries}/04_demo.html +1 -7
- package/{_entries → docs/_entries}/05_requirements.md +0 -0
- package/{_entries → docs/_entries}/06_downloads.md +0 -0
- package/{_entries → docs/_entries}/07_tutorial.md +0 -0
- package/{_entries → docs/_entries}/08_examples.md +0 -0
- package/{_entries → docs/_entries}/09_usecases.md +0 -0
- package/{_entries → docs/_entries}/10_changelog.md +13 -0
- package/{_entries → docs/_entries}/11_options.md +0 -0
- package/{_entries → docs/_entries}/12_animationspeed.md +0 -0
- package/{_entries → docs/_entries}/13_autoescape.md +0 -0
- package/{_entries → docs/_entries}/14_autoopen.md +0 -0
- package/{_entries → docs/_entries}/15_buttonleft.md +0 -0
- package/{_entries → docs/_entries}/16_closedicon.md +0 -0
- package/{_entries → docs/_entries}/17_data.md +0 -0
- package/{_entries → docs/_entries}/18_datafilter.md +0 -0
- package/{_entries → docs/_entries}/19_data-url.md +0 -0
- package/{_entries → docs/_entries}/20_draganddrop.md +0 -0
- package/{_entries → docs/_entries}/21_keyboardsupport.md +0 -0
- package/{_entries → docs/_entries}/22_oncanmove.md +0 -0
- package/{_entries → docs/_entries}/23_oncanmoveto.md +2 -2
- package/{_entries → docs/_entries}/24_oncanselectnode.md +0 -0
- package/{_entries → docs/_entries}/25_oncreateli.md +2 -2
- package/{_entries → docs/_entries}/26_ondragmove.md +0 -0
- package/{_entries → docs/_entries}/27_ondragstop.md +0 -0
- package/{_entries → docs/_entries}/28_onismovehandle.md +0 -0
- package/{_entries → docs/_entries}/29_onloadfailed.md +0 -0
- package/{_entries → docs/_entries}/30_onloading.md +2 -2
- package/{_entries → docs/_entries}/31_openedicon.md +0 -0
- package/{_entries → docs/_entries}/32_openfolderdelay.md +2 -0
- package/{_entries → docs/_entries}/33_rtl.md +0 -0
- package/{_entries → docs/_entries}/34_savestate.md +0 -0
- package/{_entries → docs/_entries}/35_selectable.md +0 -0
- package/{_entries → docs/_entries}/36_showemptyfolder.md +0 -0
- package/{_entries → docs/_entries}/37_slide.md +0 -0
- package/{_entries → docs/_entries}/38_start_dnd_delay.md +0 -0
- package/{_entries → docs/_entries}/39_tabindex.md +0 -0
- package/{_entries → docs/_entries}/40_usecontextmenu.md +0 -0
- package/{_entries → docs/_entries}/41_functions.md +0 -0
- package/{_entries → docs/_entries}/42_addparentnode.md +1 -1
- package/{_entries → docs/_entries}/43_addnodeafter.md +1 -1
- package/{_entries → docs/_entries}/44_addnodebefore.md +1 -1
- package/{_entries → docs/_entries}/45_appendnode.md +5 -5
- package/{_entries → docs/_entries}/46_closenode.md +0 -0
- package/{_entries → docs/_entries}/47_destroy.md +0 -0
- package/{_entries → docs/_entries}/48_getnodebycallback.md +0 -0
- package/{_entries → docs/_entries}/49_getnodebyid.md +0 -0
- package/{_entries → docs/_entries}/50_getnodebyhtmlelement.md +2 -2
- package/{_entries → docs/_entries}/51_getselectednode.md +0 -0
- package/{_entries → docs/_entries}/52_getstate.md +0 -0
- package/{_entries → docs/_entries}/53_gettree.md +1 -1
- package/{_entries → docs/_entries}/54_isdragging.md +1 -1
- package/{_entries → docs/_entries}/55_loaddata.md +3 -3
- package/{_entries → docs/_entries}/56_loaddatafromurl.md +4 -4
- package/{_entries → docs/_entries}/57_movedown.md +0 -0
- package/{_entries → docs/_entries}/58_movenode.md +3 -3
- package/{_entries → docs/_entries}/59_moveup.md +0 -0
- package/{_entries → docs/_entries}/60_opennode.md +3 -3
- package/docs/_entries/61_prependnode.md +21 -0
- package/{_entries → docs/_entries}/62_refresh.md +0 -0
- package/{_entries → docs/_entries}/63_reload.md +2 -2
- package/{_entries → docs/_entries}/64_removenode.md +0 -0
- package/{_entries → docs/_entries}/65_selectnode.md +0 -0
- package/{_entries → docs/_entries}/66_scrolltonode.md +0 -0
- package/{_entries → docs/_entries}/67_setoption.md +0 -0
- package/{_entries → docs/_entries}/68_setstate.md +0 -0
- package/{_entries → docs/_entries}/69_toggle.md +0 -0
- package/{_entries → docs/_entries}/70_tojson.md +0 -0
- package/{_entries → docs/_entries}/71_updatenode.md +1 -1
- package/{_entries → docs/_entries}/72_events.md +0 -0
- package/{_entries → docs/_entries}/73_tree-click.md +0 -0
- package/{_entries → docs/_entries}/74_tree-close.md +0 -0
- package/{_entries → docs/_entries}/75_tree-contextmenu.md +0 -0
- package/{_entries → docs/_entries}/76_tree-dblclick.md +0 -0
- package/{_entries → docs/_entries}/77_tree-init.md +0 -0
- package/{_entries → docs/_entries}/78_tree-load-data.md +0 -0
- package/{_entries → docs/_entries}/79_tree-loading-data.md +0 -0
- package/{_entries → docs/_entries}/80_tree-move.md +0 -0
- package/{_entries → docs/_entries}/81_tree-refresh.md +0 -0
- package/{_entries → docs/_entries}/82_tree-open.md +0 -0
- package/{_entries → docs/_entries}/83_tree-select.md +0 -0
- package/{_entries → docs/_entries}/84_multiple-selection.md +0 -0
- package/{_entries → docs/_entries}/85_add-to-selection.md +0 -0
- package/{_entries → docs/_entries}/86_get-selected-nodes.md +0 -0
- package/{_entries → docs/_entries}/87_is-node-selected.md +1 -1
- package/{_entries → docs/_entries}/88_remove-from-selection.md +0 -0
- package/{_entries → docs/_entries}/89_node-functions.md +0 -0
- package/{_entries → docs/_entries}/90_children.md +0 -0
- package/{_entries → docs/_entries}/91_getdata.md +2 -2
- package/{_entries → docs/_entries}/92_getlevel.md +0 -0
- package/docs/_entries/93_getnextnode.md +15 -0
- package/{_entries → docs/_entries}/94_getnextsibling.md +0 -0
- package/{_entries/95_getpreviousnode.md → docs/_entries/95_getnextvisiblenode.md} +1 -1
- package/docs/_entries/96_getpreviousnode.md +0 -0
- package/{_entries/96_getprevioussibling.md → docs/_entries/97_getprevioussibling.md} +0 -0
- package/docs/_entries/98_getpreviousvisiblenode.md +14 -0
- package/{_entries/97_parent.md → docs/_entries/99_parent.md} +1 -1
- package/{_entries → docs/_entries}/insert.py +0 -0
- package/{_entries → docs/_entries}/renumber.py +0 -0
- package/{_examples → docs/_examples}/01_load_json_data.html +3 -5
- package/{_examples → docs/_examples}/02_load_json_data_from_server.html +3 -5
- package/{_examples → docs/_examples}/03_drag_and_drop.html +3 -5
- package/{_examples → docs/_examples}/04_save_state.html +3 -5
- package/{_examples → docs/_examples}/05_load_on_demand.html +3 -5
- package/{_examples → docs/_examples}/06_autoescape.html +3 -5
- package/{_examples → docs/_examples}/07_autoscroll.html +3 -5
- package/{_examples → docs/_examples}/08_multiple_select.html +3 -5
- package/{_examples → docs/_examples}/09_custom_html.html +3 -5
- package/{_examples → docs/_examples}/10_icon_buttons.html +3 -5
- package/{_examples → docs/_examples}/11_right-to-left.html +3 -5
- package/{_examples → docs/_examples}/12_button_on_right.html +3 -5
- package/docs/_examples/13_drag_outside.html +48 -0
- package/{_examples → docs/_examples}/14_filter.html +7 -9
- package/docs/_layouts/example.html +7 -0
- package/{_layouts/base.html → docs/_layouts/page.html} +4 -11
- package/docs/documentation.css +3 -0
- package/docs/index.html +65 -0
- package/docs/jqtree.css +189 -0
- package/docs/package.json +22 -0
- package/docs/pnpm-lock.yaml +798 -0
- package/docs/postcss.config.js +7 -0
- package/{static → docs/static}/bower.json +1 -2
- package/{static → docs/static}/bower_components/fontawesome/css/all.min.css +0 -0
- package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-brands-400.eot +0 -0
- package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-brands-400.svg +0 -0
- package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-brands-400.ttf +0 -0
- package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-brands-400.woff +0 -0
- package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-brands-400.woff2 +0 -0
- package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-regular-400.eot +0 -0
- package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-regular-400.svg +0 -0
- package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-regular-400.ttf +0 -0
- package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-regular-400.woff +0 -0
- package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-regular-400.woff2 +0 -0
- package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-solid-900.eot +0 -0
- package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-solid-900.svg +0 -0
- package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-solid-900.ttf +0 -0
- package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-solid-900.woff +0 -0
- package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-solid-900.woff2 +0 -0
- package/{static → docs/static}/bower_components/jquery/dist/jquery.js +209 -97
- package/docs/static/bower_components/jquery/dist/jquery.min.js +2 -0
- package/{static → docs/static}/bower_components/jquery-mockjax/dist/jquery.mockjax.js +0 -0
- package/docs/static/documentation.css +1453 -0
- package/docs/static/documentation.js +26 -0
- package/{static → docs/static}/example.css +5 -38
- package/{static → docs/static}/example.postcss +5 -35
- package/{static → docs/static}/example_data.js +0 -0
- package/{static → docs/static}/examples/autoescape.js +0 -0
- package/{static → docs/static}/examples/autoscroll.js +0 -0
- package/{static → docs/static}/examples/button-on-right.js +0 -0
- package/{static → docs/static}/examples/custom_html.js +5 -9
- package/{static → docs/static}/examples/drag-outside.js +0 -0
- package/{static → docs/static}/examples/drag_and_drop.js +0 -0
- package/{static → docs/static}/examples/filter.js +2 -2
- package/{static → docs/static}/examples/icon_buttons.js +0 -0
- package/{static → docs/static}/examples/load_json_data.js +0 -0
- package/{static → docs/static}/examples/load_json_data_from_server.js +0 -0
- package/{static → docs/static}/examples/load_on_demand.js +0 -0
- package/{static → docs/static}/examples/multiple_select.js +0 -0
- package/{static → docs/static}/examples/right-to-left.js +0 -0
- package/{static → docs/static}/examples/save_state.js +0 -0
- package/{static → docs/static}/monokai.css +0 -0
- package/{static → docs/static}/spinner.gif +0 -0
- package/docs/tailwind.config.js +16 -0
- package/docs/tree.jquery.js +21 -0
- package/lib/dataLoader.js +5 -31
- package/lib/dragAndDropHandler.js +26 -135
- package/lib/elementsRenderer.js +29 -59
- package/lib/keyHandler.js +8 -32
- package/lib/mouse.widget.js +16 -77
- package/lib/node.js +60 -125
- package/lib/nodeElement.js +8 -75
- package/lib/playwright/coverage.js +101 -0
- package/lib/playwright/playwright.test.js +212 -182
- package/lib/playwright/testUtils.js +201 -0
- package/lib/saveStateHandler.js +12 -61
- package/lib/scrollHandler.js +17 -74
- package/lib/selectNodeHandler.js +5 -24
- package/lib/simple.widget.js +18 -53
- package/lib/test/jqTree/create.test.js +0 -4
- package/lib/test/jqTree/events.test.js +10 -16
- package/lib/test/jqTree/keyboard.test.js +0 -6
- package/lib/test/jqTree/loadOnDemand.test.js +107 -139
- package/lib/test/jqTree/methods.test.js +136 -159
- package/lib/test/jqTree/options.test.js +53 -63
- package/lib/test/node.test.js +127 -72
- package/lib/test/nodeUtil.test.js +0 -1
- package/lib/test/support/jqTreeMatchers.js +4 -9
- package/lib/test/support/setupTests.js +0 -4
- package/lib/test/support/testUtil.js +2 -11
- package/lib/test/support/treeStructure.js +0 -6
- package/lib/test/util.test.js +0 -1
- package/lib/tree.jquery.js +32 -243
- package/lib/util.js +0 -6
- package/lib/version.js +1 -1
- package/package.json +54 -54
- package/src/dragAndDropHandler.ts +8 -4
- package/src/jqtreeOptions.ts +1 -1
- package/src/keyHandler.ts +3 -3
- package/src/node.ts +43 -12
- package/src/playwright/.eslintrc +2 -2
- package/src/playwright/coverage.ts +41 -0
- package/src/playwright/playwright.test.ts +50 -52
- package/src/playwright/playwright.test.ts-snapshots/with-dragAndDrop-moves-a-node-1-Chromium-darwin.png +0 -0
- package/src/playwright/playwright.test.ts-snapshots/with-dragAndDrop-moves-a-node-1-Chromium-linux.png +0 -0
- package/src/playwright/playwright.test.ts-snapshots/without-dragAndDrop-displays-a-tree-1-Chromium-darwin.png +0 -0
- package/src/playwright/playwright.test.ts-snapshots/without-dragAndDrop-displays-a-tree-1-Chromium-linux.png +0 -0
- package/src/playwright/playwright.test.ts-snapshots/without-dragAndDrop-selects-a-node-1-Chromium-darwin.png +0 -0
- package/src/playwright/playwright.test.ts-snapshots/without-dragAndDrop-selects-a-node-1-Chromium-linux.png +0 -0
- package/src/playwright/testUtils.ts +122 -0
- package/src/test/.eslintrc +15 -3
- package/src/test/jqTree/events.test.ts +10 -9
- package/src/test/jqTree/loadOnDemand.test.ts +10 -10
- package/src/test/jqTree/methods.test.ts +37 -45
- package/src/test/jqTree/options.test.ts +26 -28
- package/src/test/node.test.ts +146 -54
- package/src/tree.jquery.d.ts +1 -1
- package/src/tree.jquery.ts +6 -5
- package/src/version.ts +1 -1
- package/tree.jquery.debug.js +217 -867
- package/tree.jquery.debug.js.map +1 -1
- package/tree.jquery.js +3 -3
- package/tree.jquery.js.map +1 -1
- package/_entries/61_prependnode.md +0 -21
- package/_entries/93_getnextnode.md +0 -12
- package/_examples/13_drag_outside.html +0 -26
- package/_layouts/frontpage.html +0 -20
- package/_layouts/page.html +0 -7
- package/index.html +0 -48
- package/jest-browser.config.js +0 -15
- package/jest-playwright.config.js +0 -21
- package/jest.config.js +0 -8
- package/lib/playwright/testUtil.js +0 -459
- package/lib/playwright/visualRegression.js +0 -193
- package/production +0 -5
- package/src/playwright/screenshots/displays_a_tree_Desktop.png +0 -0
- package/src/playwright/screenshots/displays_a_tree_iPhone 6.png +0 -0
- package/src/playwright/screenshots/moves_a_node_Desktop.png +0 -0
- package/src/playwright/screenshots/moves_a_node_iPhone 6.png +0 -0
- package/src/playwright/screenshots/opens_a_node_Desktop.png +0 -0
- package/src/playwright/screenshots/opens_a_node_iPhone 6.png +0 -0
- package/src/playwright/screenshots/selects_a_node_Desktop.png +0 -0
- package/src/playwright/screenshots/selects_a_node_iPhone 6.png +0 -0
- package/src/playwright/testUtil.ts +0 -170
- package/src/playwright/visualRegression.ts +0 -88
- package/static/bower_components/bootstrap/dist/css/bootstrap-theme.min.css +0 -6
- package/static/bower_components/bootstrap/dist/css/bootstrap.min.css +0 -6
- package/static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot +0 -0
- package/static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.svg +0 -288
- package/static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
- package/static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff +0 -0
- package/static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 +0 -0
- package/static/bower_components/bootstrap/dist/js/bootstrap.min.js +0 -6
- package/static/bower_components/jquery/dist/jquery.min.js +0 -2
- package/static/documentation.css +0 -171
- package/static/documentation.js +0 -48
package/lib/elementsRenderer.js
CHANGED
|
@@ -4,38 +4,27 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
var _util = require("./util");
|
|
9
|
-
|
|
8
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
10
9
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
11
|
-
|
|
12
10
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
13
|
-
|
|
14
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
15
|
-
|
|
11
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
16
12
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
17
|
-
|
|
18
|
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
19
|
-
|
|
13
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
20
14
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
21
|
-
|
|
22
|
-
function
|
|
23
|
-
|
|
15
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
16
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
17
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
24
18
|
var ElementsRenderer = /*#__PURE__*/function () {
|
|
25
19
|
function ElementsRenderer(treeWidget) {
|
|
26
20
|
_classCallCheck(this, ElementsRenderer);
|
|
27
|
-
|
|
28
21
|
_defineProperty(this, "openedIconElement", void 0);
|
|
29
|
-
|
|
30
22
|
_defineProperty(this, "closedIconElement", void 0);
|
|
31
|
-
|
|
32
23
|
_defineProperty(this, "treeWidget", void 0);
|
|
33
|
-
|
|
34
24
|
this.treeWidget = treeWidget;
|
|
35
25
|
this.openedIconElement = this.createButtonElement(treeWidget.options.openedIcon || "+");
|
|
36
26
|
this.closedIconElement = this.createButtonElement(treeWidget.options.closedIcon || "-");
|
|
37
27
|
}
|
|
38
|
-
|
|
39
28
|
_createClass(ElementsRenderer, [{
|
|
40
29
|
key: "render",
|
|
41
30
|
value: function render(fromNode) {
|
|
@@ -56,15 +45,19 @@ var ElementsRenderer = /*#__PURE__*/function () {
|
|
|
56
45
|
key: "renderFromNode",
|
|
57
46
|
value: function renderFromNode(node) {
|
|
58
47
|
// remember current li
|
|
59
|
-
var $previousLi = jQuery(node.element);
|
|
48
|
+
var $previousLi = jQuery(node.element);
|
|
60
49
|
|
|
50
|
+
// create element
|
|
61
51
|
var li = this.createLi(node, node.getLevel());
|
|
62
|
-
this.attachNodeData(node, li);
|
|
52
|
+
this.attachNodeData(node, li);
|
|
63
53
|
|
|
64
|
-
|
|
54
|
+
// add element to dom
|
|
55
|
+
$previousLi.after(li);
|
|
65
56
|
|
|
66
|
-
|
|
57
|
+
// remove previous li
|
|
58
|
+
$previousLi.remove();
|
|
67
59
|
|
|
60
|
+
// create children
|
|
68
61
|
if (node.children) {
|
|
69
62
|
this.createDomElements(li, node.children, false, node.getLevel() + 1);
|
|
70
63
|
}
|
|
@@ -74,17 +67,14 @@ var ElementsRenderer = /*#__PURE__*/function () {
|
|
|
74
67
|
value: function createDomElements(element, children, isRootNode, level) {
|
|
75
68
|
var ul = this.createUl(isRootNode);
|
|
76
69
|
element.appendChild(ul);
|
|
77
|
-
|
|
78
70
|
var _iterator = _createForOfIteratorHelper(children),
|
|
79
|
-
|
|
80
|
-
|
|
71
|
+
_step;
|
|
81
72
|
try {
|
|
82
73
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
83
74
|
var child = _step.value;
|
|
84
75
|
var li = this.createLi(child, level);
|
|
85
76
|
ul.appendChild(li);
|
|
86
77
|
this.attachNodeData(child, li);
|
|
87
|
-
|
|
88
78
|
if (child.hasChildren()) {
|
|
89
79
|
this.createDomElements(li, child.children, false, level + 1);
|
|
90
80
|
}
|
|
@@ -106,23 +96,19 @@ var ElementsRenderer = /*#__PURE__*/function () {
|
|
|
106
96
|
value: function createUl(isRootNode) {
|
|
107
97
|
var classString;
|
|
108
98
|
var role;
|
|
109
|
-
|
|
110
99
|
if (!isRootNode) {
|
|
111
100
|
classString = "";
|
|
112
101
|
role = "group";
|
|
113
102
|
} else {
|
|
114
103
|
classString = "jqtree-tree";
|
|
115
104
|
role = "tree";
|
|
116
|
-
|
|
117
105
|
if (this.treeWidget.options.rtl) {
|
|
118
106
|
classString += " jqtree-rtl";
|
|
119
107
|
}
|
|
120
108
|
}
|
|
121
|
-
|
|
122
109
|
if (this.treeWidget.options.dragAndDrop) {
|
|
123
110
|
classString += " jqtree-dnd";
|
|
124
111
|
}
|
|
125
|
-
|
|
126
112
|
var ul = document.createElement("ul");
|
|
127
113
|
ul.className = "jqtree_common ".concat(classString);
|
|
128
114
|
ul.setAttribute("role", role);
|
|
@@ -134,11 +120,9 @@ var ElementsRenderer = /*#__PURE__*/function () {
|
|
|
134
120
|
var isSelected = Boolean(this.treeWidget.selectNodeHandler.isNodeSelected(node));
|
|
135
121
|
var mustShowFolder = node.isFolder() || node.isEmptyFolder && this.treeWidget.options.showEmptyFolder;
|
|
136
122
|
var li = mustShowFolder ? this.createFolderLi(node, level, isSelected) : this.createNodeLi(node, level, isSelected);
|
|
137
|
-
|
|
138
123
|
if (this.treeWidget.options.onCreateLi) {
|
|
139
124
|
this.treeWidget.options.onCreateLi(node, jQuery(li), isSelected);
|
|
140
125
|
}
|
|
141
|
-
|
|
142
126
|
return li;
|
|
143
127
|
}
|
|
144
128
|
}, {
|
|
@@ -146,56 +130,57 @@ var ElementsRenderer = /*#__PURE__*/function () {
|
|
|
146
130
|
value: function createFolderLi(node, level, isSelected) {
|
|
147
131
|
var buttonClasses = this.getButtonClasses(node);
|
|
148
132
|
var folderClasses = this.getFolderClasses(node, isSelected);
|
|
149
|
-
var iconElement = node.is_open ? this.openedIconElement : this.closedIconElement;
|
|
133
|
+
var iconElement = node.is_open ? this.openedIconElement : this.closedIconElement;
|
|
150
134
|
|
|
135
|
+
// li
|
|
151
136
|
var li = document.createElement("li");
|
|
152
137
|
li.className = "jqtree_common ".concat(folderClasses);
|
|
153
|
-
li.setAttribute("role", "presentation");
|
|
138
|
+
li.setAttribute("role", "presentation");
|
|
154
139
|
|
|
140
|
+
// div
|
|
155
141
|
var div = document.createElement("div");
|
|
156
142
|
div.className = "jqtree-element jqtree_common";
|
|
157
143
|
div.setAttribute("role", "presentation");
|
|
158
|
-
li.appendChild(div);
|
|
144
|
+
li.appendChild(div);
|
|
159
145
|
|
|
146
|
+
// button link
|
|
160
147
|
var buttonLink = document.createElement("a");
|
|
161
148
|
buttonLink.className = buttonClasses;
|
|
162
149
|
buttonLink.appendChild(iconElement.cloneNode(true));
|
|
163
150
|
buttonLink.setAttribute("role", "presentation");
|
|
164
151
|
buttonLink.setAttribute("aria-hidden", "true");
|
|
165
|
-
|
|
166
152
|
if (this.treeWidget.options.buttonLeft) {
|
|
167
153
|
div.appendChild(buttonLink);
|
|
168
|
-
}
|
|
169
|
-
|
|
154
|
+
}
|
|
170
155
|
|
|
156
|
+
// title span
|
|
171
157
|
div.appendChild(this.createTitleSpan(node.name, level, isSelected, node.is_open, true));
|
|
172
|
-
|
|
173
158
|
if (!this.treeWidget.options.buttonLeft) {
|
|
174
159
|
div.appendChild(buttonLink);
|
|
175
160
|
}
|
|
176
|
-
|
|
177
161
|
return li;
|
|
178
162
|
}
|
|
179
163
|
}, {
|
|
180
164
|
key: "createNodeLi",
|
|
181
165
|
value: function createNodeLi(node, level, isSelected) {
|
|
182
166
|
var liClasses = ["jqtree_common"];
|
|
183
|
-
|
|
184
167
|
if (isSelected) {
|
|
185
168
|
liClasses.push("jqtree-selected");
|
|
186
169
|
}
|
|
170
|
+
var classString = liClasses.join(" ");
|
|
187
171
|
|
|
188
|
-
|
|
189
|
-
|
|
172
|
+
// li
|
|
190
173
|
var li = document.createElement("li");
|
|
191
174
|
li.className = classString;
|
|
192
|
-
li.setAttribute("role", "presentation");
|
|
175
|
+
li.setAttribute("role", "presentation");
|
|
193
176
|
|
|
177
|
+
// div
|
|
194
178
|
var div = document.createElement("div");
|
|
195
179
|
div.className = "jqtree-element jqtree_common";
|
|
196
180
|
div.setAttribute("role", "presentation");
|
|
197
|
-
li.appendChild(div);
|
|
181
|
+
li.appendChild(div);
|
|
198
182
|
|
|
183
|
+
// title span
|
|
199
184
|
div.appendChild(this.createTitleSpan(node.name, level, isSelected, node.is_open, false));
|
|
200
185
|
return li;
|
|
201
186
|
}
|
|
@@ -204,68 +189,55 @@ var ElementsRenderer = /*#__PURE__*/function () {
|
|
|
204
189
|
value: function createTitleSpan(nodeName, level, isSelected, isOpen, isFolder) {
|
|
205
190
|
var titleSpan = document.createElement("span");
|
|
206
191
|
var classes = "jqtree-title jqtree_common";
|
|
207
|
-
|
|
208
192
|
if (isFolder) {
|
|
209
193
|
classes += " jqtree-title-folder";
|
|
210
194
|
}
|
|
211
|
-
|
|
212
195
|
classes += " jqtree-title-button-".concat(this.treeWidget.options.buttonLeft ? "left" : "right");
|
|
213
196
|
titleSpan.className = classes;
|
|
214
197
|
titleSpan.setAttribute("role", "treeitem");
|
|
215
198
|
titleSpan.setAttribute("aria-level", "".concat(level));
|
|
216
199
|
titleSpan.setAttribute("aria-selected", (0, _util.getBoolString)(isSelected));
|
|
217
200
|
titleSpan.setAttribute("aria-expanded", (0, _util.getBoolString)(isOpen));
|
|
218
|
-
|
|
219
201
|
if (isSelected) {
|
|
220
202
|
var tabIndex = this.treeWidget.options.tabIndex;
|
|
221
|
-
|
|
222
203
|
if (tabIndex !== undefined) {
|
|
223
204
|
titleSpan.setAttribute("tabindex", "".concat(tabIndex));
|
|
224
205
|
}
|
|
225
206
|
}
|
|
226
|
-
|
|
227
207
|
if (this.treeWidget.options.autoEscape) {
|
|
228
208
|
titleSpan.textContent = nodeName;
|
|
229
209
|
} else {
|
|
230
210
|
titleSpan.innerHTML = nodeName;
|
|
231
211
|
}
|
|
232
|
-
|
|
233
212
|
return titleSpan;
|
|
234
213
|
}
|
|
235
214
|
}, {
|
|
236
215
|
key: "getButtonClasses",
|
|
237
216
|
value: function getButtonClasses(node) {
|
|
238
217
|
var classes = ["jqtree-toggler", "jqtree_common"];
|
|
239
|
-
|
|
240
218
|
if (!node.is_open) {
|
|
241
219
|
classes.push("jqtree-closed");
|
|
242
220
|
}
|
|
243
|
-
|
|
244
221
|
if (this.treeWidget.options.buttonLeft) {
|
|
245
222
|
classes.push("jqtree-toggler-left");
|
|
246
223
|
} else {
|
|
247
224
|
classes.push("jqtree-toggler-right");
|
|
248
225
|
}
|
|
249
|
-
|
|
250
226
|
return classes.join(" ");
|
|
251
227
|
}
|
|
252
228
|
}, {
|
|
253
229
|
key: "getFolderClasses",
|
|
254
230
|
value: function getFolderClasses(node, isSelected) {
|
|
255
231
|
var classes = ["jqtree-folder"];
|
|
256
|
-
|
|
257
232
|
if (!node.is_open) {
|
|
258
233
|
classes.push("jqtree-closed");
|
|
259
234
|
}
|
|
260
|
-
|
|
261
235
|
if (isSelected) {
|
|
262
236
|
classes.push("jqtree-selected");
|
|
263
237
|
}
|
|
264
|
-
|
|
265
238
|
if (node.is_loading) {
|
|
266
239
|
classes.push("jqtree-loading");
|
|
267
240
|
}
|
|
268
|
-
|
|
269
241
|
return classes.join(" ");
|
|
270
242
|
}
|
|
271
243
|
}, {
|
|
@@ -281,8 +253,6 @@ var ElementsRenderer = /*#__PURE__*/function () {
|
|
|
281
253
|
}
|
|
282
254
|
}
|
|
283
255
|
}]);
|
|
284
|
-
|
|
285
256
|
return ElementsRenderer;
|
|
286
257
|
}();
|
|
287
|
-
|
|
288
258
|
exports["default"] = ElementsRenderer;
|
package/lib/keyHandler.js
CHANGED
|
@@ -4,61 +4,45 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
7
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
8
8
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
9
|
-
|
|
10
|
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
11
|
-
|
|
9
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
12
10
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
13
|
-
|
|
14
|
-
function
|
|
15
|
-
|
|
11
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
12
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
13
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
16
14
|
var KeyHandler = /*#__PURE__*/function () {
|
|
17
15
|
function KeyHandler(treeWidget) {
|
|
18
16
|
var _this = this;
|
|
19
|
-
|
|
20
17
|
_classCallCheck(this, KeyHandler);
|
|
21
|
-
|
|
22
18
|
_defineProperty(this, "treeWidget", void 0);
|
|
23
|
-
|
|
24
19
|
_defineProperty(this, "handleKeyDown", function (e) {
|
|
25
20
|
if (!_this.canHandleKeyboard()) {
|
|
26
21
|
return true;
|
|
27
22
|
}
|
|
28
|
-
|
|
29
23
|
var selectedNode = _this.treeWidget.getSelectedNode();
|
|
30
|
-
|
|
31
24
|
if (!selectedNode) {
|
|
32
25
|
return true;
|
|
33
26
|
}
|
|
34
|
-
|
|
35
27
|
var key = e.which;
|
|
36
|
-
|
|
37
28
|
switch (key) {
|
|
38
29
|
case KeyHandler.DOWN:
|
|
39
30
|
return _this.moveDown(selectedNode);
|
|
40
|
-
|
|
41
31
|
case KeyHandler.UP:
|
|
42
32
|
return _this.moveUp(selectedNode);
|
|
43
|
-
|
|
44
33
|
case KeyHandler.RIGHT:
|
|
45
34
|
return _this.moveRight(selectedNode);
|
|
46
|
-
|
|
47
35
|
case KeyHandler.LEFT:
|
|
48
36
|
return _this.moveLeft(selectedNode);
|
|
49
|
-
|
|
50
37
|
default:
|
|
51
38
|
return true;
|
|
52
39
|
}
|
|
53
40
|
});
|
|
54
|
-
|
|
55
41
|
this.treeWidget = treeWidget;
|
|
56
|
-
|
|
57
42
|
if (treeWidget.options.keyboardSupport) {
|
|
58
43
|
jQuery(document).on("keydown.jqtree", this.handleKeyDown);
|
|
59
44
|
}
|
|
60
45
|
}
|
|
61
|
-
|
|
62
46
|
_createClass(KeyHandler, [{
|
|
63
47
|
key: "deinit",
|
|
64
48
|
value: function deinit() {
|
|
@@ -67,12 +51,12 @@ var KeyHandler = /*#__PURE__*/function () {
|
|
|
67
51
|
}, {
|
|
68
52
|
key: "moveDown",
|
|
69
53
|
value: function moveDown(selectedNode) {
|
|
70
|
-
return this.selectNode(selectedNode.
|
|
54
|
+
return this.selectNode(selectedNode.getNextVisibleNode());
|
|
71
55
|
}
|
|
72
56
|
}, {
|
|
73
57
|
key: "moveUp",
|
|
74
58
|
value: function moveUp(selectedNode) {
|
|
75
|
-
return this.selectNode(selectedNode.
|
|
59
|
+
return this.selectNode(selectedNode.getPreviousVisibleNode());
|
|
76
60
|
}
|
|
77
61
|
}, {
|
|
78
62
|
key: "moveRight",
|
|
@@ -83,7 +67,7 @@ var KeyHandler = /*#__PURE__*/function () {
|
|
|
83
67
|
// folder node
|
|
84
68
|
if (selectedNode.is_open) {
|
|
85
69
|
// Right moves to the first child of an open node
|
|
86
|
-
return this.selectNode(selectedNode.
|
|
70
|
+
return this.selectNode(selectedNode.getNextVisibleNode());
|
|
87
71
|
} else {
|
|
88
72
|
// Right expands a closed node
|
|
89
73
|
this.treeWidget.openNode(selectedNode);
|
|
@@ -110,11 +94,9 @@ var KeyHandler = /*#__PURE__*/function () {
|
|
|
110
94
|
return true;
|
|
111
95
|
} else {
|
|
112
96
|
this.treeWidget.selectNode(node);
|
|
113
|
-
|
|
114
97
|
if (!this.treeWidget.scrollHandler.isScrolledIntoView(jQuery(node.element).find(".jqtree-element"))) {
|
|
115
98
|
this.treeWidget.scrollToNode(node);
|
|
116
99
|
}
|
|
117
|
-
|
|
118
100
|
return false;
|
|
119
101
|
}
|
|
120
102
|
}
|
|
@@ -124,16 +106,10 @@ var KeyHandler = /*#__PURE__*/function () {
|
|
|
124
106
|
return (this.treeWidget.options.keyboardSupport || false) && this.treeWidget.selectNodeHandler.isFocusOnTree();
|
|
125
107
|
}
|
|
126
108
|
}]);
|
|
127
|
-
|
|
128
109
|
return KeyHandler;
|
|
129
110
|
}();
|
|
130
|
-
|
|
131
111
|
exports["default"] = KeyHandler;
|
|
132
|
-
|
|
133
112
|
_defineProperty(KeyHandler, "LEFT", 37);
|
|
134
|
-
|
|
135
113
|
_defineProperty(KeyHandler, "UP", 38);
|
|
136
|
-
|
|
137
114
|
_defineProperty(KeyHandler, "RIGHT", 39);
|
|
138
|
-
|
|
139
115
|
_defineProperty(KeyHandler, "DOWN", 40);
|