rademade_admin 0.1.0 → 0.1.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 (106) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/rademade_admin/leaflet/layers-2x.png +0 -0
  3. data/app/assets/images/rademade_admin/leaflet/layers.png +0 -0
  4. data/app/assets/images/rademade_admin/leaflet/marker-icon-2x.png +0 -0
  5. data/app/assets/images/rademade_admin/leaflet/marker-icon.png +0 -0
  6. data/app/assets/images/rademade_admin/leaflet/marker-shadow.png +0 -0
  7. data/app/assets/javascripts/rademade_admin.coffee +2 -0
  8. data/app/assets/javascripts/rademade_admin/app/common/cropper.coffee +70 -0
  9. data/app/assets/javascripts/rademade_admin/app/common/lang-panel.coffee +1 -1
  10. data/app/assets/javascripts/rademade_admin/app/common/location.coffee.erb +50 -0
  11. data/app/assets/javascripts/rademade_admin/app/common/uploader.coffee +74 -38
  12. data/app/assets/javascripts/rademade_admin/app/form-popup/view.coffee +1 -8
  13. data/app/assets/javascripts/rademade_admin/app/select2/related/view.coffee +3 -7
  14. data/app/assets/javascripts/rademade_admin/app/select2/view.coffee +7 -5
  15. data/app/assets/javascripts/rademade_admin/app/templates/crop.jst.ejs +11 -0
  16. data/app/assets/javascripts/rademade_admin/app/templates/related-item.jst.ejs +5 -0
  17. data/app/assets/stylesheets/edit.css +0 -0
  18. data/app/assets/stylesheets/rademade_admin.sass.erb +7 -0
  19. data/app/assets/stylesheets/rademade_admin/blocks/buttons/main.sass +49 -1
  20. data/app/assets/stylesheets/rademade_admin/blocks/form/checkbox.sass +14 -0
  21. data/app/assets/stylesheets/rademade_admin/blocks/form/input.sass +1 -1
  22. data/app/assets/stylesheets/rademade_admin/blocks/form/map.sass +4 -0
  23. data/app/assets/stylesheets/rademade_admin/lib/{glyphicon.sass.erb → glyphicon.sass} +5 -5
  24. data/app/assets/stylesheets/rademade_admin/lib/jcrop.sass +13 -0
  25. data/app/assets/stylesheets/rademade_admin/lib/uploader.sass +2 -2
  26. data/app/assets/stylesheets/rademade_admin/mixins/font_face.scss +10 -0
  27. data/app/assets/stylesheets/rademade_admin/modules/login/_main.sass +2 -1
  28. data/app/cells/menu/item.slim +15 -0
  29. data/app/cells/menu/sub_item.slim +4 -0
  30. data/app/cells/menu/sub_items.slim +3 -0
  31. data/app/cells/menu_cell.rb +55 -0
  32. data/app/controllers/rademade_admin/file_controller.rb +13 -0
  33. data/app/controllers/rademade_admin/model_controller.rb +5 -1
  34. data/app/helpers/rademade_admin/uri_helper.rb +5 -5
  35. data/app/inputs/rademade_admin/file_input.rb +24 -3
  36. data/app/inputs/rademade_admin/location_input.rb +43 -0
  37. data/app/services/menu_service.rb +27 -0
  38. data/app/services/menu_service/menu_item.rb +32 -0
  39. data/app/services/model_controller/notifier.rb +20 -5
  40. data/app/services/saver.rb +1 -1
  41. data/app/services/search/conditions/abstract.rb +3 -1
  42. data/app/services/search/conditions/autocomplete.rb +1 -1
  43. data/app/services/search/conditions/list.rb +2 -2
  44. data/app/services/search/conditions/related_list.rb +2 -2
  45. data/app/services/search/part/abstract.rb +18 -4
  46. data/app/services/search/part/order.rb +3 -1
  47. data/app/services/upload/preview_service.rb +20 -9
  48. data/app/views/rademade_admin/_blocks/_header.html.erb +2 -2
  49. data/app/views/rademade_admin/_blocks/_menu.html.erb +3 -39
  50. data/app/views/rademade_admin/_blocks/button/_edit.html.erb +3 -0
  51. data/app/views/rademade_admin/_blocks/form/_lang_panel.html.erb +6 -3
  52. data/app/views/rademade_admin/_layouts/inner/index_table.html.erb +3 -1
  53. data/app/views/rademade_admin/abstract/index.html.erb +3 -1
  54. data/app/views/rademade_admin/abstract/related.html.erb +14 -7
  55. data/config/initializers/carrier_wave/mongoid.rb +1 -1
  56. data/config/locales/rademade_admin.en.yml +6 -1
  57. data/config/locales/rademade_admin.ru.yml +28 -0
  58. data/config/locales/simple_form.ru.yml +7 -0
  59. data/config/routes.rb +1 -0
  60. data/lib/rademade_admin.rb +3 -2
  61. data/lib/rademade_admin/engine.rb +2 -0
  62. data/lib/rademade_admin/input/related_select_input/related_list.rb +15 -10
  63. data/lib/rademade_admin/model/adapter/data/active_record.rb +10 -11
  64. data/lib/rademade_admin/model/adapter/data/mongoid.rb +1 -1
  65. data/lib/rademade_admin/model/configuration.rb +9 -3
  66. data/lib/rademade_admin/model/info.rb +5 -2
  67. data/lib/rademade_admin/model/info/data_item.rb +6 -10
  68. data/lib/rademade_admin/model/info/field.rb +10 -2
  69. data/lib/rademade_admin/uploader/carrier_wave.rb +31 -0
  70. data/lib/rademade_admin/uploader/crop_photo.rb +24 -0
  71. data/lib/rademade_admin/uploader/photo.rb +25 -3
  72. data/lib/rademade_admin/version.rb +1 -1
  73. metadata +124 -72
  74. data/app/assets/stylesheets/old/-bootstrap/bootstrap-overrides.css.erb +0 -341
  75. data/app/assets/stylesheets/old/-bootstrap/main.scss.erb +0 -78
  76. data/app/assets/stylesheets/old/-detail_admin/chart-showcase.scss.erb +0 -33
  77. data/app/assets/stylesheets/old/-detail_admin/datatables.scss.erb +0 -3
  78. data/app/assets/stylesheets/old/-detail_admin/elements.scss.erb +0 -665
  79. data/app/assets/stylesheets/old/-detail_admin/error.scss.erb +0 -19
  80. data/app/assets/stylesheets/old/-detail_admin/form-showcase.scss.erb +0 -87
  81. data/app/assets/stylesheets/old/-detail_admin/form-wizard.scss.erb +0 -261
  82. data/app/assets/stylesheets/old/-detail_admin/gallery.scss.erb +0 -106
  83. data/app/assets/stylesheets/old/-detail_admin/grids.scss.erb +0 -21
  84. data/app/assets/stylesheets/old/-detail_admin/icons.scss.erb +0 -115
  85. data/app/assets/stylesheets/old/-detail_admin/index.scss.erb +0 -290
  86. data/app/assets/stylesheets/old/-detail_admin/layout.scss.erb +0 -523
  87. data/app/assets/stylesheets/old/-detail_admin/new-user.scss.erb +0 -49
  88. data/app/assets/stylesheets/old/-detail_admin/personal-info.scss.erb +0 -144
  89. data/app/assets/stylesheets/old/-detail_admin/popup.scss.erb +0 -3
  90. data/app/assets/stylesheets/old/-detail_admin/signin.scss.erb +0 -128
  91. data/app/assets/stylesheets/old/-detail_admin/tables.scss.erb +0 -195
  92. data/app/assets/stylesheets/old/-detail_admin/ui-elements.scss.erb +0 -177
  93. data/app/assets/stylesheets/old/-detail_admin/user-list.scss.erb +0 -112
  94. data/app/assets/stylesheets/old/-detail_admin/user-profile.scss.erb +0 -169
  95. data/app/assets/stylesheets/old/-detail_admin/web-app-icons.scss.erb +0 -25
  96. data/app/assets/stylesheets/old/-lib/bootstrap.datepicker.css.erb +0 -302
  97. data/app/assets/stylesheets/old/-lib/morris.css.erb +0 -2
  98. data/app/assets/stylesheets/old/base.scss.erb +0 -23
  99. data/app/assets/stylesheets/old/edit.css +0 -7
  100. data/app/assets/stylesheets/old/file-upload.scss.erb +0 -12
  101. data/app/assets/stylesheets/old/notifier.custom.css.erb +0 -661
  102. data/app/assets/stylesheets/old/scaffolds.scss.erb +0 -32
  103. data/app/helpers/rademade_admin/menu_helper.rb +0 -53
  104. data/app/views/rademade_admin/_blocks/_sub_menu.html.erb +0 -11
  105. data/app/views/rademade_admin/_blocks/sub_menu/_link.html.erb +0 -6
  106. data/config/locales/devise.en.yml +0 -59
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2c553d2b903554833df01e46b4d9ff33090f5062
4
- data.tar.gz: 832c752bdb49ade91452d48906319fad6a08dd6c
3
+ metadata.gz: ac099ed3499fd7a5621251f91ca93e4b8a3e955b
4
+ data.tar.gz: 2825da23890de8701d5a6c0e5a911a5014ad49dd
5
5
  SHA512:
