rear 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (121) hide show
  1. checksums.yaml +15 -0
  2. data/.travis.yml +7 -0
  3. data/CHANGELOG.md +7 -0
  4. data/Gemfile +20 -0
  5. data/LICENSE +19 -0
  6. data/README.md +101 -0
  7. data/Rakefile +79 -0
  8. data/assets/api.js +307 -0
  9. data/assets/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css +8 -0
  10. data/assets/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js +26 -0
  11. data/assets/bootstrap/css/bootstrap-responsive.min.css +9 -0
  12. data/assets/bootstrap/css/bootstrap.min.css +9 -0
  13. data/assets/bootstrap/img/glyphicons-halflings-white.png +0 -0
  14. data/assets/bootstrap/img/glyphicons-halflings.png +0 -0
  15. data/assets/bootstrap/js/bootstrap.min.js +6 -0
  16. data/assets/jquery.js +5 -0
  17. data/assets/noty/jquery.noty.js +520 -0
  18. data/assets/noty/layouts/top.js +34 -0
  19. data/assets/noty/layouts/topRight.js +43 -0
  20. data/assets/noty/promise.js +432 -0
  21. data/assets/noty/themes/default.js +156 -0
  22. data/assets/select2-bootstrap.css +86 -0
  23. data/assets/select2/select2-spinner.gif +0 -0
  24. data/assets/select2/select2.css +652 -0
  25. data/assets/select2/select2.min.js +22 -0
  26. data/assets/select2/select2.png +0 -0
  27. data/assets/select2/select2x2.png +0 -0
  28. data/assets/ui.css +75 -0
  29. data/assets/xhr.js +4 -0
  30. data/bin/rear +65 -0
  31. data/docs/Assocs.md +100 -0
  32. data/docs/Columns.md +404 -0
  33. data/docs/Deploy.md +62 -0
  34. data/docs/FileManager.md +75 -0
  35. data/docs/Filters.md +341 -0
  36. data/docs/Setup.md +201 -0
  37. data/lib/rear.rb +13 -0
  38. data/lib/rear/actions.rb +98 -0
  39. data/lib/rear/constants.rb +61 -0
  40. data/lib/rear/controller_setup.rb +249 -0
  41. data/lib/rear/helpers.rb +17 -0
  42. data/lib/rear/helpers/class.rb +46 -0
  43. data/lib/rear/helpers/columns.rb +68 -0
  44. data/lib/rear/helpers/filters.rb +147 -0
  45. data/lib/rear/helpers/generic.rb +73 -0
  46. data/lib/rear/helpers/order.rb +47 -0
  47. data/lib/rear/helpers/pager.rb +35 -0
  48. data/lib/rear/helpers/render.rb +37 -0
  49. data/lib/rear/home_controller.rb +10 -0
  50. data/lib/rear/input.rb +341 -0
  51. data/lib/rear/orm.rb +73 -0
  52. data/lib/rear/rear.rb +74 -0
  53. data/lib/rear/setup.rb +9 -0
  54. data/lib/rear/setup/associations.rb +33 -0
  55. data/lib/rear/setup/columns.rb +109 -0
  56. data/lib/rear/setup/filters.rb +314 -0
  57. data/lib/rear/setup/generic.rb +59 -0
  58. data/lib/rear/setup/menu.rb +39 -0
  59. data/lib/rear/templates/editor/ace.slim +7 -0
  60. data/lib/rear/templates/editor/assocs.slim +10 -0
  61. data/lib/rear/templates/editor/boolean.slim +5 -0
  62. data/lib/rear/templates/editor/bulk_edit.slim +75 -0
  63. data/lib/rear/templates/editor/checkbox.slim +5 -0
  64. data/lib/rear/templates/editor/ckeditor.slim +7 -0
  65. data/lib/rear/templates/editor/date.slim +9 -0
  66. data/lib/rear/templates/editor/datetime.slim +9 -0
  67. data/lib/rear/templates/editor/layout.slim +103 -0
  68. data/lib/rear/templates/editor/password.slim +1 -0
  69. data/lib/rear/templates/editor/radio.slim +5 -0
  70. data/lib/rear/templates/editor/select.slim +3 -0
  71. data/lib/rear/templates/editor/string.slim +1 -0
  72. data/lib/rear/templates/editor/text.slim +1 -0
  73. data/lib/rear/templates/editor/time.slim +9 -0
  74. data/lib/rear/templates/error.slim +36 -0
  75. data/lib/rear/templates/filters/boolean.slim +10 -0
  76. data/lib/rear/templates/filters/checkbox.slim +15 -0
  77. data/lib/rear/templates/filters/date.slim +10 -0
  78. data/lib/rear/templates/filters/datetime.slim +10 -0
  79. data/lib/rear/templates/filters/layout.slim +26 -0
  80. data/lib/rear/templates/filters/radio.slim +14 -0
  81. data/lib/rear/templates/filters/select.slim +9 -0
  82. data/lib/rear/templates/filters/string.slim +3 -0
  83. data/lib/rear/templates/filters/text.slim +3 -0
  84. data/lib/rear/templates/filters/time.slim +10 -0
  85. data/lib/rear/templates/home.slim +0 -0
  86. data/lib/rear/templates/layout.slim +78 -0
  87. data/lib/rear/templates/pager.slim +22 -0
  88. data/lib/rear/templates/pane/ace.slim +2 -0
  89. data/lib/rear/templates/pane/assocs.slim +62 -0
  90. data/lib/rear/templates/pane/boolean.slim +2 -0
  91. data/lib/rear/templates/pane/checkbox.slim +5 -0
  92. data/lib/rear/templates/pane/ckeditor.slim +2 -0
  93. data/lib/rear/templates/pane/date.slim +2 -0
  94. data/lib/rear/templates/pane/datetime.slim +2 -0
  95. data/lib/rear/templates/pane/layout.slim +111 -0
  96. data/lib/rear/templates/pane/password.slim +2 -0
  97. data/lib/rear/templates/pane/quickview.slim +21 -0
  98. data/lib/rear/templates/pane/radio.slim +5 -0
  99. data/lib/rear/templates/pane/select.slim +5 -0
  100. data/lib/rear/templates/pane/string.slim +2 -0
  101. data/lib/rear/templates/pane/text.slim +2 -0
  102. data/lib/rear/templates/pane/time.slim +2 -0
  103. data/lib/rear/utils.rb +288 -0
  104. data/rear.gemspec +27 -0
  105. data/test/helpers.rb +33 -0
  106. data/test/models/ar.rb +52 -0
  107. data/test/models/dm.rb +53 -0
  108. data/test/models/sq.rb +58 -0
  109. data/test/setup.rb +4 -0
  110. data/test/templates/adhoc/book/editor/name.slim +1 -0
  111. data/test/templates/adhoc/book/editor/string.slim +1 -0
  112. data/test/templates/adhoc/book/pane/name.slim +1 -0
  113. data/test/templates/adhoc/book/pane/string.slim +1 -0
  114. data/test/templates/shared/shared-templates/editor/string.slim +1 -0
  115. data/test/templates/shared/shared-templates/pane/string.slim +1 -0
  116. data/test/test__assocs.rb +249 -0
  117. data/test/test__columns.rb +269 -0
  118. data/test/test__crud.rb +81 -0
  119. data/test/test__custom_templates.rb +147 -0
  120. data/test/test__filters.rb +228 -0
  121. metadata +220 -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
