sequenceserver 2.0.0.rc8 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (116) hide show
  1. checksums.yaml +4 -4
  2. data/bin/sequenceserver +22 -30
  3. data/lib/sequenceserver/api_errors.rb +5 -1
  4. data/lib/sequenceserver/blast/constants.rb +1 -1
  5. data/lib/sequenceserver/blast/hit.rb +5 -16
  6. data/lib/sequenceserver/blast/job.rb +9 -18
  7. data/lib/sequenceserver/blast/report.rb +5 -3
  8. data/lib/sequenceserver/config.rb +4 -1
  9. data/lib/sequenceserver/database.rb +69 -9
  10. data/lib/sequenceserver/job.rb +1 -1
  11. data/lib/sequenceserver/makeblastdb.rb +40 -45
  12. data/lib/sequenceserver/routes.rb +4 -0
  13. data/lib/sequenceserver/version.rb +1 -1
  14. data/lib/sequenceserver.rb +15 -11
  15. data/public/config.js +143 -142
  16. data/public/css/fonts.css +23 -22
  17. data/public/css/grapher.css +598 -594
  18. data/public/css/sequenceserver.css +86 -24
  19. data/public/css/sequenceserver.min.css +2 -2
  20. data/public/js/alignment_exporter.js +14 -14
  21. data/public/js/databases_tree.js +215 -0
  22. data/public/js/download_fasta.js +1 -1
  23. data/public/js/hit.js +6 -2
  24. data/public/js/hits_overview.js +1 -1
  25. data/public/js/length_distribution.js +5 -5
  26. data/public/js/query.js +4 -7
  27. data/public/js/report.js +12 -24
  28. data/public/js/search.js +21 -2
  29. data/public/js/sidebar.js +4 -4
  30. data/public/js/svgExporter.js +12 -12
  31. data/public/js/visualisation_helpers.js +4 -5
  32. data/public/sequenceserver-report.min.js +11 -11
  33. data/public/sequenceserver-search.min.js +15 -11
  34. data/public/vendor/github/vakata/jstree@3.3.8/LICENSE-MIT +22 -0
  35. data/public/vendor/github/vakata/jstree@3.3.8/README.md +663 -0
  36. data/public/vendor/github/vakata/jstree@3.3.8/bower.json +33 -0
  37. data/public/vendor/github/vakata/jstree@3.3.8/component.json +28 -0
  38. data/public/vendor/github/vakata/jstree@3.3.8/composer.json +46 -0
  39. data/public/vendor/github/vakata/jstree@3.3.8/demo/README.md +2 -0
  40. data/public/vendor/github/vakata/jstree@3.3.8/demo/basic/index.html +146 -0
  41. data/public/vendor/github/vakata/jstree@3.3.8/demo/basic/root.json +1 -0
  42. data/public/vendor/github/vakata/jstree@3.3.8/dist/jstree.js +8612 -0
  43. data/public/vendor/github/vakata/jstree@3.3.8/dist/jstree.min.js +6 -0
  44. data/public/vendor/github/vakata/jstree@3.3.8/dist/themes/default/32px.png +0 -0
  45. data/public/vendor/github/vakata/jstree@3.3.8/dist/themes/default/40px.png +0 -0
  46. data/public/vendor/github/vakata/jstree@3.3.8/dist/themes/default/style.css +1102 -0
  47. data/public/vendor/github/vakata/jstree@3.3.8/dist/themes/default/style.min.css +1 -0
  48. data/public/vendor/github/vakata/jstree@3.3.8/dist/themes/default/throbber.gif +0 -0
  49. data/public/vendor/github/vakata/jstree@3.3.8/dist/themes/default-dark/32px.png +0 -0
  50. data/public/vendor/github/vakata/jstree@3.3.8/dist/themes/default-dark/40px.png +0 -0
  51. data/public/vendor/github/vakata/jstree@3.3.8/dist/themes/default-dark/style.css +1146 -0
  52. data/public/vendor/github/vakata/jstree@3.3.8/dist/themes/default-dark/style.min.css +1 -0
  53. data/public/vendor/github/vakata/jstree@3.3.8/dist/themes/default-dark/throbber.gif +0 -0
  54. data/public/vendor/github/vakata/jstree@3.3.8/gruntfile.js +242 -0
  55. data/public/vendor/github/vakata/jstree@3.3.8/jstree.jquery.json +28 -0
  56. data/public/vendor/github/vakata/jstree@3.3.8/package.json +58 -0
  57. data/public/vendor/github/vakata/jstree@3.3.8/src/intro.js +14 -0
  58. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.changed.js +69 -0
  59. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.checkbox.js +976 -0
  60. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.conditionalselect.js +38 -0
  61. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.contextmenu.js +661 -0
  62. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.dnd.js +669 -0
  63. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.js +4931 -0
  64. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.massload.js +137 -0
  65. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.search.js +421 -0
  66. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.sort.js +74 -0
  67. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.state.js +138 -0
  68. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.types.js +372 -0
  69. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.unique.js +164 -0
  70. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.wholerow.js +122 -0
  71. data/public/vendor/github/vakata/jstree@3.3.8/src/misc.js +656 -0
  72. data/public/vendor/github/vakata/jstree@3.3.8/src/outro.js +1 -0
  73. data/public/vendor/github/vakata/jstree@3.3.8/src/sample.js +93 -0
  74. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/base.less +93 -0
  75. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/default/32px.png +0 -0
  76. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/default/40px.png +0 -0
  77. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/default/style.css +1102 -0
  78. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/default/style.less +22 -0
  79. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/default/throbber.gif +0 -0
  80. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/default-dark/32px.png +0 -0
  81. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/default-dark/40px.png +0 -0
  82. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/default-dark/style.css +1146 -0
  83. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/default-dark/style.less +50 -0
  84. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/default-dark/throbber.gif +0 -0
  85. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/main.less +77 -0
  86. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/mixins.less +104 -0
  87. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/responsive.less +67 -0
  88. data/public/vendor/github/vakata/jstree@3.3.8/src/vakata-jstree.js +38 -0
  89. data/public/vendor/github/vakata/jstree@3.3.8/test/unit/index.html +16 -0
  90. data/public/vendor/github/vakata/jstree@3.3.8/test/unit/libs/qunit.css +244 -0
  91. data/public/vendor/github/vakata/jstree@3.3.8/test/unit/libs/qunit.js +2212 -0
  92. data/public/vendor/github/vakata/jstree@3.3.8/test/unit/test.js +11 -0
  93. data/public/vendor/github/vakata/jstree@3.3.8/test/visual/desktop/index.html +44 -0
  94. data/public/vendor/github/vakata/jstree@3.3.8/test/visual/mobile/index.html +42 -0
  95. data/public/vendor/github/vakata/jstree@3.3.8/test/visual/screenshots/desktop/desktop.png +0 -0
  96. data/public/vendor/github/vakata/jstree@3.3.8/test/visual/screenshots/desktop/home.png +0 -0
  97. data/public/vendor/github/vakata/jstree@3.3.8/test/visual/screenshots/mobile/home.png +0 -0
  98. data/public/vendor/github/vakata/jstree@3.3.8/test/visual/screenshots/mobile/mobile.png +0 -0
  99. data/public/vendor/github/vakata/jstree@3.3.8.js +3 -0
  100. data/public/vendor/system-csp-production.js +3 -3
  101. data/public/vendor/system-csp-production.js.map +1 -1
  102. data/public/vendor/system-csp-production.src.js +146 -140
  103. data/public/vendor/system-polyfills.js.map +1 -1
  104. data/public/vendor/system-polyfills.src.js +1 -0
  105. data/public/vendor/system.js +3 -3
  106. data/public/vendor/system.js.map +1 -1
  107. data/public/vendor/system.src.js +4771 -2383
  108. data/views/_options.erb +21 -0
  109. data/views/layout.erb +17 -18
  110. metadata +102 -43
  111. data/bin/chromedriver +0 -0
  112. data/bin/geckodriver +0 -0
  113. data/public/shims/form-core.js +0 -3
  114. data/public/shims/form-validation.js +0 -3
  115. data/public/shims/plugins/jquery.ui.position.js +0 -13
  116. data/public/shims/styles/shim.css +0 -1
