sharkey-web 3.3.1

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 (96) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +24 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.md +19 -0
  5. data/README.md +188 -0
  6. data/Rakefile +8 -0
  7. data/bin/sharkey-web +9 -0
  8. data/config.ru +3 -0
  9. data/lib/sharkey.rb +12 -0
  10. data/lib/sharkey/app.rb +526 -0
  11. data/lib/sharkey/importerexporter.rb +79 -0
  12. data/lib/sharkey/models.rb +295 -0
  13. data/lib/sharkey/public/css/loading.gif +0 -0
  14. data/lib/sharkey/public/css/magicsuggest.css +232 -0
  15. data/lib/sharkey/public/css/nprogress.css +74 -0
  16. data/lib/sharkey/public/css/styles.css +263 -0
  17. data/lib/sharkey/public/css/ui.fancytree.css +545 -0
  18. data/lib/sharkey/public/data/sentences.txt +5 -0
  19. data/lib/sharkey/public/fonts/Quadrata.eot +0 -0
  20. data/lib/sharkey/public/fonts/Quadrata.svg +613 -0
  21. data/lib/sharkey/public/fonts/Quadrata.ttf +0 -0
  22. data/lib/sharkey/public/fonts/Quadrata.woff +0 -0
  23. data/lib/sharkey/public/fonts/Quadrata.zip +0 -0
  24. data/lib/sharkey/public/images/loader.gif +0 -0
  25. data/lib/sharkey/public/images/sharkey-logo.png +0 -0
  26. data/lib/sharkey/public/images/sharkey.png +0 -0
  27. data/lib/sharkey/public/js/ajaxmanager.js +67 -0
  28. data/lib/sharkey/public/js/keybindings.js +92 -0
  29. data/lib/sharkey/public/js/lib/bootstrap.min.js +6 -0
  30. data/lib/sharkey/public/js/lib/jquery-1.9.1.min.js +5 -0
  31. data/lib/sharkey/public/js/lib/jquery-ui.js +16150 -0
  32. data/lib/sharkey/public/js/lib/jquery.bootstrap-autohidingnavbar.js +213 -0
  33. data/lib/sharkey/public/js/lib/jquery.fancytree-all.js +6424 -0
  34. data/lib/sharkey/public/js/lib/jquery.tagcloud.js +92 -0
  35. data/lib/sharkey/public/js/lib/magicsuggest.js +1468 -0
  36. data/lib/sharkey/public/js/lib/mousetrap.min.js +9 -0
  37. data/lib/sharkey/public/js/lib/nprogress.js +476 -0
  38. data/lib/sharkey/public/js/page-add-link-autofill.js +102 -0
  39. data/lib/sharkey/public/js/page-add-link.js +156 -0
  40. data/lib/sharkey/public/js/page-categories.js +348 -0
  41. data/lib/sharkey/public/js/page-edit-link.js +103 -0
  42. data/lib/sharkey/public/js/page-links.js +54 -0
  43. data/lib/sharkey/public/js/page-settings.js +93 -0
  44. data/lib/sharkey/public/js/page-tagcloud.js +35 -0
  45. data/lib/sharkey/public/js/page-tags.js +287 -0
  46. data/lib/sharkey/public/js/scripts.js +147 -0
  47. data/lib/sharkey/public/themes/amelia/style.css +7 -0
  48. data/lib/sharkey/public/themes/bootstrap/style.css +5785 -0
  49. data/lib/sharkey/public/themes/cerulean/style.css +7 -0
  50. data/lib/sharkey/public/themes/cosmo/style.css +7 -0
  51. data/lib/sharkey/public/themes/cyborg/style.css +7 -0
  52. data/lib/sharkey/public/themes/darkly/style.css +7 -0
  53. data/lib/sharkey/public/themes/facebook-like/README.md +6 -0
  54. data/lib/sharkey/public/themes/facebook-like/style.css +6085 -0
  55. data/lib/sharkey/public/themes/flatly/style.css +7 -0
  56. data/lib/sharkey/public/themes/fonts/glyphicons-halflings-regular.eot +0 -0
  57. data/lib/sharkey/public/themes/fonts/glyphicons-halflings-regular.svg +229 -0
  58. data/lib/sharkey/public/themes/fonts/glyphicons-halflings-regular.ttf +0 -0
  59. data/lib/sharkey/public/themes/fonts/glyphicons-halflings-regular.woff +0 -0
  60. data/lib/sharkey/public/themes/holo-like/README.md +5 -0
  61. data/lib/sharkey/public/themes/holo-like/style.css +5997 -0
  62. data/lib/sharkey/public/themes/journal/style.css +7 -0
  63. data/lib/sharkey/public/themes/lumen/style.css +7 -0
  64. data/lib/sharkey/public/themes/readable/style.css +7 -0
  65. data/lib/sharkey/public/themes/simplex/style.css +7 -0
  66. data/lib/sharkey/public/themes/slate/style.css +7 -0
  67. data/lib/sharkey/public/themes/spacelab/style.css +7 -0
  68. data/lib/sharkey/public/themes/superhero/style.css +7 -0
  69. data/lib/sharkey/public/themes/united/style.css +7 -0
  70. data/lib/sharkey/public/themes/yeti/style.css +7 -0
  71. data/lib/sharkey/setting.rb +74 -0
  72. data/lib/sharkey/version.rb +5 -0
  73. data/lib/sharkey/views/404.slim +4 -0
  74. data/lib/sharkey/views/about.slim +7 -0
  75. data/lib/sharkey/views/add_link.slim +157 -0
  76. data/lib/sharkey/views/categories.slim +101 -0
  77. data/lib/sharkey/views/category.slim +22 -0
  78. data/lib/sharkey/views/centered.slim +49 -0
  79. data/lib/sharkey/views/dashboard.slim +107 -0
  80. data/lib/sharkey/views/dashboard_index.slim +26 -0
  81. data/lib/sharkey/views/edit_link.slim +121 -0
  82. data/lib/sharkey/views/help.slim +74 -0
  83. data/lib/sharkey/views/keybindings.slim +58 -0
  84. data/lib/sharkey/views/link.slim +30 -0
  85. data/lib/sharkey/views/links.slim +22 -0
  86. data/lib/sharkey/views/navbar.slim +68 -0
  87. data/lib/sharkey/views/settings.slim +74 -0
  88. data/lib/sharkey/views/settings_index.slim +220 -0
  89. data/lib/sharkey/views/single_category.slim +37 -0
  90. data/lib/sharkey/views/single_link.slim +95 -0
  91. data/lib/sharkey/views/single_tag.slim +33 -0
  92. data/lib/sharkey/views/tag.slim +22 -0
  93. data/lib/sharkey/views/tagcloud.slim +54 -0
  94. data/lib/sharkey/views/tags.slim +99 -0
  95. data/sharkey-web.gemspec +44 -0
  96. metadata +324 -0
