coalla-cms 0.5.2.4 → 0.6.0.9

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 (156) hide show
  1. checksums.yaml +8 -8
  2. data/Gemfile +1 -1
  3. data/app/assets/javascripts/admin/admin.js +233 -34
  4. data/app/assets/stylesheets/admin/admin.scss +1 -2
  5. data/app/assets/stylesheets/admin/vendor/bootstrap.min.css +6242 -4
  6. data/app/assets/stylesheets/admin/vendor/token-input-bootstrap.scss +144 -0
  7. data/app/controllers/admin/autocomplete_controller.rb +3 -1
  8. data/app/controllers/admin/base_controller.rb +35 -0
  9. data/app/controllers/concerns/admin/editable_columns.rb +55 -0
  10. data/app/controllers/concerns/admin/sortable_columns.rb +16 -0
  11. data/app/controllers/{admin/sortable_controller.rb → concerns/admin/sortable_models.rb} +1 -5
  12. data/app/helpers/admin/alerts_helper.rb +31 -0
  13. data/app/helpers/admin/content_helper.rb +29 -0
  14. data/app/helpers/admin/form_helper.rb +50 -0
  15. data/app/helpers/admin/resource_helpers.rb +102 -0
  16. data/app/helpers/admin/search_helper.rb +44 -40
  17. data/app/helpers/admin/table_helper.rb +40 -0
  18. data/app/helpers/common_helper.rb +2 -2
  19. data/app/models/file_upload.rb +1 -1
  20. data/app/models/lookup.rb +1 -1
  21. data/app/models/site_meta_tags.rb +2 -2
  22. data/app/views/admin/common/_menu_section.haml +1 -1
  23. data/app/views/admin/common/_nested_fields_for.html.haml +10 -5
  24. data/app/views/admin/common/_nested_fields_for_element.html.haml +21 -5
  25. data/app/views/admin/common/_table_template.html.haml +26 -7
  26. data/app/views/admin/common/_upload_form.html.haml +2 -1
  27. data/app/views/admin/editable_columns/edit/_boolean.haml +2 -0
  28. data/app/views/admin/editable_columns/edit/_date.haml +2 -0
  29. data/app/views/admin/editable_columns/edit/_datetime.haml +3 -0
  30. data/app/views/admin/editable_columns/edit/_enumerize.haml +2 -0
  31. data/app/views/admin/editable_columns/edit/_string.haml +2 -0
  32. data/app/views/admin/editable_columns/edit/_text.haml +2 -0
  33. data/app/views/admin/editable_columns/edit/_time.haml +3 -0
  34. data/app/views/admin/editable_columns/edit_column.haml +8 -0
  35. data/app/views/admin/editable_columns/result/_boolean.haml +2 -0
  36. data/app/views/admin/editable_columns/result/_date.haml +1 -0
  37. data/app/views/admin/editable_columns/result/_datetime.haml +1 -0
  38. data/app/views/admin/editable_columns/result/_enumerize.haml +1 -0
  39. data/app/views/admin/editable_columns/result/_string.haml +1 -0
  40. data/app/views/admin/editable_columns/result/_text.haml +1 -0
  41. data/app/views/admin/editable_columns/result/_time.haml +1 -0
  42. data/app/views/admin/site_meta_tags/index.html.haml +2 -2
  43. data/app/views/layouts/admin.html.haml +12 -0
  44. data/app/views/structure/_section.haml +2 -9
  45. data/coalla-cms.gemspec +10 -11
  46. data/lib/coalla/builders/actions_column_definition.rb +44 -0
  47. data/lib/coalla/builders/admin_structure.rb +86 -0
  48. data/lib/coalla/builders/column_definition.rb +9 -0
  49. data/lib/coalla/builders/form_builder.rb +291 -0
  50. data/lib/coalla/builders/link_renderer.rb +43 -0
  51. data/lib/coalla/builders/policy.rb +30 -0
  52. data/lib/coalla/builders/table_builder.rb +99 -0
  53. data/lib/coalla/builders/table_formatter.rb +133 -0
  54. data/lib/coalla/builders/text_formatter.rb +22 -0
  55. data/lib/coalla/cms/engine.rb +3 -2
  56. data/lib/coalla/cms/version.rb +2 -2
  57. data/lib/coalla/ext/mapper.rb +7 -0
  58. data/lib/coalla/orm/{relation.rb → multi_field.rb} +7 -8
  59. data/lib/coalla/orm/page_slider.rb +2 -28
  60. data/lib/coalla/orm/sanitized.rb +1 -5
  61. data/lib/coalla/orm/sortable_association.rb +30 -0
  62. data/lib/coalla/uploaders/file_uploader.rb +9 -0
  63. data/lib/coalla/uploaders/image_uploader.rb +62 -0
  64. data/lib/coalla/uploaders/meta_image_uploader.rb +7 -0
  65. data/lib/coalla-cms.rb +10 -0
  66. data/lib/generators/coalla/cms/create_admin_administrators_generator.rb +5 -7
  67. data/lib/generators/coalla/cms/create_admin_generator.rb +9 -7
  68. data/lib/generators/coalla/cms/create_admin_login_view_generator.rb +4 -6
  69. data/lib/generators/coalla/cms/create_markup_generator.rb +2 -2
  70. data/lib/generators/coalla/cms/file_uploads/install_generator.rb +0 -17
  71. data/lib/generators/coalla/cms/file_uploads/mount_generator.rb +4 -7
  72. data/lib/generators/coalla/cms/image/install_generator.rb +0 -3
  73. data/lib/generators/coalla/cms/image/mount_generator.rb +0 -3
  74. data/lib/generators/coalla/cms/image/templates/mount/uploader.rb.erb +1 -1
  75. data/lib/generators/coalla/cms/image/templates/uploader.rb.erb +1 -1
  76. data/lib/generators/coalla/cms/init_generator.rb +42 -49
  77. data/lib/generators/coalla/cms/lookups/install_generator.rb +0 -3
  78. data/lib/generators/coalla/cms/meta_tags/install_generator.rb +0 -2
  79. data/lib/generators/coalla/cms/scaffold_generator.rb +7 -7
  80. data/lib/generators/coalla/cms/setup_admin_generator.rb +9 -9
  81. data/lib/generators/coalla/cms/setup_routes_generator.rb +3 -3
  82. data/lib/generators/coalla/cms/slider/init_generator.rb +1 -3
  83. data/lib/generators/coalla/cms/slider/templates/slider_image.rb.erb +0 -1
  84. data/lib/generators/coalla/cms/slider/templates/slider_image_uploader.rb.erb +1 -1
  85. data/lib/generators/coalla/cms/templates/.gitignore +3 -3
  86. data/lib/generators/coalla/cms/templates/controllers/admin/administrators_controller.rb +2 -40
  87. data/lib/generators/coalla/cms/templates/controllers/admin/scaffold_controller_template.rb.erb +0 -39
  88. data/lib/generators/coalla/cms/templates/initializers/carrierwave.rb +0 -90
  89. data/lib/generators/coalla/cms/templates/locales/activerecord.en.yml +14 -1
  90. data/lib/generators/coalla/cms/templates/views/admin/administrators/_form.html.haml +1 -1
  91. data/lib/generators/coalla/cms/templates/views/admin/administrators/edit.html.haml +1 -1
  92. data/lib/generators/coalla/cms/templates/views/admin/administrators/index.html.haml +5 -5
  93. data/lib/generators/coalla/cms/templates/views/admin/administrators/new.html.haml +1 -1
  94. data/lib/generators/coalla/cms/templates/views/admin/scaffold_template/_form.html.haml.erb +1 -1
  95. data/lib/generators/coalla/cms/templates/views/admin/scaffold_template/edit.html.haml.erb +1 -1
  96. data/lib/generators/coalla/cms/templates/views/admin/scaffold_template/index.html.haml.erb +5 -5
  97. data/lib/generators/coalla/cms/templates/views/admin/scaffold_template/new.html.haml.erb +1 -1
  98. data/lib/generators/coalla/cms/templates/views/administrators/sessions/new.html.haml +1 -1
  99. data/lib/generators/coalla/cms/utils/orm.rb +29 -0
  100. data/lib/generators/coalla/cms/utils/scaffold.rb +11 -0
  101. metadata +57 -100
  102. data/Gemfile.lock +0 -198
  103. data/app/assets/stylesheets/admin/vendor/token-input-facebook.patched.css +0 -126
  104. data/app/assets/stylesheets/admin/vendor/token-input.patched.css +0 -116
  105. data/app/controllers/admin/notifier_controller.rb +0 -7
  106. data/app/helpers/admin_helper.rb +0 -29
  107. data/app/helpers/nested_fields_helper.rb +0 -12
  108. data/app/helpers/static_text_formatter.rb +0 -25
  109. data/app/helpers/twitter_builder_helper.rb +0 -253
  110. data/app/helpers/twitter_form_builder.rb +0 -202
  111. data/app/uploaders/file_uploader.rb +0 -10
  112. data/app/uploaders/generic_image_uploader.rb +0 -75
  113. data/app/uploaders/meta_tags_image_uploader.rb +0 -5
  114. data/app/utils/admin_structure.rb +0 -82
  115. data/app/utils/bootstrap_link_renderer.rb +0 -40
  116. data/app/utils/table_helpers.rb +0 -196
  117. data/lib/generators/coalla/cms/market/install_generator.rb +0 -71
  118. data/lib/generators/coalla/cms/market/templates/controllers/categories_controller.rb +0 -47
  119. data/lib/generators/coalla/cms/market/templates/controllers/products_controller.rb +0 -50
  120. data/lib/generators/coalla/cms/market/templates/controllers/properties_controller.rb +0 -59
  121. data/lib/generators/coalla/cms/market/templates/market.rb +0 -5
  122. data/lib/generators/coalla/cms/market/templates/market.ru.yml +0 -53
  123. data/lib/generators/coalla/cms/market/templates/migrations/create_categories.rb +0 -15
  124. data/lib/generators/coalla/cms/market/templates/migrations/create_product_properties.rb +0 -18
  125. data/lib/generators/coalla/cms/market/templates/migrations/create_products.rb +0 -18
  126. data/lib/generators/coalla/cms/market/templates/migrations/create_properties.rb +0 -11
  127. data/lib/generators/coalla/cms/market/templates/models/category.rb +0 -36
  128. data/lib/generators/coalla/cms/market/templates/models/product.rb +0 -16
  129. data/lib/generators/coalla/cms/market/templates/models/product_property.rb +0 -14
  130. data/lib/generators/coalla/cms/market/templates/models/property.rb +0 -7
  131. data/lib/generators/coalla/cms/market/templates/views/categories/_form.html.haml +0 -10
  132. data/lib/generators/coalla/cms/market/templates/views/categories/edit.html.haml +0 -5
  133. data/lib/generators/coalla/cms/market/templates/views/categories/index.html.haml +0 -17
  134. data/lib/generators/coalla/cms/market/templates/views/categories/new.html.haml +0 -4
  135. data/lib/generators/coalla/cms/market/templates/views/products/_form.html.haml +0 -17
  136. data/lib/generators/coalla/cms/market/templates/views/products/_product_property_fields.html.haml +0 -13
  137. data/lib/generators/coalla/cms/market/templates/views/products/edit.html.haml +0 -5
  138. data/lib/generators/coalla/cms/market/templates/views/products/index.html.haml +0 -17
  139. data/lib/generators/coalla/cms/market/templates/views/products/new.html.haml +0 -4
  140. data/lib/generators/coalla/cms/market/templates/views/properties/_form.html.haml +0 -9
  141. data/lib/generators/coalla/cms/market/templates/views/properties/edit.html.haml +0 -5
  142. data/lib/generators/coalla/cms/market/templates/views/properties/index.html.haml +0 -15
  143. data/lib/generators/coalla/cms/market/templates/views/properties/new.html.haml +0 -4
  144. data/lib/generators/coalla/cms/news/scaffold_generator.rb +0 -50
  145. data/lib/generators/coalla/cms/news/templates/entity.rb.erb +0 -10
  146. data/lib/generators/coalla/cms/news/templates/entity_controller_template.rb.erb +0 -47
  147. data/lib/generators/coalla/cms/news/templates/entity_image_uploader.rb.erb +0 -7
  148. data/lib/generators/coalla/cms/news/templates/migration.rb.erb +0 -15
  149. data/lib/generators/coalla/cms/news/templates/views/_form.haml.erb +0 -16
  150. data/lib/generators/coalla/cms/news/templates/views/edit.haml.erb +0 -5
  151. data/lib/generators/coalla/cms/news/templates/views/index.haml.erb +0 -18
  152. data/lib/generators/coalla/cms/news/templates/views/new.haml.erb +0 -5
  153. data/lib/generators/coalla/cms/orm_helpers.rb +0 -31
  154. data/lib/generators/coalla/cms/scaffold_helper.rb +0 -11
  155. data/lib/generators/coalla/cms/templates/controllers/admin/base_controller.rb.erb +0 -35
  156. /data/{lib/generators/coalla/cms/templates/controllers/admin/home_controller.rb.erb → app/controllers/admin/home_controller.rb} +0 -0
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MDA4NjRkYTA0YTY4ZmMyNzcwZWZjYjc2ZDkxNjkyYTY4YmZjOWExZg==
4
+ NDE4OTZlZWE2NzIwZjEzZTY1MmVkYjU2MjIxMjdjZTUxNjIzZmY2Yg==
5
5
  data.tar.gz: !binary |-
