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.
- package/.eslintrc +1 -0
- package/.github/workflows/ci.yml +54 -0
- package/.github/workflows/codeql-analysis.yml +28 -0
- package/README.md +1 -1
- package/_config.yml +1 -1
- package/_entries/10_changelog.md +20 -0
- package/_entries/{36_showemptynode.md → 36_showemptyfolder.md} +5 -5
- package/_entries/38_start_dnd_delay.md +13 -0
- package/_entries/{38_tabindex.md → 39_tabindex.md} +0 -0
- package/_entries/{39_usecontextmenu.md → 40_usecontextmenu.md} +0 -0
- package/_entries/{40_functions.md → 41_functions.md} +0 -0
- package/_entries/{41_addparentnode.md → 42_addparentnode.md} +0 -0
- package/_entries/{42_addnodeafter.md → 43_addnodeafter.md} +0 -0
- package/_entries/{43_addnodebefore.md → 44_addnodebefore.md} +0 -0
- package/_entries/{44_appendnode.md → 45_appendnode.md} +0 -0
- package/_entries/{45_closenode.md → 46_closenode.md} +0 -0
- package/_entries/{46_destroy.md → 47_destroy.md} +0 -0
- package/_entries/{47_getnodebycallback.md → 48_getnodebycallback.md} +0 -0
- package/_entries/{48_getnodebyid.md → 49_getnodebyid.md} +0 -0
- package/_entries/{49_getnodebyhtmlelement.md → 50_getnodebyhtmlelement.md} +0 -0
- package/_entries/{50_getselectednode.md → 51_getselectednode.md} +0 -0
- package/_entries/{51_getstate.md → 52_getstate.md} +0 -0
- package/_entries/{52_gettree.md → 53_gettree.md} +0 -0
- package/_entries/{53_isdragging.md → 54_isdragging.md} +0 -0
- package/_entries/{54_loaddata.md → 55_loaddata.md} +0 -0
- package/_entries/{55_loaddatafromurl.md → 56_loaddatafromurl.md} +0 -0
- package/_entries/{56_movedown.md → 57_movedown.md} +0 -0
- package/_entries/{57_movenode.md → 58_movenode.md} +0 -0
- package/_entries/{58_moveup.md → 59_moveup.md} +0 -0
- package/_entries/{59_opennode.md → 60_opennode.md} +0 -0
- package/_entries/{60_prependnode.md → 61_prependnode.md} +0 -0
- package/_entries/62_refresh.md +12 -0
- package/_entries/{61_reload.md → 63_reload.md} +0 -0
- package/_entries/{62_removenode.md → 64_removenode.md} +0 -0
- package/_entries/{63_selectnode.md → 65_selectnode.md} +0 -0
- package/_entries/{64_scrolltonode.md → 66_scrolltonode.md} +0 -0
- package/_entries/{65_setoption.md → 67_setoption.md} +0 -0
- package/_entries/{66_setstate.md → 68_setstate.md} +0 -0
- package/_entries/{67_toggle.md → 69_toggle.md} +0 -0
- package/_entries/{68_tojson.md → 70_tojson.md} +0 -0
- package/_entries/{69_updatenode.md → 71_updatenode.md} +0 -0
- package/_entries/{70_events.md → 72_events.md} +0 -0
- package/_entries/{71_tree-click.md → 73_tree-click.md} +0 -0
- package/_entries/{72_tree-close.md → 74_tree-close.md} +0 -0
- package/_entries/{73_tree-contextmenu.md → 75_tree-contextmenu.md} +0 -0
- package/_entries/{74_tree-dblclick.md → 76_tree-dblclick.md} +0 -0
- package/_entries/{75_tree-init.md → 77_tree-init.md} +0 -0
- package/_entries/{76_tree-load-data.md → 78_tree-load-data.md} +0 -0
- package/_entries/{77_tree-loading-data.md → 79_tree-loading-data.md} +0 -0
- package/_entries/{78_tree-move.md → 80_tree-move.md} +0 -0
- package/_entries/{79_tree-refresh.md → 81_tree-refresh.md} +0 -0
- package/_entries/{80_tree-open.md → 82_tree-open.md} +0 -0
- package/_entries/{81_tree-select.md → 83_tree-select.md} +0 -0
- package/_entries/{82_multiple-selection.md → 84_multiple-selection.md} +0 -0
- package/_entries/{83_add-to-selection.md → 85_add-to-selection.md} +0 -0
- package/_entries/{84_get-selected-nodes.md → 86_get-selected-nodes.md} +0 -0
- package/_entries/{85_is-node-selected.md → 87_is-node-selected.md} +0 -0
- package/_entries/{86_remove-from-selection.md → 88_remove-from-selection.md} +0 -0
- package/_entries/{87_node-functions.md → 89_node-functions.md} +0 -0
- package/_entries/{88_children.md → 90_children.md} +0 -0
- package/_entries/{89_getdata.md → 91_getdata.md} +0 -0
- package/_entries/{90_getlevel.md → 92_getlevel.md} +0 -0
- package/_entries/{91_getnextnode.md → 93_getnextnode.md} +0 -0
- package/_entries/{92_getnextsibling.md → 94_getnextsibling.md} +0 -0
- package/_entries/{93_getpreviousnode.md → 95_getpreviousnode.md} +0 -0
- package/_entries/{94_getprevioussibling.md → 96_getprevioussibling.md} +0 -0
- package/_entries/{95_parent.md → 97_parent.md} +0 -0
- package/_examples/13_drag_outside.html +2 -1
- package/_examples/14_filter.html +113 -0
- package/_layouts/base.html +1 -23
- package/babel.config.json +11 -0
- package/babel.coverage.config.json +4 -0
- package/bower.json +1 -1
- package/jest-browser.config.js +0 -3
- package/jest-jsdom.config.js +1 -2
- package/jqtree.css +4 -1
- package/jqtree.postcss +3 -0
- package/lib/dataLoader.js +146 -98
- package/lib/dragAndDropHandler.js +668 -470
- package/lib/elementsRenderer.js +282 -197
- package/lib/jqtreeOptions.js +1 -2
- package/lib/keyHandler.js +134 -87
- package/lib/mouse.widget.js +288 -165
- package/lib/node.js +693 -505
- package/lib/nodeElement.js +329 -205
- package/lib/playwright/playwright.test.js +216 -189
- package/lib/playwright/testUtil.js +437 -192
- package/lib/playwright/visualRegression.js +183 -117
- package/lib/saveStateHandler.js +311 -204
- package/lib/scrollHandler.js +293 -199
- package/lib/selectNodeHandler.js +140 -105
- package/lib/simple.widget.js +184 -109
- package/lib/test/global.d.js +3 -0
- package/lib/test/jqTree/create.test.js +44 -40
- package/lib/test/jqTree/events.test.js +185 -138
- package/lib/test/jqTree/keyboard.test.js +216 -199
- package/lib/test/jqTree/loadOnDemand.test.js +233 -157
- package/lib/test/jqTree/methods.test.js +1269 -1000
- package/lib/test/jqTree/options.test.js +467 -398
- package/lib/test/node.test.js +1036 -873
- package/lib/test/nodeUtil.test.js +21 -20
- package/lib/test/support/exampleData.js +35 -23
- package/lib/test/support/jqTreeMatchers.js +72 -54
- package/lib/test/support/matchers.d.js +1 -0
- package/lib/test/support/setupTests.js +9 -3
- package/lib/test/support/testUtil.js +38 -15
- package/lib/test/support/treeStructure.js +41 -32
- package/lib/test/util.test.js +21 -20
- package/lib/tree.jquery.d.js +1 -0
- package/lib/tree.jquery.js +1264 -883
- package/lib/types.js +1 -2
- package/lib/typings.d.js +2 -0
- package/lib/util.js +21 -7
- package/lib/version.js +8 -3
- package/package.json +43 -36
- package/production +4 -4
- package/rollup.config.js +16 -11
- package/src/dataLoader.ts +6 -6
- package/src/dragAndDropHandler.ts +0 -4
- package/src/elementsRenderer.ts +4 -0
- package/src/jqtreeOptions.ts +33 -32
- package/src/mouse.widget.ts +58 -29
- package/src/node.ts +32 -46
- package/src/nodeElement.ts +17 -9
- package/src/playwright/.eslintrc +5 -0
- package/src/playwright/playwright.test.ts +30 -30
- package/src/playwright/testUtil.ts +36 -37
- package/src/saveStateHandler.ts +11 -6
- package/src/selectNodeHandler.ts +14 -21
- package/src/simple.widget.ts +1 -1
- package/src/test/.eslintrc +4 -0
- package/src/test/jqTree/create.test.ts +0 -1
- package/src/test/jqTree/events.test.ts +12 -13
- package/src/test/jqTree/keyboard.test.ts +0 -1
- package/src/test/jqTree/loadOnDemand.test.ts +46 -1
- package/src/test/jqTree/methods.test.ts +67 -18
- package/src/test/jqTree/options.test.ts +5 -6
- package/src/test/node.test.ts +2 -2
- package/src/test/support/jqTreeMatchers.ts +8 -9
- package/src/test/support/matchers.d.ts +2 -4
- package/src/test/support/setupTests.ts +2 -1
- package/src/tree.jquery.d.ts +19 -13
- package/src/tree.jquery.ts +63 -57
- package/src/version.ts +1 -1
- package/static/bower.json +3 -3
- package/static/bower_components/fontawesome/css/all.min.css +2 -2
- package/static/bower_components/fontawesome/webfonts/fa-brands-400.eot +0 -0
- package/static/bower_components/fontawesome/webfonts/fa-brands-400.svg +774 -627
- package/static/bower_components/fontawesome/webfonts/fa-brands-400.ttf +0 -0
- package/static/bower_components/fontawesome/webfonts/fa-brands-400.woff +0 -0
- package/static/bower_components/fontawesome/webfonts/fa-brands-400.woff2 +0 -0
- package/static/bower_components/fontawesome/webfonts/fa-regular-400.eot +0 -0
- package/static/bower_components/fontawesome/webfonts/fa-regular-400.svg +93 -95
- package/static/bower_components/fontawesome/webfonts/fa-regular-400.ttf +0 -0
- package/static/bower_components/fontawesome/webfonts/fa-regular-400.woff +0 -0
- package/static/bower_components/fontawesome/webfonts/fa-regular-400.woff2 +0 -0
- package/static/bower_components/fontawesome/webfonts/fa-solid-900.eot +0 -0
- package/static/bower_components/fontawesome/webfonts/fa-solid-900.svg +1164 -1074
- package/static/bower_components/fontawesome/webfonts/fa-solid-900.ttf +0 -0
- package/static/bower_components/fontawesome/webfonts/fa-solid-900.woff +0 -0
- package/static/bower_components/fontawesome/webfonts/fa-solid-900.woff2 +0 -0
- package/static/bower_components/jquery/dist/jquery.js +118 -109
- package/static/bower_components/jquery/dist/jquery.min.js +2 -2
- package/static/bower_components/jquery-mockjax/dist/jquery.mockjax.js +15 -9
- package/static/example.css +13 -0
- package/static/example.postcss +13 -0
- package/static/example_data.js +33 -36
- package/static/examples/filter.js +63 -0
- package/tree.jquery.debug.js +4809 -3305
- package/tree.jquery.debug.js.map +1 -1
- package/tree.jquery.js +3 -3
- package/tree.jquery.js.map +1 -1
- package/tsconfig.json +1 -0
- package/.travis.yml +0 -18
package/.eslintrc
CHANGED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
name: Continuous integration
|
|
2
|
+
|
|
3
|
+
on: [push]
|
|
4
|
+
|
|
5
|
+
jobs:
|
|
6
|
+
runner-job:
|
|
7
|
+
runs-on: ubuntu-latest
|
|
8
|
+
|
|
9
|
+
steps:
|
|
10
|
+
- name: Check out repository code
|
|
11
|
+
uses: actions/checkout@v2
|
|
12
|
+
- name: Setup node
|
|
13
|
+
uses: actions/setup-node@v1
|
|
14
|
+
with:
|
|
15
|
+
node-version: "14"
|
|
16
|
+
- name: Get yarn cache directory path
|
|
17
|
+
id: yarn-cache-dir-path
|
|
18
|
+
run: echo "::set-output name=dir::$(yarn cache dir)"
|
|
19
|
+
- name: Cache javascript packages
|
|
20
|
+
uses: actions/cache@v2
|
|
21
|
+
with:
|
|
22
|
+
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
|
|
23
|
+
key: ${{ runner.os }}-yarn-${{ hashFiles('**/package.json') }}
|
|
24
|
+
restore-keys: |
|
|
25
|
+
${{ runner.os }}-yarn-
|
|
26
|
+
- name: Install packages
|
|
27
|
+
run: |
|
|
28
|
+
yarn --prefer-offline
|
|
29
|
+
- name: Build
|
|
30
|
+
run: |
|
|
31
|
+
yarn run production
|
|
32
|
+
- name: Lint
|
|
33
|
+
run: |
|
|
34
|
+
yarn run lint
|
|
35
|
+
- name: Check types
|
|
36
|
+
run: |
|
|
37
|
+
yarn run tsc
|
|
38
|
+
- name: Run tests
|
|
39
|
+
run: |
|
|
40
|
+
yarn run clean-coverage
|
|
41
|
+
yarn run test
|
|
42
|
+
- name: Merge coverage
|
|
43
|
+
run: |
|
|
44
|
+
yarn run merge-coverage
|
|
45
|
+
yarn run print-coverage
|
|
46
|
+
- name: Coveralls
|
|
47
|
+
run: |
|
|
48
|
+
yarn run coveralls
|
|
49
|
+
env:
|
|
50
|
+
COVERALLS_REPO_TOKEN: ${{ secrets.github_token }}
|
|
51
|
+
COVERALLS_SERVICE_NAME: github
|
|
52
|
+
COVERALLS_GIT_COMMIT: ${{ github.sha }}
|
|
53
|
+
COVERALLS_GIT_BRANCH: ${{ github.ref }}
|
|
54
|
+
COVERALLS_SERVICE_JOB_ID: ${{ github.run_id }}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
name: "CodeQL"
|
|
2
|
+
|
|
3
|
+
on: [push]
|
|
4
|
+
|
|
5
|
+
jobs:
|
|
6
|
+
analyze:
|
|
7
|
+
name: Analyze
|
|
8
|
+
runs-on: ubuntu-latest
|
|
9
|
+
|
|
10
|
+
strategy:
|
|
11
|
+
fail-fast: false
|
|
12
|
+
matrix:
|
|
13
|
+
language: ["javascript"]
|
|
14
|
+
|
|
15
|
+
steps:
|
|
16
|
+
- name: Checkout repository
|
|
17
|
+
uses: actions/checkout@v2
|
|
18
|
+
|
|
19
|
+
- name: Initialize CodeQL
|
|
20
|
+
uses: github/codeql-action/init@v1
|
|
21
|
+
with:
|
|
22
|
+
languages: ${{ matrix.language }}
|
|
23
|
+
|
|
24
|
+
- name: Autobuild
|
|
25
|
+
uses: github/codeql-action/autobuild@v1
|
|
26
|
+
|
|
27
|
+
- name: Perform CodeQL Analysis
|
|
28
|
+
uses: github/codeql-action/analyze@v1
|
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
 [](https://coveralls.io/r/mbraak/jqTree)
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/jqtree)
|
|
4
4
|
|
package/_config.yml
CHANGED
package/_entries/10_changelog.md
CHANGED
|
@@ -3,6 +3,26 @@ title: Changelog
|
|
|
3
3
|
name: changelog
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
+
#### 1.6.2 (december 15 2021)
|
|
7
|
+
|
|
8
|
+
- Issue #662: fix left alignment for option buttonLeft: false (thanks to Odungern)
|
|
9
|
+
- Issue #669: restore focus after load on demand (thanks to Jaccoky)
|
|
10
|
+
|
|
11
|
+
#### 1.6.1 (june 24 2021)
|
|
12
|
+
|
|
13
|
+
- Issues #652 and #655: add filter example
|
|
14
|
+
- Issue #655: add refresh method
|
|
15
|
+
|
|
16
|
+
#### 1.6.0 (february 9 2021)
|
|
17
|
+
|
|
18
|
+
- Issue #647: improve performance of internal node lookup
|
|
19
|
+
- Changed: getNodeById doesn't convert strings to numbers anymore
|
|
20
|
+
- Issue #648: fix drag-and-drop on ie11
|
|
21
|
+
|
|
22
|
+
##### 1.5.3 (january 12 2021)
|
|
23
|
+
|
|
24
|
+
- Issue #640: add startDndDelay option (thanks to Erik van Eykelen)
|
|
25
|
+
|
|
6
26
|
##### 1.5.2 (october 25 2020)
|
|
7
27
|
|
|
8
28
|
- Issue #621: decrease build size using Rollup
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
title:
|
|
3
|
-
name: options-
|
|
2
|
+
title: showEmptyFolder
|
|
3
|
+
name: options-showemptyfolder
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
* **true**: A node with empty children is considered a folder
|
|
6
|
+
* **true**: A node with empty children is considered a folder. Meaning: the node has a 'children' attribute, but it's an empty array.
|
|
7
7
|
* Show folder icon
|
|
8
8
|
* Folder can be opened and closed
|
|
9
9
|
* **false (default)**: A node with empty children is considered a child node
|
|
@@ -15,12 +15,12 @@ const data = [
|
|
|
15
15
|
{
|
|
16
16
|
name: 'node1',
|
|
17
17
|
id: 123,
|
|
18
|
-
|
|
18
|
+
children: []
|
|
19
19
|
}
|
|
20
20
|
];
|
|
21
21
|
|
|
22
22
|
$('#tree1').tree({
|
|
23
23
|
data: data,
|
|
24
|
-
|
|
24
|
+
showEmptyFolder: true
|
|
25
25
|
});
|
|
26
26
|
{% endhighlight %}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: startDndDelay
|
|
3
|
+
name: options-start-dnd-delay
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Sets the delay before drag-and-drop is started. The default is 300 milliseconds.
|
|
7
|
+
|
|
8
|
+
{% highlight js %}
|
|
9
|
+
$tree.tree({
|
|
10
|
+
dragAndDrop: true,
|
|
11
|
+
startDndDelay: 3000,
|
|
12
|
+
});
|
|
13
|
+
{% endhighlight %}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: refresh
|
|
3
|
+
name: functions-refresh
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
**function refresh();**
|
|
7
|
+
|
|
8
|
+
Refresh the rendered nodes. In most cases you will not use this, because tree functions will rerender automatically. E.g. The functions `openNode` and `updateNode` rerender automatically.
|
|
9
|
+
|
|
10
|
+
{% highlight js %}
|
|
11
|
+
$('#tree1').tree('refresh');
|
|
12
|
+
{% endhighlight %}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -6,7 +6,8 @@ css: example.css
|
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
<p id="nav">
|
|
9
|
-
<a href="../12_button_on_right/">« Example
|
|
9
|
+
<a href="../12_button_on_right/">« Example 12</a>
|
|
10
|
+
<a href="../14_filter/" class="next">Example 14 »</a>
|
|
10
11
|
</p>
|
|
11
12
|
|
|
12
13
|
<h1>Example 13 - drag node outside tree</h1>
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Filter
|
|
3
|
+
layout: page
|
|
4
|
+
js: examples/filter.js
|
|
5
|
+
css: example.css
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<p id="nav">
|
|
9
|
+
<a href="../13_drag_outside/">« Example 13</a>
|
|
10
|
+
</p>
|
|
11
|
+
|
|
12
|
+
<h1>Example 14 - filter</h1>
|
|
13
|
+
|
|
14
|
+
<div>
|
|
15
|
+
<input id="search-term" autofocus></input>
|
|
16
|
+
<button id="search">Search</button>
|
|
17
|
+
</div>
|
|
18
|
+
<div id="tree1"></div>
|
|
19
|
+
|
|
20
|
+
<h3>javascript</h3>
|
|
21
|
+
|
|
22
|
+
{% highlight js %}
|
|
23
|
+
const $tree = $("#tree1");
|
|
24
|
+
|
|
25
|
+
let foundMatch = false;
|
|
26
|
+
|
|
27
|
+
$tree.tree({
|
|
28
|
+
autoOpen: false,
|
|
29
|
+
data: ExampleData.exampleData,
|
|
30
|
+
useContextMenu: false,
|
|
31
|
+
onCreateLi: (node, $el) => {
|
|
32
|
+
if (foundMatch && !node.openForMatch && !node.parent.matches) {
|
|
33
|
+
$el.addClass("hidden-node");
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
if (node.matches) {
|
|
37
|
+
$el.addClass("highlight-node");
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
$("#search").on("click", () => {
|
|
43
|
+
const searchTerm = $("#search-term").val().toLowerCase();
|
|
44
|
+
|
|
45
|
+
if (!searchTerm) {
|
|
46
|
+
foundMatch = false;
|
|
47
|
+
|
|
48
|
+
tree.iterate((node) => {
|
|
49
|
+
node['openForMatch'] = false;
|
|
50
|
+
node["matches"] = false;
|
|
51
|
+
return true;
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
$tree.tree("refresh");
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
const tree = $tree.tree("getTree");
|
|
59
|
+
foundMatch = false;
|
|
60
|
+
|
|
61
|
+
tree.iterate((node) => {
|
|
62
|
+
const matches = node.name.toLowerCase().includes(searchTerm);
|
|
63
|
+
node["openForMatch"] = matches;
|
|
64
|
+
node["matches"] = matches;
|
|
65
|
+
|
|
66
|
+
if (matches) {
|
|
67
|
+
foundMatch = true;
|
|
68
|
+
|
|
69
|
+
if (node.isFolder()) {
|
|
70
|
+
node.is_open = true;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
let parent = node.parent;
|
|
74
|
+
while (parent) {
|
|
75
|
+
parent["openForMatch"] = true;
|
|
76
|
+
parent.is_open = true;
|
|
77
|
+
parent = parent.parent;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
return true;
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
$tree.tree("refresh");
|
|
85
|
+
});
|
|
86
|
+
{% endhighlight %}
|
|
87
|
+
|
|
88
|
+
<h3>html</h3>
|
|
89
|
+
|
|
90
|
+
{% highlight html %}
|
|
91
|
+
<div>
|
|
92
|
+
<input id="search-term" autofocus></input>
|
|
93
|
+
<button id="search">Search</button>
|
|
94
|
+
</div>
|
|
95
|
+
<div id="tree1"></div>
|
|
96
|
+
{% endhighlight %}
|
|
97
|
+
|
|
98
|
+
<h3>css</h3>
|
|
99
|
+
|
|
100
|
+
{% highlight css %}
|
|
101
|
+
.hidden-node {
|
|
102
|
+
display: none;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.highlight-node > .jqtree-element > .jqtree-title {
|
|
106
|
+
font-weight: bold;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
#search-term {
|
|
110
|
+
margin-bottom: 16px;
|
|
111
|
+
margin-right: 8px;
|
|
112
|
+
}
|
|
113
|
+
{% endhighlight %}
|
package/_layouts/base.html
CHANGED
|
@@ -13,28 +13,6 @@
|
|
|
13
13
|
<link rel="stylesheet" href="{{ site.baseurl }}/jqtree.css" />
|
|
14
14
|
<link rel="stylesheet" href="{{ site.baseurl }}/static/monokai.css" />
|
|
15
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
16
|
{% if page.css %}
|
|
39
17
|
<link rel="stylesheet" href="{{ site.baseurl }}/static/{{ page.css }}" />
|
|
40
18
|
{% endif %}
|
|
@@ -44,7 +22,7 @@
|
|
|
44
22
|
</body>
|
|
45
23
|
|
|
46
24
|
<script src="{{ site.baseurl }}/static/bower_components/jquery/dist/jquery.min.js"></script>
|
|
47
|
-
<script src="{{ site.baseurl }}/
|
|
25
|
+
<script src="{{ site.baseurl }}/tree.jquery.js"></script>
|
|
48
26
|
<script src="{{ site.baseurl }}/static/bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
|
|
49
27
|
<script src="{{ site.baseurl }}/static/bower_components/jquery-mockjax/dist/jquery.mockjax.js"></script>
|
|
50
28
|
<script src="{{ site.baseurl }}/static/example_data.js"></script>
|
package/bower.json
CHANGED
package/jest-browser.config.js
CHANGED
|
@@ -8,9 +8,6 @@ module.exports = {
|
|
|
8
8
|
preset: "jest-playwright-preset",
|
|
9
9
|
testRegex: "\\/src\\/playwright\\/.*\\.test\\.ts",
|
|
10
10
|
setupFilesAfterEnv: ["expect-playwright", "givens/setup.js"],
|
|
11
|
-
transform: {
|
|
12
|
-
"^.+\\.ts$": "ts-jest",
|
|
13
|
-
},
|
|
14
11
|
coveragePathIgnorePatterns: [
|
|
15
12
|
"<rootDir>/node_modules/",
|
|
16
13
|
"<rootDir>/src/playwright/",
|
package/jest-jsdom.config.js
CHANGED
|
@@ -5,11 +5,10 @@ module.exports = {
|
|
|
5
5
|
"<rootDir>/_site/",
|
|
6
6
|
"<rootDir>/static/",
|
|
7
7
|
],
|
|
8
|
-
preset: "ts-jest",
|
|
9
8
|
setupFilesAfterEnv: [
|
|
10
9
|
"<rootDir>/src/test/support/setupTests.ts",
|
|
11
10
|
"givens/setup.js",
|
|
12
|
-
"jest-extended",
|
|
11
|
+
"jest-extended/all",
|
|
13
12
|
],
|
|
14
13
|
testEnvironment: "jsdom",
|
|
15
14
|
testRegex: "\\/src\\/test\\/.*\\.test\\.ts",
|
package/jqtree.css
CHANGED
|
@@ -60,10 +60,13 @@ ul.jqtree-tree {
|
|
|
60
60
|
ul.jqtree-tree .jqtree-title {
|
|
61
61
|
color: #1c4257;
|
|
62
62
|
vertical-align: middle;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
ul.jqtree-tree .jqtree-title-button-left {
|
|
63
66
|
margin-left: 1.5em;
|
|
64
67
|
}
|
|
65
68
|
|
|
66
|
-
ul.jqtree-tree .jqtree-title.jqtree-title-folder {
|
|
69
|
+
ul.jqtree-tree .jqtree-title-button-left.jqtree-title-folder {
|
|
67
70
|
margin-left: 0;
|
|
68
71
|
}
|
|
69
72
|
|