From 48a249971972a66d54393bbd7f189b132e6ec317 Mon Sep 17 00:00:00 2001
From: jordij
");
+ } else {
+ parentElement = $(parentElement).parent();
+ eol = $( "
" ).insertAfter(parentElement);
+ }
+ placeCaretAtEnd(eol[0]);
+
+ return widget.options.editable.element.trigger('change');
+ }
}
- }
- });
+ });
+ }
});
}
});
})(jQuery);
-}).call(this);
-
-
-
-
-
-
-// (function() {
-// (function($) {
-// return $.widget("IKS.halloembedder", {
-// options: {
-// uuid: '',
-// editable: null
-// },
-// populateToolbar: function(toolbar) {
-// var button, getEnclosingLink, widget;
-
-// widget = this;
-// getEnclosingLink = function() {
-// var node;
-
-// node = widget.options.editable.getSelection().commonAncestorContainer;
-// return $(node).parents('a').get(0);
-// };
-// button = $('');
-// button.hallobutton({
-// uuid: this.options.uuid,
-// editable: this.options.editable,
-// label: 'Snippets',
-// icon: 'icon-snippet',
-// command: null
-// /*queryState: function(event) {
-// return button.hallobutton('checked', !!getEnclosingLink());
-// }*/
-// });
-// toolbar.append(button);
-// return button.on("click", function(event) {
-// var insertionPoint, lastSelection;
-
-// lastSelection = widget.options.editable.getSelection();
-// insertionPoint = $(lastSelection.endContainer).parentsUntil('.richtext').last();
-
-// return ModalWorkflow({
-// url: window.embedderChooserUrls.embedderChooser,
-// responses: {
-// embedChosen: function(embedData) {
-// var elem;
-// elem = $(embedData).get(0);
-// lastSelection.insertNode(elem);
-// // if (elem.getAttribute('contenteditable') === 'false') {
-// // insertRichTextDeleteControl(elem);
-// // }
-// return widget.options.editable.element.trigger('change');
-// }
-// }
-// });
-// // enclosingLink = getEnclosingLink();
-// /*if (enclosingLink) {
-// $(enclosingLink).replaceWith(enclosingLink.innerHTML);
-// button.hallobutton('checked', false);
-// return widget.options.editable.element.trigger('change');
-// } else {
-// lastSelection = widget.options.editable.getSelection();
-// if (lastSelection.collapsed) {
-// url = window.chooserUrls.pageChooser + '?allow_external_link=true&allow_email_link=true&prompt_for_link_text=true';
-// } else {
-// url = window.chooserUrls.pageChooser + '?allow_external_link=true&allow_email_link=true';
-// }
-// return ModalWorkflow({
-// url: url,
-// responses: {
-// pageChosen: function(pageData) {
-// var a;
-
-// a = document.createElement('a');
-// a.setAttribute('href', pageData.url);
-// if (pageData.id) {
-// a.setAttribute('data-id', pageData.id);
-// a.setAttribute('data-linktype', 'page');
-// }
-// if ((!lastSelection.collapsed) && lastSelection.canSurroundContents()) {
-// lastSelection.surroundContents(a);
-// } else {
-// a.appendChild(document.createTextNode(pageData.title));
-// lastSelection.insertNode(a);
-// }
-// return widget.options.editable.element.trigger('change');
-// }
-// }
-// });
-// }*/
-// });
-// }
-// });
-// })(jQuery);
-
-// }).call(this);
\ No newline at end of file
+}).call(this);
\ No newline at end of file
diff --git a/wagtailembedder/templates/wagtailembedder/snippets/type_index.html b/wagtailembedder/templates/wagtailembedder/snippets/type_index.html
index 704b9df..000934c 100644
--- a/wagtailembedder/templates/wagtailembedder/snippets/type_index.html
+++ b/wagtailembedder/templates/wagtailembedder/snippets/type_index.html
@@ -13,8 +13,9 @@ add one first??
No {{ snippet_type_name_plural }} have been created. Why not add one first?
{% endif %} diff --git a/wagtailembedder/templates/wagtailembedder/snippets/type_index.js b/wagtailembedder/templates/wagtailembedder/snippets/type_index.js index a6a4046..2c5b7d2 100644 --- a/wagtailembedder/templates/wagtailembedder/snippets/type_index.js +++ b/wagtailembedder/templates/wagtailembedder/snippets/type_index.js @@ -2,17 +2,6 @@ function(modal) { $('div.snippet-list h2 a.snippet-choice').click(function(event){ event.preventDefault(); modal.loadUrl(this.href); - // $.get($(this).attr('href'), function(response) { - - // }) - // .done(function() { - // console.log( "second success" ); - // }) - // .fail(function(error) { - // console.log(error); - // console.log( "error" ); - // }); - return false; }); } \ No newline at end of file diff --git a/wagtailembedder/templates/wagtailembedder/snippets/types_list.js b/wagtailembedder/templates/wagtailembedder/snippets/types_list.js index bb54041..77fcabd 100644 --- a/wagtailembedder/templates/wagtailembedder/snippets/types_list.js +++ b/wagtailembedder/templates/wagtailembedder/snippets/types_list.js @@ -2,17 +2,6 @@ function(modal) { $('div.snippet-list h2 a.snippet-embedder').click(function(event){ event.preventDefault(); modal.loadUrl(this.href); - // $.get($(this).attr('href'), function(response) { - - // }) - // .done(function() { - // console.log( "second success" ); - // }) - // .fail(function(error) { - // console.log(error); - // console.log( "error" ); - // }); - return false; }); } \ No newline at end of file diff --git a/wagtailembedder/views/chooser.py b/wagtailembedder/views/chooser.py index cd3976d..a2cab67 100644 --- a/wagtailembedder/views/chooser.py +++ b/wagtailembedder/views/chooser.py @@ -14,12 +14,10 @@ @permission_required('wagtailadmin.access_admin') def index(request): - snippet_types = [ - ( - get_snippet_type_name(content_type)[1], - get_snippet_type_description(content_type), - content_type - ) + snippet_types = [( + get_snippet_type_name(content_type)[1], + get_snippet_type_description(content_type), + content_type) for content_type in get_snippet_content_types() if user_can_edit_snippet_type(request.user, content_type) ] @@ -41,6 +39,7 @@ def index_objects(request, content_type_app_name, content_type_model_name): model = content_type.model_class() items = model.objects.all() snippet_type_name, snippet_type_name_plural = get_snippet_type_name(content_type) + return render_modal_workflow( request, 'wagtailembedder/snippets/type_index.html', @@ -62,14 +61,19 @@ def choose_snippet(request, id, content_type_app_name, content_type_model_name): raise PermissionDenied model = content_type.model_class() try: - instance = model.objects.get(id=id) + model.objects.get(id=id) except ObjectDoesNotExist: return render_modal_workflow( - request, None, None, + request, + None, + None, {'error': 'Sorry, an error occurred. Contact support or try again later.'} ) embed_html = embed_to_editor_html(id, content_type_app_name, content_type_model_name) + return render_modal_workflow( - request, None, 'wagtailembedder/editor/snippet_chosen.js', + request, + None, + 'wagtailembedder/editor/snippet_chosen.js', {'embed_html': embed_html} ) diff --git a/wagtailembedder/wagtail_hooks.py b/wagtailembedder/wagtail_hooks.py index 3aff237..62f5827 100644 --- a/wagtailembedder/wagtail_hooks.py +++ b/wagtailembedder/wagtail_hooks.py @@ -18,7 +18,7 @@ def register_admin_urls(): @hooks.register('insert_editor_js') def editor_js(): """ - Add extra JS files to the admin + Add extra JS files to the admin to register the plugin and set the reversed URL in JS vars """ js_files = [ 'wagtailembedder/js/hallo-embedder.js', @@ -38,4 +38,7 @@ def editor_js(): @hooks.register('before_serve_page') def add_handler(page, request, serve_args, serve_kwargs): + """ + Call add_embed_handler() to set a custom handler for embedded snippets + """ add_embed_handler()