6
- ODgzMTI2ZjhjMTY2YmI4ZjE2NjlhYmIzZWIyYzRhNjgwYjUwYzAxMw==
6
+ YTMzYjQyOTE2NGUzMjEzZTVkNzQ3YTI4N2M4NWZlYmRlYmY3ZTIyMg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NGRlM2ZkMWE3NDRhNWNkYTU1MGY1MWE3ZmUzMGU2M2ZmYTkzMTA1YjIzODNj
10
- OGYxYTNiYzQ1MzEzNzMyMzY2ZjkzNzlhN2JkZjZjZDZkNDRjMjAxMjRhZWM0
11
- NzVmNWVlODBkNjllMTk2NjZmMzkzMjQyOTZlMzBmYTdlZDYxZDY=
9
+ MzAxNmMwNDM2ZGVmYzk4NmViYTY0YTNkZWZiNjU4NWFhZjY3Y2E1NmZkNmY0
10
+ ZmM0NzBkM2JhNzY0NzAzMGJjNzRkNTU3NzU2ZmFiYzFjODQzNjQ2YjMyZGE2
11
+ YmRlMTAzOTk0ZTBkMjgyMThkNWY2MDgzMjYwNjRmZGU1OTkxZGE=
12
12
  data.tar.gz: !binary |-