6
- metadata.gz: 8e00bfe82dff650203c6f20a7e9c2fb74c12e96f33c7e97df581d140534325c39a89e871bd667fdcb8416648e8b7fd13ef2183e551f4c3c2238b0a3012457ff1
7
- data.tar.gz: ec567ec3001e95ffe2546772c29c454d51af20be382bbfa58a8e00de54f44e47bdc7461b66654ade5bd8e09fa778db74e1a92835a030f3a075ad85624c320e7f
6
+ metadata.gz: 35fa13e49f08390a27fc4a406eb04d1ec90ba6863d86f817344aaacc7e9945a832a85bb18a57e566402ead9fa371e27d16e639c349ee716a1e526f9129f3dd17
7
+ data.tar.gz: 564df47bbc1bedc5a3cb7ba02f9dbce4303f85a8a09ea0e515a102f4de14da00c11d16e90345a5e21af999cc1c0eca5c0cc6ed195716f0d844d55701c8469afa
@@ -10,6 +10,7 @@
10
10
  #= require jquery-ui/ui/slider
11
11
  #= require jquery-ui/ui/tabs
12
12
  #= require jquery-ui/ui/datepicker
13
+ #= require jcrop/js/jquery.Jcrop
13
14
  #= require jquery-timepicker/dist/jquery-ui-timepicker-addon
