express_admin 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +37 -0
  4. data/Rakefile +32 -0
  5. data/app/assets/fonts/app_express.eot +0 -0
  6. data/app/assets/fonts/app_express.svg +21 -0
  7. data/app/assets/fonts/app_express.ttf +0 -0
  8. data/app/assets/fonts/app_express.woff +0 -0
  9. data/app/assets/fonts/ionicons.eot +0 -0
  10. data/app/assets/fonts/ionicons.svg +1899 -0
  11. data/app/assets/fonts/ionicons.ttf +0 -0
  12. data/app/assets/fonts/ionicons.woff +0 -0
  13. data/app/assets/javascripts/express_admin/admin.js +30 -0
  14. data/app/assets/javascripts/express_admin/dataTables/dataTables.foundation.js +183 -0
  15. data/app/assets/javascripts/express_admin/dataTables/jquery.dataTables.js +14382 -0
  16. data/app/assets/javascripts/express_admin/utility.js +30 -0
  17. data/app/assets/javascripts/express_admin.js +7 -0
  18. data/app/assets/stylesheets/dataTables/dataTables.foundation.css.erb +217 -0
  19. data/app/assets/stylesheets/express_admin/components/_empty_state.sass +10 -0
  20. data/app/assets/stylesheets/express_admin/components/_megadropdown.sass +71 -0
  21. data/app/assets/stylesheets/express_admin/express_icons.sass +56 -0
  22. data/app/assets/stylesheets/express_admin/foundation_and_overrides.scss +1443 -0
  23. data/app/assets/stylesheets/express_admin/globals/_mixins.sass +9 -0
  24. data/app/assets/stylesheets/express_admin/globals/_typography.sass +30 -0
  25. data/app/assets/stylesheets/express_admin/globals/_variables.sass +16 -0
  26. data/app/assets/stylesheets/express_admin/plugins/_dataTables.sass +118 -0
  27. data/app/assets/stylesheets/express_admin/plugins/_select2.sass +91 -0
  28. data/app/assets/stylesheets/express_admin/screen.sass +47 -0
  29. data/app/assets/stylesheets/express_admin/sections/_devise.sass +42 -0
  30. data/app/assets/stylesheets/express_admin/sections/_header.sass +98 -0
  31. data/app/assets/stylesheets/express_admin/sections/_main_content.sass +63 -0
  32. data/app/assets/stylesheets/express_admin/sections/_sidebar.sass +42 -0
  33. data/app/assets/stylesheets/express_admin/shared/_alerts.sass +45 -0
  34. data/app/assets/stylesheets/express_admin/shared/_breadcrumbs.sass +3 -0
  35. data/app/assets/stylesheets/express_admin/shared/_buttons.sass +33 -0
  36. data/app/assets/stylesheets/express_admin/shared/_forms.sass +99 -0
  37. data/app/assets/stylesheets/express_admin/shared/_labels.sass +16 -0
  38. data/app/assets/stylesheets/express_admin/shared/_loading.sass +2 -0
  39. data/app/assets/stylesheets/express_admin/shared/_media_object.sass +23 -0
  40. data/app/assets/stylesheets/express_admin/shared/_messages.sass +12 -0
  41. data/app/assets/stylesheets/express_admin/shared/_navigation.sass +20 -0
  42. data/app/assets/stylesheets/express_admin/shared/_progress.sass +3 -0
  43. data/app/assets/stylesheets/express_admin/shared/_reveal.sass +20 -0
  44. data/app/assets/stylesheets/express_admin/shared/_tables.sass +75 -0
  45. data/app/assets/stylesheets/express_admin/shared/_tabs.sass +25 -0
  46. data/app/assets/stylesheets/express_admin/shared/_widgets.sass +57 -0
  47. data/app/assets/stylesheets/express_admin.css +9 -0
  48. data/app/assets/stylesheets/ionicons/ionicons.css.sass +1873 -0
  49. data/app/components/express_admin/addon_sidebar_component.rb +47 -0
  50. data/app/components/express_admin/flash_message_component.rb +19 -0
  51. data/app/components/express_admin/main_region.rb +9 -0
  52. data/app/components/express_admin/mega_menu_component.rb +68 -0
  53. data/app/components/express_admin/page_header_component.rb +39 -0
  54. data/app/components/express_admin/setting_form.rb +45 -0
  55. data/app/components/express_admin/sidebar_region.rb +11 -0
  56. data/app/components/express_admin/smart_form.rb +70 -0
  57. data/app/components/express_admin/smart_table.rb +97 -0
  58. data/app/components/express_admin/widget_box.rb +22 -0
  59. data/app/helpers/express_admin/admin_helper.rb +104 -0
  60. data/app/helpers/express_admin/module_settings_helper.rb +53 -0
  61. data/app/views/express_admin/dashboard/show.html.et +6 -0
  62. data/app/views/layouts/express_admin/admin.html.et +31 -0
  63. data/app/views/layouts/express_admin/external.html.et +15 -0
  64. data/app/views/shared/express_admin/_messages.html.et +1 -0
  65. data/app/views/shared/express_admin/_navigation_bar.html.et +20 -0
  66. data/app/views/shared/express_admin/_navigation_bar_profile.html.et +8 -0
  67. data/app/views/shared/express_admin/_title.html.et +8 -0
  68. data/config/initializers/gravatar_image_tag.rb +4 -0
  69. data/lib/express_admin/engine.rb +52 -0
  70. data/lib/express_admin/menu.rb +62 -0
  71. data/lib/express_admin/version.rb +3 -0
  72. data/lib/express_admin.rb +4 -0
  73. data/lib/generators/express_admin/install/USAGE +23 -0
  74. data/lib/generators/express_admin/install/install_generator.rb +97 -0
  75. data/lib/generators/express_admin/install/templates/assets/javascripts/application.js +1 -0
  76. data/lib/generators/express_admin/install/templates/assets/stylesheets/application.css +5 -0
  77. data/lib/generators/express_admin/install/templates/config/menu.yml.erb +3 -0
  78. data/lib/generators/express_admin/install/templates/controllers/admin_controller.rb.erb +34 -0
  79. data/lib/generators/express_admin/install/templates/install/USAGE +8 -0
  80. data/lib/generators/express_admin/install/templates/install/installer.rb.erb +10 -0
  81. data/lib/generators/express_admin/install/templates/install/installer_test.rb.erb +16 -0
  82. data/lib/generators/express_admin/install/templates/views/layouts/admin.html.et +1 -0
  83. data/lib/generators/express_admin/scaffold/scaffold_generator.rb +135 -0
  84. data/lib/generators/express_admin/scaffold/templates/controller/controller.rb +14 -0
  85. data/lib/generators/express_admin/scaffold/templates/index.html.et.erb +10 -0
  86. data/lib/generators/express_admin/scaffold/templates/model/model.rb +4 -0
  87. data/lib/generators/express_admin/scaffold/templates/show.html.et.erb +10 -0
  88. data/lib/tasks/express_admin_tasks.rake +4 -0
  89. data/test/bin/run +1 -0
  90. data/test/dummy/README.rdoc +28 -0
  91. data/test/dummy/Rakefile +6 -0
  92. data/test/dummy/app/assets/javascripts/application.js +13 -0
  93. data/test/dummy/app/assets/javascripts/demo.js +2 -0
  94. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  95. data/test/dummy/app/assets/stylesheets/demo.css.scss +3 -0
  96. data/test/dummy/app/controllers/application_controller.rb +5 -0
  97. data/test/dummy/app/controllers/demo_controller.rb +8 -0
  98. data/test/dummy/app/helpers/application_helper.rb +2 -0
  99. data/test/dummy/app/helpers/demo_helper.rb +2 -0
  100. data/test/dummy/app/views/demo/show.html.et +2 -0
  101. data/test/dummy/app/views/demo/sign_in.html.et +30 -0
  102. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  103. data/test/dummy/bin/bundle +3 -0
  104. data/test/dummy/bin/rails +4 -0
  105. data/test/dummy/bin/rake +4 -0
  106. data/test/dummy/config/application.rb +23 -0
  107. data/test/dummy/config/boot.rb +5 -0
  108. data/test/dummy/config/database.yml +25 -0
  109. data/test/dummy/config/environment.rb +5 -0
  110. data/test/dummy/config/environments/development.rb +37 -0
  111. data/test/dummy/config/environments/production.rb +83 -0
  112. data/test/dummy/config/environments/test.rb +43 -0
  113. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  114. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  115. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  116. data/test/dummy/config/initializers/inflections.rb +16 -0
  117. data/test/dummy/config/initializers/mime_types.rb +4 -0
  118. data/test/dummy/config/initializers/session_store.rb +3 -0
  119. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  120. data/test/dummy/config/locales/en.yml +23 -0
  121. data/test/dummy/config/routes.rb +7 -0
  122. data/test/dummy/config/secrets.yml +22 -0
  123. data/test/dummy/config.ru +4 -0
  124. data/test/dummy/db/schema.rb +22 -0
  125. data/test/dummy/db/test.sqlite3 +0 -0
  126. data/test/dummy/log/test.log +3847 -0
  127. data/test/dummy/public/404.html +67 -0
  128. data/test/dummy/public/422.html +67 -0
  129. data/test/dummy/public/500.html +66 -0
  130. data/test/dummy/public/favicon.ico +0 -0
  131. data/test/dummy/test/controllers/demo_controller_test.rb +9 -0
  132. data/test/dummy/test/helpers/demo_helper_test.rb +4 -0
  133. data/test/fixtures/engine.rb +5 -0
  134. data/test/fixtures/express_admin/test_menu.yml +12 -0
  135. data/test/fixtures/routes.rb +2 -0
  136. data/test/generators_test_helper.rb +32 -0
  137. data/test/lib/express_admin/menu_test.rb +18 -0
  138. data/test/lib/generators/express_admin/install_generator_test.rb +72 -0
  139. data/test/lib/generators/express_admin/scaffold_generator_test.rb +67 -0
  140. data/test/test_helper.rb +18 -0
  141. data/vendor/assets/images/dataTables/Sorting icons.psd +0 -0
  142. data/vendor/assets/images/dataTables/back_disabled.png +0 -0
  143. data/vendor/assets/images/dataTables/back_enabled.png +0 -0
  144. data/vendor/assets/images/dataTables/back_enabled_hover.png +0 -0
  145. data/vendor/assets/images/dataTables/favicon.ico +0 -0
  146. data/vendor/assets/images/dataTables/forward_disabled.png +0 -0
  147. data/vendor/assets/images/dataTables/forward_enabled.png +0 -0
  148. data/vendor/assets/images/dataTables/forward_enabled_hover.png +0 -0
  149. data/vendor/assets/images/dataTables/sort_asc.png +0 -0
  150. data/vendor/assets/images/dataTables/sort_asc_disabled.png +0 -0
  151. data/vendor/assets/images/dataTables/sort_both.png +0 -0
  152. data/vendor/assets/images/dataTables/sort_desc.png +0 -0
  153. data/vendor/assets/images/dataTables/sort_desc_disabled.png +0 -0
  154. data/vendor/assets/javascripts/jquery.loadingdotdotdot.js +82 -0
  155. metadata +432 -0