13
- NjIwNDVlYTU0ZThhZGE2NTRjNDI5NjUzNTgxZjA5NWE1YmMzOWIzNjNiMWI5
14
- MmM4MWJjNTJjMjkwYTNkN2UzNWMzZDVmOTExNGEyMjhiNDkzNzliNmVlZWI3
15
- YWNmZjc3NzQyMTdhYWZlODU3ZDZiZWI2ZWNlM2I3OGFhNTNhNTM=
13
+ MTBlM2UzNDNjODY1YjMwZTMwZWJmYTZhMjE3MDQ4MGM1ZWU3NGU4N2M3MzBi
14
+ MjYxZjQ4ZGM5MWU5Yzg5MDU4ZjE5MTA1MThiYjgyZDQzYzlhMzlkYzY4YWQ3
15
+ YTk1NjY2Mjg4NzE1MDY4OGQzY2U2YjA3OWMwMGE5MDFjOWJiMmE=
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
- source "http://rubygems.org"
1
+ source 'http://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in coalla-cms.gemspec
4
4
  gemspec
@@ -13,7 +13,6 @@
13
13
  //= require jquery
14
14
  //= require admin/jquery-migrate.min
15
15
  //= require jquery-ui
16
- //= require jquery-ui/datepicker-ru
17
16
  //= require jquery-ui-timepicker-addon