14
15
  #= require jquery-timepicker/dist/jquery-ui-sliderAccess
15
16
  #= require jquery-fileupload/js/jquery.fileupload
@@ -20,6 +21,7 @@
20
21
  #= require jquery-validation/src/core
21
22
  #= require jquery-validation/src/ajax
22
23
  #= require jquery-validation/src/delegate
24
+ #= require leaflet/dist/leaflet-src
23
25
  #= require moment/moment
24
26
  #= require turbolinks
25
27
  #= require select2
@@ -0,0 +1,70 @@
1
+ class @Cropper extends Backbone.View
2
+
3
+ horizontalAttributes : ['x', 'w']
4
+ verticalAttributes : ['y', 'h']
5
+
6
+ className : 'add_new_popup'
7
+
8
+ events :
9
+ 'click' : 'check'
10
+ 'click [data-crop]' : 'crop'
11
+ 'click [data-close]' : 'close'
12
+
13
+ setOriginalDimensions : (originalDimensions) ->
14
+ @originalDimensions = originalDimensions
15
+
16
+ show : (imagePath) ->
17
+ @render(imagePath)
18
+ @initCrop()
19
+ @$el.show()
20
+
21
+ render : (imagePath) ->
22
+ @$el.html @_getHTML(imagePath : imagePath)
23
+
24
+ initCrop : () ->
25
+ @$cropAttributes = @$el.find('[data-crop-attribute]')
26
+ [originalWidth, originalHeight] = @originalDimensions
27
+ $image = @$el.find('.crop-image')
28
+ $image.on 'load', () =>
29
+ @horizontalRatio = originalWidth / $image.width()
30
+ @verticalRatio = originalHeight / $image.height()
31
+ $image.Jcrop
32
+ onSelect : @_updateCropAttributes
33
+
34
+ check : (e) ->
35
+ @closePopup() if $(e.target).closest('.crop').length is 0
36
+
37
+ crop : (e) ->
38
+ e.preventDefault()
39
+ @closePopup()
40
+ @trigger 'crop-image', @_getCropData()
41
+ false
42
+
43
+ close : (e) ->
44
+ e.preventDefault()
45
+ @closePopup()
46
+
47
+ closePopup : () ->
48
+ @$el.hide()
49
+
50
+ _getCropData : () ->
51
+ cropData = {}
52
+ @$cropAttributes.each () ->
53
+ $cropAttribute = $(this)
54
+ cropData[$cropAttribute.data('crop-attribute')] = $cropAttribute.val()
55
+ cropData
56
+
57
+ _updateCropAttributes : (attributes) =>
58
+ @_scaleAttributes(attributes)
59
+ @$cropAttributes.each () ->
60
+ $cropAttribute = $(this)
61
+ $cropAttribute.val(attributes[$cropAttribute.data('crop-attribute')])
62
+
63
+ _scaleAttributes : (attributes) ->
64
+ _.each @horizontalAttributes, (attribute) =>
65
+ attributes[attribute] *= @horizontalRatio
66
+ _.each @verticalAttributes, (attribute) =>
67
+ attributes[attribute] *= @verticalRatio
68
+
69
+ _getHTML : (data) ->
70
+ JST['rademade_admin/app/templates/crop'](data)
@@ -3,4 +3,4 @@ initLangPanel = () ->
3
3
  $langPanel.tabs() if $langPanel.length > 0
