frontline 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. data/CHANGELOG.md +0 -0
  2. data/LICENSE +19 -0
  3. data/README.md +92 -0
  4. data/Rakefile +21 -0
  5. data/assets/ansi_up.js +143 -0
  6. data/assets/api.js +533 -0
  7. data/assets/bootstrap/css/bootstrap-responsive.min.css +9 -0
  8. data/assets/bootstrap/css/bootstrap.min.css +9 -0
  9. data/assets/bootstrap/img/glyphicons-halflings-white.png +0 -0
  10. data/assets/bootstrap/img/glyphicons-halflings.png +0 -0
  11. data/assets/bootstrap/js/bootstrap.min.js +6 -0
  12. data/assets/jquery.cookie.js +95 -0
  13. data/assets/jquery.js +6 -0
  14. data/assets/noty/jquery.noty.js +520 -0
  15. data/assets/noty/layouts/top.js +34 -0
  16. data/assets/noty/layouts/topRight.js +43 -0
  17. data/assets/noty/promise.js +432 -0
  18. data/assets/noty/themes/default.js +156 -0
  19. data/assets/select2-bootstrap.css +86 -0
  20. data/assets/select2/select2-spinner.gif +0 -0
  21. data/assets/select2/select2.css +615 -0
  22. data/assets/select2/select2.min.js +22 -0
  23. data/assets/select2/select2.png +0 -0
  24. data/assets/select2/select2x2.png +0 -0
  25. data/assets/typeahead.js-bootstrap.css +49 -0
  26. data/assets/typeahead.min.js +7 -0
  27. data/assets/ui.css +28 -0
  28. data/assets/xhr.js +19 -0
  29. data/bin/frontline +19 -0
  30. data/frontline.gemspec +31 -0
  31. data/images/0.png +0 -0
  32. data/lib/frontline.rb +23 -0
  33. data/lib/frontline/actions.rb +15 -0
  34. data/lib/frontline/app.rb +86 -0
  35. data/lib/frontline/controllers/controllers.rb +71 -0
  36. data/lib/frontline/controllers/index.rb +167 -0
  37. data/lib/frontline/controllers/models.rb +104 -0
  38. data/lib/frontline/controllers/sources.rb +11 -0
  39. data/lib/frontline/frontline.rb +11 -0
  40. data/lib/frontline/helpers.rb +179 -0
  41. data/lib/frontline/inflect.rb +183 -0
  42. data/lib/frontline/templates/controllers/controller.slim +27 -0
  43. data/lib/frontline/templates/controllers/index.slim +56 -0
  44. data/lib/frontline/templates/controllers/route.slim +17 -0
  45. data/lib/frontline/templates/controllers/route_editor.slim +45 -0
  46. data/lib/frontline/templates/controllers/route_layout.slim +88 -0
  47. data/lib/frontline/templates/editor.slim +17 -0
  48. data/lib/frontline/templates/error.slim +36 -0
  49. data/lib/frontline/templates/index/applications.slim +123 -0
  50. data/lib/frontline/templates/layout.slim +182 -0
  51. data/lib/frontline/templates/models/index.slim +31 -0
  52. data/lib/frontline/templates/models/migration.slim +46 -0
  53. data/lib/frontline/templates/models/migration_layout.slim +159 -0
  54. data/lib/frontline/templates/models/model.slim +34 -0
  55. metadata +245 -0
