Skip to content

Commit f936cb4

Browse files
committed
Support Django admin inlines
1 parent 249a676 commit f936cb4

File tree

1 file changed

+27
-19
lines changed

1 file changed

+27
-19
lines changed

martor/static/martor/js/martor.js

Lines changed: 27 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,7 @@
1111
$ = django.jQuery;
1212
}
1313
$.fn.martor = function() {
14-
15-
var martor = $(this);
16-
var mainMartor = $('.main-martor');
17-
18-
martor.trigger('martor.init');
14+
$('.martor').trigger('martor.init');
1915

2016
// CSRF code
2117
var getCookie = function(name) {
@@ -33,11 +29,12 @@
3329
}
3430
}
3531
return cookieValue;
36-
}
32+
};
3733

3834
// 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');
4138
var textareaId = $('#id_'+field_name);
4239
var editorId = 'martor-'+field_name;
4340
var editor = ace.edit(editorId);
@@ -760,8 +757,11 @@
760757
$('.modal-help-guide[data-field-name='+field_name+']').modal('show');
761758
});
762759

760+
// Handle tabs.
761+
mainMartor.find('.ui.martor-toolbar .ui.dropdown').dropdown();
762+
mainMartor.find('.ui.tab-martor-menu .item').tab();
763+
763764
// Toggle editor, preview, maximize
764-
var mainMartor = $(obj);
765765
var martorField = $('.martor-field-'+field_name);
766766
var btnToggleMaximize = $('.markdown-toggle-maximize[data-field-name='+field_name+']');
767767

@@ -837,14 +837,22 @@
837837
editor.setValue(textareaId.val(), -1);
838838
}
839839
});// end each `mainMartor`
840-
};
841-
$(function() {
842-
$('.martor').martor();
843-
});
840+
};
841+
842+
$(function() {
843+
$('.main-martor').martor();
844+
});
845+
846+
if ('django' in window && 'jQuery' in window.django)
847+
django.jQuery(document).on('formset:added', function (event, $row) {
848+
$row.find('.main-martor').each(function () {
849+
var id = $row.attr('id');
850+
id = id.substr(id.lastIndexOf('-') + 1);
851+
// Notice here we are using our jQuery instead of Django's.
852+
// This is because plugins are only loaded for ours.
853+
var fixed = $(this.outerHTML.replace(/__prefix__/g, id));
854+
$(this).replaceWith(fixed);
855+
fixed.martor();
856+
});
857+
});
844858
})(jQuery);
845-
846-
$( document ).ready(function(){
847-
// Semantic UI
848-
$('.ui.martor-toolbar .ui.dropdown').dropdown();
849-
$('.ui.tab-martor-menu .item').tab();
850-
});

0 commit comments

Comments
 (0)