4
4
 
5
5
  $ ->
6
- $(document).on 'ready page:load init-lang-panel', initLangPanel
6
+ $(document).on 'ready page:load init-plugins', initLangPanel
@@ -0,0 +1,50 @@
1
+ class @Location extends Backbone.View
2
+
3
+ initElements : () ->
4
+ @$map = @$el.find('.map')
5
+ @$latitude = @$el.find('[data-location-attribute="latitude"]')
6
+ @$longitude = @$el.find('[data-location-attribute="longitude"]')
7
+ @$zoom = @$el.find('[data-location-attribute="zoom"]')
8
+
9
+ initMap : () ->
10
+ @_initMap()
11
+ @_initLayer()
12
+ @_initMarker()
13
+
14
+ _initMap : () ->
15
+ @center = [@$latitude.val(), @$longitude.val()]
16
+ @map = L.map(@$map.attr('id')).setView(@center, @$zoom.val())
17
+ @map.on 'zoomend', (event) =>
18
+ @$zoom.val event.target.getZoom()
19
+
20
+ _initLayer : () ->
21
+ L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
22
+ attribution: '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
23
+ }).addTo(@map)
24
+
25
+ _initMarker : () ->
26
+ marker = new L.marker @center,
27
+ icon : L.icon
28
+ iconUrl : '<%= asset_path('rademade_admin/leaflet/marker-icon.png') %>'
29
+ shadowUrl : '<%= asset_path('rademade_admin/leaflet/marker-shadow.png') %>'
30
+ draggable : true
31
+ marker.on 'dragend', (event) =>
32
+ @_updateLatLng event.target.getLatLng()
33
+ marker.addTo(@map)
34
+
35
+ _updateLatLng : (latLng) ->
36
+ @$latitude.val latLng.lat
37
+ @$longitude.val latLng.lng
38
+
39
+ @init : ($el) ->
40
+ location = new this
41
+ el : $el
42
+ location.initElements()
43
+ location.initMap()
44
+
45
+ @initAll : () ->
46
+ $('.location').each () ->
47
+ Location.init $(this)
48
+
49
+ $ ->
50
+ $(document).on('page:load ready init-plugins', Location.initAll)
@@ -1,53 +1,89 @@
1
- initUploader = ->
1
+ class @Uploader extends Backbone.View
2
2
 
