Opening a Dialog
view codeOpening a static Dialog
The layout of the Dialog is fully described by the referenced HTML template: either the default "#dialog_generic" of a specific one.
You can fully customize the rendering with CSS; the default styles are provided by static/frontend_forms/css/frontend_forms.css
dialog1 = new Dialog({ dialog_selector: '#dialog_generic', html: '<h1>Static content goes here ...</h1>', width: '600px', min_height: '200px', title: '<i class="fa fa-calculator"></i> Select an object ...', footer_text: 'testing dialog ...', enable_trace: true }); dialog1.open()
A simple static Dialog
Opening a dynamic Dialog
In most cases, you will rather produce the dialog content dynamically.
To obtain that, just add an "url" option to the Djalog constructor, and it will be automatically used to obtain the Dialog content from the server via an Ajax call.
dialog1 = new Dialog({ ... url: "/samples/simple-content", ...
Sometimes it is convenient to reuse the very same single view to render either a modal dialog, or a standalone HTML page.
This can be easily accomplished providing:
- an "inner" template which renders the content
- an "outer" container template which renders the full page, then includes the "inner" template
- in the view, detect the call context and render one or another
def simple_content2(request): # Either render only the modal content, or a full standalone page if request.is_ajax(): template_name = 'frontend/includes/simple_content2_inner.html' else: template_name = 'frontend/includes/simple_content2.html' return render(request, template_name, { })
here, the "inner" template provides the content:
<div class="row"> <div class="col-sm-4"> <p>Odio quidem eveniet inventore velit repudiandae magnam eius, rerum temporibus tempora eos iure? Quisquam assumenda provident autem sed aut praesentium ut architecto placeat fuga, asperiores praesentium dolorem dolorum illo voluptatem dolor ullam incidunt, quisquam natus perferendis omnis odit officiis ipsum voluptas, itaque repudiandae nisi in magni magnam architecto, saepe quidem minima velit quia cumque sint facilis nobis labore accusamus assumenda? Minima a ab, expedita ab voluptas saepe ratione officiis, aperiam distinctio molestias minima iste doloremque saepe ipsum eligendi est voluptas? Beatae minima qui voluptatem aspernatur amet explicabo atque, ullam veniam nostrum, culpa minus id facere, exercitationem quod magni est distinctio deleniti aspernatur, ipsam vitae quae expedita quam asperiores obcaecati corrupti?</p> </div> <div class="col-sm-4"> <p>Quisquam iusto repellat soluta reprehenderit fugit sequi id, molestiae pariatur neque asperiores nemo mollitia ab, praesentium tempora id consequatur nobis sunt culpa a repellendus facere magnam aliquam, molestias unde officiis dolor voluptatibus corrupti vel? Provident consectetur vitae numquam illo, beatae omnis tempora quod porro officiis voluptates pariatur reiciendis voluptatem, corporis culpa veritatis a non consequuntur voluptatum doloribus repellat? Nobis eligendi tempore ducimus omnis aut sapiente sint, quo inventore vitae dolorem excepturi saepe fuga minima, odio suscipit eveniet praesentium ipsam libero nesciunt, ipsam laborum explicabo officia tempore repellat, esse ipsa dolores aliquid temporibus praesentium natus odio perspiciatis voluptatibus neque?</p> </div> <div class="col-sm-4"> <p>Laudantium dolores reprehenderit officiis velit molestiae minus perspiciatis, rerum blanditiis necessitatibus tempore quaerat voluptate ipsum accusamus inventore repellat commodi facilis, magni vel ducimus obcaecati natus dolores eaque animi temporibus voluptates? Tempore fuga voluptatibus consequatur neque eveniet reiciendis animi nisi ad ipsam, nesciunt exercitationem veniam sunt qui delectus magni nisi explicabo, sed tenetur error velit voluptates corrupti sit quae eveniet, vero consequatur exercitationem consequuntur iure animi a accusantium magni quo. Officia dicta vel et adipisci autem sapiente itaque quas totam, blanditiis doloremque dolores ab non nostrum, provident qui enim deleniti? Deleniti dolorem tempora laudantium provident omnis qui fuga commodi, quod necessitatibus ipsum quas soluta, quis dicta quas, quaerat ab necessitatibus libero voluptate, consequatur est recusandae assumenda omnis voluptatem veniam officia odit incidunt maiores?</p> </div> </div>
while the "outer" one renders the full page:
{% extends "base.html" %}
{% load static staticfiles i18n %}
{% block content %}
{% include 'frontend/includes/simple_content2_inner.html' %}
{% endblock content %}