rademade_admin 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
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