3
- window.bindFileUploader = ($el, $wrapper) ->
4
- @$el = $el
5
- @$wrapper = $wrapper
6
- this
3
+ events :
4
+ 'click [data-upload]' : 'upload'
5
+ 'click [data-crop]' : 'crop'
7
6
 
8
- bindFileUploader::submitFile = (e, $form) ->
9
- @_setUploadProgress(0)
10
- @_showUploader()
11
- $form.submit().done =>
12
- @_appendUploadResult.apply(this, arguments)
7
+ initialize : (options) ->
8
+ super
9
+ @$uploader = options.$uploader
10
+ @_initCropper()
11
+
12
+ initElements : () ->
13
+ @$progressWrapper = @$el.find('.upload-progress-wrapper')
14
+ @$cropButton = @$el.find('[data-crop]')
15
+ @$cropAttributes = @$el.find('[data-crop-attribute]')
13
16
 
14
- bindFileUploader::uploadDone = () ->
15
- @_hideUploader()
17
+ initFileUpload : () ->
18
+ @$uploader.fileupload
19
+ dataType : 'json'
20
+ url : @$uploader.data('url')
21
+ formData : @_getUploaderData()
22
+ add : @submitFile
23
+ done : => @$progressWrapper.hide()
24
+ error : => @$progressWrapper.hide()
25
+ progressall : @updateUploadProggress
16
26
 
17
- bindFileUploader::uploadError = () ->
18
- @_hideUploader()
27
+ upload : () ->
28
+ @$el.find('input.uploader-input-file').click()
19
29
 
20
- bindFileUploader::updateUploadProggress = (e, data) ->
30
+ crop : () ->
31
+ imagePath = @$el.find('.form-input[type="hidden"]').val()
32
+ if imagePath
33
+ @cropper.setOriginalDimensions @$el.find('img').data('original-dimensions').split(',')
34
+ @cropper.show imagePath
35
+ @$el.append(@cropper.$el)
36
+
37
+ submitFile : (e, $form) =>
38
+ @_setUploadProgress(0)
39
+ @$progressWrapper.show()
40
+ $form.submit().done @appendUploadResult
41
+
42
+ updateUploadProggress : (e, data) =>
21
43
  progress = parseInt(data.loaded / data.total * 100, 10)
22
44
  @_setUploadProgress(progress)
23
45
 
24
- bindFileUploader::_showUploader = ->
25
- @$wrapper.find('.upload-progress-wrapper').show()
46
+ appendUploadResult : (result) =>
47
+ @$el
48
+ .find('.preview-wrapper').replaceWith(result.html).end()
49
+ .find('.form-input[type="hidden"]').val(result.file[@$uploader.data('column')].url)
50
+
51
+ _initCropper : () ->
52
+ @cropper = new Cropper()
53
+ @cropper.on 'crop-image', @_crop
26
54
 
27
- bindFileUploader::_hideUploader = ->
28
- @$wrapper.find('.upload-progress-wrapper').hide()
55
+ _crop : (cropData) =>
56
+ allData = @_getUploaderData()
57
+ allData.crop = cropData
58
+ $.ajax
59
+ type : 'post'
60
+ url : @$cropButton.data('url')
61
+ data : allData
62
+ dataType : 'json'
63
+ success : @appendUploadResult
29
64
 
30
- bindFileUploader::_setUploadProgress = (progress) ->
31
- @$wrapper.find('.upload-progress').width(progress + '%')
65
+ _getUploaderData : () ->
66
+ uploaderData = _.pick(@$uploader.data(), 'id', 'saved', 'model', 'column', 'uploader')
67
+ uploaderData.path = @$el.find('.form-input[type="hidden"]').val()
68
+ uploaderData
32
69
 