@@ -0,0 +1,50 @@
1
+ /* jsTree default dark theme */
2
+ @theme-name: default-dark;
3
+ @hovered-bg-color: #555;
4
+ @hovered-shadow-color: #555;
5
+ @disabled-color: #666666;
6
+ @disabled-bg-color: #333333;
7
+ @clicked-bg-color: #5fa2db;
8
+ @clicked-shadow-color: #666666;
9
+ @clicked-gradient-color-1: #5fa2db;
10
+ @clicked-gradient-color-2: #5fa2db;
11
+ @search-result-color: #ffffff;
12
+ @mobile-wholerow-bg-color: #333333;
13
+ @mobile-wholerow-shadow: #111111;
14
+ @mobile-wholerow-bordert: #666;
15
+ @mobile-wholerow-borderb: #000;
16
+ @responsive: true;
17
+ @image-path: "";
18
+ @base-height: 40px;
19
+
20
+ @import "../mixins.less";
21
+ @import "../base.less";
22
+ @import "../main.less";
23
+
24
+ .jstree-@{theme-name} {
25
+ background:#333;
26
+ .jstree-anchor { color:#999; text-shadow:1px 1px 0 rgba(0,0,0,0.5); }
27
+ .jstree-clicked, .jstree-checked { color:white; }
28
+ .jstree-hovered { color:white; }
29
+ #jstree-marker& {
30
+ border-left-color:#999;
31
+ background:transparent;
32
+ }
33
+ .jstree-anchor > .jstree-icon { opacity:0.75; }
34
+ .jstree-clicked > .jstree-icon,
35
+ .jstree-hovered > .jstree-icon,
36
+ .jstree-checked > .jstree-icon { opacity:1; }
37
+ }
38
+ // theme variants
39
+ .jstree-@{theme-name} {
40
+ &.jstree-rtl .jstree-node { background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); }
41
+ &.jstree-rtl .jstree-last { background:transparent; }
42
+ }
43
+ .jstree-@{theme-name}-small {
44
+ &.jstree-rtl .jstree-node { background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg=="); }
45
+ &.jstree-rtl .jstree-last { background:transparent; }
46
+ }
47
+ .jstree-@{theme-name}-large {
48
+ &.jstree-rtl .jstree-node { background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg=="); }
49
+ &.jstree-rtl .jstree-last { background:transparent; }
50
+ }
@@ -0,0 +1,77 @@
1
+ .jstree-@{theme-name} {
2
+ .jstree-node,
3
+ .jstree-icon { background-repeat:no-repeat; background-color:transparent; }
4
+ .jstree-anchor,
5
+ .jstree-animated,
6
+ .jstree-wholerow { transition:background-color 0.15s, box-shadow 0.15s; }
7
+ .jstree-hovered { background:@hovered-bg-color; border-radius:2px; box-shadow:inset 0 0 1px @hovered-shadow-color; }
8
+ .jstree-context { background:@hovered-bg-color; border-radius:2px; box-shadow:inset 0 0 1px @hovered-shadow-color; }
9
+ .jstree-clicked { background:@clicked-bg-color; border-radius:2px; box-shadow:inset 0 0 1px @clicked-shadow-color; }
10
+ .jstree-no-icons .jstree-anchor > .jstree-themeicon { display:none; }
11
+ .jstree-disabled {
12
+ background:transparent; color:@disabled-color;
13
+ &.jstree-hovered { background:transparent; box-shadow:none; }
14
+ &.jstree-clicked { background:@disabled-bg-color; }
15
+ > .jstree-icon { opacity:0.8; filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale"); /* Firefox 10+ */ filter: gray; /* IE6-9 */ -webkit-filter: grayscale(100%); /* Chrome 19+ & Safari 6+ */ }
16
+ }
17
+ // search
18
+ .jstree-search { font-style:italic; color:@search-result-color; font-weight:bold; }
19
+ // checkboxes
20
+ .jstree-no-checkboxes .jstree-checkbox { display:none !important; }
21
+ &.jstree-checkbox-no-clicked {
22
+ .jstree-clicked {
23
+ background:transparent;
24
+ box-shadow:none;
25
+ &.jstree-hovered { background:@hovered-bg-color; }
26
+ }
27
+ > .jstree-wholerow-ul .jstree-wholerow-clicked {
28
+ background:transparent;
29
+ &.jstree-wholerow-hovered { background:@hovered-bg-color; }
30
+ }
31
+ }
32
+ // stripes
33
+ > .jstree-striped { min-width:100%; display:inline-block; background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==") left top repeat; }
34
+ // wholerow
35
+ > .jstree-wholerow-ul .jstree-hovered,
36
+ > .jstree-wholerow-ul .jstree-clicked { background:transparent; box-shadow:none; border-radius:0; }
37
+ .jstree-wholerow { -moz-box-sizing:border-box; -webkit-box-sizing:border-box; box-sizing:border-box; }
38
+ .jstree-wholerow-hovered { background:@hovered-bg-color; }
39
+ .jstree-wholerow-clicked { .gradient(@clicked-gradient-color-1, @clicked-gradient-color-2); }
40
+ }
41
+
42
+ // theme variants
43
+ .jstree-@{theme-name} {
44
+ .jstree-theme(24px, "@{image-path}32px.png", 32px);
45
+ &.jstree-rtl .jstree-node { background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); }
46
+ &.jstree-rtl .jstree-last { background:transparent; }
47
+ }
48
+ .jstree-@{theme-name}-small {
49
+ .jstree-theme(18px, "@{image-path}32px.png", 32px);
50
+ &.jstree-rtl .jstree-node { background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg=="); }
51
+ &.jstree-rtl .jstree-last { background:transparent; }
52
+ }
53
+ .jstree-@{theme-name}-large {
54
+ .jstree-theme(32px, "@{image-path}32px.png", 32px);
55
+ &.jstree-rtl .jstree-node { background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg=="); }
56
+ &.jstree-rtl .jstree-last { background:transparent; }
57
+ }
58
+
59
+ // mobile theme attempt
60
+ @media (max-width: 768px) {
61
+ #jstree-dnd.jstree-dnd-responsive when (@responsive = true) {
62
+ line-height:@base-height; font-weight:bold; font-size:1.1em; text-shadow:1px 1px white;
63
+ > i { background:transparent; width:@base-height; height:@base-height; }
64
+ > .jstree-ok { background-image:url("@{image-path}@{base-height}.png"); background-position:0 -(@base-height * 5); background-size:(@base-height * 3) (@base-height * 6); }
65
+ > .jstree-er { background-image:url("@{image-path}@{base-height}.png"); background-position:-(@base-height * 1) -(@base-height * 5); background-size:(@base-height * 3) (@base-height * 6); }
66
+ }
67
+ #jstree-marker.jstree-dnd-responsive when (@responsive = true) {
68
+ border-left-width:10px;
69
+ border-top-width:10px;
70
+ border-bottom-width:10px;
71
+ margin-top:-10px;
72
+ }
73
+ }
74
+
75
+ .jstree-@{theme-name}-responsive when (@responsive = true) {
76
+ @import "responsive.less";
77
+ }
@@ -0,0 +1,104 @@
1
+ .gradient (@color1; @color2) {
2
+ background:@color1;
3
+ background: -webkit-linear-gradient(top, @color1 0%,@color2 100%);
4
+ background: linear-gradient(to bottom, @color1 0%,@color2 100%);
5
+ }
6
+
7
+ .jstree-theme (@base-height, @image, @image-height) {
8
+ @correction: (@image-height - @base-height) / 2;
9
+
10
+ .jstree-node { min-height:@base-height; line-height:@base-height; margin-left:@base-height; min-width:@base-height; }
11
+ .jstree-anchor { line-height:@base-height; height:@base-height; }
12
+ .jstree-icon { width:@base-height; height:@base-height; line-height:@base-height; }
13
+ .jstree-icon:empty { width:@base-height; height:@base-height; line-height:@base-height; }
14
+ &.jstree-rtl .jstree-node { margin-right:@base-height; }
15
+ .jstree-wholerow { height:@base-height; }
16
+
17
+ .jstree-node,
18
+ .jstree-icon { background-image:url("@{image}"); }
19
+ .jstree-node { background-position:-(@image-height * 9 + @correction) -@correction; background-repeat:repeat-y; }
20
+ .jstree-last { background:transparent; }
21
+
22
+ .jstree-open > .jstree-ocl { background-position:-(@image-height * 4 + @correction) -@correction; }
23
+ .jstree-closed > .jstree-ocl { background-position:-(@image-height * 3 + @correction) -@correction; }
24
+ .jstree-leaf > .jstree-ocl { background-position:-(@image-height * 2 + @correction) -@correction; }
25
+
26
+ .jstree-themeicon { background-position:-(@image-height * 8 + @correction) -@correction; }
27
+
28
+ > .jstree-no-dots {
29
+ .jstree-node,
30
+ .jstree-leaf > .jstree-ocl { background:transparent; }
31
+ .jstree-open > .jstree-ocl { background-position:-(@image-height * 1 + @correction) -@correction; }
32
+ .jstree-closed > .jstree-ocl { background-position:-@correction -@correction; }
33
+ }
34
+
35
+ .jstree-disabled {
36
+ background:transparent;
37
+ &.jstree-hovered {
38
+ background:transparent;
39
+ }
40
+ &.jstree-clicked {
41
+ background:#efefef;
42
+ }
43
+ }
44
+
45
+ .jstree-checkbox {
46
+ background-position:-(@image-height * 5 + @correction) -@correction;
47
+ &:hover { background-position:-(@image-height * 5 + @correction) -(@image-height * 1 + @correction); }
48
+ }
49
+
50
+ &.jstree-checkbox-selection .jstree-clicked, .jstree-checked {
51
+ > .jstree-checkbox {
52
+ background-position:-(@image-height * 7 + @correction) -@correction;
53
+ &:hover { background-position:-(@image-height * 7 + @correction) -(@image-height * 1 + @correction); }
54
+ }
55
+ }
56
+ .jstree-anchor {
57
+ > .jstree-undetermined {
58
+ background-position:-(@image-height * 6 + @correction) -@correction;
59
+ &:hover {
60
+ background-position:-(@image-height * 6 + @correction) -(@image-height * 1 + @correction);
61
+ }
62
+ }
63
+ }
64
+ .jstree-checkbox-disabled { opacity:0.8; filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale"); /* Firefox 10+ */ filter: gray; /* IE6-9 */ -webkit-filter: grayscale(100%); /* Chrome 19+ & Safari 6+ */ }
65
+
66
+ > .jstree-striped { background-size:auto (@base-height * 2); }
67
+
68
+ &.jstree-rtl {
69
+ .jstree-node { background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); background-position: 100% 1px; background-repeat:repeat-y; }
70
+ .jstree-last { background:transparent; }
71
+ .jstree-open > .jstree-ocl { background-position:-(@image-height * 4 + @correction) -(@image-height * 1 + @correction); }
72
+ .jstree-closed > .jstree-ocl { background-position:-(@image-height * 3 + @correction) -(@image-height * 1 + @correction); }
73
+ .jstree-leaf > .jstree-ocl { background-position:-(@image-height * 2 + @correction) -(@image-height * 1 + @correction); }
74
+ > .jstree-no-dots {
75
+ .jstree-node,
76
+ .jstree-leaf > .jstree-ocl { background:transparent; }
77
+ .jstree-open > .jstree-ocl { background-position:-(@image-height * 1 + @correction) -(@image-height * 1 + @correction); }
78
+ .jstree-closed > .jstree-ocl { background-position:-@correction -(@image-height * 1 + @correction); }
79
+ }
80
+ }
81
+ .jstree-themeicon-custom { background-color:transparent; background-image:none; background-position:0 0; }
82
+
83
+ > .jstree-container-ul .jstree-loading > .jstree-ocl { background:url("@{image-path}throbber.gif") center center no-repeat; }
84
+
85
+ .jstree-file { background:url("@{image}") -(@image-height * 3 + @correction) -(@image-height * 2 + @correction) no-repeat; }
86
+ .jstree-folder { background:url("@{image}") -(@image-height * 8 + @correction) -(@correction) no-repeat; }
87
+
88
+ > .jstree-container-ul > .jstree-node { margin-left:0; margin-right:0; }
89
+
90
+ // drag'n'drop
91
+ #jstree-dnd& {
92
+ line-height:@base-height; padding:0 4px;
93
+ .jstree-ok,
94
+ .jstree-er { background-image:url("@{image-path}32px.png"); background-repeat:no-repeat; background-color:transparent; }
95
+ i { background:transparent; width:@base-height; height:@base-height; line-height:@base-height; }
96
+ .jstree-ok { background-position: -(@correction) -(@image-height * 2 + @correction); }
97
+ .jstree-er { background-position: -(@image-height * 1 + @correction) -(@image-height * 2 + @correction); }
98
+ }
99
+
100
+ // ellipsis
101
+ .jstree-ellipsis { overflow: hidden; }
102
+ // base height + PADDINGS!
103
+ .jstree-ellipsis .jstree-anchor { width: calc(100% ~"-" (@base-height + 5px)); text-overflow: ellipsis; overflow: hidden; }
104
+ }
@@ -0,0 +1,67 @@
1
+ @media (max-width: 768px) {
2
+ // background image
3
+ .jstree-icon { background-image:url("@{image-path}@{base-height}.png"); }
4
+
5
+ .jstree-node,
6
+ .jstree-leaf > .jstree-ocl { background:transparent; }
7
+
8
+ .jstree-node { min-height:@base-height; line-height:@base-height; margin-left:@base-height; min-width:@base-height; white-space:nowrap; }
9
+ .jstree-anchor { line-height:@base-height; height:@base-height; }
10
+ .jstree-icon, .jstree-icon:empty { width:@base-height; height:@base-height; line-height:@base-height; }
11
+
12
+ > .jstree-container-ul > .jstree-node { margin-left:0; }
13
+ &.jstree-rtl .jstree-node { margin-left:0; margin-right:@base-height; background:transparent; }
14
+ &.jstree-rtl .jstree-container-ul > .jstree-node { margin-right:0; }
15
+
16
+ .jstree-ocl,
17
+ .jstree-themeicon,
18
+ .jstree-checkbox { background-size:(@base-height * 3) (@base-height * 6); }
19
+ .jstree-leaf > .jstree-ocl,
20
+ &.jstree-rtl .jstree-leaf > .jstree-ocl { background:transparent; }
21
+ .jstree-open > .jstree-ocl { background-position:0 0 !important; }
22
+ .jstree-closed > .jstree-ocl { background-position:0 -(@base-height * 1) !important; }
23
+ &.jstree-rtl .jstree-closed > .jstree-ocl { background-position:-(@base-height * 1) 0 !important; }
24
+
25
+ .jstree-themeicon { background-position:-(@base-height * 1) -(@base-height * 1); }
26
+
27
+ .jstree-checkbox, .jstree-checkbox:hover { background-position:-(@base-height * 1) -(@base-height * 2); }
28
+ &.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox,
29
+ &.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover,
30
+ .jstree-checked > .jstree-checkbox,
31
+ .jstree-checked > .jstree-checkbox:hover { background-position:0 -(@base-height * 2); }
32
+ .jstree-anchor > .jstree-undetermined, .jstree-anchor > .jstree-undetermined:hover { background-position:0 -(@base-height * 3); }
33
+
34
+ .jstree-anchor { font-weight:bold; font-size:1.1em; text-shadow:1px 1px white; }
35
+
36
+ > .jstree-striped { background:transparent; }
37
+ .jstree-wholerow { border-top:1px solid @mobile-wholerow-bordert; border-bottom:1px solid @mobile-wholerow-borderb; background:@mobile-wholerow-bg-color; height:@base-height; }
38
+ .jstree-wholerow-hovered { background:@hovered-bg-color; }
39
+ .jstree-wholerow-clicked { background:@clicked-bg-color; }
40
+
41
+ // thanks to PHOTONUI
42
+ .jstree-children .jstree-last > .jstree-wholerow { box-shadow: inset 0 -6px 3px -5px @mobile-wholerow-shadow; }
43
+ .jstree-children .jstree-open > .jstree-wholerow { box-shadow: inset 0 6px 3px -5px @mobile-wholerow-shadow; border-top:0; }
44
+ .jstree-children .jstree-open + .jstree-open { box-shadow:none; }
45
+
46
+ // experiment
47
+ .jstree-node,
48
+ .jstree-icon,
49
+ .jstree-node > .jstree-ocl,
50
+ .jstree-themeicon,
51
+ .jstree-checkbox { background-image:url("@{image-path}@{base-height}.png"); background-size:(@base-height * 3) (@base-height * 6); }
52
+
53
+ .jstree-node { background-position:-(@base-height * 2) 0; background-repeat:repeat-y; }
54
+ .jstree-last { background:transparent; }
55
+ .jstree-leaf > .jstree-ocl { background-position:-(@base-height * 1) -(@base-height * 3); }
56
+ .jstree-last > .jstree-ocl { background-position:-(@base-height * 1) -(@base-height * 4); }
57
+ /*
58
+ .jstree-open > .jstree-ocl,
59
+ .jstree-closed > .jstree-ocl { border-radius:20px; background-color:white; }
60
+ */
61
+
62
+ .jstree-themeicon-custom { background-color:transparent; background-image:none; background-position:0 0; }
63
+ .jstree-file { background:url("@{image-path}@{base-height}.png") 0 -(@base-height * 4) no-repeat; background-size:(@base-height * 3) (@base-height * 6); }
64
+ .jstree-folder { background:url("@{image-path}@{base-height}.png") -(@base-height * 1) -(@base-height * 1) no-repeat; background-size:(@base-height * 3) (@base-height * 6); }
65
+
66
+ > .jstree-container-ul > .jstree-node { margin-left:0; margin-right:0; }
67
+ }
@@ -0,0 +1,38 @@
1
+ (function (factory) {
2
+ "use strict";
3
+ if (typeof define === 'function' && define.amd) {
4
+ define('jstree.checkbox', ['jquery','jstree'], factory);
5
+ }
6
+ else if(typeof exports === 'object') {
7
+ factory(require('jquery'), require('jstree'));
8
+ }
9
+ else {
10
+ factory(jQuery);
11
+ }
12
+ }(function ($, undefined) {
13
+ "use strict";
14
+ if(window.customElements && Object && Object.create) {
15
+ var proto = Object.create(HTMLElement.prototype);
16
+ proto.createdCallback = function () {
17
+ var c = { core : {}, plugins : [] }, i;
18
+ for(i in $.jstree.plugins) {
19
+ if($.jstree.plugins.hasOwnProperty(i) && this.attributes[i]) {
20
+ c.plugins.push(i);
21
+ if(this.getAttribute(i) && JSON.parse(this.getAttribute(i))) {
22
+ c[i] = JSON.parse(this.getAttribute(i));
23
+ }
24
+ }
25
+ }
26
+ for(i in $.jstree.defaults.core) {
27
+ if($.jstree.defaults.core.hasOwnProperty(i) && this.attributes[i]) {
28
+ c.core[i] = JSON.parse(this.getAttribute(i)) || this.getAttribute(i);
29
+ }
30
+ }
31
+ $(this).jstree(c);
32
+ };
33
+ // proto.attributeChangedCallback = function (name, previous, value) { };
34
+ try {
35
+ window.customElements.define("vakata-jstree", function() {}, { prototype: proto });
36
+ } catch (ignore) { }
37
+ }
38
+ }));
@@ -0,0 +1,16 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>Basic Test Suite</title>
6
+ <!-- Load local QUnit. -->
7
+ <link rel="stylesheet" href="libs/qunit.css" media="screen">
8
+ <script src="libs/qunit.js"></script>
9
+ </head>
10
+ <body>
11
+ <div id="qunit"></div>
12
+ <div id="qunit-fixture">this had better work.</div>
13
+ <!-- Load local lib and tests. -->
14
+ <script src="test.js"></script>
15
+ </body>
16
+ </html>
@@ -0,0 +1,244 @@
1
+ /**
2
+ * QUnit v1.12.0 - A JavaScript Unit Testing Framework
3
+ *
4
+ * http://qunitjs.com
5
+ *
6
+ * Copyright 2012 jQuery Foundation and other contributors
7
+ * Released under the MIT license.
8
+ * http://jquery.org/license
9
+ */
10
+
11
+ /** Font Family and Sizes */
12
+
13
+ #qunit-tests, #qunit-header, #qunit-banner, #qunit-testrunner-toolbar, #qunit-userAgent, #qunit-testresult {
14
+ font-family: "Helvetica Neue Light", "HelveticaNeue-Light", "Helvetica Neue", Calibri, Helvetica, Arial, sans-serif;
15
+ }
16
+
17
+ #qunit-testrunner-toolbar, #qunit-userAgent, #qunit-testresult, #qunit-tests li { font-size: small; }
18
+ #qunit-tests { font-size: smaller; }
19
+
20
+
21
+ /** Resets */
22
+
23
+ #qunit-tests, #qunit-header, #qunit-banner, #qunit-userAgent, #qunit-testresult, #qunit-modulefilter {
24
+ margin: 0;
25
+ padding: 0;
26
+ }
27
+
28
+
29
+ /** Header */
30
+
31
+ #qunit-header {
32
+ padding: 0.5em 0 0.5em 1em;
33
+
34
+ color: #8699a4;
35
+ background-color: #0d3349;
36
+
37
+ font-size: 1.5em;
38
+ line-height: 1em;
39
+ font-weight: normal;
40
+
41
+ border-radius: 5px 5px 0 0;
42
+ -moz-border-radius: 5px 5px 0 0;
43
+ -webkit-border-top-right-radius: 5px;
44
+ -webkit-border-top-left-radius: 5px;
45
+ }
46
+
47
+ #qunit-header a {
48
+ text-decoration: none;
49
+ color: #c2ccd1;
50
+ }
51
+
52
+ #qunit-header a:hover,
53
+ #qunit-header a:focus {
54
+ color: #fff;
55
+ }
56
+
57
+ #qunit-testrunner-toolbar label {
58
+ display: inline-block;
59
+ padding: 0 .5em 0 .1em;
60
+ }
61
+
62
+ #qunit-banner {
63
+ height: 5px;
64
+ }
65
+
66
+ #qunit-testrunner-toolbar {
67
+ padding: 0.5em 0 0.5em 2em;
68
+ color: #5E740B;
69
+ background-color: #eee;
70
+ overflow: hidden;
71
+ }
72
+
73
+ #qunit-userAgent {
74
+ padding: 0.5em 0 0.5em 2.5em;
75
+ background-color: #2b81af;
76
+ color: #fff;
77
+ text-shadow: rgba(0, 0, 0, 0.5) 2px 2px 1px;
78
+ }
79
+
80
+ #qunit-modulefilter-container {
81
+ float: right;
82
+ }
83
+
84
+ /** Tests: Pass/Fail */
85
+
86
+ #qunit-tests {
87
+ list-style-position: inside;
88
+ }
89
+
90
+ #qunit-tests li {
91
+ padding: 0.4em 0.5em 0.4em 2.5em;
92
+ border-bottom: 1px solid #fff;
93
+ list-style-position: inside;
94
+ }
95
+
96
+ #qunit-tests.hidepass li.pass, #qunit-tests.hidepass li.running {
97
+ display: none;
98
+ }
99
+
100
+ #qunit-tests li strong {
101
+ cursor: pointer;
102
+ }
103
+
104
+ #qunit-tests li a {
105
+ padding: 0.5em;
106
+ color: #c2ccd1;
107
+ text-decoration: none;
108
+ }
109
+ #qunit-tests li a:hover,
110
+ #qunit-tests li a:focus {
111
+ color: #000;
112
+ }
113
+
114
+ #qunit-tests li .runtime {
115
+ float: right;
116
+ font-size: smaller;
117
+ }
118
+
119
+ .qunit-assert-list {
120
+ margin-top: 0.5em;
121
+ padding: 0.5em;
122
+
123
+ background-color: #fff;
124
+
125
+ border-radius: 5px;
126
+ -moz-border-radius: 5px;
127
+ -webkit-border-radius: 5px;
128
+ }
129
+
130
+ .qunit-collapsed {
131
+ display: none;
132
+ }
133
+
134
+ #qunit-tests table {
135
+ border-collapse: collapse;
136
+ margin-top: .2em;
137
+ }
138
+
139
+ #qunit-tests th {
140
+ text-align: right;
141
+ vertical-align: top;
142
+ padding: 0 .5em 0 0;
143
+ }
144
+
145
+ #qunit-tests td {
146
+ vertical-align: top;
147
+ }
148
+
149
+ #qunit-tests pre {
150
+ margin: 0;
151
+ white-space: pre-wrap;
152
+ word-wrap: break-word;
153
+ }
154
+
155
+ #qunit-tests del {
156
+ background-color: #e0f2be;
157
+ color: #374e0c;
158
+ text-decoration: none;
159
+ }
160
+
161
+ #qunit-tests ins {
162
+ background-color: #ffcaca;
163
+ color: #500;
164
+ text-decoration: none;
165
+ }
166
+
167
+ /*** Test Counts */
168
+
169
+ #qunit-tests b.counts { color: black; }
170
+ #qunit-tests b.passed { color: #5E740B; }
171
+ #qunit-tests b.failed { color: #710909; }
172
+
173
+ #qunit-tests li li {
174
+ padding: 5px;
175
+ background-color: #fff;
176
+ border-bottom: none;
177
+ list-style-position: inside;
178
+ }
179
+
180
+ /*** Passing Styles */
181
+
182
+ #qunit-tests li li.pass {
183
+ color: #3c510c;
184
+ background-color: #fff;
185
+ border-left: 10px solid #C6E746;
186
+ }
187
+
188
+ #qunit-tests .pass { color: #528CE0; background-color: #D2E0E6; }
189
+ #qunit-tests .pass .test-name { color: #366097; }
190
+
191
+ #qunit-tests .pass .test-actual,
192
+ #qunit-tests .pass .test-expected { color: #999999; }
193
+
194
+ #qunit-banner.qunit-pass { background-color: #C6E746; }
195
+
196
+ /*** Failing Styles */
197
+
198
+ #qunit-tests li li.fail {
199
+ color: #710909;
200
+ background-color: #fff;
201
+ border-left: 10px solid #EE5757;
202
+ white-space: pre;
203
+ }
204
+
205
+ #qunit-tests > li:last-child {
206
+ border-radius: 0 0 5px 5px;
207
+ -moz-border-radius: 0 0 5px 5px;
208
+ -webkit-border-bottom-right-radius: 5px;
209
+ -webkit-border-bottom-left-radius: 5px;
210
+ }
211
+
212
+ #qunit-tests .fail { color: #000000; background-color: #EE5757; }
213
+ #qunit-tests .fail .test-name,
214
+ #qunit-tests .fail .module-name { color: #000000; }
215
+
216
+ #qunit-tests .fail .test-actual { color: #EE5757; }
217
+ #qunit-tests .fail .test-expected { color: green; }
218
+
219
+ #qunit-banner.qunit-fail { background-color: #EE5757; }
220
+
221
+
222
+ /** Result */
223
+
224
+ #qunit-testresult {
225
+ padding: 0.5em 0.5em 0.5em 2.5em;
226
+
227
+ color: #2b81af;
228
+ background-color: #D2E0E6;
229
+
230
+ border-bottom: 1px solid white;
231
+ }
232
+ #qunit-testresult .module-name {
233
+ font-weight: bold;
234
+ }
235
+
236
+ /** Fixture */
237
+
238
+ #qunit-fixture {
239
+ position: absolute;
240
+ top: -10000px;
241
+ left: -10000px;
242
+ width: 1000px;
243
+ height: 1000px;
244
+ }