smart_admin 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +0 -0
  3. data/Rakefile +34 -0
  4. data/app/assets/images/landing/avatar1.jpg +0 -0
  5. data/app/assets/images/landing/avatar2.jpg +0 -0
  6. data/app/assets/images/landing/avatar3.jpg +0 -0
  7. data/app/assets/images/landing/avatar4.jpg +0 -0
  8. data/app/assets/images/landing/avatar5.jpg +0 -0
  9. data/app/assets/images/landing/avatar6.jpg +0 -0
  10. data/app/assets/images/landing/avatar7.jpg +0 -0
  11. data/app/assets/images/landing/avatar8.jpg +0 -0
  12. data/app/assets/images/landing/avatar9.jpg +0 -0
  13. data/app/assets/images/landing/avatar_all.png +0 -0
  14. data/app/assets/images/landing/dashboard.png +0 -0
  15. data/app/assets/images/landing/header_one.jpg +0 -0
  16. data/app/assets/images/landing/header_two.jpg +0 -0
  17. data/app/assets/images/landing/iphone.jpg +0 -0
  18. data/app/assets/images/landing/laptop.png +0 -0
  19. data/app/assets/images/landing/perspective.png +0 -0
  20. data/app/assets/images/landing/shattered.png +0 -0
  21. data/app/assets/images/landing/word_map.png +0 -0
  22. data/app/assets/images/patterns/header-profile-skin-1.png +0 -0
  23. data/app/assets/images/patterns/header-profile-skin-2.png +0 -0
  24. data/app/assets/images/patterns/header-profile-skin-3.png +0 -0
  25. data/app/assets/images/patterns/header-profile.png +0 -0
  26. data/app/assets/images/patterns/otis_redding.png +0 -0
  27. data/app/assets/images/patterns/shattered.png +0 -0
  28. data/app/assets/javascripts/inspinia.js +270 -0
  29. data/app/assets/javascripts/smart_admin.js +9 -0
  30. data/app/assets/stylesheets/smart_admin.scss +6 -0
  31. data/app/assets/stylesheets/smart_admin/base/badgets_labels.scss +66 -0
  32. data/app/assets/stylesheets/smart_admin/base/base.scss +1298 -0
  33. data/app/assets/stylesheets/smart_admin/base/buttons.scss +306 -0
  34. data/app/assets/stylesheets/smart_admin/base/chat.scss +126 -0
  35. data/app/assets/stylesheets/smart_admin/base/custom.scss +14 -0
  36. data/app/assets/stylesheets/smart_admin/base/elements.scss +2341 -0
  37. data/app/assets/stylesheets/smart_admin/base/landing.scss +636 -0
  38. data/app/assets/stylesheets/smart_admin/base/md-skin.scss +388 -0
  39. data/app/assets/stylesheets/smart_admin/base/media.scss +103 -0
  40. data/app/assets/stylesheets/smart_admin/base/metismenu.scss +81 -0
  41. data/app/assets/stylesheets/smart_admin/base/mixins.scss +0 -0
  42. data/app/assets/stylesheets/smart_admin/base/navigation.scss +501 -0
  43. data/app/assets/stylesheets/smart_admin/base/pages.scss +1318 -0
  44. data/app/assets/stylesheets/smart_admin/base/rtl.scss +267 -0
  45. data/app/assets/stylesheets/smart_admin/base/sidebar.scss +201 -0
  46. data/app/assets/stylesheets/smart_admin/base/skins.scss +460 -0
  47. data/app/assets/stylesheets/smart_admin/base/spinners.scss +760 -0
  48. data/app/assets/stylesheets/smart_admin/base/theme-config.scss +111 -0
  49. data/app/assets/stylesheets/smart_admin/base/top_navigation.scss +128 -0
  50. data/app/assets/stylesheets/smart_admin/base/typography.scss +32 -0
  51. data/app/assets/stylesheets/smart_admin/base/variables.scss +41 -0
  52. data/app/assets/stylesheets/smart_admin/style.scss +51 -0
  53. data/lib/generators/smart_admin/install_generator.rb +32 -0
  54. data/lib/generators/smart_admin/smart_admin_generator.rb +0 -0
  55. data/lib/generators/smart_admin/templates/assets/admin.js +1 -0
  56. data/lib/generators/smart_admin/templates/assets/admin.scss +3 -0
  57. data/lib/generators/smart_admin/templates/controllers/base_controller.rb +3 -0
  58. data/lib/generators/smart_admin/templates/controllers/dashboards_controller.rb +6 -0
  59. data/lib/generators/smart_admin/templates/views/admin/dashboards/index.html.haml +0 -0
  60. data/lib/generators/smart_admin/templates/views/layouts/_flash.html.erb +10 -0
  61. data/lib/generators/smart_admin/templates/views/layouts/_footer.html.haml +0 -0
  62. data/lib/generators/smart_admin/templates/views/layouts/_navigation.html.haml +32 -0
  63. data/lib/generators/smart_admin/templates/views/layouts/_rightsidebar.html.haml +0 -0
  64. data/lib/generators/smart_admin/templates/views/layouts/_skinconfig.html.haml +0 -0
  65. data/lib/generators/smart_admin/templates/views/layouts/_topnavbar.html.haml +9 -0
  66. data/lib/generators/smart_admin/templates/views/layouts/admin.html.haml +20 -0
  67. data/lib/smart_admin.rb +6 -0
  68. data/lib/smart_admin/engine.rb +4 -0
  69. data/lib/smart_admin/version.rb +3 -0
  70. data/lib/tasks/smart_admin_tasks.rake +4 -0
  71. data/test/dummy/README.rdoc +28 -0
  72. data/test/dummy/Rakefile +6 -0
  73. data/test/dummy/app/assets/javascripts/application.js +13 -0
  74. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  75. data/test/dummy/app/controllers/application_controller.rb +5 -0
  76. data/test/dummy/app/helpers/application_helper.rb +2 -0
  77. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  78. data/test/dummy/bin/bundle +3 -0
  79. data/test/dummy/bin/rails +4 -0
  80. data/test/dummy/bin/rake +4 -0
  81. data/test/dummy/bin/setup +29 -0
  82. data/test/dummy/config.ru +4 -0
  83. data/test/dummy/config/application.rb +26 -0
  84. data/test/dummy/config/boot.rb +5 -0
  85. data/test/dummy/config/database.yml +25 -0
  86. data/test/dummy/config/environment.rb +5 -0
  87. data/test/dummy/config/environments/development.rb +41 -0
  88. data/test/dummy/config/environments/production.rb +79 -0
  89. data/test/dummy/config/environments/test.rb +42 -0
  90. data/test/dummy/config/initializers/assets.rb +11 -0
  91. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  92. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  93. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  94. data/test/dummy/config/initializers/inflections.rb +16 -0
  95. data/test/dummy/config/initializers/mime_types.rb +4 -0
  96. data/test/dummy/config/initializers/session_store.rb +3 -0
  97. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  98. data/test/dummy/config/locales/en.yml +23 -0
  99. data/test/dummy/config/routes.rb +56 -0
  100. data/test/dummy/config/secrets.yml +22 -0
  101. data/test/dummy/log/development.log +58 -0
  102. data/test/dummy/public/404.html +67 -0
  103. data/test/dummy/public/422.html +67 -0
  104. data/test/dummy/public/500.html +66 -0
  105. data/test/dummy/public/favicon.ico +0 -0
  106. data/test/smart_admin_test.rb +7 -0
  107. data/test/test_helper.rb +20 -0
  108. metadata +285 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: bd9b0464cd86512e361c2044839175e23d440796