@@ -0,0 +1,74 @@
1
+ /* Make clicks pass-through */
2
+ #nprogress {
3
+ pointer-events: none;
4
+ }
5
+
6
+ #nprogress .bar {
7
+ background: #29d;
8
+
9
+ position: fixed;
10
+ z-index: 1031;
11
+ top: 0;
12
+ left: 0;
13
+
14
+ width: 100%;
15
+ height: 2px;
16
+ }
17
+
18
+ /* Fancy blur effect */
19
+ #nprogress .peg {
20
+ display: block;
21
+ position: absolute;
22
+ right: 0px;
23
+ width: 100px;
24
+ height: 100%;
25
+ box-shadow: 0 0 10px #29d, 0 0 5px #29d;
26
+ opacity: 1.0;
27
+
28
+ -webkit-transform: rotate(3deg) translate(0px, -4px);
29
+ -ms-transform: rotate(3deg) translate(0px, -4px);
30
+ transform: rotate(3deg) translate(0px, -4px);
31
+ }
32
+
33
+ /* Remove these to get rid of the spinner */
34
+ #nprogress .spinner {
35
+ display: block;
36
+ position: fixed;
37
+ z-index: 1031;
38
+ top: 15px;
39
+ right: 15px;
40
+ }
41
+
42
+ #nprogress .spinner-icon {
43
+ width: 18px;
44
+ height: 18px;
45
+ box-sizing: border-box;
46
+
47
+ border: solid 2px transparent;
48
+ border-top-color: #29d;
49
+ border-left-color: #29d;
50
+ border-radius: 50%;
51
+
52
+ -webkit-animation: nprogress-spinner 400ms linear infinite;
53
+ animation: nprogress-spinner 400ms linear infinite;
54
+ }
55
+
56
+ .nprogress-custom-parent {
57
+ overflow: hidden;
58
+ position: relative;
59
+ }
60
+
61
+ .nprogress-custom-parent #nprogress .spinner,
62
+ .nprogress-custom-parent #nprogress .bar {
63
+ position: absolute;
64
+ }
65
+
66
+ @-webkit-keyframes nprogress-spinner {
67
+ 0% { -webkit-transform: rotate(0deg); }
68
+ 100% { -webkit-transform: rotate(360deg); }
69
+ }
70
+ @keyframes nprogress-spinner {
71
+ 0% { transform: rotate(0deg); }
72
+ 100% { transform: rotate(360deg); }
73
+ }
74
+
@@ -0,0 +1,263 @@
1
+ /**
2
+ * Default settings - overriding all the themes.
3
+ */
4
+
5
+ /**
6
+ * Sleek custom font for the brand logo
7
+ *
8
+ * Thanks a lot, Web Font Generator!
9
+ * http://www.web-font-generator.com/
10
+ */
11
+ @font-face {
12
+ /* Actually 'Quadrata Preciosa Extended' */
13
+ font-family: 'Quadrata';
14
+ src: url('/fonts/Quadrata.eot?') format('eot'),
15
+ url('/fonts/Quadrata.woff') format('woff'),
16
+ url('/fonts/Quadrata.ttf') format('truetype'),
17
+ url('/fonts/Quadrata.svg#Quadrata') format('svg');
18
+ }
19
+ #the-navbar a.navbar-brand {
20
+ font-family: 'Quadrata';
21
+ font-size: 36pt;
22
+ }
23
+
24
+ /* Moving down everything because
25
+ * we have a fixed navbar 50px tall */
26
+ body {
27
+ padding-top: 50px
28
+ }
29
+
30
+ .sub-header {
31
+ padding-bottom: 10px;
32
+ border-bottom: 1px solid #eee;
33
+ }
34
+
35
+ /**
36
+ * Sidebar settings
37
+ */
38
+ /* Hide for mobile, show later */
39
+ .sidebar {
40
+ display: none;
41
+ }
42
+ @media (min-width: 768px) {
43
+ .sidebar {
44
+ position: fixed;
45
+ top: 51px;
46
+ bottom: 0;
47
+ left: 0;
48
+ z-index: 1000;
49
+ display: block;
50
+ padding: 20px;
51
+ overflow-x: hidden;
52
+ overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */
53
+ background-color: #f5f5f5;
54
+ border-right: 1px solid #eee;
55
+ }
56
+ }
57
+
58
+ /* Sidebar navigation */
59
+ .nav-sidebar {
60
+ margin-right: -21px; /* 20px padding + 1px border */
61
+ margin-bottom: 20px;
62
+ margin-left: -20px;
63
+ }
64
+ .nav-sidebar > li > a {
65
+ padding-right: 20px;
66
+ padding-left: 20px;
67
+ }
68
+ .nav-sidebar > li > a > .badge {
69
+ color: #fff;
70
+ background-color: #428bca;
71
+ }
72
+ .nav-sidebar > .active > a {
73
+ color: #fff;
74
+ background-color: #428bca;
75
+ }
76
+ .nav-sidebar > .active > a > .badge {
77
+ color: #428bca;
78
+ background-color: #fff;
79
+ }
80
+ #the-sidebar {
81
+ /* It's set to position absolute
82
+ * and since we have a 50px fixed navbar
83
+ * we make it have a huge-ass padding instead */
84
+ top: 0;
85
+ padding-top: 65px;
86
+ }
87
+
88
+ /*
89
+ * Main content
90
+ */
91
+
92
+ .main {
93
+ padding: 20px;
94
+ }
95
+ @media (min-width: 768px) {
96
+ .main {
97
+ padding-right: 40px;
98
+ padding-left: 40px;
99
+ }
100
+ }
101
+ .main .page-header {
102
+ margin-top: 0;
103
+ }
104
+
105
+ /* overriding Bootstrap settings */
106
+ .list-group-item:hover {
107
+ text-decoration : none;
108
+ background-color : #f5f5f5;
109
+ }
110
+
111
+ /* specific to Sharkey settings */
112
+
113
+ /* magic thing that makes it appear only when hovered */
114
+ .hoverable-children {
115
+ display: none;
116
+ }
117
+ .hoverable-parent:hover .hoverable-children {
118
+ display: block;
119
+ }
120
+
121
+ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
122
+ * Each single Link
123
+ */
124
+ li.link {
125
+
126
+ }
127
+ li.link .row {
128
+ margin: 0;
129
+ }
130
+ /* what? CSS starts counting from 1??? */
131
+ li.link .row:nth-child(4) {
132
+ margin-top: 10px;
133
+ }
134
+ span.link-title {
135
+ font-size : 130%;
136
+ font-weight : bold;
137
+ float : left;
138
+ }
139
+ span.link-title-short-url {
140
+ color: rgb(100, 100, 100);
141
+ font-size: small;
142
+ font-style: italic;
143
+ vertical-align: sub;
144
+ margin-left: 10px;
145
+ }
146
+
147
+ span.link-checkbox {
148
+ float: left;
149
+ }
150
+ span.link-controls {
151
+ float: right;
152
+ }
153
+ span.link-controls > button,
154
+ span.link-controls > form {
155
+ float: right;
156
+ margin: 0 2px;
157
+ }
158
+
159
+ span.link-description {
160
+ float: left;
161
+ }
162
+ span.link-added,
163
+ span.link-visited {
164
+ font-style: italic;
165
+ font-size: small;
166
+ float: right;
167
+ }
168
+
169
+ /* The link TAGS and CATEGORIES little buttons */
170
+ .link-tag:first-child {
171
+ margin-left: 0;
172
+ }
173
+ .link-tag {
174
+ margin-left: 5px;
175
+ }
176
+
177
+ .link-tag span:hover,
178
+ .link-category span:hover {
179
+ background-color: #428bca;
180
+ }
181
+ .link-tags a:hover,
182
+ .link-categories a:hover {
183
+ text-decoration: none;
184
+ }
185
+
186
+ span.link-internal-link {
187
+ margin: 0 10px;
188
+ float: left;
189
+ }
190
+ span.link-internal-link a:hover {
191
+ background-color: #428bca;
192
+ }
193
+
194
+ .random-sentence {
195
+ font-style: italic;
196
+ font-size: small;
197
+ }
198
+
199
+ .setting h4 {
200
+ border-bottom: 1px solid #eee;
201
+ padding-bottom: 3px;
202
+ }
203
+ #nprogress {
204
+ top: 50px;
205
+ }
206
+
207
+ /* the awesome tagcloud */
208
+ #tagcloud {
209
+ text-align: center;
210
+ }
211
+ #tagcloud a {
212
+ margin: 0 2px;
213
+ text-shadow: 0 1px 1px rgba(207, 207, 207, 1);
214
+ }
215
+
216
+ /* the search form at the navbar */
217
+ #the-navbar .input-group {
218
+ max-width: 360px;
219
+ }
220
+
221
+
222
+ /* Making the navbars inside wells look pretty */
223
+ .well .nav {
224
+ margin-bottom: 2px;
225
+ }
226
+
227
+
228
+ span.spinner-placeholder {
229
+ margin-left: 20px;
230
+ }
231
+
232
+
233
+
234
+
235
+
236
+ /*
237
+ * do a barrel roll!
238
+ */
239
+ @-webkit-keyframes roll {
240
+ from { -webkit-transform: rotate(0deg) }
241
+ to { -webkit-transform: rotate(360deg) }
242
+ }
243
+
244
+ @-moz-keyframes roll {
245
+ from { -moz-transform: rotate(0deg) }
246
+ to { -moz-transform: rotate(360deg) }
247
+ }
248
+
249
+ @keyframes roll {
250
+ from { transform: rotate(0deg) }
251
+ to { transform: rotate(360deg) }
252
+ }
253
+
254
+ .konami-code {
255
+ -moz-animation-name: roll;
256
+ -moz-animation-duration: 4s;
257
+ -moz-animation-iteration-count: 1;
258
+ -webkit-animation-name: roll;
259
+ -webkit-animation-duration: 4s;
260
+ -webkit-animation-iteration-count: 1;
261
+ }
262
+
263
+
@@ -0,0 +1,545 @@
1
+ /*!
2
+ * Fancytree "Bootstrap" skin, forked from the "Win7" skin.
3
+ *
4
+ * It contains some lame modifications, edit at your own risk.
5
+ */
6
+
7
+ /*------------------------------------------------------------------------------
8
+ * Helpers
9
+ *----------------------------------------------------------------------------*/
10
+ .ui-helper-hidden {
11
+ display: none;
12
+ }
13
+ /*------------------------------------------------------------------------------
14
+ * Container and UL / LI
15
+ *----------------------------------------------------------------------------*/
16
+ ul.fancytree-container {
17
+ white-space: nowrap;
18
+ padding: 3px;
19
+ margin: 0;
20
+
21
+ overflow: auto;
22
+
23
+
24
+ min-height: 0%;
25
+ position: relative;
26
+ }
27
+
28
+ ul.fancytree-container:focus {
29
+ /* AVOID THAT UGLY BLUE OUTLINE ON CHROME */
30
+ outline: none;
31
+ }
32
+
33
+ ul.fancytree-container ul {
34
+ padding: 0 0 0 16px;
35
+ margin: 0;
36
+ }
37
+ ul.fancytree-container li {
38
+ list-style-image: none;
39
+ list-style-position: outside;
40
+ list-style-type: none;
41
+ -moz-background-clip: border;
42
+ -moz-background-inline-policy: continuous;
43
+ -moz-background-origin: padding;
44
+ background-attachment: scroll;
45
+ background-color: transparent;
46
+ background-position: 0px 0px;
47
+ background-repeat: repeat-y;
48
+ background-image: none;
49
+ margin: 0;
50
+ padding: 1px 0 0 0;
51
+ }
52
+ ul.fancytree-container li.fancytree-lastsib {
53
+ background-image: none;
54
+ }
55
+ ul.fancytree-no-connector > li {
56
+ background-image: none;
57
+ }
58
+ .ui-fancytree-disabled ul.fancytree-container {
59
+ opacity: 0.5;
60
+ background-color: silver;
61
+ }
62
+ /*------------------------------------------------------------------------------
63
+ * Common icon definitions
64
+ *----------------------------------------------------------------------------*/
65
+ span.fancytree-empty,
66
+ span.fancytree-vline,
67
+ span.fancytree-expander,
68
+ span.fancytree-icon,
69
+ span.fancytree-checkbox,
70
+ span.fancytree-radio,
71
+ span.fancytree-drag-helper-img,
72
+ #fancytree-drop-marker {
73
+ width: 16px;
74
+ height: 16px;
75
+ display: inline-block;
76
+ vertical-align: top;
77
+ background-repeat: no-repeat;
78
+ background-position: left;
79
+ background-image: url("icons.gif");
80
+ background-position: 0px 0px;
81
+ }
82
+ span.fancytree-icon,
83
+ span.fancytree-checkbox,
84
+ span.fancytree-radio,
85
+ span.fancytree-custom-icon {
86
+ margin-top: 1px;
87
+ }
88
+ /* Used by iconclass option */
89
+ span.fancytree-custom-icon {
90
+ display: inline-block;
91
+ }
92
+ /* Used by 'icon' node option: */
93
+ img.fancytree-icon {
94
+ width: 16px;
95
+ height: 16px;
96
+ margin-left: 3px;
97
+ margin-top: 1px;
98
+ vertical-align: top;
99
+ border-style: none;
100
+ }
101
+ /*------------------------------------------------------------------------------
102
+ * Expander icon
103
+ *
104
+ * Note: IE6 doesn't correctly evaluate multiples class names,
105
+ * so we create combined class names that can be used in the CSS.
106
+ *
107
+ * Prefix: fancytree-exp-
108
+ * 1st character: 'e': expanded, 'c': collapsed, 'n': no children
109
+ * 2nd character (optional): 'd': lazy (Delayed)
110
+ * 3rd character (optional): 'l': Last sibling
111
+ *----------------------------------------------------------------------------*/
112
+ span.fancytree-expander {
113
+ cursor: pointer;
114
+ }
115
+ .fancytree-exp-n span.fancytree-expander,
116
+ .fancytree-exp-nl span.fancytree-expander {
117
+ background-image: none;
118
+ cursor: default;
119
+ }
120
+ .fancytree-exp-n span.fancytree-expander,
121
+ .fancytree-exp-n span.fancytree-expander:hover {
122
+ background-position: 0px -64px;
123
+ }
124
+ .fancytree-exp-nl span.fancytree-expander,
125
+ .fancytree-exp-nl span.fancytree-expander:hover {
126
+ background-position: -16px -64px;
127
+ }
128
+ .fancytree-exp-c span.fancytree-expander {
129
+ background-position: 0px -80px;
130
+ }
131
+ .fancytree-exp-c span.fancytree-expander:hover {
132
+ background-position: -16px -80px;
133
+ }
134
+ .fancytree-exp-cl span.fancytree-expander {
135
+ background-position: 0px -96px;
136
+ }
137
+ .fancytree-exp-cl span.fancytree-expander:hover {
138
+ background-position: -16px -96px;
139
+ }
140
+ .fancytree-exp-cd span.fancytree-expander {
141
+ background-position: -64px -80px;
142
+ }
143
+ .fancytree-exp-cd span.fancytree-expander:hover {
144
+ background-position: -80px -80px;
145
+ }
146
+ .fancytree-exp-cdl span.fancytree-expander {
147
+ background-position: -64px -96px;
148
+ }
149
+ .fancytree-exp-cdl span.fancytree-expander:hover {
150
+ background-position: -80px -96px;
151
+ }
152
+ .fancytree-exp-e span.fancytree-expander,
153
+ .fancytree-exp-ed span.fancytree-expander {
154
+ background-position: -32px -80px;
155
+ }
156
+ .fancytree-exp-e span.fancytree-expander:hover,
157
+ .fancytree-exp-ed span.fancytree-expander:hover {
158
+ background-position: -48px -80px;
159
+ }
160
+ .fancytree-exp-el span.fancytree-expander,
161
+ .fancytree-exp-edl span.fancytree-expander {
162
+ background-position: -32px -96px;
163
+ }
164
+ .fancytree-exp-el span.fancytree-expander:hover,
165
+ .fancytree-exp-edl span.fancytree-expander:hover {
166
+ background-position: -48px -96px;
167
+ }
168
+ .fancytree-loading span.fancytree-expander,
169
+ .fancytree-loading span.fancytree-expander:hover,
170
+ .fancytree-statusnode-wait span.fancytree-icon,
171
+ .fancytree-statusnode-wait span.fancytree-icon:hover {
172
+ background-image: url("loading.gif");
173
+ background-position: 0px 0px;
174
+ }
175
+ /* Status node icons */
176
+ .fancytree-statusnode-error span.fancytree-icon {
177
+ background-position: 0px -112px;
178
+ }
179
+ /*------------------------------------------------------------------------------
180
+ * Checkbox icon
181
+ *----------------------------------------------------------------------------*/
182
+ span.fancytree-checkbox {
183
+ margin-left: 3px;
184
+ background-position: 0px -32px;
185
+ }
186
+ span.fancytree-checkbox:hover {
187
+ background-position: -16px -32px;
188
+ }
189
+ .fancytree-partsel span.fancytree-checkbox {
190
+ background-position: -64px -32px;
191
+ }
192
+ .fancytree-partsel span.fancytree-checkbox:hover {
193
+ background-position: -80px -32px;
194
+ }
195
+ .fancytree-selected span.fancytree-checkbox {
196
+ background-position: -32px -32px;
197
+ }
198
+ .fancytree-selected span.fancytree-checkbox:hover {
199
+ background-position: -48px -32px;
200
+ }
201
+ /*------------------------------------------------------------------------------
202
+ * Radiobutton icon
203
+ * This is a customization, that may be activated by overriding the 'checkbox'
204
+ * class name as 'fancytree-radio' in the tree options.
205
+ *----------------------------------------------------------------------------*/
206
+ .fancytree-radio span.fancytree-checkbox {
207
+ background-position: 0px -48px;
208
+ }
209
+ .fancytree-radio span.fancytree-checkbox:hover {
210
+ background-position: -16px -48px;
211
+ }
212
+ .fancytree-radio .fancytree-partsel span.fancytree-checkbox {
213
+ background-position: -64px -48px;
214
+ }
215
+ .fancytree-radio .fancytree-partsel span.fancytree-checkbox:hover {
216
+ background-position: -80px -48px;
217
+ }
218
+ .fancytree-radio .fancytree-selected span.fancytree-checkbox {
219
+ background-position: -32px -48px;
220
+ }
221
+ .fancytree-radio .fancytree-selected span.fancytree-checkbox:hover {
222
+ background-position: -48px -48px;
223
+ }
224
+ /*------------------------------------------------------------------------------
225
+ * Node type icon
226
+ * Note: IE6 doesn't correctly evaluate multiples class names,
227
+ * so we create combined class names that can be used in the CSS.
228
+ *
229
+ * Prefix: fancytree-ico-
230
+ * 1st character: 'e': expanded, 'c': collapsed
231
+ * 2nd character (optional): 'f': folder
232
+ *----------------------------------------------------------------------------*/
233
+ span.fancytree-icon {
234
+ margin-left: 3px;
235
+ background-position: 0px 0px;
236
+ }
237
+ /* Documents */
238
+ .fancytree-ico-c span.fancytree-icon:hover {
239
+ background-position: -16px 0px;
240
+ }
241
+ .fancytree-has-children.fancytree-ico-c span.fancytree-icon {
242
+ background-position: -32px 0px;
243
+ }
244
+ .fancytree-has-children.fancytree-ico-c span.fancytree-icon:hover {
245
+ background-position: -48px 0px;
246
+ }
247
+ .fancytree-ico-e span.fancytree-icon {
248
+ background-position: -64px 0px;
249
+ }
250
+ .fancytree-ico-e span.fancytree-icon:hover {
251
+ background-position: -80px 0px;
252
+ }
253
+ /* Folders */
254
+ .fancytree-ico-cf span.fancytree-icon {
255
+ background-position: 0px -16px;
256
+ }
257
+ .fancytree-ico-cf span.fancytree-icon:hover {
258
+ background-position: -16px -16px;
259
+ }
260
+ .fancytree-has-children.fancytree-ico-cf span.fancytree-icon {
261
+ background-position: -32px -16px;
262
+ }
263
+ .fancytree-has-children.fancytree-ico-cf span.fancytree-icon:hover {
264
+ background-position: -48px -16px;
265
+ }
266
+ .fancytree-ico-ef span.fancytree-icon {
267
+ background-position: -64px -16px;
268
+ }
269
+ .fancytree-ico-ef span.fancytree-icon:hover {
270
+ background-position: -80px -16px;
271
+ }
272
+ /*------------------------------------------------------------------------------
273
+ * Node titles and highlighting
274
+ *----------------------------------------------------------------------------*/
275
+ span.fancytree-node {
276
+ /* See #117 */
277
+ display: inherit;
278
+ width: 100%;
279
+ }
280
+ span.fancytree-title {
281
+ display: inline-block;
282
+ padding-left: 3px;
283
+ padding-right: 3px;
284
+ color: black;
285
+ vertical-align: top;
286
+ margin: 0px;
287
+ margin-left: 3px;
288
+ }
289
+ span.fancytree-node.fancytree-error span.fancytree-title {
290
+
291
+ }
292
+ /*------------------------------------------------------------------------------
293
+ * Drag'n'drop support
294
+ *----------------------------------------------------------------------------*/
295
+ div.fancytree-drag-helper a {
296
+ border: 1px solid gray;
297
+ background-color: white;
298
+ padding-left: 5px;
299
+ padding-right: 5px;
300
+ opacity: 0.8;
301
+ }
302
+ div.fancytree-drag-helper.fancytree-drop-reject {
303
+ border-color: red;
304
+ }
305
+ div.fancytree-drop-accept span.fancytree-drag-helper-img {
306
+ background-position: -32px -112px;
307
+ }
308
+ div.fancytree-drop-reject span.fancytree-drag-helper-img {
309
+ background-position: -16px -112px;
310
+ }
311
+ /*** Drop marker icon *********************************************************/
312
+ #fancytree-drop-marker {
313
+ width: 32px;
314
+ position: absolute;
315
+ background-position: 0px -128px;
316
+ margin: 0;
317
+ }
318
+ #fancytree-drop-marker.fancytree-drop-after,
319
+ #fancytree-drop-marker.fancytree-drop-before {
320
+ width: 64px;
321
+ background-position: 0px -144px;
322
+ }
323
+ #fancytree-drop-marker.fancytree-drop-copy {
324
+ background-position: -64px -128px;
325
+ }
326
+ #fancytree-drop-marker.fancytree-drop-move {
327
+ background-position: -32px -128px;
328
+ }
329
+ /*** Source node while dragging ***********************************************/
330
+ span.fancytree-drag-source {
331
+ background-color: #e0e0e0;
332
+ }
333
+ span.fancytree-drag-source span.fancytree.title {
334
+ color: gray;
335
+ }
336
+ /*** Target node while dragging cursor is over it *****************************/
337
+ span.fancytree-drop-target.fancytree-drop-accept a {
338
+ background-color: #3169C6 !important;
339
+ color: white !important;
340
+ /* @ IE6 */
341
+ text-decoration: none;
342
+ }
343
+ /*------------------------------------------------------------------------------
344
+ * 'table' extension
345
+ *----------------------------------------------------------------------------*/
346
+ table.fancytree-ext-table {
347
+ border-collapse: collapse;
348
+ }
349
+ table.fancytree-ext-table span.fancytree-node {
350
+ display: inline-block;
351
+ }
352
+ /*------------------------------------------------------------------------------
353
+ * 'columnview' extension
354
+ *----------------------------------------------------------------------------*/
355
+ table.fancytree-ext-columnview tbody tr td {
356
+ position: relative;
357
+ border: 1px solid gray;
358
+ vertical-align: top;
359
+ overflow: auto;
360
+ }
361
+ table.fancytree-ext-columnview tbody tr td > ul {
362
+ padding: 0;
363
+ }
364
+ table.fancytree-ext-columnview tbody tr td > ul li {
365
+ list-style-image: none;
366
+ list-style-position: outside;
367
+ list-style-type: none;
368
+ -moz-background-clip: border;
369
+ -moz-background-inline-policy: continuous;
370
+ -moz-background-origin: padding;
371
+ background-attachment: scroll;
372
+ background-color: transparent;
373
+ background-position: 0px 0px;
374
+ background-repeat: repeat-y;
375
+ background-image: none;
376
+ /* no v-lines */
377
+ margin: 0;
378
+ padding: 1px 0 0 0;
379
+ }
380
+ table.fancytree-ext-columnview span.fancytree-node {
381
+ position: relative;
382
+ /* allow positioning of embedded spans */
383
+ display: inline-block;
384
+ }
385
+ table.fancytree-ext-columnview span.fancytree-node.fancytree-expanded {
386
+ background-color: #CBE8F6;
387
+ }
388
+ table.fancytree-ext-columnview .fancytree-has-children span.fancytree-cv-right {
389
+ position: absolute;
390
+ right: 3px;
391
+ background-position: 0px -80px;
392
+ }
393
+ table.fancytree-ext-columnview .fancytree-has-children span.fancytree-cv-right:hover {
394
+ background-position: -16px -80px;
395
+ }
396
+ /*------------------------------------------------------------------------------
397
+ * 'filter' extension
398
+ *----------------------------------------------------------------------------*/
399
+ .fancytree-ext-filter-dimm span.fancytree-node span.fancytree-title {
400
+ color: silver;
401
+ font-weight: lighter;
402
+ }
403
+ .fancytree-ext-filter-dimm tr.fancytree-submatch span.fancytree-title,
404
+ .fancytree-ext-filter-dimm span.fancytree-node.fancytree-submatch span.fancytree-title {
405
+ color: black;
406
+ font-weight: normal;
407
+ }
408
+ .fancytree-ext-filter-dimm tr.fancytree-match span.fancytree-title,
409
+ .fancytree-ext-filter-dimm span.fancytree-node.fancytree-match span.fancytree-title {
410
+ color: black;
411
+ font-weight: bold;
412
+ }
413
+ .fancytree-ext-filter-hide tr.fancytree-hide,
414
+ .fancytree-ext-filter-hide span.fancytree-node.fancytree-hide {
415
+ display: none;
416
+ }
417
+ .fancytree-ext-filter-hide tr.fancytree-submatch span.fancytree-title,
418
+ .fancytree-ext-filter-hide span.fancytree-node.fancytree-submatch span.fancytree-title {
419
+ color: silver;
420
+ font-weight: lighter;
421
+ }
422
+ .fancytree-ext-filter-hide tr.fancytree-match span.fancytree-title,
423
+ .fancytree-ext-filter-hide span.fancytree-node.fancytree-match span.fancytree-title {
424
+ color: black;
425
+ font-weight: normal;
426
+ }
427
+ /*------------------------------------------------------------------------------
428
+ * 'wide' extension
429
+ *----------------------------------------------------------------------------*/
430
+ ul.fancytree-ext-wide span.fancytree-node > span {
431
+ position: relative;
432
+ z-index: 2;
433
+ }
434
+ ul.fancytree-ext-wide span.fancytree-node span.fancytree-title {
435
+ position: relative;
436
+ z-index: 1;
437
+ width: 100%;
438
+ padding-left: 503px;
439
+ margin-left: -500px;
440
+ }
441
+ /*******************************************************************************
442
+ * Styles specific to this skin.
443
+ *
444
+ * This section is automatically generated from the `ui-fancytree.less` template.
445
+ ******************************************************************************/
446
+ /*******************************************************************************
447
+ * Node titles
448
+ */
449
+ span.fancytree-title {
450
+ border: 1px solid transparent;
451
+ border-radius: 3px;
452
+ }
453
+
454
+
455
+ span.fancytree-folder {
456
+ background-color: #FAFAFA;
457
+ }
458
+ /* FOCUSED BY THE KEYBOARD */
459
+ span.fancytree-focused {
460
+ background-color: #ddd;
461
+ }
462
+
463
+
464
+ span.fancytree-title:hover {
465
+
466
+ }
467
+ span.fancytree-focused span.fancytree-title {
468
+
469
+ }
470
+ span.fancytree-active .fancytree-title {
471
+
472
+ }
473
+ .fancytree-treefocus span.fancytree-active .fancytree-title,
474
+ span.fancytree-selected .fancytree-title {
475
+
476
+ }
477
+ span.fancytree-active .fancytree-title:hover,
478
+ span.fancytree-active.fancytree-focused .fancytree-title,
479
+ span.fancytree-selected .fancytree-title:hover,
480
+ span.fancytree-selected.fancytree-focused .fancytree-title {
481
+
482
+ }
483
+ .fancytree-selected .fancytree-title {
484
+ font-style: italic;
485
+ }
486
+ /*******************************************************************************
487
+ * 'table' extension
488
+ */
489
+ table.fancytree-ext-table tbody tr td {
490
+ border: 1px solid #EDEDED;
491
+ }
492
+ table.fancytree-ext-table tbody tr:hover {
493
+ border-color: inherit;
494
+ background: #f8fcfe;
495
+ color: inherit;
496
+ background: -moz-linear-gradient(top, #f8fcfe 0%, #eff9fe 100%);
497
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f8fcfe), color-stop(100%, #eff9fe));
498
+ background: -webkit-linear-gradient(top, #f8fcfe 0%, #eff9fe 100%);
499
+ background: -o-linear-gradient(top, #f8fcfe 0%, #eff9fe 100%);
500
+ background: -ms-linear-gradient(top, #f8fcfe 0%, #eff9fe 100%);
501
+ background: linear-gradient(to bottom, #f8fcfe 0%, #eff9fe 100%);
502
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8fcfe', endColorstr='#eff9fe', GradientType=0);
503
+ outline: 1px solid #D8F0FA;
504
+ }
505
+ table.fancytree-ext-table tbody tr.fancytree-focused {
506
+ outline: 1px dotted #090402;
507
+ }
508
+ table.fancytree-ext-table tbody span.fancytree-focused span.fancytree-title {
509
+ outline: solid dotted black;
510
+ }
511
+ table.fancytree-ext-table tbody span.fancytree-title:hover {
512
+ border: 1px solid transparent;
513
+ background: inherit;
514
+ background: transparent;
515
+ background: none;
516
+ filter: none;
517
+ }
518
+ table.fancytree-ext-table tbody tr.fancytree-active:hover,
519
+ table.fancytree-ext-table tbody tr.fancytree-selected:hover {
520
+ border-color: inherit;
521
+ background: #f2f9fd;
522
+ color: inherit;
523
+ background: -moz-linear-gradient(top, #f2f9fd 0%, #c4e8fa 100%);
524
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f2f9fd), color-stop(100%, #c4e8fa));
525
+ background: -webkit-linear-gradient(top, #f2f9fd 0%, #c4e8fa 100%);
526
+ background: -o-linear-gradient(top, #f2f9fd 0%, #c4e8fa 100%);
527
+ background: -ms-linear-gradient(top, #f2f9fd 0%, #c4e8fa 100%);
528
+ background: linear-gradient(to bottom, #f2f9fd 0%, #c4e8fa 100%);
529
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f2f9fd', endColorstr='#c4e8fa', GradientType=0);
530
+ outline: 1px solid #B6E6FB;
531
+ }
532
+ table.fancytree-ext-table tbody tr.fancytree-active,
533
+ table.fancytree-ext-table tbody tr.fancytree-selected {
534
+ border-color: inherit;
535
+ background: #f6fbfd;
536
+ color: inherit;
537
+ background: -moz-linear-gradient(top, #f6fbfd 0%, #d5effc 100%);
538
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6fbfd), color-stop(100%, #d5effc));
539
+ background: -webkit-linear-gradient(top, #f6fbfd 0%, #d5effc 100%);
540
+ background: -o-linear-gradient(top, #f6fbfd 0%, #d5effc 100%);
541
+ background: -ms-linear-gradient(top, #f6fbfd 0%, #d5effc 100%);
542
+ background: linear-gradient(to bottom, #f6fbfd 0%, #d5effc 100%);
543
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f6fbfd', endColorstr='#d5effc', GradientType=0);
544
+ outline: 1px solid #99DEFD;
545
+ }