locomotivecms 4.0.0.alpha2 → 4.0.0.alpha3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (87) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -3
  3. data/Rakefile +14 -6
  4. data/app/api/locomotive/api/forms/site_form.rb +8 -2
  5. data/app/api/locomotive/api/helpers/locales_helper.rb +4 -0
  6. data/app/api/locomotive/api/resources/content_entry_resource.rb +1 -1
  7. data/app/assets/javascripts/locomotive/editor.js +2859 -2561
  8. data/app/assets/javascripts/locomotive/views/content_entries/index_view.js.coffee +4 -1
  9. data/app/assets/javascripts/locomotive/views/current_site/edit_view.js.coffee +6 -0
  10. data/app/assets/javascripts/locomotive/views/shared/bulk_delete_view.js.coffee +27 -0
  11. data/app/assets/javascripts/locomotive/views/translations/index_view.js.coffee +6 -0
  12. data/app/assets/stylesheets/locomotive/application.scss +1 -0
  13. data/app/assets/stylesheets/locomotive/editor.css +119 -113
  14. data/app/assets/stylesheets/locomotive/new/_checkbox.scss +38 -0
  15. data/app/assets/stylesheets/locomotive/old/_activity_feed.scss +10 -0
  16. data/app/assets/stylesheets/locomotive/old/_list.scss +28 -0
  17. data/app/assets/stylesheets/locomotive/old/_main.scss +21 -4
  18. data/app/assets/stylesheets/locomotive/old/_search_bars.scss +2 -5
  19. data/app/assets/stylesheets/locomotive/old/_translations.scss +2 -2
  20. data/app/controllers/locomotive/content_entries_controller.rb +5 -5
  21. data/app/controllers/locomotive/current_site_controller.rb +8 -1
  22. data/app/controllers/locomotive/custom_fields/select_options_controller.rb +1 -1
  23. data/app/controllers/locomotive/editable_elements_controller.rb +1 -1
  24. data/app/controllers/locomotive/page_content_controller.rb +2 -2
  25. data/app/controllers/locomotive/pages_controller.rb +1 -1
  26. data/app/controllers/locomotive/search_for_resources_controller.rb +1 -1
  27. data/app/controllers/locomotive/translations_controller.rb +7 -1
  28. data/app/helpers/locomotive/base_helper.rb +6 -5
  29. data/app/helpers/locomotive/dashboard_helper.rb +18 -6
  30. data/app/helpers/locomotive/page_content_helper.rb +28 -5
  31. data/app/helpers/locomotive/pages_helper.rb +4 -0
  32. data/app/helpers/locomotive/shared/pages_helper.rb +8 -4
  33. data/app/models/locomotive/activity.rb +1 -0
  34. data/app/models/locomotive/concerns/content_entry/file_size.rb +5 -1
  35. data/app/models/locomotive/concerns/content_type/public_submission_title_template.rb +1 -1
  36. data/app/models/locomotive/concerns/page/sections.rb +11 -0
  37. data/app/models/locomotive/concerns/site/url_redirections.rb +11 -1
  38. data/app/policies/locomotive/membership_policy.rb +3 -7
  39. data/app/services/locomotive/content_entry_service.rb +21 -10
  40. data/app/services/locomotive/custom_field_service.rb +28 -4
  41. data/app/services/locomotive/editable_element_service.rb +2 -2
  42. data/app/services/locomotive/editor_service.rb +47 -31
  43. data/app/services/locomotive/page_service.rb +2 -2
  44. data/app/services/locomotive/translation_service.rb +7 -0
  45. data/app/views/locomotive/accounts/new.html.slim +1 -1
  46. data/app/views/locomotive/content_assets/_list.html.slim +5 -0
  47. data/app/views/locomotive/content_assets/_search_form.html.slim +1 -1
  48. data/app/views/locomotive/content_entries/_list.html.slim +3 -3
  49. data/app/views/locomotive/content_entries/edit.html.slim +2 -1
  50. data/app/views/locomotive/content_entries/index.html.slim +53 -40
  51. data/app/views/locomotive/content_entries/new.html.slim +1 -1
  52. data/app/views/locomotive/current_site/edit.html.slim +1 -1
  53. data/app/views/locomotive/current_site/form/_url_redirections.html.slim +4 -0
  54. data/app/views/locomotive/current_site_metafields/index.html.slim +1 -1
  55. data/app/views/locomotive/dashboard/_activity.html.slim +3 -0
  56. data/app/views/locomotive/layouts/application.html.slim +3 -2
  57. data/app/views/locomotive/layouts/editor.html.slim +2 -0
  58. data/app/views/locomotive/memberships/edit.html.slim +1 -1
  59. data/app/views/locomotive/memberships/new.html.slim +1 -1
  60. data/app/views/locomotive/page_content/edit.html.erb +1 -0
  61. data/app/views/locomotive/page_content/edit.json.jbuilder +3 -1
  62. data/app/views/locomotive/pages/_header.html.slim +1 -1
  63. data/app/views/locomotive/pages/form/_main.html.slim +1 -1
  64. data/app/views/locomotive/pages/new.html.slim +1 -1
  65. data/app/views/locomotive/public_submission_accounts/edit.html.slim +1 -1
  66. data/app/views/locomotive/translations/_form.html.slim +0 -3
  67. data/app/views/locomotive/translations/edit.html.slim +1 -1
  68. data/app/views/locomotive/translations/index.html.slim +34 -15
  69. data/config/locales/devise.fr.yml +3 -3
  70. data/config/locales/editor.en.yml +39 -13
  71. data/config/locales/editor.fr.yml +39 -13
  72. data/config/locales/en.yml +4 -0
  73. data/config/locales/flash.en.yml +4 -0
  74. data/config/locales/flash.fr.yml +4 -0
  75. data/config/locales/fr.yml +14 -0
  76. data/config/locales/mongoid.fr.yml +0 -2
  77. data/config/locales/simple_form.en.yml +4 -0
  78. data/config/locales/simple_form.fr.yml +6 -1
  79. data/config/routes.rb +7 -4
  80. data/config/webpack/development.js +26 -0
  81. data/config/webpack/production.js +7 -0
  82. data/config/webpack/test.js +6 -0
  83. data/lib/locomotive/engine.rb +1 -0
  84. data/lib/locomotive/steam/middlewares/page_editing.rb +20 -1
  85. data/lib/locomotive/steam/services/api_entry_submission_service.rb +6 -6
  86. data/lib/locomotive/version.rb +1 -1
  87. metadata +9 -32
