{# ┌───────────────────────────────────────────────────────────────────────────┐ │ #global-container │ │ ┌────────┐ ┌────────────────────────────────────────────────────────────┐ │ │ │ │ │ #main-container │ │ │ │ │ │ ┌────────────────────────────────────────────────────────┐ │ │ │ │ │ │ │ #alerts │ │ │ │ │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ │ │ │ ┌────────────────────────────────────────────────────────┐ │ │ │ │ │ │ │ #crumbs │ │ │ │ │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ │ │ │ ┌────────────────────────────────────────────────────────┐ │ │ │ │ │ │ │ #main │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ │ │ │ │ #main-form (?) │ │ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────┐ │ │ │ │ │ │ │ │ │ │ │ #header │ │ │ │ │ │ │ │ │ │ │ └────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────┐ │ │ │ │ │ │ │ │ │ │ │ #main-content │ │ │ │ │ │ │#global-│ │ │ │ │ ┌────────┐ ┌──────────────────────┐ ┌────────┐ │ │ │ │ │ │ │sidebar │ │ │ │ │ │ │ │ #content-container │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ┌──────────────────┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ #tabs (?) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └──────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ┌──────────────────┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │#sidebar│ │ │ │ │ │#details│ │ │ │ │ │ │ │ │ │ │ │ │ │ (?) │ │ │ #content │ │ │ (?) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └──────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ┌──────────────────┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ #footer (?) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └──────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └────────┘ └──────────────────────┘ └────────┘ │ │ │ │ │ │ │ │ │ │ │ └────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ └────────┘ └────────────────────────────────────────────────────────────┘ │ └───────────────────────────────────────────────────────────────────────────┘ #} {% extends "_layouts/basecp" %} {# The CP only supports queue components that implement QueueInterface #} {% set queue = craft.app.queue %} {% js %} {% if queue is instance of("craft\\queue\\QueueInterface") %} Craft.cp.setJobInfo({{ queue.getJobInfo(100)|json_encode|raw }}, false); {% if queue.getHasReservedJobs() %} Craft.cp.trackJobProgress(true); {% elseif queue.getHasWaitingJobs() %} Craft.cp.runQueue(); {% endif %} {% else %} Craft.cp.enableQueue = false; {% endif %} {% endjs %} {% set hasSystemIcon = CraftEdition == CraftPro and craft.rebrand.isIconUploaded %} {% set fullPageForm = (fullPageForm is defined and fullPageForm) %} {% set canUpgradeEdition = craft.app.getCanUpgradeEdition() %} {% set licensedEdition = craft.app.getLicensedEdition() %} {% set isTrial = licensedEdition is not same as(null) and licensedEdition is not same as(CraftEdition) %} {% set sidebar = (sidebar ?? block('sidebar') ?? '')|trim %} {% set toolbar = (toolbar ?? block('toolbar') ?? '')|trim %} {% set details = (details ?? block('details') ?? '')|trim %} {% set footer = (footer ?? block('footer') ?? '')|trim %} {% set crumbs = crumbs ?? null %} {% set tabs = tabs is defined and tabs|length != 1 ? tabs : null %} {% set mainContentClasses = [ sidebar ? 'has-sidebar', details ? 'has-details', tabs ? 'has-tabs', ]|filter %} {% set showHeader = showHeader ?? true %} {% if not showHeader %} {% set bodyClass = (bodyClass is defined ? bodyClass~' ' : '') ~ 'no-header' -%} {% endif %} {% set mainAttributes = { id: 'main', role: 'main', }|merge(mainAttributes ?? []) %} {% set mainFormAttributes = { 'id': 'main-form', 'method': 'post', 'accept-charset': 'UTF-8', 'novalidate': true, 'data': { 'saveshortcut': true, 'saveshortcut-redirect': saveShortcutRedirect is defined ? saveShortcutRedirect|hash : false, 'confirm-unload': true, 'delta': view.getIsDeltaRegistrationActive(), }, }|merge(mainFormAttributes ?? [], recursive=true) %} {% block body %}