18
17
  //= require admin/vendor/jquery-ui-timepicker-addon-ru
19
18
  //= require jquery_ujs
@@ -104,31 +103,79 @@ $(function () {
104
103
 
105
104
  function addDatePickers() {
106
105
  $('input[data-calendar-date]').each(function () {
107
- $this = $(this);
106
+ var $this = $(this);
108
107
  $this.datepicker(merge_datepicker_options($this));
109
108
  });
110
109
  }
111
110
 
111
+ CMS.addDatePickers = addDatePickers;
112
+
112
113
  addDatePickers();
113
114
 
114
115
  function addDateTimePickers() {
115
116
  $('input[data-calendar-datetime]').each(function () {
116
- $this = $(this);
117
+ var $this = $(this);
117
118
  $this.datetimepicker(merge_datepicker_options($this));
118
119
  });
119
120
  }
120
121
 
122
+ CMS.addDateTimePickers = addDateTimePickers;
123
+
121
124
  addDateTimePickers();
122
125
 
123
126
  function addTimePickers() {
124
127
  $('input[data-calendar-time]').each(function () {
125
- $this = $(this);
128
+ var $this = $(this);
126
129
  $this.timepicker(merge_datepicker_options($this));
127
130
  });
128
131
  }
129
132
 
133
+ CMS.addTimePickers = addTimePickers;
134
+
130
135
  addTimePickers();
131
136
 
137
+ function addMultiField($container) {
138
+ var $el;
139
+
140
+ if ($container) {
141
+ $el = $container.find('[data-multi-field]');
142
+ } else {
143
+ $el = $('[data-multi-field]');
144
+ }
145
+
146
+ $el.each(function () {
147
+ var options = {
148
+ crossDomain: false,
149
+ preventDuplicates: true,
150
+ theme: 'bootstrap',
151
+ showAllOnFocus: $(this).data('show-all-on-focus'),
152
+ useCache: $(this).data('use-cache')
153
+ };
154
+
155
+ if (CMS.config.language == 'ru') {
156
+ options.hintText = 'Введите строку для поиска';
157
+ options.noResultsText = 'Ничего не найдено';
158
+ options.searchingText = 'Поиск...';
159
+ }
160
+
161
+ var objectUrlName = $(this).data('object-url-name');
162
+ if (objectUrlName) {
163
+ var formatter_options = {
164
+ tokenFormatter: function (item) {
165
+ return "<li><p><a href='" + "/admin/" + objectUrlName + "/" + item['id'] + "/edit'>" + item[this.propertyToSearch] + "</a></p></li>"
166
+ }
167
+ };
168
+ options = $.extend(options, formatter_options);
169
+ }
170
+
171
+ $(this).tokenInput($(this).data('source'), options);
172
+ });
173
+ }
174
+
175
+ CMS.addMultiField = addMultiField;
176
+
177
+ addMultiField();
178
+
132
179
  $(document).on('click', '.close-popover-form', function () {
133
180
  $('.pictograms__button_edit').popover('hide');
134
181
  $('.popover').css('display', 'none');
@@ -142,18 +189,83 @@ $(function () {
142
189
  $('.popover').css('display', 'none');
143
190
  });
144
191
 
192
+ function updateArrowButtons($context) {
193
+ $context = $context || $('body');
194
+
195
+ $context.find('[data-sort-up]').each(function () {
196
+ var $this = $(this),
197
+ $prev = $this.closest('.fields_container').prevAll('.fields_container:not(:hidden)').first();
198
+
199
+ if ($prev.length == 0) {
200
+ $this.hide();
201
+ } else {
202
+ $this.show();
203
+ }
204
+ });
205
+
206
+ $context.find('[data-sort-down]').each(function () {
207
+ var $this = $(this),
208
+ $next = $this.closest('.fields_container').nextAll('.fields_container:not(:hidden)').first();
209
+
210
+ if ($next.length == 0) {
211
+ $this.hide();
212
+ } else {
213
+ $this.show();
214
+ }
215
+ });
216
+
217
+ $context.find('[data-sort-position]').each(function () {
218
+ var $this = $(this),
219
+ $prevAll = $this.closest('.fields_container').prevAll('.fields_container:not(:hidden)');
220
+
221
+ $this.html($prevAll.length + 1);
222
+ });
223
+ }
224
+
225
+ CMS.updateArrowButtons = updateArrowButtons;
226
+
227
+ $(document).on('click', '[data-sort-up]', function () {
228
+ var $current = $(this).closest('.fields_container'),
229
+ $prev = $current.prevAll('.fields_container:not(:hidden)').first();
230
+
231
+
232
+ $prev.before($current);
233
+ $('html, body').animate({
234
+ scrollTop: $current.offset().top - 50
235
+ }, 300);
236
+ updateArrowButtons($current.closest('[data-sortable-blocks]'));
237
+
238
+ return false;
239
+ });
240
+
241
+ $(document).on('click', '[data-sort-down]', function () {
242
+ var $current = $(this).closest('.fields_container'),
243
+ $next = $current.nextAll('.fields_container:not(:hidden)').first();
244
+
245
+ $next.after($current);
246
+ $('html, body').animate({
247
+ scrollTop: $current.offset().top - 50
248
+ }, 300);
249
+ updateArrowButtons($current.closest('[data-sortable-blocks]'));
250
+
251
+ return false;
252
+ });
253
+
254
+ updateArrowButtons();
255
+
145
256
  var $form = $('form');
146
257
  $form.on('click', '.remove_field', function () {
147
- $(this).prev('input[type=hidden]').val('1');
258
+ $(this).closest('.fields_container').find('input[name*="_destroy"]').val('1');
148
259
  $(this).closest('.fields_container').hide();
260
+ updateArrowButtons($(this).closest('[data-sortable-blocks]'));
149
261
  return false;
150
262
  });
151
263
 
152
- $form.on('click', '.add_fields', function () {
264
+ CMS.addNestedFields = function ($el) {
153
265
  var time = new Date().getTime();
154
- var regexp = new RegExp($(this).data('id'), 'g');
155
- var wrapper = $(this).closest('.nested_buttons');
156
- var insertHtml = $( $(this).data('fields').replace(regexp, time) );
266
+ var regexp = new RegExp($el.data('id'), 'g');
267
+ var wrapper = $el.closest('.nested_buttons');
268
+ var insertHtml = $($el.data('fields').replace(regexp, time));
157
269
  wrapper.before(insertHtml);
158
270
  // fix for Bootstrap 3 dropdown components
159
271
  wrapper.removeClass('open');
@@ -164,35 +276,123 @@ $(function () {
164
276
  addDatePickers();
165
277
  addDateTimePickers();
166
278
  addTimePickers();
167
- return false;
279
+ addMultiField(insertHtml);
280
+ updateArrowButtons(insertHtml.closest('[data-sortable-blocks]'));
281
+
282
+ return insertHtml;
283
+ };
284
+
285
+ $form.on('click', '.add_fields', function () {
286
+ CMS.addNestedFields($(this));
287
+ return false
168
288
  });
169
289
 
170
- $('[data-multi-field]').each(function () {
171
- var options = {
172
- crossDomain: false,
173
- preventDuplicates: true,
174
- theme: 'facebook',
175
- showAllOnFocus: $(this).data('show-all-on-focus'),
176
- useCache: $(this).data('use-cache')
177
- };
290
+ $('[data-sortable-blocks]').sortable({
291
+ items: '.fields_container',
292
+ cancel: 'input,textarea,button,select,option,a',
293
+ stop: function (e, ui) {
294
+ var $context = $(e.target);
295
+ updateArrowButtons($context);
296
+ }
297
+ });
298
+
299
+ $(document).on('click', '[data-editable-column]', function () {
300
+ var $this = $(this),
301
+ url = $this.data('url');
178
302
 
179
- if (CMS.config.language == 'ru') {
180
- options.hintText = 'Введите строку для поиска';
181
- options.noResultsText = 'Ничего не найдено';
182
- options.searchingText = 'Поиск...';
303
+ if ($this.data('editable-column-initialized')) {
304
+ return;
183
305
  }
184
306
 
185
- var objectUrlName = $(this).data('object-url-name');
186
- if (objectUrlName) {
187
- var formatter_options = {
188
- tokenFormatter: function (item) {
189
- return "<li><p><a href='" + "/admin/" + objectUrlName + "/" + item['id'] + "/edit'>" + item[this.propertyToSearch] + "</a></p></li>"
190
- }
191
- };
192
- options = $.extend(options, formatter_options);
307
+ $.get(url, $this.data(), function (response) {
308
+ var $form = $(response.form);
309
+ $this.data('previous-value', $this.html());
310
+ $this.html($form);
311
+
312
+ window.EditableColumnCallbacks = window.EditableColumnCallbacks || [];
313
+ _.each(window.EditableColumnCallbacks, function (callback) {
314
+ callback($form);
315
+ });
316
+
317
+ addDatePickers();
318
+ addDateTimePickers();
319
+ addTimePickers();
320
+ addMultiField($form);
321
+
322
+ $this.data('editable-column-initialized', true);
323
+ }).error(function () {
324
+ console.error('Unable to render edit form for column');
325
+ });
326
+
327
+ return false;
328
+ });
329
+
330
+ $(document).on('ajax:success', '[data-editable-column-form]', function (e, response) {
331
+ var $editableColumn = $(this).closest('[data-editable-column]');
332
+
333
+ $('.alert').closest('.row').remove();
334
+
335
+ if (!response.alert) {
336
+ $editableColumn.html(response.result);
337
+ $editableColumn.data('previous-value', $editableColumn.html());
338
+ $editableColumn.data('editable-column-initialized', false);
339
+ return;
193
340
  }
194
341
 
195
- $(this).tokenInput($(this).data('source'), options);
342
+ $editableColumn.closest('.table-responsive').before(response.alert)
343
+ $editableColumn.html($editableColumn.data('previous-value'));
344
+ $editableColumn.data('editable-column-initialized', false);
345
+ });
346
+
347
+ function cancelEditColumn($el) {
348
+ var $editableColumn = $el.closest('[data-editable-column]');
349
+ $editableColumn.html($editableColumn.data('previous-value'));
350
+ $editableColumn.data('editable-column-initialized', false);
351
+ }
352
+
353
+ $(document).on('click', '[data-editable-column-cancel]', function () {
354
+ cancelEditColumn($(this));
355
+
356
+ return false;
357
+ });
358
+
359
+ $(document).on('ajax:error', '[data-editable-column-form]', function () {
360
+ cancelEditColumn($(this));
361
+
362
+ console.error('Unable to render edit form for column');
363
+ });
364
+
365
+ function showRemoteModal(url) {
366
+ var $modal = $('body').find('#modal');
367
+
368
+ $.get(url, function (response) {
369
+ var $modalContent = $(response.modal);
370
+
371
+ $modal.find('.modal-content').html($modalContent);
372
+ $modal.modal('show');
373
+
374
+ window.RemoteModalCallbacks = window.RemoteModalCallbacks || [];
375
+ _.each(window.RemoteModalCallbacks, function (callback) {
376
+ callback($modalContent);
377
+ });
378
+
379
+ addDatePickers();
380
+ addDateTimePickers();
381
+ addTimePickers();
382
+ addMultiField($modalContent);
383
+
384
+ return false;
385
+ });
386
+ };
387
+
388
+ CMS.showRemoteModal = showRemoteModal;
389
+
390
+ $(document).on('click', '[data-remote-modal]', function (e) {
391
+ var $el = $(this);
392
+
393
+ showRemoteModal($el.attr('href'));
394
+
395
+ return false;
196
396
  });
197
397
 
198
398
  $('.action-bar').stickyBar();
@@ -217,11 +417,10 @@ $(function () {
217
417
  return false;
218
418
  });
219
419
 
220
- $('[data-toggle="tooltip"]').tooltip({'trigger':'focus'});
221
-
420
+ $('[data-toggle="tooltip"]').tooltip({'trigger': 'focus'});
222
421
  });
223
422
 
224
423
  CKEDITOR.config.extraPlugins = 'slideshow,mediaembed,autogrow';
225
424
  CKEDITOR.config.removeButtons = 'About,Form,Checkbox,Radio,TextField,Textarea,Select,Button,ImageButton,HiddenField,BidiLtr,BidiRtl,Language,Scayt,Smiley,SpellChecker,Templates,Indent,CreateDiv,HorizontalRule,Flash,NewPage,PageBreak,Iframe,Styles,FontSize,Font,TextColor,BGColor,JustifyLeft,JustifyCenter,JustifyRight,JustifyBlock';
226
425
  CKEDITOR.config.removePlugins = 'scayt,smiley';
227
- CKEDITOR.config.language = 'ru';
426
+ CKEDITOR.config.language = CMS.config.language;
@@ -9,8 +9,7 @@
9
9
  * compiled file, but it's generally better to create a new file per style scope.
10
10
  *
11
11
  *= require admin/vendor/bootstrap.min
12
- *= require admin/vendor/token-input.patched
13
- *= require admin/vendor/token-input-facebook.patched
12
+ *= require admin/vendor/token-input-bootstrap
14
13
  *= require admin/vendor/jquery.tagsinput
15
14
  *= require jquery-ui
16
15
  *= require jquery-ui-timepicker-addon