@@ -6,10 +6,13 @@ class Locomotive.Views.ContentEntries.IndexView extends Backbone.View
6
6
 
7
7
  initialize: ->
8
8
  @list_view = new Locomotive.Views.Shared.ListView(el: @$('.big-list'))
9
+ @bulk_delete_view = new Locomotive.Views.Shared.BulkDeleteView()
9
10
 
10
11
  render: ->
11
12
  @list_view.render()
13
+ @bulk_delete_view.render()
12
14
 
13
15
  remove: ->
14
16
  @list_view.remove()
15
- super()
17
+ @bulk_delete_view.remove()
18
+ super()
@@ -9,6 +9,7 @@ class Locomotive.Views.CurrentSite.EditView extends Locomotive.Views.Shared.Form
9
9
  initialize: ->
10
10
  @attach_events_on_private_access_attribute()
11
11
  @display_locale_picker_only_for_seo()
12
+ @allow_url_redirections_expert_mode()
12
13
 
13
14
  attach_events_on_private_access_attribute: ->
14
15
  @$('#site_private_access').on 'switchChange.bootstrapSwitch', (event, state) ->
@@ -20,3 +21,8 @@ class Locomotive.Views.CurrentSite.EditView extends Locomotive.Views.Shared.Form
20
21
 
21
22
  @$('a[data-toggle="tab"]').on 'shown.bs.tab', (event) ->
22
23
  if $(event.target).attr('href') == '#seo' then $picker.css(visibility: '') else $picker.css(visibility: 'hidden')
