rademade_admin 0.0.3 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (223) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/fonts/glyphicons-halflings-regular.eot +0 -0
  3. data/app/assets/fonts/glyphicons-halflings-regular.svg +229 -0
  4. data/app/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
  5. data/app/assets/fonts/glyphicons-halflings-regular.woff +0 -0
  6. data/app/assets/images/rademade_admin/ico/btn-attach.png +0 -0
  7. data/app/assets/images/rademade_admin/logos/logo.png +0 -0
  8. data/app/assets/javascripts/rademade_admin.coffee +8 -4
  9. data/app/assets/javascripts/rademade_admin/app/app.coffee +2 -1
  10. data/app/assets/javascripts/rademade_admin/app/common/datetime-picker.coffee +7 -0
  11. data/app/assets/javascripts/rademade_admin/app/common/dnd-sort.coffee +23 -32
  12. data/app/assets/javascripts/rademade_admin/app/common/droplist.coffee +8 -0
  13. data/app/assets/javascripts/rademade_admin/app/common/lang-panel.coffee +6 -0
  14. data/app/assets/javascripts/rademade_admin/app/common/related-index.coffee +6 -9
  15. data/app/assets/javascripts/rademade_admin/app/common/sort-list.coffee +10 -14
  16. data/app/assets/javascripts/rademade_admin/app/common/uploader.coffee +3 -3
  17. data/app/assets/javascripts/rademade_admin/app/form-popup/initializer.coffee +24 -37
  18. data/app/assets/javascripts/rademade_admin/app/form-popup/view.coffee +32 -18
  19. data/app/assets/javascripts/rademade_admin/app/forms/remove.coffee +4 -3
  20. data/app/assets/javascripts/rademade_admin/app/select2/model.coffee +7 -0
  21. data/app/assets/javascripts/rademade_admin/app/select2/related/collection-view.coffee +35 -0
  22. data/app/assets/javascripts/rademade_admin/app/select2/related/collection.coffee +28 -0
  23. data/app/assets/javascripts/rademade_admin/app/select2/related/model.coffee +15 -0
  24. data/app/assets/javascripts/rademade_admin/app/select2/related/view.coffee +40 -0
  25. data/app/assets/javascripts/rademade_admin/app/select2/view.coffee +78 -0
  26. data/app/assets/javascripts/rademade_admin/form/form-ajax.coffee +48 -0
  27. data/app/assets/javascripts/rademade_admin/form/form-initializater.coffee +45 -0
  28. data/app/assets/javascripts/rademade_admin/form/form-validation.coffee +42 -0
  29. data/app/assets/javascripts/rademade_admin/form/form.coffee +62 -0
  30. data/app/assets/javascripts/rademade_admin/library/ckeditor/config.js +14 -12
  31. data/app/assets/stylesheets/{rademade_admin/bootstrap → old/-bootstrap}/bootstrap-overrides.css.erb +0 -0
  32. data/app/assets/stylesheets/{rademade_admin/bootstrap → old/-bootstrap}/main.scss.erb +0 -0
  33. data/app/assets/stylesheets/{rademade_admin/detail_admin → old/-detail_admin}/chart-showcase.scss.erb +0 -0
  34. data/app/assets/stylesheets/{rademade_admin/detail_admin → old/-detail_admin}/datatables.scss.erb +0 -0
  35. data/app/assets/stylesheets/{rademade_admin/detail_admin → old/-detail_admin}/elements.scss.erb +0 -0
  36. data/app/assets/stylesheets/{rademade_admin/detail_admin → old/-detail_admin}/error.scss.erb +0 -0
  37. data/app/assets/stylesheets/{rademade_admin/detail_admin → old/-detail_admin}/form-showcase.scss.erb +0 -0
  38. data/app/assets/stylesheets/{rademade_admin/detail_admin → old/-detail_admin}/form-wizard.scss.erb +0 -0
  39. data/app/assets/stylesheets/{rademade_admin/detail_admin → old/-detail_admin}/gallery.scss.erb +0 -0
  40. data/app/assets/stylesheets/{rademade_admin/detail_admin → old/-detail_admin}/grids.scss.erb +0 -0
  41. data/app/assets/stylesheets/{rademade_admin/detail_admin → old/-detail_admin}/icons.scss.erb +0 -0
  42. data/app/assets/stylesheets/{rademade_admin/detail_admin → old/-detail_admin}/index.scss.erb +0 -0
  43. data/app/assets/stylesheets/{rademade_admin/detail_admin → old/-detail_admin}/layout.scss.erb +0 -0
  44. data/app/assets/stylesheets/{rademade_admin/detail_admin → old/-detail_admin}/new-user.scss.erb +0 -0
  45. data/app/assets/stylesheets/{rademade_admin/detail_admin → old/-detail_admin}/personal-info.scss.erb +0 -0
  46. data/app/assets/stylesheets/{rademade_admin/detail_admin → old/-detail_admin}/popup.scss.erb +0 -0
  47. data/app/assets/stylesheets/{rademade_admin/detail_admin → old/-detail_admin}/signin.scss.erb +0 -0
  48. data/app/assets/stylesheets/{rademade_admin/detail_admin → old/-detail_admin}/tables.scss.erb +0 -0
  49. data/app/assets/stylesheets/{rademade_admin/detail_admin → old/-detail_admin}/ui-elements.scss.erb +0 -0
  50. data/app/assets/stylesheets/{rademade_admin/detail_admin → old/-detail_admin}/user-list.scss.erb +0 -0
  51. data/app/assets/stylesheets/{rademade_admin/detail_admin → old/-detail_admin}/user-profile.scss.erb +0 -0
  52. data/app/assets/stylesheets/{rademade_admin/detail_admin → old/-detail_admin}/web-app-icons.scss.erb +0 -0
  53. data/app/assets/stylesheets/{rademade_admin/lib → old/-lib}/bootstrap.datepicker.css.erb +0 -0
  54. data/app/assets/stylesheets/{rademade_admin/lib → old/-lib}/morris.css.erb +0 -0
  55. data/app/assets/stylesheets/{rademade_admin → old}/base.scss.erb +0 -0
  56. data/app/assets/stylesheets/{rademade_admin → old}/edit.css +0 -0
  57. data/app/assets/stylesheets/{rademade_admin → old}/file-upload.scss.erb +0 -0
  58. data/app/assets/stylesheets/{rademade_admin → old}/notifier.custom.css.erb +0 -0
  59. data/app/assets/stylesheets/{rademade_admin → old}/scaffolds.scss.erb +0 -0
  60. data/app/assets/stylesheets/rademade_admin.sass.erb +96 -0
  61. data/app/assets/stylesheets/rademade_admin/base/main.sass +71 -0
  62. data/app/assets/stylesheets/rademade_admin/blocks/buttons/main.sass +81 -0
  63. data/app/assets/stylesheets/rademade_admin/blocks/form/input.sass +29 -0
  64. data/app/assets/stylesheets/rademade_admin/blocks/form/label.sass +31 -0
  65. data/app/assets/stylesheets/rademade_admin/blocks/form/select.sass +26 -0
  66. data/app/assets/stylesheets/rademade_admin/blocks/form/select2.sass +67 -0
  67. data/app/assets/stylesheets/rademade_admin/blocks/form/table.sass +42 -0
  68. data/app/assets/stylesheets/rademade_admin/blocks/form/texarea.sass +20 -0
  69. data/app/assets/stylesheets/rademade_admin/blocks/header/_logo.sass +7 -0
  70. data/app/assets/stylesheets/rademade_admin/blocks/header/_menu.sass +80 -0
  71. data/app/assets/stylesheets/rademade_admin/blocks/header/_search.sass +37 -0
  72. data/app/assets/stylesheets/rademade_admin/blocks/page/content/_main.sass +11 -0
  73. data/app/assets/stylesheets/rademade_admin/blocks/page/headline/main.sass +44 -0
  74. data/app/assets/stylesheets/rademade_admin/blocks/page/menu/_main.sass +31 -0
  75. data/app/assets/stylesheets/rademade_admin/lib/datepicker.sass +373 -0
  76. data/app/assets/stylesheets/rademade_admin/lib/glyphicon.sass.erb +618 -0
  77. data/app/assets/stylesheets/rademade_admin/lib/notifier.css.erb +661 -0
  78. data/app/assets/stylesheets/rademade_admin/lib/uploader.sass +66 -0
  79. data/app/assets/stylesheets/rademade_admin/mixins/clear.sass +5 -0
  80. data/app/assets/stylesheets/rademade_admin/mixins/fonts.sass +8 -0
  81. data/app/assets/stylesheets/rademade_admin/mixins/sprite.sass +7 -0
  82. data/app/assets/stylesheets/rademade_admin/mixins/text-overflow.sass +6 -0
  83. data/app/assets/stylesheets/rademade_admin/mixins/user-select.sass +5 -0
  84. data/app/assets/stylesheets/rademade_admin/modules/breadcrumbs/main.sass +30 -0
  85. data/app/assets/stylesheets/rademade_admin/modules/errors/error.sass.erb +19 -0
  86. data/app/assets/stylesheets/rademade_admin/modules/form/main.sass +15 -0
  87. data/app/assets/stylesheets/rademade_admin/modules/header/main.sass +6 -0
  88. data/app/assets/stylesheets/rademade_admin/modules/login/_main.sass +79 -0
  89. data/app/assets/stylesheets/rademade_admin/modules/main-menu/main.sass +0 -0
  90. data/app/assets/stylesheets/rademade_admin/modules/page/main.sass +16 -0
  91. data/app/assets/stylesheets/rademade_admin/modules/pagination/main.sass +51 -0
  92. data/app/assets/stylesheets/rademade_admin/modules/popup/new.sass +18 -0
  93. data/app/assets/stylesheets/rademade_admin/var/colors.sass +0 -0
  94. data/app/assets/stylesheets/rademade_admin/var/images.sass +2 -0
  95. data/app/assets/stylesheets/rademade_admin/var/width.sass +13 -0
  96. data/app/controllers/rademade_admin/abstract_controller.rb +18 -2
  97. data/app/controllers/rademade_admin/application_controller.rb +1 -1
  98. data/app/controllers/rademade_admin/dashboard_controller.rb +1 -1
  99. data/app/controllers/rademade_admin/file_controller.rb +25 -0
  100. data/app/controllers/rademade_admin/model_controller.rb +66 -47
  101. data/app/controllers/rademade_admin/sessions_controller.rb +3 -3
  102. data/app/helpers/rademade_admin/field_helper.rb +21 -32
  103. data/app/helpers/rademade_admin/form_helper.rb +57 -27
  104. data/app/helpers/rademade_admin/menu_helper.rb +12 -5
  105. data/app/helpers/rademade_admin/uri_helper.rb +50 -62
  106. data/app/inputs/rademade_admin/date_time_input.rb +13 -0
  107. data/app/inputs/rademade_admin/file_input.rb +72 -0
  108. data/app/inputs/rademade_admin/related_select_input.rb +78 -0
  109. data/app/serializers/autocomplete/link_serializer.rb +6 -4
  110. data/app/services/linker.rb +8 -14
  111. data/app/services/login.rb +5 -3
  112. data/app/services/model_controller/breadcrumbs.rb +36 -0
  113. data/app/services/model_controller/instance_options.rb +7 -5
  114. data/app/services/model_controller/model_options.rb +10 -7
  115. data/app/services/model_controller/notifier.rb +10 -6
  116. data/app/services/model_controller/templates.rb +4 -3
  117. data/app/services/relation_service.rb +11 -0
  118. data/app/services/saver.rb +59 -24
  119. data/app/services/search/conditions/abstract.rb +15 -14
  120. data/app/services/search/conditions/autocomplete.rb +11 -9
  121. data/app/services/search/conditions/list.rb +6 -5
  122. data/app/services/search/conditions/related_list.rb +17 -13
  123. data/app/services/search/{conditions/part/where.rb → part/abstract.rb} +7 -9
  124. data/app/services/search/part/order.rb +17 -0
  125. data/app/services/search/part/where.rb +19 -0
  126. data/app/services/sortable_service.rb +27 -27
  127. data/app/services/template_service.rb +68 -0
  128. data/app/services/upload/preview_service.rb +86 -0
  129. data/app/views/layouts/rademade_admin.html.erb +13 -4
  130. data/app/views/rademade_admin/_blocks/_header.html.erb +35 -28
  131. data/app/views/rademade_admin/_blocks/_menu.html.erb +20 -23
  132. data/app/views/rademade_admin/_blocks/_on_page_select.html.erb +15 -0
  133. data/app/views/rademade_admin/_blocks/_pagination.html.erb +1 -18
  134. data/app/views/rademade_admin/_blocks/_sub_menu.html.erb +3 -3
  135. data/app/views/rademade_admin/_blocks/form/_control.html.erb +3 -0
  136. data/app/views/rademade_admin/_blocks/form/_lang_panel.html.erb +19 -0
  137. data/app/views/rademade_admin/_blocks/sub_menu/_link.html.erb +6 -5
  138. data/app/views/rademade_admin/_blocks/table/_head.html.erb +13 -0
  139. data/app/views/rademade_admin/_layouts/inner.html.erb +21 -33
  140. data/app/views/rademade_admin/_layouts/inner/form.html.erb +6 -13
  141. data/app/views/rademade_admin/_layouts/inner/index_table.html.erb +31 -55
  142. data/app/views/rademade_admin/_layouts/inner/related_index_table.html.erb +26 -54
  143. data/app/views/rademade_admin/abstract/_form.html.erb +6 -9
  144. data/app/views/rademade_admin/abstract/edit.html.erb +3 -8
  145. data/app/views/rademade_admin/abstract/index.html.erb +38 -67
  146. data/app/views/rademade_admin/abstract/new.html.erb +3 -8
  147. data/app/views/rademade_admin/abstract/related.html.erb +48 -0
  148. data/app/views/rademade_admin/dashboard/index.html.erb +4 -5
  149. data/app/views/rademade_admin/dashboard/login.html.erb +19 -30
  150. data/config/initializers/carrier_wave/mongoid.rb +48 -0
  151. data/config/initializers/ckeditor.rb +3 -0
  152. data/config/initializers/kaminari_route_proxy.rb +16 -0
  153. data/config/initializers/simple_form.rb +147 -0
  154. data/config/initializers/simple_form/rademade_component.rb +9 -0
  155. data/config/initializers/simple_form/wrappers.rb +28 -0
  156. data/config/locales/rademade_admin.en.yml +28 -0
  157. data/config/locales/simple_form.en.yml +26 -0
  158. data/config/routes.rb +1 -2
  159. data/lib/rademade_admin.rb +7 -5
  160. data/lib/rademade_admin/bower/performer.rb +1 -1
  161. data/lib/rademade_admin/breadcrumbs/render/rademade.rb +31 -0
  162. data/lib/rademade_admin/engine.rb +2 -2
  163. data/lib/rademade_admin/input/related_select_input/model_data.rb +40 -0
  164. data/lib/rademade_admin/input/related_select_input/related_list.rb +60 -0
  165. data/lib/rademade_admin/model/adapter/data.rb +119 -0
  166. data/lib/rademade_admin/model/adapter/data/active_record.rb +109 -0
  167. data/lib/rademade_admin/model/adapter/data/mongoid.rb +77 -0
  168. data/{app/services/search/query_adapter/abstract.rb → lib/rademade_admin/model/adapter/query.rb} +15 -5
  169. data/lib/rademade_admin/model/adapter/query/active_record.rb +50 -0
  170. data/lib/rademade_admin/model/adapter/query/mongoid.rb +57 -0
  171. data/lib/rademade_admin/model/configuration.rb +43 -16
  172. data/lib/rademade_admin/model/configuration/field_label.rb +16 -0
  173. data/lib/rademade_admin/model/configuration/fields.rb +47 -21
  174. data/lib/rademade_admin/model/configuration/fields_labels.rb +31 -0
  175. data/lib/rademade_admin/model/configuration/form_field.rb +27 -0
  176. data/lib/rademade_admin/model/configuration/form_fields.rb +18 -0
  177. data/lib/rademade_admin/model/configuration/list_field.rb +21 -0
  178. data/lib/rademade_admin/model/configuration/list_fields.rb +18 -0
  179. data/lib/rademade_admin/model/graph.rb +9 -9
  180. data/lib/rademade_admin/model/info.rb +53 -68
  181. data/lib/rademade_admin/model/info/data_item.rb +130 -0
  182. data/lib/rademade_admin/model/info/data_items.rb +130 -0
  183. data/lib/rademade_admin/model/info/field.rb +39 -0
  184. data/lib/rademade_admin/model/info/fields.rb +87 -0
  185. data/lib/rademade_admin/model/info/relation.rb +49 -0
  186. data/lib/rademade_admin/model/info/relations.rb +40 -0
  187. data/lib/rademade_admin/model/info/uploader.rb +16 -0
  188. data/lib/rademade_admin/model/info/uploaders.rb +35 -0
  189. data/lib/rademade_admin/model/reflection.rb +38 -9
  190. data/lib/rademade_admin/routing/mapper.rb +9 -5
  191. data/lib/rademade_admin/search/searcher.rb +22 -0
  192. data/lib/rademade_admin/sortable.rb +1 -0
  193. data/lib/rademade_admin/uploader/photo.rb +1 -0
  194. data/lib/rademade_admin/user.rb +7 -6
  195. data/lib/rademade_admin/version.rb +1 -1
  196. data/lib/tasks/rademade_bower_install.rake +10 -2
  197. data/lib/templates/erb/scaffold/_form.html.erb +13 -0
  198. metadata +195 -109
  199. data/app/assets/javascripts/rademade_admin/app/common/relation-list.coffee +0 -109
  200. data/app/assets/javascripts/rademade_admin/app/form-popup/collection.coffee +0 -20
  201. data/app/assets/javascripts/rademade_admin/app/form-popup/model.coffee +0 -4
  202. data/app/assets/javascripts/rademade_admin/detail_admin/theme.js +0 -56
  203. data/app/assets/javascripts/rademade_admin/form/form-ajax-submit.coffee +0 -157
  204. data/app/assets/stylesheets/rademade_admin.scss.erb +0 -19
  205. data/app/helpers/rademade_admin/name_helper.rb +0 -18
  206. data/app/helpers/rademade_admin/upload_preview_helper.rb +0 -60
  207. data/app/inputs/rademade_admin/admin_file_input.rb +0 -71
  208. data/app/inputs/rademade_admin/admin_select_input.rb +0 -82
  209. data/app/inputs/rademade_admin/admin_textarea_input.rb +0 -6
  210. data/app/inputs/rademade_admin/boolean_input.rb +0 -14
  211. data/app/services/form_builder.rb +0 -4
  212. data/app/services/search/query_adapter/active_record.rb +0 -45
  213. data/app/services/search/query_adapter/mongoid.rb +0 -51
  214. data/app/services/search/searcher.rb +0 -20
  215. data/app/views/rademade_admin/_blocks/_form_control.html.erb +0 -5
  216. data/app/views/rademade_admin/abstract/related_index.html.erb +0 -85
  217. data/config/initializers/devise.rb +0 -251
  218. data/config/initializers/formtastic.rb +0 -13
  219. data/lib/rademade_admin/model/data_adapter.rb +0 -64
  220. data/lib/rademade_admin/model/data_adapter/active_record.rb +0 -59
  221. data/lib/rademade_admin/model/data_adapter/mongoid.rb +0 -54
  222. data/lib/rademade_admin/model/reflection/data.rb +0 -48
  223. data/lib/rademade_admin/model/reflection/uploader.rb +0 -18