+ }
Binary file
@@ -0,0 +1,652 @@
1
+ /*
2
+ Version: 3.4.0 Timestamp: Tue May 14 08:27:33 PDT 2013
3
+ */
4
+ .select2-container {
5
+ margin: 0;
6
+ position: relative;
7
+ display: inline-block;
8
+ /* inline-block for ie7 */
9
+ zoom: 1;
10
+ *display: inline;
11
+ vertical-align: middle;
12
+ }
13
+
14
+ .select2-container,
15
+ .select2-drop,
16
+ .select2-search,
17
+ .select2-search input{
18
+ /*
19
+ Force border-box so that % widths fit the parent
20
+ container without overlap because of margin/padding.
21
+
22
+ More Info : http://www.quirksmode.org/css/box.html
23
+ */
24
+ -webkit-box-sizing: border-box; /* webkit */
25
+ -khtml-box-sizing: border-box; /* konqueror */
26
+ -moz-box-sizing: border-box; /* firefox */
27
+ -ms-box-sizing: border-box; /* ie */
28
+ box-sizing: border-box; /* css3 */
29
+ }
30
+
31
+ .select2-container .select2-choice {
32
+ display: block;
33
+ height: 26px;
34
+ padding: 0 0 0 8px;
35
+ overflow: hidden;
36
+ position: relative;
37
+
38
+ border: 1px solid #aaa;
39
+ white-space: nowrap;
40
+ line-height: 26px;
41
+ color: #444;
42
+ text-decoration: none;
43
+
44
+ -webkit-border-radius: 4px;
45
+ -moz-border-radius: 4px;
46
+ border-radius: 4px;
47
+
48
+ -webkit-background-clip: padding-box;
49
+ -moz-background-clip: padding;
50
+ background-clip: padding-box;
51
+
52
+ -webkit-touch-callout: none;
53
+ -webkit-user-select: none;
54
+ -khtml-user-select: none;
55
+ -moz-user-select: none;
56
+ -ms-user-select: none;
57
+ user-select: none;
58
+
59
+ background-color: #fff;
60
+ background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eeeeee), color-stop(0.5, white));
61
+ background-image: -webkit-linear-gradient(center bottom, #eeeeee 0%, white 50%);
62
+ background-image: -moz-linear-gradient(center bottom, #eeeeee 0%, white 50%);
63
+ background-image: -o-linear-gradient(bottom, #eeeeee 0%, #ffffff 50%);
64
+ background-image: -ms-linear-gradient(top, #ffffff 0%, #eeeeee 50%);
65
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffffff', endColorstr = '#eeeeee', GradientType = 0);
66
+ background-image: linear-gradient(top, #ffffff 0%, #eeeeee 50%);
67
+ }
68
+
69
+ .select2-container.select2-drop-above .select2-choice {
70
+ border-bottom-color: #aaa;
71
+
72
+ -webkit-border-radius:0 0 4px 4px;
73
+ -moz-border-radius:0 0 4px 4px;
74
+ border-radius:0 0 4px 4px;
75
+
76
+ background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eeeeee), color-stop(0.9, white));
77
+ background-image: -webkit-linear-gradient(center bottom, #eeeeee 0%, white 90%);
78
+ background-image: -moz-linear-gradient(center bottom, #eeeeee 0%, white 90%);
79
+ background-image: -o-linear-gradient(bottom, #eeeeee 0%, white 90%);
80
+ background-image: -ms-linear-gradient(top, #eeeeee 0%,#ffffff 90%);
81
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#eeeeee',GradientType=0 );
82
+ background-image: linear-gradient(top, #eeeeee 0%,#ffffff 90%);
83
+ }
84
+
85
+ .select2-container.select2-allowclear .select2-choice span {
86
+ margin-right: 42px;
87
+ }
88
+
89
+ .select2-container .select2-choice span {
90
+ margin-right: 26px;
91
+ display: block;
92
+ overflow: hidden;
93
+
94
+ white-space: nowrap;
95
+
96
+ -ms-text-overflow: ellipsis;
97
+ -o-text-overflow: ellipsis;
98
+ text-overflow: ellipsis;
99
+ }
100
+
101
+ .select2-container .select2-choice abbr {
102
+ display: none;
103
+ width: 12px;
104
+ height: 12px;
105
+ position: absolute;
106
+ right: 24px;
107
+ top: 8px;
108
+
109
+ font-size: 1px;
110
+ text-decoration: none;
111
+
112
+ border: 0;
113
+ background: url('select2.png-rear') right top no-repeat;
114
+ cursor: pointer;
115
+ outline: 0;
116
+ }
117
+
118
+ .select2-container.select2-allowclear .select2-choice abbr {
119
+ display: inline-block;
120
+ }
121
+
122
+ .select2-container .select2-choice abbr:hover {
123
+ background-position: right -11px;
124
+ cursor: pointer;
125
+ }
126
+
127
+ .select2-drop-mask {
128
+ position: absolute;
129
+ left: 0;
130
+ top: 0;
131
+ z-index: 9998;
132
+ }
133
+
134
+ .select2-drop {
135
+ width: 100%;
136
+ margin-top:-1px;
137
+ position: absolute;
138
+ z-index: 9999;
139
+ top: 100%;
140
+
141
+ background: #fff;
142
+ color: #000;
143
+ border: 1px solid #aaa;
144
+ border-top: 0;
145
+
146
+ -webkit-border-radius: 0 0 4px 4px;
147
+ -moz-border-radius: 0 0 4px 4px;
148
+ border-radius: 0 0 4px 4px;
149
+
150
+ -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
151
+ -moz-box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
152
+ box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
153
+ }
154
+
155
+ .select2-drop-auto-width {
156
+ border-top: 1px solid #aaa;
157
+ width: auto;
158
+ }
159
+
160
+ .select2-drop-auto-width .select2-search {
161
+ padding-top: 4px;
162
+ }
163
+
164
+ .select2-drop.select2-drop-above {
165
+ margin-top: 1px;
166
+ border-top: 1px solid #aaa;
167
+ border-bottom: 0;
168
+
169
+ -webkit-border-radius: 4px 4px 0 0;
170
+ -moz-border-radius: 4px 4px 0 0;
171
+ border-radius: 4px 4px 0 0;
172
+
173
+ -webkit-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
174
+ -moz-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
175
+ box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
176
+ }
177
+
178
+ .select2-container .select2-choice div {
179
+ display: inline-block;
180
+ width: 18px;
181
+ height: 100%;
182
+ position: absolute;
183
+ right: 0;
184
+ top: 0;
185
+
186
+ border-left: 1px solid #aaa;
187
+ -webkit-border-radius: 0 4px 4px 0;
188
+ -moz-border-radius: 0 4px 4px 0;
189
+ border-radius: 0 4px 4px 0;
190
+
191
+ -webkit-background-clip: padding-box;
192
+ -moz-background-clip: padding;
193
+ background-clip: padding-box;
194
+
195
+ background: #ccc;
196
+ background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #ccc), color-stop(0.6, #eee));
197
+ background-image: -webkit-linear-gradient(center bottom, #ccc 0%, #eee 60%);
198
+ background-image: -moz-linear-gradient(center bottom, #ccc 0%, #eee 60%);
199
+ background-image: -o-linear-gradient(bottom, #ccc 0%, #eee 60%);
200
+ background-image: -ms-linear-gradient(top, #cccccc 0%, #eeeeee 60%);
201
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#eeeeee', endColorstr = '#cccccc', GradientType = 0);
202
+ background-image: linear-gradient(top, #cccccc 0%, #eeeeee 60%);
203
+ }
204
+
205
+ .select2-container .select2-choice div b {
206
+ display: block;
207
+ width: 100%;
208
+ height: 100%;
209
+ background: url('select2.png-rear') no-repeat 0 1px;
210
+ }
211
+
212
+ .select2-search {
213
+ display: inline-block;
214
+ width: 100%;
215
+ min-height: 26px;
216
+ margin: 0;
217
+ padding-left: 4px;
218
+ padding-right: 4px;
219
+
220
+ position: relative;
221
+ z-index: 10000;
222
+
223
+ white-space: nowrap;
224
+ }
225
+
226
+ .select2-search input {
227
+ width: 100%;
228
+ height: auto !important;
229
+ min-height: 26px;
230
+ padding: 4px 20px 4px 5px;
231
+ margin: 0;
232
+
233
+ outline: 0;
234
+ font-family: sans-serif;
235
+ font-size: 1em;
236
+
237
+ border: 1px solid #aaa;
238
+ -webkit-border-radius: 0;
239
+ -moz-border-radius: 0;
240
+ border-radius: 0;
241
+
242
+ -webkit-box-shadow: none;
243
+ -moz-box-shadow: none;
244
+ box-shadow: none;
245
+
246
+ background: #fff url('select2.png-rear') no-repeat 100% -22px;
247
+ background: url('select2.png-rear') no-repeat 100% -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, white), color-stop(0.99, #eeeeee));
248
+ background: url('select2.png-rear') no-repeat 100% -22px, -webkit-linear-gradient(center bottom, white 85%, #eeeeee 99%);
249
+ background: url('select2.png-rear') no-repeat 100% -22px, -moz-linear-gradient(center bottom, white 85%, #eeeeee 99%);
250
+ background: url('select2.png-rear') no-repeat 100% -22px, -o-linear-gradient(bottom, white 85%, #eeeeee 99%);
251
+ background: url('select2.png-rear') no-repeat 100% -22px, -ms-linear-gradient(top, #ffffff 85%, #eeeeee 99%);
252
+ background: url('select2.png-rear') no-repeat 100% -22px, linear-gradient(top, #ffffff 85%, #eeeeee 99%);
253
+ }
254
+
255
+ .select2-drop.select2-drop-above .select2-search input {
256
+ margin-top: 4px;
257
+ }
258
+
259
+ .select2-search input.select2-active {
260
+ background: #fff url('select2-spinner.gif-rear') no-repeat 100%;
261
+ background: url('select2-spinner.gif-rear') no-repeat 100%, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, white), color-stop(0.99, #eeeeee));
262
+ background: url('select2-spinner.gif-rear') no-repeat 100%, -webkit-linear-gradient(center bottom, white 85%, #eeeeee 99%);
263
+ background: url('select2-spinner.gif-rear') no-repeat 100%, -moz-linear-gradient(center bottom, white 85%, #eeeeee 99%);
264
+ background: url('select2-spinner.gif-rear') no-repeat 100%, -o-linear-gradient(bottom, white 85%, #eeeeee 99%);
265
+ background: url('select2-spinner.gif-rear') no-repeat 100%, -ms-linear-gradient(top, #ffffff 85%, #eeeeee 99%);
266
+ background: url('select2-spinner.gif-rear') no-repeat 100%, linear-gradient(top, #ffffff 85%, #eeeeee 99%);
267
+ }
268
+
269
+ .select2-container-active .select2-choice,
270
+ .select2-container-active .select2-choices {
271
+ border: 1px solid #5897fb;
272
+ outline: none;
273
+
274
+ -webkit-box-shadow: 0 0 5px rgba(0,0,0,.3);
275
+ -moz-box-shadow: 0 0 5px rgba(0,0,0,.3);
276
+ box-shadow: 0 0 5px rgba(0,0,0,.3);
277
+ }
278
+
279
+ .select2-dropdown-open .select2-choice {
280
+ border-bottom-color: transparent;
281
+ -webkit-box-shadow: 0 1px 0 #fff inset;
282
+ -moz-box-shadow: 0 1px 0 #fff inset;
283
+ box-shadow: 0 1px 0 #fff inset;
284
+
285
+ -webkit-border-bottom-left-radius: 0;
286
+ -moz-border-radius-bottomleft: 0;
287
+ border-bottom-left-radius: 0;
288
+
289
+ -webkit-border-bottom-right-radius: 0;
290
+ -moz-border-radius-bottomright: 0;
291
+ border-bottom-right-radius: 0;
292
+
293
+ background-color: #eee;
294
+ background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, white), color-stop(0.5, #eeeeee));
295
+ background-image: -webkit-linear-gradient(center bottom, white 0%, #eeeeee 50%);
296
+ background-image: -moz-linear-gradient(center bottom, white 0%, #eeeeee 50%);
297
+ background-image: -o-linear-gradient(bottom, white 0%, #eeeeee 50%);
298
+ background-image: -ms-linear-gradient(top, #ffffff 0%,#eeeeee 50%);
299
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#ffffff',GradientType=0 );
300
+ background-image: linear-gradient(top, #ffffff 0%,#eeeeee 50%);
301
+ }
302
+
303
+ .select2-dropdown-open.select2-drop-above .select2-choice,
304
+ .select2-dropdown-open.select2-drop-above .select2-choices {
305
+ border: 1px solid #5897fb;
306
+ border-top-color: transparent;
307
+
308
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, white), color-stop(0.5, #eeeeee));
309
+ background-image: -webkit-linear-gradient(center top, white 0%, #eeeeee 50%);
310
+ background-image: -moz-linear-gradient(center top, white 0%, #eeeeee 50%);
311
+ background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%);
312
+ background-image: -ms-linear-gradient(bottom, #ffffff 0%,#eeeeee 50%);
313
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#ffffff',GradientType=0 );
314
+ background-image: linear-gradient(bottom, #ffffff 0%,#eeeeee 50%);
315
+ }
316
+
317
+ .select2-dropdown-open .select2-choice div {
318
+ background: transparent;
319
+ border-left: none;
320
+ filter: none;
321
+ }
322
+ .select2-dropdown-open .select2-choice div b {
323
+ background-position: -18px 1px;
324
+ }
325
+
326
+ /* results */
327
+ .select2-results {
328
+ max-height: 200px;
329
+ padding: 0 0 0 4px;
330
+ margin: 4px 4px 4px 0;
331
+ position: relative;
332
+ overflow-x: hidden;
333
+ overflow-y: auto;
334
+ -webkit-tap-highlight-color: rgba(0,0,0,0);
335
+ }
336
+
337
+ .select2-results ul.select2-result-sub {
338
+ margin: 0;
339
+ padding-left: 0;
340
+ }
341
+
342
+ .select2-results ul.select2-result-sub > li .select2-result-label { padding-left: 20px }
343
+ .select2-results ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 40px }
344
+ .select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 60px }
345
+ .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 }
346
+ .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 }
347
+ .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 }
348
+ .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 }
349
+
350
+ .select2-results li {
351
+ list-style: none;
352
+ display: list-item;
353
+ background-image: none;
354
+ }
355
+
356
+ .select2-results li.select2-result-with-children > .select2-result-label {
357
+ font-weight: bold;
358
+ }
359
+
360
+ .select2-results .select2-result-label {
361
+ padding: 3px 7px 4px;
362
+ margin: 0;
363
+ cursor: pointer;
364
+
365
+ min-height: 1em;
366
+
367
+ -webkit-touch-callout: none;
368
+ -webkit-user-select: none;
369
+ -khtml-user-select: none;
370
+ -moz-user-select: none;
371
+ -ms-user-select: none;
372
+ user-select: none;
373
+ }
374
+
375
+ .select2-results .select2-highlighted {
376
+ background: #3875d7;
377
+ color: #fff;
378
+ }
379
+
380
+ .select2-results li em {
381
+ background: #feffde;
382
+ font-style: normal;
383
+ }
384
+
385
+ .select2-results .select2-highlighted em {
386
+ background: transparent;
387
+ }
388
+
389
+ .select2-results .select2-highlighted ul {
390
+ background: white;
391
+ color: #000;
392
+ }
393
+
394
+
395
+ .select2-results .select2-no-results,
396
+ .select2-results .select2-searching,
397
+ .select2-results .select2-selection-limit {
398
+ background: #f4f4f4;
399
+ display: list-item;
400
+ }
401
+
402
+ /*
403
+ disabled look for disabled choices in the results dropdown
404
+ */
405
+ .select2-results .select2-disabled.select2-highlighted {
406
+ color: #666;
407
+ background: #f4f4f4;
408
+ display: list-item;
409
+ cursor: default;
410
+ }
411
+ .select2-results .select2-disabled {
412
+ background: #f4f4f4;
413
+ display: list-item;
414
+ cursor: default;
415
+ }
416
+
417
+ .select2-results .select2-selected {
418
+ display: none;
419
+ }
420
+
421
+ .select2-more-results.select2-active {
422
+ background: #f4f4f4 url('select2-spinner.gif-rear') no-repeat 100%;
423
+ }
424
+
425
+ .select2-more-results {
426
+ background: #f4f4f4;
427
+ display: list-item;
428
+ }
429
+
430
+ /* disabled styles */
431
+
432
+ .select2-container.select2-container-disabled .select2-choice {
433
+ background-color: #f4f4f4;
434
+ background-image: none;
435
+ border: 1px solid #ddd;
436
+ cursor: default;
437
+ }
438
+
439
+ .select2-container.select2-container-disabled .select2-choice div {
440
+ background-color: #f4f4f4;
441
+ background-image: none;
442
+ border-left: 0;
443
+ }
444
+
445
+ .select2-container.select2-container-disabled .select2-choice abbr {
446
+ display: none;
447
+ }
448
+
449
+
450
+ /* multiselect */
451
+
452
+ .select2-container-multi .select2-choices {
453
+ height: auto !important;
454
+ height: 1%;
455
+ margin: 0;
456
+ padding: 0;
457
+ position: relative;
458
+
459
+ border: 1px solid #aaa;
460
+ cursor: text;
461
+ overflow: hidden;
462
+
463
+ background-color: #fff;
464
+ background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff));
465
+ background-image: -webkit-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
466
+ background-image: -moz-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
467
+ background-image: -o-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
468
+ background-image: -ms-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
469
+ background-image: linear-gradient(top, #eeeeee 1%, #ffffff 15%);
470
+ }
471
+
472
+ .select2-locked {
473
+ padding: 3px 5px 3px 5px !important;
474
+ }
475
+
476
+ .select2-container-multi .select2-choices {
477
+ min-height: 26px;
478
+ }
479
+
480
+ .select2-container-multi.select2-container-active .select2-choices {
481
+ border: 1px solid #5897fb;
482
+ outline: none;
483
+
484
+ -webkit-box-shadow: 0 0 5px rgba(0,0,0,.3);
485
+ -moz-box-shadow: 0 0 5px rgba(0,0,0,.3);
486
+ box-shadow: 0 0 5px rgba(0,0,0,.3);
487
+ }
488
+ .select2-container-multi .select2-choices li {
489
+ float: left;
490
+ list-style: none;
491
+ }
492
+ .select2-container-multi .select2-choices .select2-search-field {
493
+ margin: 0;
494
+ padding: 0;
495
+ white-space: nowrap;
496
+ }
497
+
498
+ .select2-container-multi .select2-choices .select2-search-field input {
499
+ padding: 5px;
500
+ margin: 1px 0;
501
+
502
+ font-family: sans-serif;
503
+ font-size: 100%;
504
+ color: #666;
505
+ outline: 0;
506
+ border: 0;
507
+ -webkit-box-shadow: none;
508
+ -moz-box-shadow: none;
509
+ box-shadow: none;
510
+ background: transparent !important;
511
+ }
512
+
513
+ .select2-container-multi .select2-choices .select2-search-field input.select2-active {
514
+ background: #fff url('select2-spinner.gif-rear') no-repeat 100% !important;
515
+ }
516
+
517
+ .select2-default {
518
+ color: #999 !important;
519
+ }
520
+
521
+ .select2-container-multi .select2-choices .select2-search-choice {
522
+ padding: 3px 5px 3px 18px;
523
+ margin: 3px 0 3px 5px;
524
+ position: relative;
525
+
526
+ line-height: 13px;
527
+ color: #333;
528
+ cursor: default;
529
+ border: 1px solid #aaaaaa;
530
+
531
+ -webkit-border-radius: 3px;
532
+ -moz-border-radius: 3px;
533
+ border-radius: 3px;
534
+
535
+ -webkit-box-shadow: 0 0 2px #ffffff inset, 0 1px 0 rgba(0,0,0,0.05);
536
+ -moz-box-shadow: 0 0 2px #ffffff inset, 0 1px 0 rgba(0,0,0,0.05);
537
+ box-shadow: 0 0 2px #ffffff inset, 0 1px 0 rgba(0,0,0,0.05);
538
+
539
+ -webkit-background-clip: padding-box;
540
+ -moz-background-clip: padding;
541
+ background-clip: padding-box;
542
+
543
+ -webkit-touch-callout: none;
544
+ -webkit-user-select: none;
545
+ -khtml-user-select: none;
546
+ -moz-user-select: none;
547
+ -ms-user-select: none;
548
+ user-select: none;
549
+
550
+ background-color: #e4e4e4;
551
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#f4f4f4', GradientType=0 );
552
+ 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));
553
+ background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
554
+ background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
555
+ background-image: -o-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
556
+ background-image: -ms-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
557
+ background-image: linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
558
+ }
559
+ .select2-container-multi .select2-choices .select2-search-choice span {
560
+ cursor: default;
561
+ }
562
+ .select2-container-multi .select2-choices .select2-search-choice-focus {
563
+ background: #d4d4d4;
564
+ }
565
+
566
+ .select2-search-choice-close {
567
+ display: block;
568
+ width: 12px;
569
+ height: 13px;
570
+ position: absolute;
571
+ right: 3px;
572
+ top: 4px;
573
+
574
+ font-size: 1px;
575
+ outline: none;
576
+ background: url('select2.png-rear') right top no-repeat;
577
+ }
578
+
579
+ .select2-container-multi .select2-search-choice-close {
580
+ left: 3px;
581
+ }
582
+
583
+ .select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover {
584
+ background-position: right -11px;
585
+ }
586
+ .select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close {
587
+ background-position: right -11px;
588
+ }
589
+
590
+ /* disabled styles */
591
+ .select2-container-multi.select2-container-disabled .select2-choices{
592
+ background-color: #f4f4f4;
593
+ background-image: none;
594
+ border: 1px solid #ddd;
595
+ cursor: default;
596
+ }
597
+
598
+ .select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice {
599
+ padding: 3px 5px 3px 5px;
600
+ border: 1px solid #ddd;
601
+ background-image: none;
602
+ background-color: #f4f4f4;
603
+ }
604
+
605
+ .select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close { display: none;
606
+ background:none;
607
+ }
608
+ /* end multiselect */
609
+
610
+
611
+ .select2-result-selectable .select2-match,
612
+ .select2-result-unselectable .select2-match {
613
+ text-decoration: underline;
614
+ }
615
+
616
+ .select2-offscreen, .select2-offscreen:focus {
617
+ clip: rect(0 0 0 0);
618
+ width: 1px;
619
+ height: 1px;
620
+ border: 0;
621
+ margin: 0;
622
+ padding: 0;
623
+ overflow: hidden;
624
+ position: absolute;
625
+ outline: 0;
626
+ left: 0px;
627
+ }
628
+
629
+ .select2-display-none {
630
+ display: none;
631
+ }
632
+
633
+ .select2-measure-scrollbar {
634
+ position: absolute;
635
+ top: -10000px;
636
+ left: -10000px;
637
+ width: 100px;
638
+ height: 100px;
639
+ overflow: scroll;
640
+ }
641
+ /* Retina-ize icons */
642
+
643
+ @media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi) {
644
+ .select2-search input, .select2-search-choice-close, .select2-container .select2-choice abbr, .select2-container .select2-choice div b {
645
+ background-image: url('select2x2.png-rear') !important;
646
+ background-repeat: no-repeat !important;
647
+ background-size: 60px 40px !important;
648
+ }
649
+ .select2-search input {
650
+ background-position: 100% -21px !important;
651
+ }
652
+ }