para 0.5.4 → 0.6.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/para/admin/async-progress.coffee +29 -0
- data/app/assets/javascripts/para/admin/filters-form.coffee +1 -1
- data/app/assets/javascripts/para/admin/importers.coffee +38 -0
- data/app/assets/javascripts/para/admin/table.coffee +1 -1
- data/app/assets/javascripts/para/admin/tabs.coffee +1 -1
- data/app/assets/javascripts/para/admin/theme_actions.coffee +1 -1
- data/app/assets/javascripts/para/admin/tree.coffee +5 -5
- data/app/assets/javascripts/para/admin.coffee +2 -1
- data/app/assets/javascripts/para/inputs/nested_many.coffee +1 -1
- data/app/assets/javascripts/para/lib/remote-file-forms.coffee +60 -0
- data/app/assets/javascripts/para/lib/turbolinks-loading.coffee +1 -1
- data/app/assets/javascripts/para/lib/turbolinks-reloader.coffee +19 -0
- data/app/assets/stylesheets/para/admin/src/datetimepicker.sass +3 -1
- data/app/assets/stylesheets/para/admin/src/fuelux.sass +4 -2
- data/app/assets/stylesheets/para/admin/src/nested_many.sass +5 -0
- data/app/assets/stylesheets/para/admin/src/redactor.sass +8 -5
- data/app/assets/stylesheets/para/admin/src/selectize.sass +7 -4
- data/app/assets/stylesheets/para/admin/theme/_breadcrumb.sass +20 -12
- data/app/assets/stylesheets/para/admin/theme/_buttons.sass +6 -2
- data/app/assets/stylesheets/para/admin/theme/_checkable.sass +4 -2
- data/app/assets/stylesheets/para/admin/theme/_commonds.sass +6 -3
- data/app/assets/stylesheets/para/admin/theme/_dropdown.sass +3 -1
- data/app/assets/stylesheets/para/admin/theme/_form.sass +4 -2
- data/app/assets/stylesheets/para/admin/theme/_list.sass +7 -5
- data/app/assets/stylesheets/para/admin/theme/_navigation.sass +12 -66
- data/app/assets/stylesheets/para/admin/theme/_navtabs.sass +18 -14
- data/app/assets/stylesheets/para/admin/theme/_orderable.sass +7 -3
- data/app/assets/stylesheets/para/admin/theme/_panel.sass +19 -13
- data/app/assets/stylesheets/para/admin/theme/_tree.sass +4 -2
- data/app/assets/stylesheets/para/overrides/theme.sass +14 -10
- data/app/controllers/para/admin/base_controller.rb +0 -5
- data/app/controllers/para/admin/crud_resources_controller.rb +5 -19
- data/app/controllers/para/admin/{singleton_resources_controller.rb → form_resources_controller.rb} +4 -4
- data/app/controllers/para/admin/imports_controller.rb +68 -0
- data/app/controllers/para/admin/resources_controller.rb +0 -1
- data/app/decorators/para/component/base_decorator.rb +6 -18
- data/app/decorators/para/component/crud_decorator.rb +3 -3
- data/app/decorators/para/component/{singleton_resource_decorator.rb → form_decorator.rb} +6 -6
- data/app/helpers/para/admin/components_helper.rb +12 -1
- data/app/helpers/para/admin/decorators_helper.rb +13 -0
- data/app/helpers/para/markup_helper.rb +4 -0
- data/app/helpers/para/search_helper.rb +1 -4
- data/app/models/para/component/base.rb +17 -14
- data/app/models/para/component/crud.rb +17 -0
- data/app/models/para/component/form.rb +36 -0
- data/app/models/para/component/resource.rb +9 -20
- data/app/models/para/component/settings.rb +1 -1
- data/app/models/para/library/file.rb +23 -0
- data/app/models/para/library.rb +5 -0
- data/app/views/para/admin/form_resources/show.html.haml +4 -0
- data/app/views/para/admin/imports/_completed.html.haml +16 -0
- data/app/views/para/admin/imports/_failed.html.haml +7 -0
- data/app/views/para/admin/imports/_progress.html.haml +5 -0
- data/app/views/para/admin/imports/new.html.haml +14 -0
- data/app/views/para/admin/imports/show.html.haml +10 -0
- data/app/views/para/admin/resources/_fields.html.haml +1 -4
- data/app/views/para/admin/resources/_imports_menu.html.haml +17 -20
- data/app/views/para/admin/resources/_tree.html.haml +1 -1
- data/app/views/para/admin/shared/_breadcrumbs.html.haml +1 -4
- data/app/views/para/admin/shared/_navigation.html.haml +2 -2
- data/app/views/para/form/_tabs.html.haml +1 -1
- data/config/locales/en.yml +10 -0
- data/config/locales/fr.yml +12 -2
- data/db/migrate/20160905134106_create_para_library_files.rb +9 -0
- data/lib/generators/para/importer/templates/base_importer.rb +8 -1
- data/lib/generators/para/install/install_generator.rb +1 -2
- data/lib/generators/para/install/templates/components.rb +9 -5
- data/lib/generators/para/tree_item/tree_item_generator.rb +17 -0
- data/lib/para/attribute_field/base.rb +12 -4
- data/lib/para/attribute_field/enum.rb +7 -3
- data/lib/para/component/importable.rb +4 -4
- data/lib/para/component.rb +1 -1
- data/lib/para/components_cleaner.rb +66 -0
- data/lib/para/components_configuration.rb +3 -1
- data/lib/para/engine.rb +36 -3
- data/lib/para/ext/active_job_status.rb +13 -0
- data/lib/para/ext/paperclip.rb +10 -0
- data/lib/para/ext/simple_form_extension.rb +6 -0
- data/lib/para/ext.rb +1 -0
- data/lib/para/form_builder/nested_form.rb +5 -2
- data/lib/para/importer/base.rb +84 -7
- data/lib/para/inputs/nested_many_input.rb +1 -1
- data/lib/para/logging/active_job_log_subscriber.rb +48 -0
- data/lib/para/logging.rb +8 -0
- data/lib/para/markup/resources_table.rb +2 -4
- data/lib/para/model_field_parsers/enums.rb +19 -0
- data/lib/para/model_field_parsers/relations.rb +1 -1
- data/lib/para/model_field_parsers/store.rb +1 -1
- data/lib/para/model_field_parsers.rb +1 -0
- data/lib/para/plugins/routes.rb +2 -4
- data/lib/para/postgres_extensions_checker.rb +30 -0
- data/lib/para/routes.rb +5 -4
- data/lib/para/routing/component_controller_constraint.rb +36 -0
- data/lib/para/routing.rb +7 -0
- data/lib/para/sti/root_model.rb +8 -2
- data/lib/para/version.rb +1 -1
- data/lib/para.rb +10 -0
- data/lib/rails/routing_mapper.rb +59 -27
- data/lib/tasks/para_tasks.rake +21 -11
- metadata +73 -15
- data/app/models/para/component/singleton_resource.rb +0 -35
- data/app/views/para/admin/singleton_resources/show.html.haml +0 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 194f93e32421619179ac7bbe6ecafbca1956e001
|
4
|
+
data.tar.gz: 61742c2210cd54cb7081657d87bd811ee543b5cc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2ef54e425e19c33d6f202c6cf0615393027be98198428d53b8c656ada2d3bfc76c739b721ce8b953a9062cbd207feef849e6b6bc33ff835171135af44b60ef35
|
7
|
+
data.tar.gz: 2940b7949484eb38d9c0006da8b3722383767a19373eeab8bce0cc2b41a66a499edcdc0f9a38215c0d6b9492ca2f6902dc9f1733f96b85b75889408f840aabe0
|
@@ -0,0 +1,29 @@
|
|
1
|
+
class Para.AsyncProgress extends Vertebra.View
|
2
|
+
initialize: (options) ->
|
3
|
+
@targetUrl = options.progressUrl || @$el.data('async-progress-url')
|
4
|
+
@$progressBar = @$el.find('.progress-bar')
|
5
|
+
@trackProgress()
|
6
|
+
|
7
|
+
trackProgress: =>
|
8
|
+
$.get(@targetUrl).done(@onTrackingDataReceived).fail(@onJobError)
|
9
|
+
|
10
|
+
stop: ->
|
11
|
+
clearTimeout(@progressTimeout)
|
12
|
+
|
13
|
+
onTrackingDataReceived: (data) =>
|
14
|
+
if data.status is 'completed' then @completed() else @setProgress(data.progress)
|
15
|
+
|
16
|
+
setProgress: (progress) ->
|
17
|
+
@$progressBar.css(width: "#{ progress }%")
|
18
|
+
@progressTimeout = setTimeout(@trackProgress, 1500)
|
19
|
+
@trigger('progress')
|
20
|
+
|
21
|
+
completed: ->
|
22
|
+
@$progressBar.css(width: "100%")
|
23
|
+
@$progressBar.removeClass('progress-bar-striped').addClass('progress-bar-success')
|
24
|
+
@trigger('completed')
|
25
|
+
|
26
|
+
onJobError: =>
|
27
|
+
@$progressBar.css(width: "100%")
|
28
|
+
@$progressBar.removeClass('progress-bar-striped').addClass('progress-bar-error')
|
29
|
+
@trigger('failed')
|
@@ -0,0 +1,38 @@
|
|
1
|
+
class Para.Importer extends RemoteModalForm
|
2
|
+
initialize: (options = {}) ->
|
3
|
+
super(options)
|
4
|
+
@refreshOnClose = false
|
5
|
+
|
6
|
+
formSuccess: (e, response) ->
|
7
|
+
super(e, response)
|
8
|
+
|
9
|
+
if ($progressBar = @$el.find('[data-async-progress]')).length
|
10
|
+
@trackProgress($progressBar)
|
11
|
+
|
12
|
+
trackProgress: ($progressBar) ->
|
13
|
+
@importStatusURL = @$el.data('import-status-url')
|
14
|
+
@progress = new Para.AsyncProgress(el: $progressBar, progressUrl: @importStatusURL)
|
15
|
+
@listenTo(@progress, 'completed', @onImportComplete)
|
16
|
+
@listenTo(@progress, 'failed', @onImportComplete)
|
17
|
+
|
18
|
+
onImportComplete: ->
|
19
|
+
$.ajax(
|
20
|
+
url: @importStatusURL
|
21
|
+
# Force HTTP ACCEPT header to HTML since Rails treats XHR request without
|
22
|
+
# a specific ACCEPT header as JS or JSON by defaut.
|
23
|
+
accepts:
|
24
|
+
'html': 'text/html'
|
25
|
+
dataType: 'html'
|
26
|
+
).done(@onFinalModalLoaded)
|
27
|
+
|
28
|
+
onFinalModalLoaded: (response) =>
|
29
|
+
@formSuccess(null, response)
|
30
|
+
@refreshOnClose = true
|
31
|
+
|
32
|
+
modalHide: ->
|
33
|
+
super()
|
34
|
+
@progress?.stop()
|
35
|
+
|
36
|
+
$(document).on 'page:change turbolinks:load', ->
|
37
|
+
$('body').on 'ajax:success', '[data-importer-button]', (e, response) ->
|
38
|
+
new Para.Importer(modalMarkup: response, $link: $(e.currentTarget))
|
@@ -41,6 +41,6 @@ class Para.ResourceTable
|
|
41
41
|
orderUpdated: ->
|
42
42
|
# TODO: Add flash message to display ordering success
|
43
43
|
|
44
|
-
$(document).on 'page:change', ->
|
44
|
+
$(document).on 'page:change turbolinks:load', ->
|
45
45
|
$('.para-component-relation-table').each (i, el) ->
|
46
46
|
new Para.ResourceTable($(el))
|
@@ -11,7 +11,7 @@ responsive_sidebar_navigation = ->
|
|
11
11
|
$('.component-item').on 'click', 'a', (e) ->
|
12
12
|
scrollToComponentSection($(e.currentTarget), 150)
|
13
13
|
|
14
|
-
$(document).on 'page:change', ->
|
14
|
+
$(document).on 'page:change turbolinks:load', ->
|
15
15
|
responsive_sidebar_navigation()
|
16
16
|
|
17
17
|
$(".selectize-tags").selectize
|
@@ -38,16 +38,16 @@ class Para.ResourceTree
|
|
38
38
|
data = {}
|
39
39
|
$(".node").each (index) ->
|
40
40
|
$this = $(this)
|
41
|
-
data[index] = {
|
42
|
-
id: $this.data("id"),
|
43
|
-
position: index,
|
44
|
-
parent_id: $this.parent().parent().data("id")
|
41
|
+
data[index] = {
|
42
|
+
id: $this.data("id"),
|
43
|
+
position: index,
|
44
|
+
parent_id: $this.parent().parent().data("id")
|
45
45
|
}
|
46
46
|
data
|
47
47
|
|
48
48
|
orderUpdated: ->
|
49
49
|
# TODO: Add flash message to display ordering success
|
50
50
|
|
51
|
-
$(document).on 'page:change', ->
|
51
|
+
$(document).on 'page:change turbolinks:load', ->
|
52
52
|
$('.root-tree').each (i, el) ->
|
53
53
|
new Para.ResourceTree($(el))
|
@@ -2,12 +2,13 @@
|
|
2
2
|
#= require jquery_ujs
|
3
3
|
#= require turbolinks
|
4
4
|
#= require bootstrap
|
5
|
-
#= require
|
5
|
+
#= require vertebra
|
6
6
|
#= require jasny.bootstrap.min
|
7
7
|
#= require simple_form_extension
|
8
8
|
#= require jquery.scrollto
|
9
9
|
#= require html5-sortable
|
10
10
|
#= require cocoon
|
11
|
+
#= require jquery.remote-modal-form
|
11
12
|
#= require_self
|
12
13
|
#= require_tree ./lib
|
13
14
|
#= require_tree ./inputs
|
@@ -0,0 +1,60 @@
|
|
1
|
+
# This class handles rails' remote form 'ajax:aborted:file' event to serialize
|
2
|
+
# forms with files and send them through ajax using the `FormData` HTML5
|
3
|
+
# feature.
|
4
|
+
#
|
5
|
+
# The general approach and request implementation respects the same lifecycle
|
6
|
+
# of original rails' remote form requests, to allow existing handling code
|
7
|
+
# to run without any modification.
|
8
|
+
#
|
9
|
+
class RemoteFileForm
|
10
|
+
constructor: (options = {}) ->
|
11
|
+
@$el = $(options.el)
|
12
|
+
@submitForm() if $.rails.fire(@$el, 'ajax:before')
|
13
|
+
|
14
|
+
submitForm: ->
|
15
|
+
formData = new FormData(@$el[0])
|
16
|
+
url = @$el.attr('action')
|
17
|
+
method = @$el.attr('method')
|
18
|
+
|
19
|
+
Para.ajax
|
20
|
+
url: url
|
21
|
+
method: method
|
22
|
+
data: formData
|
23
|
+
cache: false
|
24
|
+
contentType: false
|
25
|
+
processData: false
|
26
|
+
xhr: @buildXHR
|
27
|
+
beforeSend: @beforeSend
|
28
|
+
success: @success
|
29
|
+
complete: @complete
|
30
|
+
error: @error
|
31
|
+
crossDomain: $.rails.isCrossDomain(url)
|
32
|
+
|
33
|
+
buildXHR: =>
|
34
|
+
xhr = $.ajaxSettings.xhr()
|
35
|
+
$(xhr.upload).on('progress', @progress) if xhr.upload
|
36
|
+
xhr
|
37
|
+
|
38
|
+
beforeSend: (xhr, settings) =>
|
39
|
+
if $.rails.fire(@$el, 'ajax:beforeSend', [xhr, settings])
|
40
|
+
@$el.trigger('ajax:send', xhr)
|
41
|
+
else
|
42
|
+
return false
|
43
|
+
|
44
|
+
success: (data, status, xhr) =>
|
45
|
+
@$el.trigger('ajax:success', [data, status, xhr])
|
46
|
+
|
47
|
+
complete: (xhr, status) =>
|
48
|
+
@$el.trigger('ajax:complete', [xhr, status])
|
49
|
+
|
50
|
+
error: (xhr, status, error) =>
|
51
|
+
@$el.trigger('ajax:error', [xhr, status, error])
|
52
|
+
|
53
|
+
# TODO : Implement an upload progress bar for heavy files
|
54
|
+
#
|
55
|
+
progress: (e) =>
|
56
|
+
# console.log e.loaded, '/', e.total if e.lengthComputable
|
57
|
+
|
58
|
+
$(document).on 'ajax:aborted:file', (e) ->
|
59
|
+
new RemoteFileForm(el: e.target)
|
60
|
+
return false
|
@@ -20,6 +20,6 @@ Para.loadingManager = new Para.TurbolinksLoading()
|
|
20
20
|
|
21
21
|
$(document).on('page:fetch', Para.loadingManager.start)
|
22
22
|
|
23
|
-
$(document).on 'page:change', ->
|
23
|
+
$(document).on 'page:change turbolinks:load', ->
|
24
24
|
Para.loadingManager.stop()
|
25
25
|
$('body').on('submit', '[data-para-form]', Para.loadingManager.start)
|
@@ -0,0 +1,19 @@
|
|
1
|
+
class TurbolinksReloader
|
2
|
+
run: (options = {}) ->
|
3
|
+
options.keepScrollPosition ?= true
|
4
|
+
|
5
|
+
if options.keepScrollPosition
|
6
|
+
$(document).one('page:before-unload', $.proxy(@beforeUnload, this))
|
7
|
+
$(document).one('page:load', $.proxy(@onChange, this))
|
8
|
+
|
9
|
+
Turbolinks.visit(window.location.href)
|
10
|
+
|
11
|
+
beforeUnload: ->
|
12
|
+
@scrollPosition = $(document).scrollTop()
|
13
|
+
|
14
|
+
onChange: ->
|
15
|
+
$(document).scrollTop(@scrollPosition)
|
16
|
+
|
17
|
+
$ ->
|
18
|
+
Turbolinks.reloadPage = (options = {}) ->
|
19
|
+
new TurbolinksReloader().run(options)
|
@@ -1,5 +1,7 @@
|
|
1
1
|
@import "para/admin/theme/variables"
|
2
2
|
|
3
|
+
@import "compass/css3/box-shadow"
|
4
|
+
|
3
5
|
/* Bootstrap Datetimepiker */
|
4
6
|
.xdsoft_datetimepicker
|
5
7
|
.xdsoft_calendar td.xdsoft_default,
|
@@ -7,7 +9,7 @@
|
|
7
9
|
.xdsoft_timepicker .xdsoft_time_box >div >div.xdsoft_current,
|
8
10
|
.xdsoft_label > .xdsoft_select > div > .xdsoft_option.xdsoft_current
|
9
11
|
background: $brand-primary
|
10
|
-
box-shadow
|
12
|
+
+box-shadow(darken($brand-primary, 10%) 0px 1px 3px 0px inset)
|
11
13
|
|
12
14
|
.xdsoft_calendar td:hover,
|
13
15
|
.xdsoft_timepicker .xdsoft_time_box >div >div:hover,
|
@@ -1,5 +1,7 @@
|
|
1
1
|
@import "para/admin/theme/variables"
|
2
2
|
|
3
|
+
@import "compass/css3/box-shadow"
|
4
|
+
|
3
5
|
input[type=number]::-webkit-inner-spin-button,
|
4
6
|
input[type=number]::-webkit-outer-spin-button
|
5
7
|
-webkit-appearance: none
|
@@ -19,7 +21,7 @@ input[type=number]::-webkit-outer-spin-button
|
|
19
21
|
top: 0px
|
20
22
|
margin-left: -1px !important
|
21
23
|
border-color: $input-border
|
22
|
-
box-shadow
|
24
|
+
+box-shadow(none)
|
23
25
|
z-index: 2
|
24
26
|
.fa
|
25
27
|
font-size: 1em
|
@@ -29,7 +31,7 @@ input[type=number]::-webkit-outer-spin-button
|
|
29
31
|
cursor: not-allowed
|
30
32
|
&:hover,
|
31
33
|
&:focus
|
32
|
-
box-shadow
|
34
|
+
+box-shadow(none)
|
33
35
|
.spinner-up,
|
34
36
|
.spinbox-up
|
35
37
|
border-top-left-radius: 0 !important
|
@@ -1,5 +1,8 @@
|
|
1
1
|
@import "para/admin/theme/variables"
|
2
2
|
|
3
|
+
@import "compass/css3/box-shadow"
|
4
|
+
@import "compass/css3/border-radius"
|
5
|
+
|
3
6
|
.redactor-button-disabled
|
4
7
|
&:hover,
|
5
8
|
&:focus
|
@@ -19,8 +22,8 @@
|
|
19
22
|
/* Override z-index because we don't whant */
|
20
23
|
/* redactor_toolbar fixed somewhere or on top of everythink ..*/
|
21
24
|
z-index: 1 !important
|
22
|
-
box-shadow
|
23
|
-
border-radius
|
25
|
+
+box-shadow(none)
|
26
|
+
+border-radius($input-border-radius $input-border-radius 0 0)
|
24
27
|
border: 1px solid $input-border
|
25
28
|
li a
|
26
29
|
&:hover,
|
@@ -32,7 +35,7 @@
|
|
32
35
|
background-color: $input-bg
|
33
36
|
border: 1px solid $input-border
|
34
37
|
border-top-width: 0px
|
35
|
-
border-radius
|
38
|
+
+border-radius(0 0 $input-border-radius $input-border-radius)
|
36
39
|
&:focus
|
37
40
|
border-color: $input-border-focus
|
38
41
|
background: #FFF
|
@@ -71,11 +74,11 @@
|
|
71
74
|
border-color: $input-border
|
72
75
|
background-color: $input-bg
|
73
76
|
color: $input-color
|
74
|
-
box-shadow
|
77
|
+
+box-shadow(none)
|
75
78
|
&:focus
|
76
79
|
background-color: #fff
|
77
80
|
border-color: $input-border-focus
|
78
|
-
box-shadow
|
81
|
+
+box-shadow(none)
|
79
82
|
|
80
83
|
footer
|
81
84
|
button.redactor-modal-action-btn
|
@@ -1,18 +1,21 @@
|
|
1
1
|
@import "para/admin/theme/variables"
|
2
2
|
|
3
|
+
@import "compass/css3/box-shadow"
|
4
|
+
@import "compass/css3/border-radius"
|
5
|
+
|
3
6
|
.selectize-dropdown,
|
4
7
|
.selectize-dropdown.form-control
|
5
|
-
border-radius
|
8
|
+
+border-radius($border-radius-base)
|
6
9
|
|
7
10
|
.selectize-input,
|
8
11
|
.selectize-input.full
|
9
12
|
border-color: $input-border
|
10
|
-
border-radius
|
13
|
+
+border-radius($input-border-radius)
|
11
14
|
&.focus
|
12
15
|
border-color: $input-border-focus
|
13
|
-
box-shadow
|
16
|
+
+box-shadow(none)
|
14
17
|
&.dropdown-active
|
15
|
-
border-radius
|
18
|
+
+border-radius($input-border-radius)
|
16
19
|
|
17
20
|
.selectize-dropdown,
|
18
21
|
.selectize-input,
|
@@ -1,25 +1,19 @@
|
|
1
1
|
@import 'variables'
|
2
2
|
|
3
|
+
@import "compass/css3/box-shadow"
|
4
|
+
@import "compass/css3/border-radius"
|
5
|
+
|
3
6
|
.breadcrumb
|
4
7
|
width: 100%
|
5
8
|
margin-bottom: 0px
|
6
9
|
padding: 0
|
7
|
-
border-radius
|
10
|
+
+border-radius(0)
|
8
11
|
overflow: hidden
|
9
12
|
border: none
|
10
13
|
border-bottom: 1px solid $gray-light
|
11
14
|
li + li:before
|
12
15
|
display: none
|
13
16
|
li
|
14
|
-
&:first-child
|
15
|
-
padding-left: 27px
|
16
|
-
a
|
17
|
-
padding: 0
|
18
|
-
&:last-child
|
19
|
-
background-color: transparent !important
|
20
|
-
pointer-events: none
|
21
|
-
cursor: default
|
22
|
-
padding: 11px 10px 11px 30px
|
23
17
|
a
|
24
18
|
font-size: 1em
|
25
19
|
color: $breadcrumb-color
|
@@ -61,7 +55,21 @@
|
|
61
55
|
margin-left: 2px
|
62
56
|
left: 100%
|
63
57
|
z-index: 1
|
64
|
-
|
58
|
+
|
65
59
|
&:hover, &:last-child
|
66
|
-
|
60
|
+
a
|
61
|
+
color: $breadcrumb-active-color
|
62
|
+
|
63
|
+
&:first-child
|
64
|
+
a
|
65
|
+
padding-left: 20px
|
66
|
+
|
67
|
+
&:last-child
|
68
|
+
a
|
69
|
+
&:after,
|
70
|
+
&:before
|
71
|
+
content: none
|
72
|
+
border: none
|
73
|
+
&:hover
|
74
|
+
background-color: transparent
|
67
75
|
|
@@ -1,5 +1,7 @@
|
|
1
1
|
@import 'variables'
|
2
2
|
|
3
|
+
@import "compass/css3/inline-block"
|
4
|
+
|
3
5
|
@mixin fontAwesome
|
4
6
|
font-family: FontAwesome
|
5
7
|
font-weight: normal
|
@@ -98,9 +100,9 @@ input[type=radio]:focus + .radio-icon:before
|
|
98
100
|
border: none
|
99
101
|
background-color: transparent
|
100
102
|
background: none
|
101
|
-
|
103
|
+
+inline-block
|
102
104
|
&:hover
|
103
105
|
cursor: pointer
|
104
106
|
&:before
|
105
|
-
|
107
|
+
+inline-block
|
106
108
|
width: 20px
|
@@ -1,5 +1,8 @@
|
|
1
1
|
@import "variables"
|
2
2
|
|
3
|
+
@import "compass/css3/border-radius"
|
4
|
+
@import "compass/css3/box-shadow"
|
5
|
+
|
3
6
|
// Typographi
|
4
7
|
// -------------------------
|
5
8
|
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6
|
@@ -151,7 +154,7 @@
|
|
151
154
|
background: #fcfbf4
|
152
155
|
border: 1px dashed $gray-dark
|
153
156
|
margin-bottom: 20px
|
154
|
-
border-radius
|
157
|
+
+border-radius(3px)
|
155
158
|
float: left
|
156
159
|
width: 100%
|
157
160
|
|
@@ -187,9 +190,9 @@
|
|
187
190
|
|
188
191
|
.img-text
|
189
192
|
border: 3px solid #FFF
|
190
|
-
border-radius
|
193
|
+
+border-radius(3px)
|
191
194
|
margin: 0 10px 5px 0
|
192
|
-
box-shadow
|
195
|
+
+box-shadow(1px 1px 0 0 rgba(0, 0, 0, 0.1))
|
193
196
|
|
194
197
|
.mail-checkall
|
195
198
|
margin-right: 5px
|
@@ -1,10 +1,12 @@
|
|
1
1
|
@import "variables"
|
2
2
|
|
3
|
+
@import "compass/css3/box-shadow"
|
4
|
+
|
3
5
|
.form-control
|
4
|
-
box-shadow
|
6
|
+
+box-shadow(none)
|
5
7
|
-webkit-appearance: none
|
6
8
|
&:focus
|
7
|
-
box-shadow
|
9
|
+
+box-shadow(none)
|
8
10
|
border-color: $input-border-focus
|
9
11
|
background: #FFF
|
10
12
|
&[disabled], &[readonly]
|
@@ -1,5 +1,7 @@
|
|
1
1
|
@import 'variables'
|
2
2
|
|
3
|
+
@import "compass/css3/border-radius"
|
4
|
+
|
3
5
|
// List with progress bar
|
4
6
|
.progress-list
|
5
7
|
float: left
|
@@ -26,7 +28,7 @@
|
|
26
28
|
float: left
|
27
29
|
background: $btn-default-bg
|
28
30
|
border: 1px solid $gray-lighter
|
29
|
-
border-radius
|
31
|
+
+border-radius(3px)
|
30
32
|
line-height: 23px
|
31
33
|
font-size: 11px
|
32
34
|
margin: 0 5px 5px 0
|
@@ -67,13 +69,13 @@
|
|
67
69
|
.list-group-item
|
68
70
|
border-left: 0
|
69
71
|
border-right: 0
|
70
|
-
border-radius
|
72
|
+
+border-radius(0)
|
71
73
|
|
72
74
|
.padding-0 .list-group
|
73
75
|
border: 0
|
74
76
|
.list-group-item
|
75
77
|
border-width: 1px 0 0
|
76
|
-
border-radius
|
78
|
+
+border-radius(0)
|
77
79
|
&:first-child
|
78
80
|
border-top: 0
|
79
81
|
|
@@ -95,7 +97,7 @@ a.list-group-item
|
|
95
97
|
padding: 10px
|
96
98
|
img
|
97
99
|
border: 2px solid $btn-default-bg
|
98
|
-
border-radius
|
100
|
+
+border-radius(50%)
|
99
101
|
width: 40px
|
100
102
|
margin-right: 10px
|
101
103
|
.contacts-title
|
@@ -127,7 +129,7 @@ a.list-group-item
|
|
127
129
|
top: 15px
|
128
130
|
width: 10px
|
129
131
|
height: 10px
|
130
|
-
border-radius
|
132
|
+
+border-radius(50%)
|
131
133
|
content: " "
|
132
134
|
&.status-online:after
|
133
135
|
background: $brand-success
|