para 0.5.4 → 0.6.2

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 (103) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/para/admin/async-progress.coffee +29 -0
  3. data/app/assets/javascripts/para/admin/filters-form.coffee +1 -1
  4. data/app/assets/javascripts/para/admin/importers.coffee +38 -0
  5. data/app/assets/javascripts/para/admin/table.coffee +1 -1
  6. data/app/assets/javascripts/para/admin/tabs.coffee +1 -1
  7. data/app/assets/javascripts/para/admin/theme_actions.coffee +1 -1
  8. data/app/assets/javascripts/para/admin/tree.coffee +5 -5
  9. data/app/assets/javascripts/para/admin.coffee +2 -1
  10. data/app/assets/javascripts/para/inputs/nested_many.coffee +1 -1
  11. data/app/assets/javascripts/para/lib/remote-file-forms.coffee +60 -0
  12. data/app/assets/javascripts/para/lib/turbolinks-loading.coffee +1 -1
  13. data/app/assets/javascripts/para/lib/turbolinks-reloader.coffee +19 -0
  14. data/app/assets/stylesheets/para/admin/src/datetimepicker.sass +3 -1
  15. data/app/assets/stylesheets/para/admin/src/fuelux.sass +4 -2
  16. data/app/assets/stylesheets/para/admin/src/nested_many.sass +5 -0
  17. data/app/assets/stylesheets/para/admin/src/redactor.sass +8 -5
  18. data/app/assets/stylesheets/para/admin/src/selectize.sass +7 -4
  19. data/app/assets/stylesheets/para/admin/theme/_breadcrumb.sass +20 -12
  20. data/app/assets/stylesheets/para/admin/theme/_buttons.sass +6 -2
  21. data/app/assets/stylesheets/para/admin/theme/_checkable.sass +4 -2
  22. data/app/assets/stylesheets/para/admin/theme/_commonds.sass +6 -3
  23. data/app/assets/stylesheets/para/admin/theme/_dropdown.sass +3 -1
  24. data/app/assets/stylesheets/para/admin/theme/_form.sass +4 -2
  25. data/app/assets/stylesheets/para/admin/theme/_list.sass +7 -5
  26. data/app/assets/stylesheets/para/admin/theme/_navigation.sass +12 -66
  27. data/app/assets/stylesheets/para/admin/theme/_navtabs.sass +18 -14
  28. data/app/assets/stylesheets/para/admin/theme/_orderable.sass +7 -3
  29. data/app/assets/stylesheets/para/admin/theme/_panel.sass +19 -13
  30. data/app/assets/stylesheets/para/admin/theme/_tree.sass +4 -2
  31. data/app/assets/stylesheets/para/overrides/theme.sass +14 -10
  32. data/app/controllers/para/admin/base_controller.rb +0 -5
  33. data/app/controllers/para/admin/crud_resources_controller.rb +5 -19
  34. data/app/controllers/para/admin/{singleton_resources_controller.rb → form_resources_controller.rb} +4 -4
  35. data/app/controllers/para/admin/imports_controller.rb +68 -0
  36. data/app/controllers/para/admin/resources_controller.rb +0 -1
  37. data/app/decorators/para/component/base_decorator.rb +6 -18
  38. data/app/decorators/para/component/crud_decorator.rb +3 -3
  39. data/app/decorators/para/component/{singleton_resource_decorator.rb → form_decorator.rb} +6 -6
  40. data/app/helpers/para/admin/components_helper.rb +12 -1
  41. data/app/helpers/para/admin/decorators_helper.rb +13 -0
  42. data/app/helpers/para/markup_helper.rb +4 -0
  43. data/app/helpers/para/search_helper.rb +1 -4
  44. data/app/models/para/component/base.rb +17 -14
  45. data/app/models/para/component/crud.rb +17 -0
  46. data/app/models/para/component/form.rb +36 -0
  47. data/app/models/para/component/resource.rb +9 -20
  48. data/app/models/para/component/settings.rb +1 -1
  49. data/app/models/para/library/file.rb +23 -0
  50. data/app/models/para/library.rb +5 -0
  51. data/app/views/para/admin/form_resources/show.html.haml +4 -0
  52. data/app/views/para/admin/imports/_completed.html.haml +16 -0
  53. data/app/views/para/admin/imports/_failed.html.haml +7 -0
  54. data/app/views/para/admin/imports/_progress.html.haml +5 -0
  55. data/app/views/para/admin/imports/new.html.haml +14 -0
  56. data/app/views/para/admin/imports/show.html.haml +10 -0
  57. data/app/views/para/admin/resources/_fields.html.haml +1 -4
  58. data/app/views/para/admin/resources/_imports_menu.html.haml +17 -20
  59. data/app/views/para/admin/resources/_tree.html.haml +1 -1
  60. data/app/views/para/admin/shared/_breadcrumbs.html.haml +1 -4
  61. data/app/views/para/admin/shared/_navigation.html.haml +2 -2
  62. data/app/views/para/form/_tabs.html.haml +1 -1
  63. data/config/locales/en.yml +10 -0
  64. data/config/locales/fr.yml +12 -2
  65. data/db/migrate/20160905134106_create_para_library_files.rb +9 -0
  66. data/lib/generators/para/importer/templates/base_importer.rb +8 -1
  67. data/lib/generators/para/install/install_generator.rb +1 -2
  68. data/lib/generators/para/install/templates/components.rb +9 -5
  69. data/lib/generators/para/tree_item/tree_item_generator.rb +17 -0
  70. data/lib/para/attribute_field/base.rb +12 -4
  71. data/lib/para/attribute_field/enum.rb +7 -3
  72. data/lib/para/component/importable.rb +4 -4
  73. data/lib/para/component.rb +1 -1
  74. data/lib/para/components_cleaner.rb +66 -0
  75. data/lib/para/components_configuration.rb +3 -1
  76. data/lib/para/engine.rb +36 -3
  77. data/lib/para/ext/active_job_status.rb +13 -0
  78. data/lib/para/ext/paperclip.rb +10 -0
  79. data/lib/para/ext/simple_form_extension.rb +6 -0
  80. data/lib/para/ext.rb +1 -0
  81. data/lib/para/form_builder/nested_form.rb +5 -2
  82. data/lib/para/importer/base.rb +84 -7
  83. data/lib/para/inputs/nested_many_input.rb +1 -1
  84. data/lib/para/logging/active_job_log_subscriber.rb +48 -0
  85. data/lib/para/logging.rb +8 -0
  86. data/lib/para/markup/resources_table.rb +2 -4
  87. data/lib/para/model_field_parsers/enums.rb +19 -0
  88. data/lib/para/model_field_parsers/relations.rb +1 -1
  89. data/lib/para/model_field_parsers/store.rb +1 -1
  90. data/lib/para/model_field_parsers.rb +1 -0
  91. data/lib/para/plugins/routes.rb +2 -4
  92. data/lib/para/postgres_extensions_checker.rb +30 -0
  93. data/lib/para/routes.rb +5 -4
  94. data/lib/para/routing/component_controller_constraint.rb +36 -0
  95. data/lib/para/routing.rb +7 -0
  96. data/lib/para/sti/root_model.rb +8 -2
  97. data/lib/para/version.rb +1 -1
  98. data/lib/para.rb +10 -0
  99. data/lib/rails/routing_mapper.rb +59 -27
  100. data/lib/tasks/para_tasks.rake +21 -11
  101. metadata +73 -15
  102. data/app/models/para/component/singleton_resource.rb +0 -35
  103. 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: 19583a8f81d13b5d13e77b3ad1da83c9d9d8eae0