33
- bindFileUploader::_appendUploadResult = (result)->
34
- @$wrapper.find('.preview-wrapper').replaceWith(result.html)
35
- @$wrapper.find('input[type="hidden"]').val(result.file[@$el.data('column')].url)
70
+ _setUploadProgress : (progress) =>
71
+ @$el.find('.upload-progress').width(progress + '%')
36
72
 
37
- bindFileUploader::init = () ->
38
- #todo url take from dom
39
- @$el.fileupload
40
- dataType : 'json'
41
- url : @$el.data('url')
42
- formData : _.pick(@$el.data(), 'id', 'saved', 'model', 'column', 'uploader')
43
- add : => @submitFile.apply(this, arguments)
44
- done : => @uploadDone.apply(this, arguments)
45
- error : => @uploadError.apply(this, arguments)
46
- progressall : => @updateUploadProggress.apply(this, arguments)
73
+ @init : ($uploader) ->
74
+ uploader = new this
75
+ el : $uploader.closest('.uploader-wrapper')
76
+ $uploader : $uploader
77
+ uploader.initElements()
78
+ uploader.initFileUpload()
79
+ uploader
47
80
 
48
- $('.uploader-input-file').each (index, el) ->
49
- $el = $(el)
50
- (new bindFileUploader($el, $el.closest('.uploader-wrapper'))).init()
81
+ @initAll : () ->
82
+ $('.uploader-input-file').each (index, el) ->
83
+ $uploader = $(el)
84
+ unless $uploader.data('initialized')
85
+ Uploader.init $uploader
86
+ $uploader.data('initialized', true)
51
87
 
52
88
  $ ->
53
- $(document).on('page:load ready init-uploader', initUploader)
89
+ $(document).on 'page:load ready init-plugins', Uploader.initAll
@@ -38,18 +38,11 @@ class @FormPopup.View extends Backbone.View
38
38
  _init : () ->
39
39
  $form = @$el.find 'form'
40
40
  if $form.length > 0
41
- @_initPlugins()
41
+ $(document).trigger('init-plugins')
42
42
  @_initForm $form
43
43
  else
44
44
  @_bindButton()
45
45
 
46
- _initPlugins : () ->
47
- $(document)
48
- .trigger('init-uploader')
49
- .trigger('init-lang-panel')
50
- .trigger('init-plugins') # todo move all custom inits to init-plugins
51
- Select2Input.View.initAll @$el
52
-
53
46
  _initForm : ($form) ->
54
47
  Form.init $form
55
48
  $form.on 'ajax-submit-done', (e, response) =>
@@ -20,15 +20,11 @@ class @Select2Input.RelatedView extends Backbone.View
20
20
  false
21
21
 
22
22
  render : () ->
23
- @$el.html @_getTemplateHtml()
23
+ @$el.html @_getHtml(@model.toJSON())
24
24
  return this
25
25
 
26
- _getTemplateHtml : () ->
27
- """
28
- <span>#{@model.get('text')}</span>
29
- <button data-edit="#{@model.get('edit_url')}">Edit</button>
30
- <button data-remove>Delete</button>
31
- """
26
+ _getHtml : (data) ->
27
+ JST['rademade_admin/app/templates/related-item'](data)
32
28
 
33
29
  @init : ($el) ->
34
30
  model = new Select2Input.RelatedModel
@@ -69,10 +69,12 @@ class @Select2Input.View extends Backbone.View
69
69
  view.initItem()
70
70
  view
71
71
 
72
- @initAll : (within) ->
73
- $('.input-holder:has(.select-wrapper)', within).each (index, select) =>
74
- Select2Input.View.init $(select)
72
+ @initAll : () ->
73
+ $('.input-holder:has(.select-wrapper)').each (index, select) =>
74
+ $select = $(select)
75
+ unless $select.data('initialized')
76
+ Select2Input.View.init $select
77
+ $select.data('initialized', true)
75
78
 
76
79
  $ ->
