Files
notifications-admin/app/templates/views/dashboard/dashboard.html
Chris Hill-Scott 33b4138e79 Patch update sections of the page on AJAX
Currently, when we update a section of the page with AJAX we replace the
entire HTML of the section with the new HTML. This causes problems:
- if you’re trying to interact with that section of the page, eg by
  inpecting it, clicking or hovering an element
- (probably) for screenreaders trying to navigate a page which is
  changing more than is necessary

This commit replaces the call to `.html()` with a pretty clever library
called diffDOM[1]. DiffDOM works by taking a diff of the old element and
the new element, then doing a patch update, ie only modifying the parts
that have changed.

This is similar in concept to React’s virtual DOM, while still allowing
us to render all markup from one set of templates on the server-side.

1. https://github.com/fiduswriter/diffDOM
2016-04-27 10:08:57 +01:00

24 lines
777 B
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{% extends "withnav_template.html" %}
{% block page_title %}
{{ current_service.name }} GOV.UK Notify
{% endblock %}
{% block maincolumn_content %}
{% if not templates and current_user.has_permissions(['send_texts', 'send_emails', 'send_letters'], any_=True) %}
{% include 'views/dashboard/get-started.html' %}
{% elif current_user.has_permissions([
'manage_templates', 'manage_api_keys', 'manage_users', 'manage_settings
'], any_=True, admin_override=True) %}
{% if current_service.restricted %}
{% include 'views/dashboard/trial-mode-banner.html' %}
{% endif %}
{% else %}
{% include 'views/dashboard/no-permissions-banner.html' %}
{% endif %}
{% include 'views/dashboard/today.html' %}
{% endblock %}