sharkey-web 3.3.1

Sign up to get free protection for your applications and to get access to all the features.
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
+ }