4
- data.tar.gz: e45edc3103747e6d25ca80921f93f72552b21b2b
3
+ metadata.gz: 194f93e32421619179ac7bbe6ecafbca1956e001
4
+ data.tar.gz: 61742c2210cd54cb7081657d87bd811ee543b5cc
5
5
  SHA512:
6
- metadata.gz: a7ddf6fe3c253d66a3bc6804e27ca1b849e1bb1dcb7d54d40e892d6d95b35ce806a3a24740d2d590acfde5bcd538bde20baaf2efef3bcdc52254c27c4f20117e
7
- data.tar.gz: da666593dfbcc85b37e87d8fc25345486ae0875b8e144dbd7da7a5e719a86b2a64cde7f535ec445c7c48668375f9bf5c33c2767c15bc0e00d28f4e9802c93392
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')
@@ -6,6 +6,6 @@ class FiltersForm
6
6
  onChange: =>
7
7
  @$el.submit()
8
8
 
9
- $(document).on 'page:change', ->
9
+ $(document).on 'page:change turbolinks:load', ->
10
10
  $('[data-filters-form]').each (i, el) ->
11
11
  new FiltersForm($el: $(el))
@@ -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))
@@ -17,5 +17,5 @@ class Para.Tabs
17
17
  $: (args...) ->