24
+
25
+ allow_url_redirections_expert_mode: ->
26
+ @$('#site_url_redirections_expert_mode').on 'switchChange.bootstrapSwitch', (event, state) ->
27
+ $inputs = $('.locomotive_site_url_redirections_plain_text, .locomotive_site_url_redirections')
28
+ $inputs.toggleClass('hide')
@@ -0,0 +1,27 @@
1
+ Locomotive.Views.Shared ||= {}
2
+
3
+ class Locomotive.Views.Shared.BulkDeleteView extends Backbone.View
4
+
5
+ el: '.main'
6
+
7
+ events:
8
+ 'change .list-main-checkbox': 'tickOrUntickAll'
9
+ 'change .item input[type=checkbox]': 'tickOrUntick'
10
+
11
+ tickOrUntickAll: (event) ->
12
+ @$('.item input[type=checkbox]').prop('checked', event.target.checked)
13
+ @refreshBulkDestroyFormState()
14
+
15
+ tickOrUntick: (event) ->
16
+ @$('.list-main-checkbox').prop('checked', false)
17
+ @refreshBulkDestroyFormState()
18
+
19
+ refreshBulkDestroyFormState: ->
20
+ ids = []
21
+ @$('.item input[type=checkbox]:checked').each(() -> ids.push($(this).val()))
22
+ @$('.bulk-destroy-action input[name=ids]').val(ids.join(','))
23
+
24
+ if @$('.item input[type=checkbox]:checked').size() > 0
25
+ @$('.bulk-destroy-action').removeClass('hidden')
26
+ else
27
+ @$('.bulk-destroy-action').addClass('hidden')
@@ -3,3 +3,9 @@ Locomotive.Views.Translations ||= {}
3
3
  class Locomotive.Views.Translations.IndexView extends Backbone.View
4
4
 
5
5
  el: '.main'
6
+
7
+ initialize: ->
8
+ @bulk_delete_view = new Locomotive.Views.Shared.BulkDeleteView()
9
+
10
+ render: ->
11
+ @bulk_delete_view.render()
@@ -103,6 +103,7 @@
103
103
 
104
104
  @import "old/search_bars";
105
105
  @import "new/notify";
106
+ @import "new/checkbox";
106
107
  @import "old/list";
107
108
  @import "old/content_assets";
108
109
  @import "old/translations";
@@ -848,39 +848,6 @@
848
848
  * of patent rights can be found in the PATENTS file in the same directory.
849
849
  */