@@ -1,109 +0,0 @@
1
- currentClass = []
2
-
3
- initSelect = ->
4
- $(".select-wrapper input[type='hidden']").each ->
5
- initItem $(this)
6
-
7
- initItem = ($item) ->
8
- url = $item.data('relListUrl')
9
- isMultiple = $item.data('relMultiple')
10
-
11
- $item.select2(
12
- multiple : isMultiple
13
- placeholder : 'Enter search phrase'
14
-
15
- initSelection : (element, callback) ->
16
- ids = element.val().replace(/\s*/g, '').split(',')
17
- $.getJSON(url, {search : {id : ids}}).done (data) ->
18
- data = if isMultiple then data else data[0]
19
- $item.select2('enable', true)
20
- callback(data)
21
- addTable($item) if isMultiple
22
- hideTags()
23
-
24
- ajax :
25
- url : url
26
- dataType : 'json'
27
- data : (term) -> {q : term}
28
- results : (data) -> {results : data}
29
- ).unbind('change').bind 'change', (e) ->
30
- $select = $(this)
31
- $table = $select.siblings('.select2-items-list')
32
- addTable($select) if $table.length is 0
33
- addItem(e.added, $table)
34
- hideTags()
35
- $item.select2('enable', false) if $item.val().length > 0
36
-
37
- hideTags = ->
38
- $('.select2-search-choice').hide()
39
-
40
- addTable = ($item) ->
41
- $parent = $item.parent()
42
- $parent.children('.select2-items-list').remove()
43
- $parent.append('<ul class="select2-items-list"></ul>')
44
-
45
- $table = $parent.children('.select2-items-list')
46
-
47
- $($item.select2('data')).each ->
48
- addItem this, $table
49
-
50
- $table.sortable
51
- stop : ->
52
- changeSelectValue($table, $item)
53
-
54
- $table.disableSelection()
55
-
56
- addItem = (item, $table) ->
57
- $table.append(
58
- "<li data-id='#{item.id}'>
59
- <span>#{item.text}</span>
60
- <button data-edit='#{item.edit_url}'>Edit</button>
61
- <button data-remove>Delete</button>
62
- </li>"
63
- )
64
-
65
- $("li[data-id='#{item.id}'] [data-remove]").unbind('click').bind 'click', (e) ->
66
- e.preventDefault()
67
- removeItem($(e.currentTarget).closest('li'), $table) if confirm 'Вы действительно хотите удалить данную модель?'
68
-
69
- removeItem = ($li, $table) ->
70
- $li.remove()
71
- changeSelectValue $table, $table.siblings('.select-wrapper')
72
-
73
- changeSelectValue = ($table, $input) ->
74
- itemsList = []
75
-
76
- $table.children('li').each ->
77
- $li = $(this)
78
- itemsList.push({ id : $li.data('id'), text : $li.text() })
79
-
80
- $input.select2('data', itemsList)
81
- hideTags()
82
-
83
- getId = (data) ->
84
- if data.data._id
85
- return data.data._id.$oid
86
- else
87
- return data.data.id
88
-
89
- selectOnSubmit = (e, modelClassName, data) ->
90
- dataId = getId(data)
91
- $select = $(".select-wrapper [data-rel-class='#{modelClassName}']")
92
- newData = []
93
- if $select.data('relMultiple')
94
- newData.push($select.val()) if $select.val()
95
- newData.push(dataId)
96
- else
97
- newData = dataId
98
- $select.select2('destroy')
99
- $select.val(newData)
100
- initItem($select)
101
-
102
- selectCurrent = (event, data) ->
103
- currentClass.push(data)
104
-
105
-
106
- $ ->
107
- $(document)
108
- .on('ready page:load init-select', initSelect)
109
- .on('form-saved', selectOnSubmit)
@@ -1,20 +0,0 @@
1
- class @FormPopup.Collection extends Backbone.Collection
2
-
3
- lastModel : undefined
4
-
5
- initialize : () ->
6
- @on 'add', @showModel
7
- @on 'remove', @onModelRemove
8
-
9
- getModelWithClass : (modelClassName) ->
10
- @findWhere
11
- modelClassName : modelClassName
12
-
13
- showModel : (model) =>
14
- @lastModel.trigger('hide') if @lastModel
15
- @lastModel = model
16
- model.trigger 'show'
17
-
18
- onModelRemove : () =>
19
- @lastModel = @last()
20
- @lastModel.trigger('show') if @lastModel
@@ -1,4 +0,0 @@
1
- class @FormPopup.Model extends Backbone.Model
2
-
3
- defaults :
4
- modelClassName : ''
@@ -1,56 +0,0 @@
1
- $(function(){
2
-
3
- function setupTheme() {
4
-
5
- var $menu = $("#sidebar-nav");
6
-
7
- // sidebar menu dropdown toggle
8
- $("#dashboard-menu .dropdown-toggle").click(function (e) {
9
- e.preventDefault();
10
- var $item = $(this).parent();
11
- $item.toggleClass("active");
12
- if ($item.hasClass("active")) {
13
- $item.find(".submenu").slideDown("fast");
14
- } else {
15
- $item.find(".submenu").slideUp("fast");
16
- }
17
- });
18
-
19
-
20
- // mobile side-menu slide toggler
21
- $("body").click(function () {
22
- if ($(this).hasClass("menu")) {
23
- $(this).removeClass("menu");
24
- }
25
- });
26
-
27
- $menu.click(function (e) {
28
- e.stopPropagation();
29
- });
30
-
31
- $("#menu-toggler").click(function (e) {
32
- e.stopPropagation();
33
- $("body").toggleClass("menu");
34
- });
35
-
36
- $(window).resize(function () {
37
- $(this).width() > 769 && $("body.menu").removeClass("menu")
38
- });
39
-
40
-
41
- // build all tooltips from data-attributes
42
- $("[data-toggle='tooltip']").each(function (index, el) {
43
- $(el).tooltip({
44
- placement: $(this).data("placement") || 'top'
45
- });
46
- });
47
-
48
-
49
- // quirk to fix dark skin sidebar menu because of B3 border-box
50
- if ($menu.height() > $(".content").height()) {
51
- $("html").addClass("small");
52
- }
53
- }
54
-
55
- $(document).on('ready page:load', setupTheme);
56
- });
@@ -1,157 +0,0 @@
1
- window.FormAjaxSubmit = ($form) ->
2
- @_$form = $form
3
- @_validationObject = null
4
- @_sending = false
5
-
6
- (->
7
-
8
- #@trigger ['ajax-before-submit', 'ajax-submit-done', 'ajax-submit-fail', 'ajax-submit-always']
9
-
10
- FormAjaxSubmit::init = ->
11
-
12
- validation_data = @__getValidationData()
13
- @__loadValidationRules validation_data
14
- @_validationObject = @_$form.validate(validation_data)
15
-
16
- FormAjaxSubmit::displayFieldErrors = (errors) ->
17
- messages = {}
18
-
19
- $.each errors, (field, message) =>
20
- messages['data[' + field + ']'] = message
21
-
22
- unless $.isEmptyObject(messages)
23
- try
24
- @_validationObject.showErrors messages
25
- catch e
26
- @displayGlobalErrors messages
27
- return true
28
- false
29
-
30
- FormAjaxSubmit::displayGlobalErrors = (errors) ->
31
- $.each errors, (i, error) ->
32
- #todo show global errors
33
-
34
-
35
- FormAjaxSubmit::.__loadValidationRules = (validation_data) ->
36
- #TODO load custom validation
37
-
38
-
39
- FormAjaxSubmit::__getValidationData = ->
40
- _self = this
41
-
42
- highlight: (element) ->
43
- $(element).parent().removeClass('success').addClass 'error'
44
-
45
- unhighlight: (element) ->
46
- $(element).parent().removeClass('error').addClass 'success'
47
-
48
- submitHandler: ->
49
- return if _self._sending
50
- lazySubmitHandler = -> _self._submitHandler()
51
- if _self.handlerExist('ajax-before-submit')
52
- _self.trigger('ajax-before-submit', [ lazySubmitHandler ])
53
- else
54
- lazySubmitHandler.call()
55
- return false
56
-
57
-
58
- FormAjaxSubmit::__processFormError = (data) ->
59
- showFieldErrors = @displayFieldErrors(data.errors)
60
- console.log showFieldErrors unless showFieldErrors
61
-
62
- FormAjaxSubmit::__removeFormErrors = ->
63
- @_$form.find('.error-message').remove()
64
-
65
- FormAjaxSubmit::_submitHandler = ->
66
- for instance of CKEDITOR.instances
67
- CKEDITOR.instances[instance].updateElement()
68
-
69
- @_sending = true
70
- _self = this
71
- items = @_$form.serializeObject()
72
-
73
- # Workaround for select2 values serialization
74
- # It finds all 'array' members of data hash,
75
- # and splits their values by ',', cleaning all
76
- # non-space characters.
77
- #todo extract. All class need super refactoring. Sergey, you can do it :)
78
- for memb of items.data
79
- array = items.data[memb]
80
- if $.isArray(array)
81
- newArray = []
82
-
83
- for val in array
84
- cleanVal = val.replace(/\s+/g,'')
85
- if cleanVal.length > 0
86
- newArray = $.merge(newArray, cleanVal.split(','))
87
-
88
- items.data[memb] = if newArray.length is 0 then [''] else newArray
89
-
90
- input_method = @_$form.find('input[name="_method"]')
91
- items['_method'] = input_method.val() if input_method instanceof jQuery
92
-
93
- $.ajax(
94
- url: @_$form.attr('action')
95
- type: @_$form.attr('method')
96
- data: items
97
- dataType: 'json'
98
- ).done((data) ->
99
- _self.trigger('ajax-submit-done', [data])
100
- $(document).trigger('ajax-submit-done', [data]) #rm_todo remove global events
101
- _self.__removeFormErrors()
102
- ).fail((response) ->
103
- try
104
- data = JSON.parse( response.responseText )
105
- _self.trigger('ajax-submit-fail', [data])
106
- _self.__processFormError( data )
107
- #rm_todo error catching.
108
- #rm_todo extract fail process method
109
- ).always((response) ->
110
- data = if (response.responseJSON) then response.responseJSON else response
111
- window.notifier.notify(message: data.message) if data.message
112
- _self.trigger('ajax-submit-always', [data])
113
- _self._sending = false
114
- )
115
-
116
- FormAjaxSubmit::trigger = ->
117
- @_$form.triggerHandler.apply(@_$form, arguments)
118
-
119
- FormAjaxSubmit::handlerExist = (name)->
120
- jQuery._data( @_$form[0] ).events[ name ]
121
-
122
- @
123
- )()
124
-
125
- formatingErrors = ->
126
- $.validator.setDefaults showErrors: (errorMap, errorList) ->
127
-
128
- $.each errorList, (index, error) ->
129
-
130
- $(error.element).parent().children('.error-message').remove()
131
-
132
- if $.isArray(error.message)
133
- message = error.message.join('<br>')
134
- else
135
- message = error.message
136
-
137
- notify = $([
138
- '<span class="error-message">'
139
- message
140
- '<i class="ico error-buble"></i>'
141
- '</span>'
142
- ].join(''))
143
-
144
- $(error.element).after notify
145
- return
146
-
147
- return
148
-
149
- setupFormSubmit = ->
150
-
151
- formatingErrors.call()
152
-
153
- $('form').each (i, form) ->
154
- (new FormAjaxSubmit($(form))).init()
155
-
156
- $ ->
157
- $(document).on 'ready page:load', setupFormSubmit
@@ -1,19 +0,0 @@
1
- /*
2
- *= require jquery-fileupload/css/jquery.fileupload-ui
3
- *= require select2/select2
4
- *= require magnific-popup/dist/magnific-popup
5
- *= require bootstrap/dist/css/bootstrap
6
- *= require jquery-ui/themes/base/core
7
- *= require jquery-ui/themes/base/slider
8
- *= require uniform/themes/default/css/uniform.default
9
- *= require_tree ./rademade_admin
10
- */
11
-
12
- .cke_chrome {
13
- width: 76% !important;
14
- overflow: hidden;
15
- }
16
-
17
- #sidebar-nav #dashboard-menu ul.submenu {
18
- margin-left: -7px;
19
- }
@@ -1,18 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
- module RademadeAdmin::NameHelper
3
-
4
- def admin_list_name(model_info = @model_info, suffix = true)
5
- list_name = model_info.item_name
6
- if suffix
7
- list_name += ' list'
8
- else
9
- list_name = list_name.pluralize
10
- end
11
- list_name
12
- end
13
-
14
- def admin_add_name(model_info = @model_info)
15
- "Add #{model_info.item_name.downcase}"
16
- end
17
-
18
- end
@@ -1,60 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
- module RademadeAdmin::UploadPreviewHelper
3
-
4
- include ActionView::Helpers::TagHelper
5
- include ActionView::Context
6
-
7
- #@param uploader [CarrierWave::Uploader::Base]
8
- def file_preview_html(uploader)
9
- content_tag(:div, :class => 'image-preview-wrapper') do
10
- if uploader.blank?
11
- empty_file_html(uploader)
12
- else
13
- uploaded_file_html(uploader)
14
- end
15
- end
16
- end
17
-
18
- def empty_file_html(uploader)
19
- content_tag(:span, 'File not chosen', {
20
- :class => 'no-file'
21
- })
22
- end
23
-
24
- def uploaded_file_html(uploader)
25
- included_modules = uploader.class.ancestors
26
- if included_modules.include? RademadeAdmin::Uploader::Photo
27
- uploaded_image_preview(uploader)
28
- elsif included_modules.include? RademadeAdmin::Uploader::Video
29
- uploaded_video_preview(uploader)
30
- else
31
- uploaded_file_default_preview(uploader)
32
- end
33
- end
34
-
35
- def uploaded_image_preview(uploader)
36
- content_tag(:img, '', {
37
- :src => uploader.resize(200, 200),
38
- :class => 'image-preview',
39
- :width => 200,
40
- :height => 200
41
- })
42
- end
43
-
44
- def uploaded_video_preview(uploader)
45
- content_tag(:img, '', {
46
- :src => uploader.thumb_path,
47
- :class => 'video-preview',
48
- :width => 300
49
- })
50
- end
51
-
52
- def uploaded_file_default_preview(uploader)
53
- file_path = uploader.file.file
54
- text = File.basename(file_path) + ', ' + RademadeAdmin::FileInfoFormatter.format_size(File.size(file_path))
55
- content_tag(:span, text, {
56
- :class => 'file-uploaded'
57
- })
58
- end
59
-
60
- end