18
18
  $.fn.find.apply(@$el, args)
19
19
 
20
- $(document).on 'page:change', ->
20
+ $(document).on 'page:change turbolinks:load', ->
21
21
  $('[data-form-tabs]').each (i, el) -> new Para.Tabs(el: 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 selectize
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
@@ -54,5 +54,5 @@ class Para.NestedManyField
54
54
  $target.find('input, textarea, select').eq('0').focus()
55
55
 
56
56
 
57
- $(document).on 'page:change', ->
57
+ $(document).on 'page:change turbolinks:load', ->
58
58
  $('.nested-many-field').each (i, el) -> new Para.NestedManyField($(el))
@@ -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: darken($brand-primary, 10%) 0px 1px 3px 0px inset
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: none
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: none
34
+ +box-shadow(none)
33
35
  .spinner-up,
34
36
  .spinbox-up
35
37
  border-top-left-radius: 0 !important
@@ -0,0 +1,5 @@
1
+ @import "para/admin/theme/variables"
2
+
3
+ .nested-many-field
4
+ .panel
5
+ z-index: 1
@@ -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: none
23
- border-radius: $input-border-radius $input-border-radius 0 0
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: 0 0 $input-border-radius $input-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: none
77
+ +box-shadow(none)
75
78
  &:focus
76
79
  background-color: #fff
77
80
  border-color: $input-border-focus
78
- box-shadow: none
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: $border-radius-base
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: $input-border-radius
13
+ +border-radius($input-border-radius)
11
14
  &.focus
12
15
  border-color: $input-border-focus
13
- box-shadow: none
16
+ +box-shadow(none)
14
17
  &.dropdown-active
15
- border-radius: $input-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: 0
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
- color: $breadcrumb-active-color
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
 
@@ -3,8 +3,12 @@
3
3
  .btn
4
4
  .fa, .glyphicon
5
5
  font-size: 14px
6
- margin-right: 3px
7
-
6
+ margin-right: 3px
7
+
8
+ &.fa-stack-2x
9
+ font-size: 2em
10
+ margin-right: inherit
11
+
8
12
  // Social network color
9
13
  &.btn-twitter
10
14
  background: #1AB2E8
@@ -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
- display: inline-block
103
+ +inline-block
102
104
  &:hover
103
105
  cursor: pointer
104
106
  &:before
105
- display: inline-block
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: 3px
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: 3px
193
+ +border-radius(3px)
191
194
  margin: 0 10px 5px 0
192
- box-shadow: 1px 1px 0 0 rgba(0, 0, 0, 0.1)
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,8 +1,10 @@
1
1
  @import 'variables'
2
2
 
3
+ @import "compass/css3/box-shadow"
4
+
3
5
  .dropdown-menu
4
6
  font-size: 12px
5
- box-shadow: 0 2px 1px 0 rgba(0, 0, 0, 0.1)
7
+ +box-shadow(0 2px 1px 0 rgba(0, 0, 0, 0.1))
6
8
  border: 1px solid $dropdown-border
7
9
  padding: 0
8
10
  margin: 8px 0 0
@@ -1,10 +1,12 @@
1
1
  @import "variables"
2
2
 
3
+ @import "compass/css3/box-shadow"
4
+
3
5
  .form-control
4
- box-shadow: none
6
+ +box-shadow(none)
5
7
  -webkit-appearance: none
6
8
  &:focus
7
- box-shadow: none
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: 3px
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: 0
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: 0
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: 50%
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: 50%
132
+ +border-radius(50%)
131
133
  content: " "
132
134
  &.status-online:after
133
135
  background: $brand-success