850
850
  .DraftEditor-editorContainer,.DraftEditor-root,.public-DraftEditor-content{height:inherit;text-align:initial}.public-DraftEditor-content[contenteditable=true]{-webkit-user-modify:read-write-plaintext-only}.DraftEditor-root{position:relative}.DraftEditor-editorContainer{background-color:rgba(255,255,255,0);border-left:.1px solid transparent;position:relative;z-index:1}.public-DraftEditor-block{position:relative}.DraftEditor-alignLeft .public-DraftStyleDefault-block{text-align:left}.DraftEditor-alignLeft .public-DraftEditorPlaceholder-root{left:0;text-align:left}.DraftEditor-alignCenter .public-DraftStyleDefault-block{text-align:center}.DraftEditor-alignCenter .public-DraftEditorPlaceholder-root{margin:0 auto;text-align:center;width:100%}.DraftEditor-alignRight .public-DraftStyleDefault-block{text-align:right}.DraftEditor-alignRight .public-DraftEditorPlaceholder-root{right:0;text-align:right}.public-DraftEditorPlaceholder-root{color:#9197a3;position:absolute;z-index:0}.public-DraftEditorPlaceholder-hasFocus{color:#bdc1c9}.DraftEditorPlaceholder-hidden{display:none}.public-DraftStyleDefault-block{position:relative;white-space:pre-wrap}.public-DraftStyleDefault-ltr{direction:ltr;text-align:left}.public-DraftStyleDefault-rtl{direction:rtl;text-align:right}.public-DraftStyleDefault-listLTR{direction:ltr}.public-DraftStyleDefault-listRTL{direction:rtl}.public-DraftStyleDefault-ol,.public-DraftStyleDefault-ul{margin:16px 0;padding:0}.public-DraftStyleDefault-depth0.public-DraftStyleDefault-listLTR{margin-left:1.5em}.public-DraftStyleDefault-depth0.public-DraftStyleDefault-listRTL{margin-right:1.5em}.public-DraftStyleDefault-depth1.public-DraftStyleDefault-listLTR{margin-left:3em}.public-DraftStyleDefault-depth1.public-DraftStyleDefault-listRTL{margin-right:3em}.public-DraftStyleDefault-depth2.public-DraftStyleDefault-listLTR{margin-left:4.5em}.public-DraftStyleDefault-depth2.public-DraftStyleDefault-listRTL{margin-right:4.5em}.public-DraftStyleDefault-depth3.public-DraftStyleDefault-listLTR{margin-left:6em}.public-DraftStyleDefault-depth3.public-DraftStyleDefault-listRTL{margin-right:6em}.public-DraftStyleDefault-depth4.public-DraftStyleDefault-listLTR{margin-left:7.5em}.public-DraftStyleDefault-depth4.public-DraftStyleDefault-listRTL{margin-right:7.5em}.public-DraftStyleDefault-unorderedListItem{list-style-type:square;position:relative}.public-DraftStyleDefault-unorderedListItem.public-DraftStyleDefault-depth0{list-style-type:disc}.public-DraftStyleDefault-unorderedListItem.public-DraftStyleDefault-depth1{list-style-type:circle}.public-DraftStyleDefault-orderedListItem{list-style-type:none;position:relative}.public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-listLTR:before{left:-36px;position:absolute;text-align:right;width:30px}.public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-listRTL:before{position:absolute;right:-36px;text-align:left;width:30px}.public-DraftStyleDefault-orderedListItem:before{content:counter(ol0) ". ";counter-increment:ol0}.public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-depth1:before{content:counter(ol1) ". ";counter-increment:ol1}.public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-depth2:before{content:counter(ol2) ". ";counter-increment:ol2}.public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-depth3:before{content:counter(ol3) ". ";counter-increment:ol3}.public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-depth4:before{content:counter(ol4) ". ";counter-increment:ol4}.public-DraftStyleDefault-depth0.public-DraftStyleDefault-reset{counter-reset:ol0}.public-DraftStyleDefault-depth1.public-DraftStyleDefault-reset{counter-reset:ol1}.public-DraftStyleDefault-depth2.public-DraftStyleDefault-reset{counter-reset:ol2}.public-DraftStyleDefault-depth3.public-DraftStyleDefault-reset{counter-reset:ol3}.public-DraftStyleDefault-depth4.public-DraftStyleDefault-reset{counter-reset:ol4}
851
- #rap-overlay {
852
- position: fixed;
853
- display: block;
854
- width: 100%;
855
- height: 100%;
856
- top: 0;
857
- left: 0;
858
- right: 0;
859
- bottom: 0;
860
- background-color: transparent;
861
- z-index: 2;
862
- cursor: pointer;
863
- }
864
-
865
- .rap-manager,
866
- .rap-target-container {
867
- display: inline-block;
868
- position: relative;
869
- }
870
-
871
- .rap-left {
872
- left: -20px !important;
873
- }
874
- .rap-bottom {
875
- top: 15px !important;
876
- }
877
- .rap-top {
878
- top: -15px !important;
879
- }
880
- .rap-right {
881
- left: 20px !important;
882
- }
883
-
884
851
  .ReactCrop {
885
852
  position: relative;
886
853
  display: inline-block;
@@ -1060,7 +1027,11 @@
1060
1027
  margin: 1rem 0rem;
1061
1028
  background: #f7f7f7;
1062
1029
  box-shadow: 0 0 0 1px rgba(63, 63, 68, 0.05), 0 1px 3px 0 rgba(63, 63, 68, 0.15);
1063
- min-height: 4rem; }
1030
+ min-height: 4rem;
1031
+ -webkit-user-select: none;
1032
+ -moz-user-select: none;
1033
+ -ms-user-select: none;
1034
+ user-select: none; }
1064
1035
  .editor-list-item.with-separator {
1065
1036
  margin-top: 4rem; }
