|
11 | 11 | $ = django.jQuery; |
12 | 12 | } |
13 | 13 | $.fn.martor = function() { |
14 | | - |
15 | | - var martor = $(this); |
16 | | - var mainMartor = $('.main-martor'); |
17 | | - |
18 | | - martor.trigger('martor.init'); |
| 14 | + $('.martor').trigger('martor.init'); |
19 | 15 |
|
20 | 16 | // CSRF code |
21 | 17 | var getCookie = function(name) { |
|
33 | 29 | } |
34 | 30 | } |
35 | 31 | return cookieValue; |
36 | | - } |
| 32 | + }; |
37 | 33 |
|
38 | 34 | // Each multiple editor fields |
39 | | - mainMartor.each(function(i, obj) { |
40 | | - var field_name = $(obj).data('field-name'); |
| 35 | + this.each(function(i, obj) { |
| 36 | + var mainMartor = $(obj); |
| 37 | + var field_name = mainMartor.data('field-name'); |
41 | 38 | var textareaId = $('#id_'+field_name); |
42 | 39 | var editorId = 'martor-'+field_name; |
43 | 40 | var editor = ace.edit(editorId); |
|
761 | 758 | $('.modal-help-guide[data-field-name='+field_name+']').modal('show'); |
762 | 759 | }); |
763 | 760 |
|
| 761 | + // Handle tabs. |
| 762 | + mainMartor.find('.ui.martor-toolbar .ui.dropdown').dropdown(); |
| 763 | + mainMartor.find('.ui.tab-martor-menu .item').tab(); |
| 764 | + |
764 | 765 | // Toggle editor, preview, maximize |
765 | | - var mainMartor = $(obj); |
766 | 766 | var martorField = $('.martor-field-'+field_name); |
767 | 767 | var btnToggleMaximize = $('.markdown-toggle-maximize[data-field-name='+field_name+']'); |
768 | 768 |
|
|
838 | 838 | editor.setValue(textareaId.val(), -1); |
839 | 839 | } |
840 | 840 | });// end each `mainMartor` |
841 | | -}; |
842 | | -$(function() { |
843 | | - $('.martor').martor(); |
844 | | -}); |
| 841 | + }; |
| 842 | + |
| 843 | + $(function() { |
| 844 | + $('.main-martor').martor(); |
| 845 | + }); |
| 846 | + |
| 847 | + if ('django' in window && 'jQuery' in window.django) |
| 848 | + django.jQuery(document).on('formset:added', function (event, $row) { |
| 849 | + $row.find('.main-martor').each(function () { |
| 850 | + var id = $row.attr('id'); |
| 851 | + id = id.substr(id.lastIndexOf('-') + 1); |
| 852 | + // Notice here we are using our jQuery instead of Django's. |
| 853 | + // This is because plugins are only loaded for ours. |
| 854 | + var fixed = $(this.outerHTML.replace(/__prefix__/g, id)); |
| 855 | + $(this).replaceWith(fixed); |
| 856 | + fixed.martor(); |
| 857 | + }); |
| 858 | + }); |
845 | 859 | })(jQuery); |
846 | | - |
847 | | -$( document ).ready(function(){ |
848 | | - // Semantic UI |
849 | | - $('.ui.martor-toolbar .ui.dropdown').dropdown(); |
850 | | - $('.ui.tab-martor-menu .item').tab(); |
851 | | -}); |
|
0 commit comments