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.
- checksums.yaml +4 -4
- data/app/assets/images/rademade_admin/leaflet/layers-2x.png +0 -0
- data/app/assets/images/rademade_admin/leaflet/layers.png +0 -0
- data/app/assets/images/rademade_admin/leaflet/marker-icon-2x.png +0 -0
- data/app/assets/images/rademade_admin/leaflet/marker-icon.png +0 -0
- data/app/assets/images/rademade_admin/leaflet/marker-shadow.png +0 -0
- data/app/assets/javascripts/rademade_admin.coffee +2 -0
- data/app/assets/javascripts/rademade_admin/app/common/cropper.coffee +70 -0
- data/app/assets/javascripts/rademade_admin/app/common/lang-panel.coffee +1 -1
- data/app/assets/javascripts/rademade_admin/app/common/location.coffee.erb +50 -0
- data/app/assets/javascripts/rademade_admin/app/common/uploader.coffee +74 -38
- data/app/assets/javascripts/rademade_admin/app/form-popup/view.coffee +1 -8
- data/app/assets/javascripts/rademade_admin/app/select2/related/view.coffee +3 -7
- data/app/assets/javascripts/rademade_admin/app/select2/view.coffee +7 -5
- data/app/assets/javascripts/rademade_admin/app/templates/crop.jst.ejs +11 -0
- data/app/assets/javascripts/rademade_admin/app/templates/related-item.jst.ejs +5 -0
- data/app/assets/stylesheets/edit.css +0 -0
- data/app/assets/stylesheets/rademade_admin.sass.erb +7 -0
- data/app/assets/stylesheets/rademade_admin/blocks/buttons/main.sass +49 -1
- data/app/assets/stylesheets/rademade_admin/blocks/form/checkbox.sass +14 -0
- data/app/assets/stylesheets/rademade_admin/blocks/form/input.sass +1 -1
- data/app/assets/stylesheets/rademade_admin/blocks/form/map.sass +4 -0
- data/app/assets/stylesheets/rademade_admin/lib/{glyphicon.sass.erb → glyphicon.sass} +5 -5
- data/app/assets/stylesheets/rademade_admin/lib/jcrop.sass +13 -0
- data/app/assets/stylesheets/rademade_admin/lib/uploader.sass +2 -2
- data/app/assets/stylesheets/rademade_admin/mixins/font_face.scss +10 -0
- data/app/assets/stylesheets/rademade_admin/modules/login/_main.sass +2 -1
- data/app/cells/menu/item.slim +15 -0
- data/app/cells/menu/sub_item.slim +4 -0
- data/app/cells/menu/sub_items.slim +3 -0
- data/app/cells/menu_cell.rb +55 -0
- data/app/controllers/rademade_admin/file_controller.rb +13 -0
- data/app/controllers/rademade_admin/model_controller.rb +5 -1
- data/app/helpers/rademade_admin/uri_helper.rb +5 -5
- data/app/inputs/rademade_admin/file_input.rb +24 -3
- data/app/inputs/rademade_admin/location_input.rb +43 -0
- data/app/services/menu_service.rb +27 -0
- data/app/services/menu_service/menu_item.rb +32 -0
- data/app/services/model_controller/notifier.rb +20 -5
- data/app/services/saver.rb +1 -1
- data/app/services/search/conditions/abstract.rb +3 -1
- data/app/services/search/conditions/autocomplete.rb +1 -1
- data/app/services/search/conditions/list.rb +2 -2
- data/app/services/search/conditions/related_list.rb +2 -2
- data/app/services/search/part/abstract.rb +18 -4
- data/app/services/search/part/order.rb +3 -1
- data/app/services/upload/preview_service.rb +20 -9
- data/app/views/rademade_admin/_blocks/_header.html.erb +2 -2
- data/app/views/rademade_admin/_blocks/_menu.html.erb +3 -39
- data/app/views/rademade_admin/_blocks/button/_edit.html.erb +3 -0
- data/app/views/rademade_admin/_blocks/form/_lang_panel.html.erb +6 -3
- data/app/views/rademade_admin/_layouts/inner/index_table.html.erb +3 -1
- data/app/views/rademade_admin/abstract/index.html.erb +3 -1
- data/app/views/rademade_admin/abstract/related.html.erb +14 -7
- data/config/initializers/carrier_wave/mongoid.rb +1 -1
- data/config/locales/rademade_admin.en.yml +6 -1
- data/config/locales/rademade_admin.ru.yml +28 -0
- data/config/locales/simple_form.ru.yml +7 -0
- data/config/routes.rb +1 -0
- data/lib/rademade_admin.rb +3 -2
- data/lib/rademade_admin/engine.rb +2 -0
- data/lib/rademade_admin/input/related_select_input/related_list.rb +15 -10
- data/lib/rademade_admin/model/adapter/data/active_record.rb +10 -11
- data/lib/rademade_admin/model/adapter/data/mongoid.rb +1 -1
- data/lib/rademade_admin/model/configuration.rb +9 -3
- data/lib/rademade_admin/model/info.rb +5 -2
- data/lib/rademade_admin/model/info/data_item.rb +6 -10
- data/lib/rademade_admin/model/info/field.rb +10 -2
- data/lib/rademade_admin/uploader/carrier_wave.rb +31 -0
- data/lib/rademade_admin/uploader/crop_photo.rb +24 -0
- data/lib/rademade_admin/uploader/photo.rb +25 -3
- data/lib/rademade_admin/version.rb +1 -1
- metadata +124 -72
- data/app/assets/stylesheets/old/-bootstrap/bootstrap-overrides.css.erb +0 -341
- data/app/assets/stylesheets/old/-bootstrap/main.scss.erb +0 -78
- data/app/assets/stylesheets/old/-detail_admin/chart-showcase.scss.erb +0 -33
- data/app/assets/stylesheets/old/-detail_admin/datatables.scss.erb +0 -3
- data/app/assets/stylesheets/old/-detail_admin/elements.scss.erb +0 -665
- data/app/assets/stylesheets/old/-detail_admin/error.scss.erb +0 -19
- data/app/assets/stylesheets/old/-detail_admin/form-showcase.scss.erb +0 -87
- data/app/assets/stylesheets/old/-detail_admin/form-wizard.scss.erb +0 -261
- data/app/assets/stylesheets/old/-detail_admin/gallery.scss.erb +0 -106
- data/app/assets/stylesheets/old/-detail_admin/grids.scss.erb +0 -21
- data/app/assets/stylesheets/old/-detail_admin/icons.scss.erb +0 -115
- data/app/assets/stylesheets/old/-detail_admin/index.scss.erb +0 -290
- data/app/assets/stylesheets/old/-detail_admin/layout.scss.erb +0 -523
- data/app/assets/stylesheets/old/-detail_admin/new-user.scss.erb +0 -49
- data/app/assets/stylesheets/old/-detail_admin/personal-info.scss.erb +0 -144
- data/app/assets/stylesheets/old/-detail_admin/popup.scss.erb +0 -3
- data/app/assets/stylesheets/old/-detail_admin/signin.scss.erb +0 -128
- data/app/assets/stylesheets/old/-detail_admin/tables.scss.erb +0 -195
- data/app/assets/stylesheets/old/-detail_admin/ui-elements.scss.erb +0 -177
- data/app/assets/stylesheets/old/-detail_admin/user-list.scss.erb +0 -112
- data/app/assets/stylesheets/old/-detail_admin/user-profile.scss.erb +0 -169
- data/app/assets/stylesheets/old/-detail_admin/web-app-icons.scss.erb +0 -25
- data/app/assets/stylesheets/old/-lib/bootstrap.datepicker.css.erb +0 -302
- data/app/assets/stylesheets/old/-lib/morris.css.erb +0 -2
- data/app/assets/stylesheets/old/base.scss.erb +0 -23
- data/app/assets/stylesheets/old/edit.css +0 -7
- data/app/assets/stylesheets/old/file-upload.scss.erb +0 -12
- data/app/assets/stylesheets/old/notifier.custom.css.erb +0 -661
- data/app/assets/stylesheets/old/scaffolds.scss.erb +0 -32
- data/app/helpers/rademade_admin/menu_helper.rb +0 -53
- data/app/views/rademade_admin/_blocks/_sub_menu.html.erb +0 -11
- data/app/views/rademade_admin/_blocks/sub_menu/_link.html.erb +0 -6
- data/config/locales/devise.en.yml +0 -59
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ac099ed3499fd7a5621251f91ca93e4b8a3e955b
|
4
|
+
data.tar.gz: 2825da23890de8701d5a6c0e5a911a5014ad49dd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 35fa13e49f08390a27fc4a406eb04d1ec90ba6863d86f817344aaacc7e9945a832a85bb18a57e566402ead9fa371e27d16e639c349ee716a1e526f9129f3dd17
|
7
|
+
data.tar.gz: 564df47bbc1bedc5a3cb7ba02f9dbce4303f85a8a09ea0e515a102f4de14da00c11d16e90345a5e21af999cc1c0eca5c0cc6ed195716f0d844d55701c8469afa
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -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)
|
@@ -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: '© <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
|
-
|
1
|
+
class @Uploader extends Backbone.View
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
this
|
3
|
+
events :
|
4
|
+
'click [data-upload]' : 'upload'
|
5
|
+
'click [data-crop]' : 'crop'
|
7
6
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
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
|
-
|
15
|
-
|
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
|
-
|
18
|
-
|
27
|
+
upload : () ->
|
28
|
+
@$el.find('input.uploader-input-file').click()
|
19
29
|
|
20
|
-
|
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
|
-
|
25
|
-
@$
|
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
|
-
|
28
|
-
|
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
|
-
|
31
|
-
@$
|
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
|
-
|
34
|
-
@$
|
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
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
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
|
-
|
49
|
-
$
|
50
|
-
|
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
|
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
|
-
|
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 @
|
23
|
+
@$el.html @_getHtml(@model.toJSON())
|
24
24
|
return this
|
25
25
|
|
26
|
-
|
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 : (
|
73
|
-
$('.input-holder:has(.select-wrapper)'
|
74
|
-
|
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>
|
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
|
-
.
|
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
|