1066
1037
  .editor-list-item--icon, .editor-list-item--image {
@@ -1144,6 +1115,10 @@
1144
1115
  padding: 0.5rem 0.8rem;
1145
1116
  border-radius: 3px;
1146
1117
  border: 1px solid #e3e4e7; }
1118
+ .editor-input--text:-ms-input-placeholder {
1119
+ color: #c8cbcf; }
1120
+ .editor-input--text::placeholder {
1121
+ color: #c8cbcf; }
1147
1122
  .editor-input--select {
1148
1123
  -moz-appearance: none;
1149
1124
  -webkit-appearance: none;
@@ -1186,6 +1161,23 @@
1186
1161
  -ms-flex-pack: center;
1187
1162
  justify-content: center; }
1188
1163
 
1164
+ .editor-input-url--info {
1165
+ display: -ms-flexbox;
1166
+ display: flex;
1167
+ -ms-flex-align: center;
1168
+ align-items: center; }
1169
+ .editor-input-url--info-type {
1170
+ margin-right: 1rem; }
1171
+
1172
+ .editor-input-url--actions {
1173
+ margin-top: 1rem;
1174
+ display: -ms-flexbox;
1175
+ display: flex;
1176
+ -ms-flex-align: center;
1177
+ align-items: center;
1178
+ -ms-flex-pack: center;
1179
+ justify-content: center; }
1180
+
1189
1181
  .editor-input-radio--option input {
1190
1182
  margin-right: 1rem; }
1191
1183
 
@@ -1252,20 +1244,19 @@
1252
1244
  .editor-input-rich-text .rdw-link-wrapper {
1253
1245
  position: static; }
1254
1246
 
1255
- .editor-input-rich-text .rdw-link-modal {
1256
- margin-top: 1rem;
1257
- left: 1rem;
1258
- right: 1rem;
1259
- width: auto;
1260
- height: auto;
1261
- box-shadow: none; }
1262
-
1263
1247
  .editor-input-rich-text-counter {
1264
1248
  margin-top: 0.4rem;
1265
1249
  opacity: 0.6;
1266
1250
  text-align: right;
1267
1251
  font-size: 1.2rem; }
1268
1252
 
1253
+ .rdw-link-modal-actions {
1254
+ display: -ms-flexbox;
1255
+ display: flex;
1256
+ -ms-flex-pack: center;
1257
+ justify-content: center;
1258
+ margin-bottom: 2rem; }
1259
+
1269
1260
  .editor-view {
1270
1261
  height: 100%;
1271
1262
  display: -ms-flexbox;
@@ -1288,10 +1279,10 @@
1288
1279
  font-size: 2.1rem;
1289
1280
  color: #666;
1290
1281
  padding: 1rem 0; }
1291
- .editor-view--header-subTitle {
1282
+ .editor-view--header-sub-title {
1292
1283
  font-size: 1.4rem;
1293
1284
  color: #91979f; }
1294
- .editor-view--header-mainTitle {
1285
+ .editor-view--header-main-title {
1295
1286
  font-size: 2.1rem;
1296
1287
  color: #666; }
1297
1288
  .editor-view--header-back-btn {
@@ -1597,7 +1588,8 @@
1597
1588
  transform: translate(-50%, -50%);
1598
1589
  padding: 0rem 2rem;
1599
1590
  background: #ffffff;
1600
- color: #333333; }
1591
+ color: #333333;
1592
+ border-radius: 3px; }
1601
1593
  .modal-window-header {
1602
1594
  font-size: 2.1rem;
1603
1595
  color: #666;
@@ -1608,15 +1600,16 @@
1608
1600
  color: #333333; }
1609
1601
 
1610
1602
  .modal-close {
1611
- color: #aaa;
1612
- line-height: 50px;
1613
- font-size: 2rem;
1614
1603
  position: absolute;
1615
- right: 0;
1616
- text-align: center;
1617
1604
  top: 0;
1605
+ right: 0rem;
1618
1606
  width: 70px;
1607
+ padding-right: 2rem;
1608
+ line-height: 50px;
1609
+ text-align: right;
1619
1610
  text-decoration: none;
1611
+ font-size: 2rem;
1612
+ color: #aaa;
1620
1613
  cursor: pointer; }
1621
1614
  .modal-close:hover {
1622
1615
  color: #000; }
@@ -1740,71 +1733,31 @@
1740
1733
  max-height: 30rem; } }
1741
1734
 
1742
1735
  .url-picker {
1743
- width: 100%; }
1744
-
1745
- .url-picker-info {
1746
- display: -ms-flexbox;
1747
- display: flex;
1748
- -ms-flex-align: center;
1749
- align-items: center;
1750
- margin-bottom: 1rem; }
1751
- .url-picker-info--value {
1752
- -ms-flex-positive: 1;
1753
- flex-grow: 1; }
1754
- .url-picker-info--value .label {
1755
- position: relative;
1756
- top: -2px;
1757
- border-radius: 0px;
1758
- background-color: #333333; }
1759
- .url-picker-info--actions {
1760
- display: -ms-flexbox;
1761
- display: flex;
1762
- margin-left: 1rem; }
1763
- .url-picker-info--actions .btn {
1764
- margin-left: 0.5rem; }
1765
-
1766
- .url-picker-input {
1767
- display: -ms-flexbox;
1768
- display: flex;
1769
- -ms-flex-align: center;
1770
- align-items: center;
1771
- margin-bottom: 1rem; }
1772
- .url-picker-input--autocomplete {
1773
- -ms-flex-positive: 1;
1774
- flex-grow: 1; }
1775
- .url-picker-input--autocomplete .rap-manager, .url-picker-input--autocomplete .rap-target-container {
1776
- width: 100%; }
1777
- .url-picker-input--autocomplete .rap-popover-pad {
1778
- width: 30rem;
1779
- padding: 0; }
1780
- .url-picker-input--actions {
1736
+ padding: 2rem; }
1737
+ .url-picker-type-list {
1781
1738
  display: -ms-flexbox;
1782
1739
  display: flex;
1783
- margin-left: 1rem; }
1784
- .url-picker-input--actions .btn {
1785
- margin-left: 0.5rem; }
1786
-
1787
- .url-picker-new-window {
1788
- font-size: 1.2rem;
1789
- color: #91979f;
1790
- text-align: right; }
1791
-
1792
- .url-picker-resource {
1793
- display: -ms-flexbox;
1794
- display: flex;
1795
- -ms-flex-align: center;
1796
- align-items: center;
1797
- padding: 0.7rem 1rem;
1798
- border-bottom: 1px solid #e3e4e7; }
1799
- .url-picker-resource--type {
1800
- margin-right: 1rem; }
1801
- .url-picker-resource--type .label {
1802
- position: relative;
1803
- top: -2px;
1804
- border-radius: 0px;
1805
- background-color: #333333; }
1806
- .url-picker-resource--label {
1807
- cursor: pointer; }
1740
+ margin-bottom: 2rem; }
1741
+ .url-picker-type-option {
1742
+ -ms-flex: 1 1;
1743
+ flex: 1 1; }
1744
+ .url-picker-type-option--checked label {
1745
+ color: #000 !important; }
1746
+ .url-picker-type-option input {
1747
+ margin-right: 1rem; }
1748
+ .url-picker-type-option label {
1749
+ font-weight: normal;
1750
+ color: #91979f;
1751
+ margin-bottom: 0;
1752
+ cursor: pointer; }
1753
+ .url-picker .react-autosuggest__input:-ms-input-placeholder {
1754
+ color: #c8cbcf; }
1755
+ .url-picker .react-autosuggest__input::placeholder {
1756
+ color: #c8cbcf; }
1757
+
1758
+ .modal-window .url-picker {
1759
+ min-width: 42rem;
1760
+ padding: 2rem 0 0 0; }
1808
1761
 
1809
1762
  .locale-switcher {
1810
1763
  margin-top: 0.2rem; }
@@ -1942,6 +1895,59 @@
1942
1895
  100% {
1943
1896
  transform: scale(1); } }
1944
1897
 
1898
+ .react-autosuggest {
1899
+ position: relative; }
1900
+ .react-autosuggest--loading .react-autosuggest__spinner {
1901
+ display: block; }
1902
+ .react-autosuggest--loading .react-autosuggest__suggestions-container {
1903
+ display: none; }
1904
+ .react-autosuggest__container {
1905
+ position: relative; }
1906
+ .react-autosuggest__spinner {
1907
+ display: none;
1908
+ position: absolute;
1909
+ right: 1rem;
1910
+ top: 0.5rem;
1911
+ z-index: 2; }
1912
+ .react-autosuggest__input {
1913
+ width: 100%;
1914
+ padding: 0.5rem 0.8rem;
1915
+ border: 1px solid #e3e4e7;
1916
+ border-radius: 3px;
1917
+ -webkit-appearance: none; }
1918
+ .react-autosuggest__input::-ms-clear {
1919
+ display: none; }
1920
+ .react-autosuggest__input--open {
1921
+ border-bottom-left-radius: 0;
1922
+ border-bottom-right-radius: 0; }
1923
+ .react-autosuggest__input--focused {
1924
+ outline: none; }
1925
+ .react-autosuggest__suggestions-container {
1926
+ display: none; }
1927
+ .react-autosuggest__suggestions-container--open {
1928
+ display: block;
1929
+ position: absolute;
1930
+ top: 31px;
1931
+ width: 100%;
1932
+ border: 1px solid #e3e4e7;
1933
+ background-color: #fff;
1934
+ border-bottom-left-radius: 3px;
1935
+ border-bottom-right-radius: 3px;
1936
+ z-index: 2; }
1937
+ .react-autosuggest__suggestions-list {
1938
+ margin: 0;
1939
+ padding: 0;
1940
+ list-style-type: none; }
1941
+ .react-autosuggest__suggestion {
1942
+ cursor: pointer;
1943
+ padding: 0.5rem 0.8rem;
1944
+ border-top: 1px solid #ddd; }
1945
+ .react-autosuggest__suggestion--first {
1946
+ border-top: 0; }
1947
+ .react-autosuggest__suggestion--highlighted {
1948
+ background-color: #1c77c3;
1949
+ color: #fff; }
1950
+
1945
1951
  #editor-app, #editor-app .container-fluid {
1946
1952
  height: 100%; }
1947
1953
  #editor-app .actionbar, #editor-app .container-fluid .actionbar {
@@ -0,0 +1,38 @@
1
+ .checkbox {
2
+ display: inline-block;
3
+ margin: 0;
4
+ font-size: 0; /* remove empty space */
5
+
6
+ input[type=checkbox] {
7
+ display: none;
8
+ }
9
+
10
+ label {
11
+ padding: 0;
12
+ min-height: 2rem;
13
+ }
14
+
15
+ input[type=checkbox] + label:before {
16
+ display: inline-block;
17
+ height: 2rem;
18
+ width: 2rem;
19
+ line-height: 2rem;
20
+ font-family: 'Font Awesome 5 Free';
21
+ font-weight: 900;
22
+ font-size: 1.2rem;
23
+ text-align: center;
24
+ transition: all $base-transition-speed linear;
25
+ }
26
+
27
+ input[type=checkbox] + label:before {
28
+ border: 1px solid $gray-light;
29
+ content: " ";
30
+ color: $gray-light;
31
+ }
32
+
33
+ input[type=checkbox]:checked + label:before {
34
+ content: "\f00c";
35
+ color: $gray-darker;
36
+ border: 1px solid $gray-darker;
37
+ }
38
+ }
@@ -1,6 +1,7 @@
1
1
  $activity_feed_icon_bg_color: $brand-primary;
2
2
  $activity_feed_title_color: #595959;
3
3
  $activity_feed_time_color: #949999;
4
+ $activity_feed_locale_bg_color: #1E2022;
4
5
 
5
6
  .activity-feed {
6
7
  padding-top: 1px;
@@ -36,6 +37,15 @@ $activity_feed_time_color: #949999;
36
37
  span.sentence {
37
38
  font-weight: normal;
38
39
  }
40
+ span.locale {
41
+ display: inline-block;
42
+ background: $activity_feed_locale_bg_color;
43
+ padding: 2px 4px;
44
+ margin-left: 10px;
45
+ font-weight: normal;
46
+ text-transform: uppercase;
47
+ color: #fff;
48
+ }
39
49
  }
40
50
  .additional-information {
41
51
  padding-left: 30px;