@@ -0,0 +1,156 @@
1
+ ;(function($) {
2
+
3
+ $.noty.themes.defaultTheme = {
4
+ name: 'defaultTheme',
5
+ helpers: {
6
+ borderFix: function() {
7
+ if (this.options.dismissQueue) {
8
+ var selector = this.options.layout.container.selector + ' ' + this.options.layout.parent.selector;
9
+ switch (this.options.layout.name) {
10
+ case 'top':
11
+ $(selector).css({borderRadius: '0px 0px 0px 0px'});
12
+ $(selector).last().css({borderRadius: '0px 0px 5px 5px'}); break;
13
+ case 'topCenter': case 'topLeft': case 'topRight':
14
+ case 'bottomCenter': case 'bottomLeft': case 'bottomRight':
15
+ case 'center': case 'centerLeft': case 'centerRight': case 'inline':
16
+ $(selector).css({borderRadius: '0px 0px 0px 0px'});
17
+ $(selector).first().css({'border-top-left-radius': '5px', 'border-top-right-radius': '5px'});
18
+ $(selector).last().css({'border-bottom-left-radius': '5px', 'border-bottom-right-radius': '5px'}); break;
19
+ case 'bottom':
20
+ $(selector).css({borderRadius: '0px 0px 0px 0px'});
21
+ $(selector).first().css({borderRadius: '5px 5px 0px 0px'}); break;
22
+ default: break;
23
+ }
24
+ }
25
+ }
26
+ },
27
+ modal: {
28
+ css: {
29
+ position: 'fixed',
30
+ width: '100%',
31
+ height: '100%',
32
+ backgroundColor: '#000',
33
+ zIndex: 10000,
34
+ opacity: 0.6,
35
+ display: 'none',
36
+ left: 0,
37
+ top: 0
38
+ }
39
+ },
40
+ style: function() {
41
+
42
+ this.$bar.css({
43
+ overflow: 'hidden',
44
+ background: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAoCAYAAAAPOoFWAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAPZJREFUeNq81tsOgjAMANB2ov7/7ypaN7IlIwi9rGuT8QSc9EIDAsAznxvY4pXPKr05RUE5MEVB+TyWfCEl9LZApYopCmo9C4FKSMtYoI8Bwv79aQJU4l6hXXCZrQbokJEksxHo9KMOgc6w1atHXM8K9DVC7FQnJ0i8iK3QooGgbnyKgMDygBWyYFZoqx4qS27KqLZJjA1D0jK6QJcYEQEiWv9PGkTsbqxQ8oT+ZtZB6AkdsJnQDnMoHXHLGKOgDYuCWmYhEERCI5gaamW0bnHdA3k2ltlIN+2qKRyCND0bhqSYCyTB3CAOc4WusBEIpkeBuPgJMAAX8Hs1NfqHRgAAAABJRU5ErkJggg==') repeat-x scroll left top #fff"
45
+ });
46
+
47
+ this.$message.css({
48
+ fontSize: '13px',
49
+ lineHeight: '16px',
50
+ textAlign: 'center',
51
+ padding: '8px 10px 9px',
52
+ width: 'auto',
53
+ position: 'relative'
54
+ });
55
+
56
+ this.$closeButton.css({
57
+ position: 'absolute',
58
+ top: 4, right: 4,
59
+ width: 10, height: 10,
60
+ background: "url(data:image/png;base64,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)",
61
+ display: 'none',
62
+ cursor: 'pointer'
63
+ });
64
+
65
+ this.$buttons.css({
66
+ padding: 5,
67
+ textAlign: 'right',
68
+ borderTop: '1px solid #ccc',
69
+ backgroundColor: '#fff'
70
+ });
71
+
72
+ this.$buttons.find('button').css({
73
+ marginLeft: 5
74
+ });
75
+
76
+ this.$buttons.find('button:first').css({
77
+ marginLeft: 0
78
+ });
79
+
80
+ this.$bar.bind({
81
+ mouseenter: function() { $(this).find('.noty_close').fadeIn(); },
82
+ mouseleave: function() { $(this).find('.noty_close').fadeOut(); }
83
+ });
84
+
85
+ switch (this.options.layout.name) {
86
+ case 'top':
87
+ this.$bar.css({
88
+ borderRadius: '0px 0px 5px 5px',
89
+ borderBottom: '2px solid #eee',
90
+ borderLeft: '2px solid #eee',
91
+ borderRight: '2px solid #eee',
92
+ boxShadow: "0 2px 4px rgba(0, 0, 0, 0.1)"
93
+ });
94
+ break;
95
+ case 'topCenter': case 'center': case 'bottomCenter': case 'inline':
96
+ this.$bar.css({
97
+ borderRadius: '5px',
98
+ border: '1px solid #eee',
99
+ boxShadow: "0 2px 4px rgba(0, 0, 0, 0.1)"
100
+ });
101
+ this.$message.css({fontSize: '13px', textAlign: 'center'});
102
+ break;
103
+ case 'topLeft': case 'topRight':
104
+ case 'bottomLeft': case 'bottomRight':
105
+ case 'centerLeft': case 'centerRight':
106
+ this.$bar.css({
107
+ borderRadius: '5px',
108
+ border: '1px solid #eee',
109
+ boxShadow: "0 2px 4px rgba(0, 0, 0, 0.1)"
110
+ });
111
+ this.$message.css({fontSize: '13px', textAlign: 'left'});
112
+ break;
113
+ case 'bottom':
114
+ this.$bar.css({
115
+ borderRadius: '5px 5px 0px 0px',
116
+ borderTop: '2px solid #eee',
117
+ borderLeft: '2px solid #eee',
118
+ borderRight: '2px solid #eee',
119
+ boxShadow: "0 -2px 4px rgba(0, 0, 0, 0.1)"
120
+ });
121
+ break;
122
+ default:
123
+ this.$bar.css({
124
+ border: '2px solid #eee',
125
+ boxShadow: "0 2px 4px rgba(0, 0, 0, 0.1)"
126
+ });
127
+ break;
128
+ }
129
+
130
+ switch (this.options.type) {
131
+ case 'alert': case 'notification':
132
+ this.$bar.css({backgroundColor: '#FFF', borderColor: '#CCC', color: '#444'}); break;
133
+ case 'warning':
134
+ this.$bar.css({backgroundColor: '#FFEAA8', borderColor: '#FFC237', color: '#826200'});
135
+ this.$buttons.css({borderTop: '1px solid #FFC237'}); break;
136
+ case 'error':
137
+ this.$bar.css({backgroundColor: 'red', borderColor: 'darkred', color: '#FFF'});
138
+ this.$message.css({fontWeight: 'bold'});
139
+ this.$buttons.css({borderTop: '1px solid darkred'}); break;
140
+ case 'information':
141
+ this.$bar.css({backgroundColor: '#57B7E2', borderColor: '#0B90C4', color: '#FFF'});
142
+ this.$buttons.css({borderTop: '1px solid #0B90C4'}); break;
143
+ case 'success':
144
+ this.$bar.css({backgroundColor: 'lightgreen', borderColor: '#50C24E', color: 'darkgreen'});
145
+ this.$buttons.css({borderTop: '1px solid #50C24E'});break;
146
+ default:
147
+ this.$bar.css({backgroundColor: '#FFF', borderColor: '#CCC', color: '#444'}); break;
148
+ }
149
+ },
150
+ callback: {
151
+ onShow: function() { $.noty.themes.defaultTheme.helpers.borderFix.apply(this); },
152
+ onClose: function() { $.noty.themes.defaultTheme.helpers.borderFix.apply(this); }
153
+ }
154
+ };
155
+
156
+ })(jQuery);
@@ -0,0 +1,86 @@
1
+ .select2-container {
2
+ vertical-align:middle;
3
+ }
4
+
5
+ .select2-container .select2-choice {
6
+ border:1px solid #ccc;
7
+ height:28px;
8
+ border-radius: 3px;
9
+ line-height: 29px;
10
+ background-image:none;
11
+ filter:none;
12
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
13
+ -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
14
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
15
+ }
16
+
17
+ .select2-container .select2-choice div {
18
+ border-left:none;
19
+ background:none;
20
+ background-image:none;
21
+ filter:none;
22
+ }
23
+
24
+ .select2-container-multi .select2-choices {
25
+ border:1px solid #ccc;
26
+ border-radius: 3px;
27
+ background-image:none;
28
+ filter:none;
29
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
30
+ -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
31
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
32
+ }
33
+
34
+ .control-group.error .select2-container-multi .select2-choices {
35
+ border-color:#B94A48;
36
+ }
37
+
38
+ .control-group.error .select2-container .select2-choice {
39
+ border-color:#B94A48;
40
+ }
41
+
42
+ .select2-container-multi .select2-choices .select2-search-field {
43
+ height:28px;
44
+ line-height: 27px;
45
+ }
46
+
47
+ .select2-container-active .select2-choice,
48
+ .select2-container-active .select2-choices,
49
+ .select2-container-multi.select2-container-active .select2-choices {
50
+ border-color: rgba(82, 168, 236, 0.8);
51
+ outline: none;
52
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 8px rgba(82, 168, 236, 0.6);
53
+ -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);
54
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 8px rgba(82, 168, 236, 0.6);
55
+ }
56
+
57
+ .input-append .select2-container, .input-prepend .select2-container {
58
+ font-size:14px;
59
+ }
60
+
61
+ .input-prepend .select2-container > a.select2-choice,
62
+ .input-prepend .select2-container-multi .select2-choices {
63
+ border-top-left-radius: 0px;
64
+ border-bottom-left-radius: 0px;
65
+ }
66
+
67
+ .input-append .select2-container > a,
68
+ .input-append .select2-container-multi .select2-choices {
69
+ border-top-right-radius: 0px;
70
+ border-bottom-right-radius: 0px;
71
+ }
72
+
73
+ .input-prepend .select2-container > a.select2-choice > div,
74
+ .input-append .select2-container > a.select2-choice > div {
75
+ display:none;
76
+ }
77
+
78
+ /**
79
+ * This stops the quick flash when a native selectbox is shown and
80
+ * then replaced by a select2 input when javascript kicks in. This can be
81
+ * removed if javascript is not present
82
+ */
83
+ select.select2 {
84
+ height:28px;
85
+ visibility:hidden;
86
+ }
@@ -0,0 +1,615 @@
1
+ /*
2
+ Version: 3.3.2 Timestamp: Mon Mar 25 12:14:18 PDT 2013
3
+ */
4
+ .select2-container {
5
+ position: relative;
6
+ display: inline-block;
7
+ /* inline-block for ie7 */
8
+ zoom: 1;
9
+ *display: inline;
10
+ vertical-align: middle;
11
+ }
12
+
13
+ .select2-container,
14
+ .select2-drop,
15
+ .select2-search,
16
+ .select2-search input{
17
+ /*
18
+ Force border-box so that % widths fit the parent
19
+ container without overlap because of margin/padding.
20
+
21
+ More Info : http://www.quirksmode.org/css/box.html
22
+ */
23
+ -webkit-box-sizing: border-box; /* webkit */
24
+ -khtml-box-sizing: border-box; /* konqueror */
25
+ -moz-box-sizing: border-box; /* firefox */
26
+ -ms-box-sizing: border-box; /* ie */
27
+ box-sizing: border-box; /* css3 */
28
+ }
29
+
30
+ .select2-container .select2-choice {
31
+ display: block;
32
+ height: 26px;
33
+ padding: 0 0 0 8px;
34
+ overflow: hidden;
35
+ position: relative;
36
+
37
+ border: 1px solid #aaa;
38
+ white-space: nowrap;
39
+ line-height: 26px;
40
+ color: #444;
41
+ text-decoration: none;
42
+
43
+ -webkit-border-radius: 4px;
44
+ -moz-border-radius: 4px;
45
+ border-radius: 4px;
46
+
47
+ -webkit-background-clip: padding-box;
48
+ -moz-background-clip: padding;
49
+ background-clip: padding-box;
50
+
51
+ -webkit-touch-callout: none;
52
+ -webkit-user-select: none;
53
+ -khtml-user-select: none;
54
+ -moz-user-select: none;
55
+ -ms-user-select: none;
56
+ user-select: none;
57
+
58
+ background-color: #fff;
59
+ background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eeeeee), color-stop(0.5, white));
60
+ background-image: -webkit-linear-gradient(center bottom, #eeeeee 0%, white 50%);
61
+ background-image: -moz-linear-gradient(center bottom, #eeeeee 0%, white 50%);
62
+ background-image: -o-linear-gradient(bottom, #eeeeee 0%, #ffffff 50%);
63
+ background-image: -ms-linear-gradient(top, #ffffff 0%, #eeeeee 50%);
64
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffffff', endColorstr = '#eeeeee', GradientType = 0);
65
+ background-image: linear-gradient(top, #ffffff 0%, #eeeeee 50%);
66
+ }
67
+
68
+ .select2-container.select2-drop-above .select2-choice {
69
+ border-bottom-color: #aaa;
70
+
71
+ -webkit-border-radius:0 0 4px 4px;
72
+ -moz-border-radius:0 0 4px 4px;
73
+ border-radius:0 0 4px 4px;
74
+
75
+ background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eeeeee), color-stop(0.9, white));
76
+ background-image: -webkit-linear-gradient(center bottom, #eeeeee 0%, white 90%);
77
+ background-image: -moz-linear-gradient(center bottom, #eeeeee 0%, white 90%);
78
+ background-image: -o-linear-gradient(bottom, #eeeeee 0%, white 90%);
79
+ background-image: -ms-linear-gradient(top, #eeeeee 0%,#ffffff 90%);
80
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#eeeeee',GradientType=0 );
81
+ background-image: linear-gradient(top, #eeeeee 0%,#ffffff 90%);
82
+ }
83
+
84
+ .select2-container .select2-choice span {
85
+ margin-right: 26px;
86
+ display: block;
87
+ overflow: hidden;
88
+
89
+ white-space: nowrap;
90
+
91
+ -ms-text-overflow: ellipsis;
92
+ -o-text-overflow: ellipsis;
93
+ text-overflow: ellipsis;
94
+ }
95
+
96
+ .select2-container .select2-choice abbr {
97
+ display: block;
98
+ width: 12px;
99
+ height: 12px;
100
+ position: absolute;
101
+ right: 26px;
102
+ top: 8px;
103
+
104
+ font-size: 1px;
105
+ text-decoration: none;
106
+
107
+ border: 0;
108
+ background: url('select2.png-frontline') right top no-repeat;
109
+ cursor: pointer;
110
+ outline: 0;
111
+ }
112
+ .select2-container .select2-choice abbr:hover {
113
+ background-position: right -11px;
114
+ cursor: pointer;
115
+ }
116
+
117
+ .select2-drop-mask {
118
+ position: absolute;
119
+ left: 0;
120
+ top: 0;
121
+ z-index: 9998;
122
+ background-color: #fff;
123
+ opacity: 0;
124
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; /* works in IE 8 */
125
+ filter: "alpha(opacity=0)"; /* expected to work in IE 8 */
126
+ filter: alpha(opacity=0); /* IE 4-7 */
127
+ }
128
+
129
+ .select2-drop {
130
+ width: 100%;
131
+ margin-top:-1px;
132
+ position: absolute;
133
+ z-index: 9999;
134
+ top: 100%;
135
+
136
+ background: #fff;
137
+ color: #000;
138
+ border: 1px solid #aaa;
139
+ border-top: 0;
140
+
141
+ -webkit-border-radius: 0 0 4px 4px;
142
+ -moz-border-radius: 0 0 4px 4px;
143
+ border-radius: 0 0 4px 4px;
144
+
145
+ -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
146
+ -moz-box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
147
+ box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
148
+ }
149
+
150
+ .select2-drop.select2-drop-above {
151
+ margin-top: 1px;
152
+ border-top: 1px solid #aaa;
153
+ border-bottom: 0;
154
+
155
+ -webkit-border-radius: 4px 4px 0 0;
156
+ -moz-border-radius: 4px 4px 0 0;
157
+ border-radius: 4px 4px 0 0;
158
+
159
+ -webkit-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
160
+ -moz-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
161
+ box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
162
+ }
163
+
164
+ .select2-container .select2-choice div {
165
+ display: block;
166
+ width: 18px;
167
+ height: 100%;
168
+ position: absolute;
169
+ right: 0;
170
+ top: 0;
171
+
172
+ border-left: 1px solid #aaa;
173
+ -webkit-border-radius: 0 4px 4px 0;
174
+ -moz-border-radius: 0 4px 4px 0;
175
+ border-radius: 0 4px 4px 0;
176
+
177
+ -webkit-background-clip: padding-box;
178
+ -moz-background-clip: padding;
179
+ background-clip: padding-box;
180
+
181
+ background: #ccc;
182
+ background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #ccc), color-stop(0.6, #eee));
183
+ background-image: -webkit-linear-gradient(center bottom, #ccc 0%, #eee 60%);
184
+ background-image: -moz-linear-gradient(center bottom, #ccc 0%, #eee 60%);
185
+ background-image: -o-linear-gradient(bottom, #ccc 0%, #eee 60%);
186
+ background-image: -ms-linear-gradient(top, #cccccc 0%, #eeeeee 60%);
187
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#eeeeee', endColorstr = '#cccccc', GradientType = 0);
188
+ background-image: linear-gradient(top, #cccccc 0%, #eeeeee 60%);
189
+ }
190
+
191
+ .select2-container .select2-choice div b {
192
+ display: block;
193
+ width: 100%;
194
+ height: 100%;
195
+ background: url('select2.png-frontline') no-repeat 0 1px;
196
+ }
197
+
198
+ .select2-search {
199
+ display: inline-block;
200
+ width: 100%;
201
+ min-height: 26px;
202
+ margin: 0;
203
+ padding-left: 4px;
204
+ padding-right: 4px;
205
+
206
+ position: relative;
207
+ z-index: 10000;
208
+
209
+ white-space: nowrap;
210
+ }
211
+
212
+ .select2-search-hidden {
213
+ display: block;
214
+ position: absolute;
215
+ left: -10000px;
216
+ }
217
+
218
+ .select2-search input {
219
+ width: 100%;
220
+ height: auto !important;
221
+ min-height: 26px;
222
+ padding: 4px 20px 4px 5px;
223
+ margin: 0;
224
+
225
+ outline: 0;
226
+ font-family: sans-serif;
227
+ font-size: 1em;
228
+
229
+ border: 1px solid #aaa;
230
+ -webkit-border-radius: 0;
231
+ -moz-border-radius: 0;
232
+ border-radius: 0;
233
+
234
+ -webkit-box-shadow: none;
235
+ -moz-box-shadow: none;
236
+ box-shadow: none;
237
+
238
+ background: #fff url('select2.png-frontline') no-repeat 100% -22px;
239
+ background: url('select2.png-frontline') no-repeat 100% -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, white), color-stop(0.99, #eeeeee));
240
+ background: url('select2.png-frontline') no-repeat 100% -22px, -webkit-linear-gradient(center bottom, white 85%, #eeeeee 99%);
241
+ background: url('select2.png-frontline') no-repeat 100% -22px, -moz-linear-gradient(center bottom, white 85%, #eeeeee 99%);
242
+ background: url('select2.png-frontline') no-repeat 100% -22px, -o-linear-gradient(bottom, white 85%, #eeeeee 99%);
243
+ background: url('select2.png-frontline') no-repeat 100% -22px, -ms-linear-gradient(top, #ffffff 85%, #eeeeee 99%);
244
+ background: url('select2.png-frontline') no-repeat 100% -22px, linear-gradient(top, #ffffff 85%, #eeeeee 99%);
245
+ }
246
+
247
+ .select2-drop.select2-drop-above .select2-search input {
248
+ margin-top: 4px;
249
+ }
250
+
251
+ .select2-search input.select2-active {
252
+ background: #fff url('select2-spinner.gif-frontline') no-repeat 100%;
253
+ background: url('select2-spinner.gif-frontline') no-repeat 100%, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, white), color-stop(0.99, #eeeeee));
254
+ background: url('select2-spinner.gif-frontline') no-repeat 100%, -webkit-linear-gradient(center bottom, white 85%, #eeeeee 99%);
255
+ background: url('select2-spinner.gif-frontline') no-repeat 100%, -moz-linear-gradient(center bottom, white 85%, #eeeeee 99%);
256
+ background: url('select2-spinner.gif-frontline') no-repeat 100%, -o-linear-gradient(bottom, white 85%, #eeeeee 99%);
257
+ background: url('select2-spinner.gif-frontline') no-repeat 100%, -ms-linear-gradient(top, #ffffff 85%, #eeeeee 99%);
258
+ background: url('select2-spinner.gif-frontline') no-repeat 100%, linear-gradient(top, #ffffff 85%, #eeeeee 99%);
259
+ }
260
+
261
+ .select2-container-active .select2-choice,
262
+ .select2-container-active .select2-choices {
263
+ border: 1px solid #5897fb;
264
+ outline: none;
265
+
266
+ -webkit-box-shadow: 0 0 5px rgba(0,0,0,.3);
267
+ -moz-box-shadow: 0 0 5px rgba(0,0,0,.3);
268
+ box-shadow: 0 0 5px rgba(0,0,0,.3);
269
+ }
270
+
271
+ .select2-dropdown-open .select2-choice {
272
+ border-bottom-color: transparent;
273
+ -webkit-box-shadow: 0 1px 0 #fff inset;
274
+ -moz-box-shadow: 0 1px 0 #fff inset;
275
+ box-shadow: 0 1px 0 #fff inset;
276
+
277
+ -webkit-border-bottom-left-radius: 0;
278
+ -moz-border-radius-bottomleft: 0;
279
+ border-bottom-left-radius: 0;
280
+
281
+ -webkit-border-bottom-right-radius: 0;
282
+ -moz-border-radius-bottomright: 0;
283
+ border-bottom-right-radius: 0;
284
+
285
+ background-color: #eee;
286
+ background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, white), color-stop(0.5, #eeeeee));
287
+ background-image: -webkit-linear-gradient(center bottom, white 0%, #eeeeee 50%);
288
+ background-image: -moz-linear-gradient(center bottom, white 0%, #eeeeee 50%);
289
+ background-image: -o-linear-gradient(bottom, white 0%, #eeeeee 50%);
290
+ background-image: -ms-linear-gradient(top, #ffffff 0%,#eeeeee 50%);
291
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#ffffff',GradientType=0 );
292
+ background-image: linear-gradient(top, #ffffff 0%,#eeeeee 50%);
293
+ }
294
+
295
+ .select2-dropdown-open .select2-choice div {
296
+ background: transparent;
297
+ border-left: none;
298
+ filter: none;
299
+ }
300
+ .select2-dropdown-open .select2-choice div b {
301
+ background-position: -18px 1px;
302
+ }
303
+
304
+ /* results */
305
+ .select2-results {
306
+ max-height: 200px;
307
+ padding: 0 0 0 4px;
308
+ margin: 4px 4px 4px 0;
309
+ position: relative;
310
+ overflow-x: hidden;
311
+ overflow-y: auto;
312
+ -webkit-tap-highlight-color: rgba(0,0,0,0);
313
+ }
314
+
315
+ .select2-results ul.select2-result-sub {
316
+ margin: 0;
317
+ }
318
+
319
+ .select2-results ul.select2-result-sub > li .select2-result-label { padding-left: 20px }
320
+ .select2-results ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 40px }
321
+ .select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 60px }
322
+ .select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 80px }
323
+ .select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 100px }
324
+ .select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 110px }
325
+ .select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 120px }
326
+
327
+ .select2-results li {
328
+ list-style: none;
329
+ display: list-item;
330
+ background-image: none;
331
+ }
332
+
333
+ .select2-results li.select2-result-with-children > .select2-result-label {
334
+ font-weight: bold;
335
+ }
336
+
337
+ .select2-results .select2-result-label {
338
+ padding: 3px 7px 4px;
339
+ margin: 0;
340
+ cursor: pointer;
341
+
342
+ min-height: 1em;
343
+
344
+ -webkit-touch-callout: none;
345
+ -webkit-user-select: none;
346
+ -khtml-user-select: none;
347
+ -moz-user-select: none;
348
+ -ms-user-select: none;
349
+ user-select: none;
350
+ }
351
+
352
+ .select2-results .select2-highlighted {
353
+ background: #3875d7;
354
+ color: #fff;
355
+ }
356
+
357
+ .select2-results li em {
358
+ background: #feffde;
359
+ font-style: normal;
360
+ }
361
+
362
+ .select2-results .select2-highlighted em {
363
+ background: transparent;
364
+ }
365
+
366
+ .select2-results .select2-highlighted ul {
367
+ background: white;
368
+ color: #000;
369
+ }
370
+
371
+
372
+ .select2-results .select2-no-results,
373
+ .select2-results .select2-searching,
374
+ .select2-results .select2-selection-limit {
375
+ background: #f4f4f4;
376
+ display: list-item;
377
+ }
378
+
379
+ /*
380
+ disabled look for disabled choices in the results dropdown
381
+ */
382
+ .select2-results .select2-disabled.select2-highlighted {
383
+ color: #666;
384
+ background: #f4f4f4;
385
+ display: list-item;
386
+ cursor: default;
387
+ }
388
+ .select2-results .select2-disabled {
389
+ background: #f4f4f4;
390
+ display: list-item;
391
+ cursor: default;
392
+ }
393
+
394
+ .select2-results .select2-selected {
395
+ display: none;
396
+ }
397
+
398
+ .select2-more-results.select2-active {
399
+ background: #f4f4f4 url('select2-spinner.gif-frontline') no-repeat 100%;
400
+ }
401
+
402
+ .select2-more-results {
403
+ background: #f4f4f4;
404
+ display: list-item;
405
+ }
406
+
407
+ /* disabled styles */
408
+
409
+ .select2-container.select2-container-disabled .select2-choice {
410
+ background-color: #f4f4f4;
411
+ background-image: none;
412
+ border: 1px solid #ddd;
413
+ cursor: default;
414
+ }
415
+
416
+ .select2-container.select2-container-disabled .select2-choice div {
417
+ background-color: #f4f4f4;
418
+ background-image: none;
419
+ border-left: 0;
420
+ }
421
+
422
+ .select2-container.select2-container-disabled .select2-choice abbr {
423
+ display: none
424
+ }
425
+
426
+
427
+ /* multiselect */
428
+
429
+ .select2-container-multi .select2-choices {
430
+ height: auto !important;
431
+ height: 1%;
432
+ margin: 0;
433
+ padding: 0;
434
+ position: relative;
435
+
436
+ border: 1px solid #aaa;
437
+ cursor: text;
438
+ overflow: hidden;
439
+
440
+ background-color: #fff;
441
+ background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff));
442
+ background-image: -webkit-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
443
+ background-image: -moz-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
444
+ background-image: -o-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
445
+ background-image: -ms-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
446
+ background-image: linear-gradient(top, #eeeeee 1%, #ffffff 15%);
447
+ }
448
+
449
+ .select2-locked {
450
+ padding: 3px 5px 3px 5px !important;
451
+ }
452
+
453
+ .select2-container-multi .select2-choices {
454
+ min-height: 26px;
455
+ }
456
+
457
+ .select2-container-multi.select2-container-active .select2-choices {
458
+ border: 1px solid #5897fb;
459
+ outline: none;
460
+
461
+ -webkit-box-shadow: 0 0 5px rgba(0,0,0,.3);
462
+ -moz-box-shadow: 0 0 5px rgba(0,0,0,.3);
463
+ box-shadow: 0 0 5px rgba(0,0,0,.3);
464
+ }
465
+ .select2-container-multi .select2-choices li {
466
+ float: left;
467
+ list-style: none;
468
+ }
469
+ .select2-container-multi .select2-choices .select2-search-field {
470
+ margin: 0;
471
+ padding: 0;
472
+ white-space: nowrap;
473
+ }
474
+
475
+ .select2-container-multi .select2-choices .select2-search-field input {
476
+ padding: 5px;
477
+ margin: 1px 0;
478
+
479
+ font-family: sans-serif;
480
+ font-size: 100%;
481
+ color: #666;
482
+ outline: 0;
483
+ border: 0;
484
+ -webkit-box-shadow: none;
485
+ -moz-box-shadow: none;
486
+ box-shadow: none;
487
+ background: transparent !important;
488
+ }
489
+
490
+ .select2-container-multi .select2-choices .select2-search-field input.select2-active {
491
+ background: #fff url('select2-spinner.gif-frontline') no-repeat 100% !important;
492
+ }
493
+
494
+ .select2-default {
495
+ color: #999 !important;
496
+ }
497
+
498
+ .select2-container-multi .select2-choices .select2-search-choice {
499
+ padding: 3px 5px 3px 18px;
500
+ margin: 3px 0 3px 5px;
501
+ position: relative;
502
+
503
+ line-height: 13px;
504
+ color: #333;
505
+ cursor: default;
506
+ border: 1px solid #aaaaaa;
507
+
508
+ -webkit-border-radius: 3px;
509
+ -moz-border-radius: 3px;
510
+ border-radius: 3px;
511
+
512
+ -webkit-box-shadow: 0 0 2px #ffffff inset, 0 1px 0 rgba(0,0,0,0.05);
513
+ -moz-box-shadow: 0 0 2px #ffffff inset, 0 1px 0 rgba(0,0,0,0.05);
514
+ box-shadow: 0 0 2px #ffffff inset, 0 1px 0 rgba(0,0,0,0.05);
515
+
516
+ -webkit-background-clip: padding-box;
517
+ -moz-background-clip: padding;
518
+ background-clip: padding-box;
519
+
520
+ -webkit-touch-callout: none;
521
+ -webkit-user-select: none;
522
+ -khtml-user-select: none;
523
+ -moz-user-select: none;
524
+ -ms-user-select: none;
525
+ user-select: none;
526
+
527
+ background-color: #e4e4e4;
528
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#f4f4f4', GradientType=0 );
529
+ background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee));
530
+ background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
531
+ background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
532
+ background-image: -o-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
533
+ background-image: -ms-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
534
+ background-image: linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
535
+ }
536
+ .select2-container-multi .select2-choices .select2-search-choice span {
537
+ cursor: default;
538
+ }
539
+ .select2-container-multi .select2-choices .select2-search-choice-focus {
540
+ background: #d4d4d4;
541
+ }
542
+
543
+ .select2-search-choice-close {
544
+ display: block;
545
+ width: 12px;
546
+ height: 13px;
547
+ position: absolute;
548
+ right: 3px;
549
+ top: 4px;
550
+
551
+ font-size: 1px;
552
+ outline: none;
553
+ background: url('select2.png-frontline') right top no-repeat;
554
+ }
555
+
556
+ .select2-container-multi .select2-search-choice-close {
557
+ left: 3px;
558
+ }
559
+
560
+ .select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover {
561
+ background-position: right -11px;
562
+ }
563
+ .select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close {
564
+ background-position: right -11px;
565
+ }
566
+
567
+ /* disabled styles */
568
+ .select2-container-multi.select2-container-disabled .select2-choices{
569
+ background-color: #f4f4f4;
570
+ background-image: none;
571
+ border: 1px solid #ddd;
572
+ cursor: default;
573
+ }
574
+
575
+ .select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice {
576
+ padding: 3px 5px 3px 5px;
577
+ border: 1px solid #ddd;
578
+ background-image: none;
579
+ background-color: #f4f4f4;
580
+ }
581
+
582
+ .select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close {
583
+ display: none;
584
+ }
585
+ /* end multiselect */
586
+
587
+
588
+ .select2-result-selectable .select2-match,
589
+ .select2-result-unselectable .select2-match {
590
+ text-decoration: underline;
591
+ }
592
+
593
+ .select2-offscreen {
594
+ border: 0;
595
+ clip: rect(0 0 0 0);
596
+ height: 1px;
597
+ margin: -1px;
598
+ overflow: hidden;
599
+ padding: 0;
600
+ position: absolute;
601
+ width: 1px;
602
+ }
603
+
604
+ /* Retina-ize icons */
605
+
606
+ @media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi) {
607
+ .select2-search input, .select2-search-choice-close, .select2-container .select2-choice abbr, .select2-container .select2-choice div b {
608
+ background-image: url('select2x2.png-frontline') !important;
609
+ background-repeat: no-repeat !important;
610
+ background-size: 60px 40px !important;
611
+ }
612
+ .select2-search input {
613
+ background-position: 100% -21px !important;
614
+ }
615
+ }