4
+ data.tar.gz: 0b1e952f307c786f63ec5b7415f4f85bf61711b8
5
+ SHA512:
6
+ metadata.gz: 93b9adea9f7026e89ca4b744073f22b82675bfd0d436d53cac00557eb8c5e1198624f78023160763808a3235d48ec989fd11522571266a4da3b142963bfc7db2
7
+ data.tar.gz: 4f37666d1c03ada9f5410e364c3315bbcb939cd9678dbc1bfbb0d07d6496d73c9facd56f4c079630e85dd65592014504d43987f3c7e8b43c9704303971f2a814
File without changes
@@ -0,0 +1,34 @@
1
+ begin
2
+ require 'bundler/setup'
3
+ rescue LoadError
4
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
+ end
6
+
7
+ require 'rdoc/task'
8
+
9
+ RDoc::Task.new(:rdoc) do |rdoc|
10
+ rdoc.rdoc_dir = 'rdoc'
11
+ rdoc.title = 'SmartAdmin'
12
+ rdoc.options << '--line-numbers'
13
+ rdoc.rdoc_files.include('README.rdoc')
14
+ rdoc.rdoc_files.include('lib/**/*.rb')
15
+ end
16
+
17
+
18
+
19
+
20
+
21
+
22
+ Bundler::GemHelper.install_tasks
23
+
24
+ require 'rake/testtask'
25
+
26
+ Rake::TestTask.new(:test) do |t|
27
+ t.libs << 'lib'
28
+ t.libs << 'test'
29
+ t.pattern = 'test/**/*_test.rb'
30
+ t.verbose = false
31
+ end
32
+
33
+
34
+ task default: :test
@@ -0,0 +1,270 @@
1
+ /*
2
+ *
3
+ * INSPINIA - Responsive Admin Theme
4
+ * version 2.3
5
+ *
6
+ */
7
+
8
+ $(document).ready(function () {
9
+ $(function() {
10
+ $('.i-checks').iCheck({
11
+ checkboxClass: 'icheckbox_square-green',
12
+ radioClass: 'iradio_square-green',
13
+ });
14
+ });
15
+
16
+ // Add body-small class if window less than 768px
17
+ if ($(this).width() < 769) {
18
+ $('body').addClass('body-small')
19
+ } else {
20
+ $('body').removeClass('body-small')
21
+ }
22
+
23
+ // MetsiMenu
24
+ $('#side-menu').metisMenu();
25
+
26
+ // Collapse ibox function
27
+ $('.collapse-link').click( function() {
28
+ var ibox = $(this).closest('div.ibox');
29
+ var button = $(this).find('i');
30
+ var content = ibox.find('div.ibox-content');
31
+ content.slideToggle(200);
32
+ button.toggleClass('fa-chevron-up').toggleClass('fa-chevron-down');
33
+ ibox.toggleClass('').toggleClass('border-bottom');
34
+ setTimeout(function () {
35
+ ibox.resize();
36
+ ibox.find('[id^=map-]').resize();
37
+ }, 50);
38
+ });
39
+
40
+ // Close ibox function
41
+ $('.close-link').click( function() {
42
+ var content = $(this).closest('div.ibox');
43
+ content.remove();
44
+ });
45
+
46
+ // Fullscreen ibox function
47
+ $('.fullscreen-link').click(function() {
48
+ var ibox = $(this).closest('div.ibox');
49
+ var button = $(this).find('i');
50
+ $('body').toggleClass('fullscreen-ibox-mode');
51
+ button.toggleClass('fa-expand').toggleClass('fa-compress');
52
+ ibox.toggleClass('fullscreen');
53
+ setTimeout(function() {
54
+ $(window).trigger('resize');
55
+ }, 100);
56
+ });
57
+
58
+ // Close menu in canvas mode
59
+ $('.close-canvas-menu').click( function() {
60
+ $("body").toggleClass("mini-navbar");
61
+ SmoothlyMenu();
62
+ });
63
+
64
+ // Open close right sidebar
65
+ $('.right-sidebar-toggle').click(function(){
66
+ $('#right-sidebar').toggleClass('sidebar-open');
67
+ });
68
+
69
+ // Initialize slimscroll for right sidebar
70
+ $('.sidebar-container').slimScroll({
71
+ height: '100%',
72
+ railOpacity: 0.4,
73
+ wheelStep: 10
74
+ });
75
+
76
+ // Open close small chat
77
+ $('.open-small-chat').click(function(){
78
+ $(this).children().toggleClass('fa-comments').toggleClass('fa-remove');
79
+ $('.small-chat-box').toggleClass('active');
80
+ });
81
+
82
+ // Initialize slimscroll for small chat
83
+ $('.small-chat-box .content').slimScroll({
84
+ height: '234px',
85
+ railOpacity: 0.4
86
+ });
87
+
88
+ // Small todo handler
89
+ $('.check-link').click( function(){
90
+ var button = $(this).find('i');
91
+ var label = $(this).next('span');
92
+ button.toggleClass('fa-check-square').toggleClass('fa-square-o');
93
+ label.toggleClass('todo-completed');
94
+ return false;
95
+ });
96
+
97
+ // Minimalize menu
98
+ $('.navbar-minimalize').click(function () {
99
+ $("body").toggleClass("mini-navbar");
100
+ SmoothlyMenu();
101
+
102
+ });
103
+
104
+ // Tooltips demo
105
+ $('.tooltip-demo').tooltip({
106
+ selector: "[data-toggle=tooltip]",
107
+ container: "body"
108
+ });
109
+
110
+ // Move modal to body
111
+ // Fix Bootstrap backdrop issu with animation.css
112
+ // bootsy don't work underline.
113
+ // $('.modal').appendTo("body");
114
+
115
+ // Full height of sidebar
116
+ function fix_height() {
117
+ var heightWithoutNavbar = $("body > #wrapper").height() - 61;
118
+ $(".sidebard-panel").css("min-height", heightWithoutNavbar + "px");
119
+
120
+ var navbarHeigh = $('nav.navbar-default').height();
121
+ var wrapperHeigh = $('#page-wrapper').height();
122
+
123
+ if(navbarHeigh > wrapperHeigh){
124
+ $('#page-wrapper').css("min-height", navbarHeigh + "px");
125
+ }
126
+
127
+ if(navbarHeigh < wrapperHeigh){
128
+ $('#page-wrapper').css("min-height", $(window).height() + "px");
129
+ }
130
+
131
+ if ($('body').hasClass('fixed-nav')) {
132
+ $('#page-wrapper').css("min-height", $(window).height() - 60 + "px");
133
+ }
134
+
135
+ }
136
+ fix_height();
137
+
138
+ // Fixed Sidebar
139
+ $(window).bind("load", function () {
140
+ if ($("body").hasClass('fixed-sidebar')) {
141
+ $('.sidebar-collapse').slimScroll({
142
+ height: '100%',
143
+ railOpacity: 0.9
144
+ });
145
+ }
146
+ })
147
+
148
+ // Move right sidebar top after scroll
149
+ $(window).scroll(function(){
150
+ if ($(window).scrollTop() > 0 && !$('body').hasClass('fixed-nav') ) {
151
+ $('#right-sidebar').addClass('sidebar-top');
152
+ } else {
153
+ $('#right-sidebar').removeClass('sidebar-top');
154
+ }
155
+ });
156
+
157
+ $(window).bind("load resize scroll", function() {
158
+ if(!$("body").hasClass('body-small')) {
159
+ fix_height();
160
+ }
161
+ });
162
+
163
+ $("[data-toggle=popover]")
164
+ .popover();
165
+
166
+ // Add slimscroll to element
167
+ $('.full-height-scroll').slimscroll({
168
+ height: '100%'
169
+ })
170
+ });
171
+
172
+
173
+ // Minimalize menu when screen is less than 768px
174
+ $(window).bind("resize", function () {
175
+ if ($(this).width() < 769) {
176
+ $('body').addClass('body-small')
177
+ } else {
178
+ $('body').removeClass('body-small')
179
+ }
180
+ });
181
+
182
+ // Local Storage functions
183
+ // Set proper body class and plugins based on user configuration
184
+ $(document).ready(function() {
185
+ if (localStorageSupport) {
186
+
187
+ var collapse = localStorage.getItem("collapse_menu");
188
+ var fixedsidebar = localStorage.getItem("fixedsidebar");
189
+ var fixednavbar = localStorage.getItem("fixednavbar");
190
+ var boxedlayout = localStorage.getItem("boxedlayout");
191
+ var fixedfooter = localStorage.getItem("fixedfooter");
192
+
193
+ var body = $('body');
194
+
195
+ if (fixedsidebar == 'on') {
196
+ body.addClass('fixed-sidebar');
197
+ $('.sidebar-collapse').slimScroll({
198
+ height: '100%',
199
+ railOpacity: 0.9
200
+ });
201
+ }
202
+
203
+ if (collapse == 'on') {
204
+ if(body.hasClass('fixed-sidebar')) {
205
+ if(!body.hasClass('body-small')) {
206
+ body.addClass('mini-navbar');
207
+ }
208
+ } else {
209
+ if(!body.hasClass('body-small')) {
210
+ body.addClass('mini-navbar');
211
+ }
212
+
213
+ }
214
+ }
215
+
216
+ if (fixednavbar == 'on') {
217
+ $(".navbar-static-top").removeClass('navbar-static-top').addClass('navbar-fixed-top');
218
+ body.addClass('fixed-nav');
219
+ }
220
+
221
+ if (boxedlayout == 'on') {
222
+ body.addClass('boxed-layout');
223
+ }
224
+
225
+ if (fixedfooter == 'on') {
226
+ $(".footer").addClass('fixed');
227
+ }
228
+ }
229
+ });
230
+
231
+ // check if browser support HTML5 local storage
232
+ function localStorageSupport() {
233
+ return (('localStorage' in window) && window['localStorage'] !== null)
234
+ }
235
+
236
+ // For demo purpose - animation css script
237
+ function animationHover(element, animation){
238
+ element = $(element);
239
+ element.hover(
240
+ function() {
241
+ element.addClass('animated ' + animation);
242
+ },
243
+ function(){
244
+ //wait for animation to finish before removing classes
245
+ window.setTimeout( function(){
246
+ element.removeClass('animated ' + animation);
247
+ }, 2000);
248
+ });
249
+ }
250
+
251
+ function SmoothlyMenu() {
252
+ if (!$('body').hasClass('mini-navbar') || $('body').hasClass('body-small')) {
253
+ // Hide menu in order to smoothly turn on when maximize menu
254
+ $('#side-menu').hide();
255
+ // For smoothly turn on menu
256
+ setTimeout(
257
+ function () {
258
+ $('#side-menu').fadeIn(500);
259
+ }, 100);
260
+ } else if ($('body').hasClass('fixed-sidebar')) {
261
+ $('#side-menu').hide();
262
+ setTimeout(
263
+ function () {
264
+ $('#side-menu').fadeIn(500);
265
+ }, 300);
266
+ } else {
267
+ // Remove all inline style from jquery fadeIn function to reset menu state
268
+ $('#side-menu').removeAttr('style');
269
+ }
270
+ }
@@ -0,0 +1,9 @@
1
+ //= require jquery
2
+ //= require jquery_ujs
3
+ //= require bootstrap-sprockets
4
+ //= require metisMenu/jquery.metisMenu.js
5
+ //= require pace/pace.min.js
6
+ //= require peity/jquery.peity.min.js
7
+ //= require slimscroll/jquery.slimscroll.min.js
8
+ //= require iCheck/icheck.min.js
9
+ //= require inspinia.js
@@ -0,0 +1,6 @@
1
+ /*
2
+ *= require animate/animate
3
+ *= require iCheck/custom.scss
4
+ *= require smart_admin/style
5
+ *= require font-awesome
6
+ */
@@ -0,0 +1,66 @@
1
+ .label {
2
+ background-color: $light-gray;
3
+ color: $label-badget-color;
4
+ font-family: "Open Sans";
5
+ font-size: 10px;
6
+ font-weight: 600;
7
+ padding: 3px 8px;
8
+ text-shadow: none;
9
+ }
10
+
11
+ .badge {
12
+ background-color: $light-gray;
13
+ color: $label-badget-color;
14
+ font-family: "Open Sans";
15
+ font-size: 11px;
16
+ font-weight: 600;
17
+ padding-bottom: 4px;
18
+ padding-left: 6px;
19
+ padding-right: 6px;
20
+ text-shadow: none;
21
+ }
22
+
23
+ .label-primary, .badge-primary {
24
+ background-color: $navy;
25
+ color: white;
26
+ }
27
+
28
+ .label-success, .badge-success {
29
+ background-color: $blue;
30
+ color: white;
31
+ }
32
+
33
+ .label-warning, .badge-warning {
34
+ background-color: $yellow;
35
+ color: white;
36
+ }
37
+
38
+ .label-warning-light, .badge-warning-light {
39
+ background-color: $yellow;
40
+ color: white;
41
+ }
42
+
43
+ .label-danger, .badge-danger {
44
+ background-color: $red;
45
+ color: white;
46
+ }
47
+
48
+ .label-info, .badge-info {
49
+ background-color: $lazur;
50
+ color: white;
51
+ }
52
+
53
+ .label-inverse, .badge-inverse {
54
+ background-color: #262626;
55
+ color: white;
56
+ }
57
+
58
+ .label-white, .badge-white {
59
+ background-color: white;
60
+ color: #5e5e5e;
61
+ }
62
+
63
+ .label-white, .badge-disable {
64
+ background-color: #2a2e36;
65
+ color: #8b91a0;
66
+ }