77
- $(document).on 'ready page:load', () ->
78
- Select2Input.View.initAll()
80
+ $(document).on 'ready page:load init-plugins', Select2Input.View.initAll
@@ -0,0 +1,11 @@
1
+ <div class="crop">
2
+ <img class="crop-image" src="<%= imagePath %>">
3
+ <div class="crop-actions">
4
+ <button class="btn blue-btn" data-crop>Crop</button>
5
+ <button class="btn red-btn" data-close>Discard</button>
6
+ </div>
7
+ <input type="hidden" data-crop-attribute="x"/>
8
+ <input type="hidden" data-crop-attribute="y"/>
9
+ <input type="hidden" data-crop-attribute="w"/>
10
+ <input type="hidden" data-crop-attribute="h"/>
11
+ </div>
@@ -0,0 +1,5 @@
1
+ <span><%= text %></span><%
2
+ if (edit_url) {
3
+ %><button data-edit="<%= edit_url %>"><%= I18n.t('rademade_admin.edit_related_item') %></button><%
4
+ }
5
+ %><button data-remove><%= I18n.t('rademade_admin.destroy') %></button>
File without changes
@@ -7,6 +7,9 @@
7
7
  *= require jquery-ui/themes/base/datepicker
8
8
  *= require uniform/themes/default/css/uniform.default
9
9
  *= require jquery-timepicker/dist/jquery-ui-timepicker-addon
10
+ *= require jcrop/css/jquery.Jcrop
11
+ *= require leaflet/dist/leaflet
12
+ *= require edit
10
13
  */
11
14
 
12
15
  /******************/
@@ -22,6 +25,7 @@
22
25
  /******************/
23
26
 
24
27
  @import rademade_admin/mixins/clear
28
+ @import rademade_admin/mixins/font_face
25
29
  @import rademade_admin/mixins/fonts
26
30
  /*@import rademade_admin/mixins/sprite*/
27
31
  @import rademade_admin/mixins/text-overflow
@@ -43,6 +47,7 @@
43
47
  @import rademade_admin/lib/uploader
44
48
  @import rademade_admin/lib/datepicker
45
49
  @import rademade_admin/lib/notifier
50
+ @import rademade_admin/lib/jcrop
46
51
 
47
52
  /******************/
48
53
  /** base **/
@@ -71,6 +76,8 @@
71
76
  @import rademade_admin/blocks/form/select2
72
77
  @import rademade_admin/blocks/form/table
73
78
  @import rademade_admin/blocks/form/texarea
79
+ @import rademade_admin/blocks/form/checkbox
80
+ @import rademade_admin/blocks/form/map
74
81
 
75
82
 
76
83
  /******************/
@@ -78,4 +78,52 @@
78
78
  .select-btn
79
79
  padding: 4px 12px
80
80
 
81
- .uploader-input-file
81
+ .lang-btn
82
+ position: relative
83
+ display: inline-block
84
+ margin: 0
85
+ padding: 6px 12px
86
+ font-size: 13px
87
+ font-weight: 400
88
+ color: #fff
89
+ text-align: center
90
+ cursor: pointer
91
+ border: 1px solid #397bc1
92
+ background-color: #428bca
93
+ +border-radius(5px)
94
+ +user-select
95
+
96
+ a
97
+ width: auto !important
98
+ padding: 0 10px
99
+
100
+ &:hover
101
+ background-color: #3071a9
102
+ border-color: #285e8e
103
+
104
+ &.ui-state-active
105
+ border: 1px solid #abc993
106
+ background-color: #eaf7de
107
+ a
108
+ position: relative
109
+ color: #70ab3c !important
110
+ &:after,
111
+ &:before
112
+ top: 100%
113
+ left: 50%
114
+ border: solid transparent
115
+ content: " "
116
+ height: 0
117
+ width: 0
118
+ position: absolute
119
+ pointer-events: none
120
+ &:after
121
+ border-color: rgba(234, 247, 222, 0)
122
+ border-top-color: #eaf7de
123
+ border-width: 4px
124
+ margin-left: -4px
125
+ &:before
126
+ border-color: rgba(171, 201, 147, 0)
127
+ border-top-color: #abc993
128
+ border-width: 5px
129
+ margin-left: -5px