@@ -0,0 +1,30 @@
1
+ $(function() {
2
+
3
+ // toggle on/off switch
4
+ $(document).on('click', '[data-toggle]', function() {
5
+ targetHide = $(this).data('toggle-hide')
6
+ targetShow = $(this).data('toggle-show')
7
+ $('[data-toggle-name="' + targetHide + '"]').addClass('hide')
8
+ $('[data-toggle-name="' + targetShow + '"]').removeClass('hide')
9
+ });
10
+
11
+ // AJAX request utility
12
+ AJAXRequest = function(url, method, data, success, error)
13
+ {
14
+ return $.ajax({
15
+ url : url,
16
+ type : method,
17
+ data : data,
18
+ dataType : 'JSON',
19
+ cache : false,
20
+ success : function(json)
21
+ {
22
+ success(json)
23
+ },
24
+ error : function()
25
+ {
26
+ error()
27
+ }
28
+ });
29
+ }
30
+ });
@@ -0,0 +1,7 @@
1
+ //= require jquery
2
+ //= require jquery_ujs
3
+ //= require foundation/foundation
4
+ //= require foundation
5
+ //= require turbolinks
6
+ //= require jquery.loadingdotdotdot
7
+ //= require_tree .
@@ -0,0 +1,217 @@
1
+ div.dataTables_wrapper {
2
+ margin-bottom: 1.25em;
3
+ }
4
+
5
+ div.dataTables_length label,
6
+ div.dataTables_filter label,
7
+ div.dataTables_info {
8
+ color: #999;
9
+ font-weight: normal;
10
+ }
11
+
12
+ div.dataTables_length label {
13
+ float: left;
14
+ text-align: left;
15
+ margin-bottom: 0;
16
+ }
17
+
18
+ div.dataTables_length select {
19
+ width: 75px;
20
+ margin-bottom: 0;
21
+ }
22
+
23
+ div.dataTables_filter label {
24
+ float: right;
25
+ margin-bottom: 0;
26
+ }
27
+ div.dataTables_filter input {
28
+ display: inline-block !important;
29
+ width: auto !important;
30
+ margin-bottom: 0;
31
+ }
32
+
33
+ div.dataTables_info {
34
+ padding-top: 2px;
35
+ font-size: 0.875em;
36
+ }
37
+
38
+ div.dataTables_paginate {
39
+ float: right;
40
+ margin: 0;
41
+ }
42
+
43
+ table.dataTable {
44
+ table-layout: inherit !important;
45
+ clear: both;
46
+ margin: 0.5em 0 !important;
47
+ max-width: none !important;
48
+ width: 100%;
49
+ }
50
+
51
+ table.dataTable thead .sorting,
52
+ table.dataTable thead .sorting_asc,
53
+ table.dataTable thead .sorting_desc,
54
+ table.dataTable thead .sorting_asc_disabled,
55
+ table.dataTable thead .sorting_desc_disabled {
56
+ cursor: pointer;
57
+ *cursor: hand;
58
+ }
59
+
60
+ table.dataTable thead .sorting { background: url('<%= asset_url('dataTables/sort_both.png') %>') no-repeat center right; }
61
+ table.dataTable thead .sorting_asc { background: url('<%= asset_url('dataTables/sort_asc.png') %>') no-repeat center right; }
62
+ table.dataTable thead .sorting_desc { background: url('<%= asset_url('dataTables/sort_desc.png') %>') no-repeat center right; }
63
+
64
+ table.dataTable thead .sorting_asc_disabled { background: url('<%= asset_url('dataTables/sort_asc_disabled.png') %>') no-repeat center right; }
65
+ table.dataTable thead .sorting_desc_disabled { background: url('<%= asset_url('dataTables/sort_desc_disabled.png') %>') no-repeat center right; }
66
+
67
+ table.dataTable th:active {
68
+ outline: none;
69
+ }
70
+
71
+ /* Scrolling */
72
+ div.dataTables_scrollHead table {
73
+ margin-bottom: 0 !important;
74
+ }
75
+
76
+ div.dataTables_scrollBody table {
77
+ border-top: none;
78
+ margin-top: 0 !important;
79
+ margin-bottom: 0 !important;
80
+ }
81
+
82
+ div.dataTables_scrollBody tbody tr:first-child th,
83
+ div.dataTables_scrollBody tbody tr:first-child td {
84
+ border-top: none;
85
+ }
86
+
87
+ div.dataTables_scrollFoot table {
88
+ margin-top: 0 !important;
89
+ border-top: none;
90
+ }
91
+
92
+
93
+
94
+
95
+ /*
96
+ * TableTools styles
97
+ */
98
+ .table tbody tr.active td,
99
+ .table tbody tr.active th {
100
+ background-color: #08C;
101
+ color: white;
102
+ }
103
+
104
+ .table tbody tr.active:hover td,
105
+ .table tbody tr.active:hover th {
106
+ background-color: #0075b0 !important;
107
+ }
108
+
109
+ .table-striped tbody tr.active:nth-child(odd) td,
110
+ .table-striped tbody tr.active:nth-child(odd) th {
111
+ background-color: #017ebc;
112
+ }
113
+
114
+ table.DTTT_selectable tbody tr {
115
+ cursor: pointer;
116
+ *cursor: hand;
117
+ }
118
+
119
+ div.DTTT {
120
+ float: left;
121
+ margin-bottom: 0;
122
+ }
123
+
124
+ div.DTTT .button:hover {
125
+ text-decoration: none !important;
126
+ }
127
+
128
+ ul.DTTT_dropdown.dropdown-menu li {
129
+ position: relative;
130
+ }
131
+
132
+ ul.DTTT_dropdown.dropdown-menu li:hover a {
133
+ background-color: #0088cc;
134
+ color: white !important;
135
+ }
136
+
137
+ /* TableTools information display */
138
+ .DTTT_print_info {
139
+ position: fixed;
140
+ top: 50%;
141
+ left: 50%;
142
+ width: 400px;
143
+ height: 150px;
144
+ margin-left: -200px;
145
+ margin-top: -75px;
146
+ text-align: center;
147
+ color: #333;
148
+ padding: 10px 30px;
149
+
150
+ background: #ffffff; /* Old browsers */
151
+ background: -webkit-linear-gradient(top, #ffffff 0%,#f3f3f3 89%,#f9f9f9 100%); /* Chrome10+,Safari5.1+ */
152
+ background: -moz-linear-gradient(top, #ffffff 0%,#f3f3f3 89%,#f9f9f9 100%); /* FF3.6+ */
153
+ background: -ms-linear-gradient(top, #ffffff 0%,#f3f3f3 89%,#f9f9f9 100%); /* IE10+ */
154
+ background: -o-linear-gradient(top, #ffffff 0%,#f3f3f3 89%,#f9f9f9 100%); /* Opera 11.10+ */
155
+ background: linear-gradient(top, #ffffff 0%,#f3f3f3 89%,#f9f9f9 100%); /* W3C */
156
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f9f9f9',GradientType=0 ); /* IE6-9 */
157
+
158
+ opacity: 0.95;
159
+
160
+ border: 1px solid black;
161
+ border: 1px solid rgba(0, 0, 0, 0.5);
162
+
163
+ -webkit-border-radius: 6px;
164
+ -moz-border-radius: 6px;
165
+ -ms-border-radius: 6px;
166
+ -o-border-radius: 6px;
167
+ border-radius: 6px;
168
+
169
+ -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5);
170
+ -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5);
171
+ -ms-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5);
172
+ -o-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5);
173
+ box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5);
174
+ }
175
+
176
+ div.DTTT_print_info h6 {
177
+ font-weight: normal;
178
+ font-size: 28px;
179
+ line-height: 28px;
180
+ margin: 1em;
181
+ }
182
+
183
+ div.DTTT_print_info p {
184
+ font-size: 14px;
185
+ line-height: 20px;
186
+ }
187
+
188
+
189
+
190
+ /*
191
+ * FixedColumns styles
192
+ */
193
+ div.DTFC_LeftHeadWrapper table,
194
+ div.DTFC_LeftFootWrapper table,
195
+ table.DTFC_Cloned tr.even {
196
+ background-color: white;
197
+ }
198
+
199
+ div.DTFC_LeftHeadWrapper table {
200
+ margin-bottom: 0 !important;
201
+ }
202
+
203
+ div.DTFC_LeftBodyWrapper table {
204
+ border-top: none;
205
+ margin-bottom: 0 !important;
206
+ }
207
+
208
+ div.DTFC_LeftBodyWrapper tbody tr:first-child th,
209
+ div.DTFC_LeftBodyWrapper tbody tr:first-child td {
210
+ border-top: none;
211
+ }
212
+
213
+ div.DTFC_LeftFootWrapper table {
214
+ border-top: none;
215
+ }
216
+
217
+
@@ -0,0 +1,10 @@
1
+ .empty-state-wrapper
2
+ padding: 0 0 10px
3
+ text-align: center
4
+
5
+ p.lead
6
+ margin-bottom: 10px
7
+
8
+ .empty-records-message
9
+ font-size: 1.15rem
10
+ text-align: center
@@ -0,0 +1,71 @@
1
+ .top-bar
2
+ .megamenu-overlay
3
+ background: transparent
4
+ padding: 0 0 20px
5
+
6
+ .dropdown.dropdown-wrapper
7
+ background-color: #fff
8
+ border:
9
+ left: 2px solid $border-color
10
+ right: 2px solid $border-color
11
+ bottom: 2px solid $border-color
12
+ left: -225px
13
+ width: 960px !important
14
+
15
+ .top-bar-section .dropdown li
16
+ .megamenu-container
17
+ padding: 20px
18
+
19
+ h1
20
+ font-size: 1.4rem
21
+
22
+ nav
23
+ ul
24
+ li
25
+ background-color: transparent
26
+ border: none
27
+ float: left
28
+ padding: 0 20px 0 0
29
+ width: 33.3333333333333%
30
+
31
+ a
32
+ background-color: transparent !important
33
+ color: #26ade4 !important
34
+ line-height: 2 !important
35
+ padding: 0 !important
36
+ transition: color 0.3s ease !important
37
+
38
+ i
39
+ font-size: 1.2rem
40
+ margin-right: 5px
41
+ position: relative
42
+ top: 2px
43
+
44
+ &:hover
45
+ color: #1998cb !important
46
+
47
+ span
48
+ text-decoration: underline
49
+
50
+ .main
51
+ @include grid-column(9)
52
+
53
+
54
+ .extra
55
+ @include grid-column(3)
56
+ ul
57
+ li
58
+ float: inherit
59
+
60
+ a
61
+ display: block
62
+
63
+ &:hover
64
+ text-decoration: underline
65
+
66
+ li, a
67
+ width: 100%
68
+
69
+ @media #{$small-up}
70
+ .dropdown-wrapper
71
+ padding: 10px 0
@@ -0,0 +1,56 @@
1
+ @font-face
2
+ font-family: 'app-express'
3
+ src: asset-url('app_express.eot')
4
+ src: asset-url('app_express.eot') format('embedded-opentype'), asset-url('app_express.woff') format('woff'), asset-url('app_express.ttf') format('truetype'), asset-url('app_express.svg') format('svg')
5
+ font-weight: normal
6
+ font-style: normal
7
+
8
+ [class^="icon-"], [class*=" icon-"]
9
+ display: inline-block
10
+ font-family: 'app-express'
11
+ speak: none
12
+ font-style: normal
13
+ font-weight: normal
14
+ font-variant: normal
15
+ text-transform: none
16
+ text-rendering: auto
17
+ line-height: 1
18
+ -webkit-font-smoothing: antialiased
19
+ -moz-osx-font-smoothing: grayscale
20
+
21
+
22
+ .icon-express_admin:before
23
+ content: "\e600"
24
+
25
+ .icon-express_api:before
26
+ content: "\e601"
27
+
28
+ .icon-express_auth:before
29
+ content: "\e602"
30
+
31
+ .icon-express_blog:before
32
+ content: "\e603"
33
+
34
+ .icon-express_dash:before
35
+ content: "\e604"
36
+
37
+ .icon-express_data:before
38
+ content: "\e605"
39
+
40
+ .icon-express_media:before
41
+ content: "\e606"
42
+
43
+ .icon-express_pages:before
44
+ content: "\e607"
45
+
46
+ .icon-express_rbac:before
47
+ content: "\e608"
48
+
49
+ .icon-express_reports:before
50
+ content: "\e609"
51
+
52
+ .icon-express_seo:before
53
+ content: "\e610"
54
+
55
+
56
+