<%!
from django.utils.translation import ugettext as _
from contentstore.views.helpers import xblock_studio_url
import json
%>
<%
xblock_url = xblock_studio_url(xblock)
show_inline = xblock.has_children and not xblock_url
section_class = "level-nesting" if show_inline else "level-element"
collapsible_class = "is-collapsible" if xblock.has_children else ""
label = xblock.display_name or xblock.scope_ids.block_type
messages = json.dumps(xblock.validate().to_json())
%>

<%namespace name='static' file='static_content.html'/>

<%block name="header_extras">
<script type="text/template" id="xblock-validation-messages-tpl">
    <%static:include path="js/xblock-validation-messages.underscore" />
</script>
</%block>

<script type='text/javascript'>
    require(["js/views/xblock_validation", "js/models/xblock_validation"],
            function (XBlockValidationView, XBlockValidationModel) {
                var validationMessages = ${messages};
                % if xblock_url and not is_root:
                validationMessages.showSummaryOnly = true;
                % endif

                var model = new XBlockValidationModel(validationMessages, {parse: true});
                if (!model.get("empty")) {
                    var validationEle = $('div.xblock-validation-messages[data-locator="${xblock.location | h}"]');
                    var viewOptions = {
                        el: validationEle,
                        model: model
                    };
                    % if is_root:
                    viewOptions.root = true;
                    % endif
                    var view = new XBlockValidationView(viewOptions);
                    view.render();
                }
            });
</script>


% if not is_root:
    % if is_reorderable:
    <li class="studio-xblock-wrapper is-draggable" data-locator="${xblock.location | h}" data-course-key="${xblock.location.course_key | h}">
    % else:
    <div class="studio-xblock-wrapper" data-locator="${xblock.location | h}" data-course-key="${xblock.location.course_key | h}">
    % endif

    <section class="wrapper-xblock ${section_class} ${collapsible_class}">
% endif

<header class="xblock-header xblock-header-${xblock.category}">
    <div class="xblock-header-primary">
        <div class="header-details">
            % if show_inline:
            <a href="#" data-tooltip="${_('Expand or Collapse')}" class="action expand-collapse collapse">
                <i class="icon-caret-down ui-toggle-expansion"></i>
                <span class="sr">${_('Expand or Collapse')}</span>
            </a>
            % endif
            <span class="xblock-display-name">${label | h}</span>
        </div>
        <div class="header-actions">
            <ul class="actions-list">
                % if not is_root:
                    % if not show_inline:
                        <li class="action-item action-edit">
                            <a href="#" class="edit-button action-button">
                                <i class="icon-pencil"></i>
                                <span class="action-button-text">${_("Edit")}</span>
                            </a>
                        </li>
                        <li class="action-item action-duplicate">
                            <a href="#" data-tooltip="${_("Duplicate")}" class="duplicate-button action-button">
                            <i class="icon-copy"></i>
                            <span class="sr">${_("Duplicate")}</span>
                            </a>
                        </li>
                    % endif
                    <li class="action-item action-delete">
                        <a href="#" data-tooltip="${_("Delete")}" class="delete-button action-button">
                        <i class="icon-trash"></i>
                        <span class="sr">${_("Delete")}</span>
                        </a>
                    </li>
                    % if is_reorderable:
                        <li class="action-item action-drag">
                            <span data-tooltip="${_('Drag to reorder')}" class="drag-handle action"></span>
                        </li>
                    % endif
                % endif
            </ul>
        </div>
    </div>
    % if not is_root:
        <div class="wrapper-xblock-message xblock-validation-messages" data-locator="${xblock.location | h}"/>
        % if xblock_url:
        <div class="xblock-header-secondary">
            <div class="meta-info">${_('This block contains multiple components.')}</div>
            <ul class="actions-list">
                <li class="action-item action-view">
                    <a href="${xblock_url}" class="action-button">
                        ## Translators: this is a verb describing the action of viewing more details
                        <span class="action-button-text">${_('View')}</span>
                        <i class="icon-arrow-right"></i>
                    </a>
                </li>
            </ul>
        </div>
        % endif
    % endif
 </header>

% if is_root:
    <div class="wrapper-xblock-message xblock-validation-messages" data-locator="${xblock.location | h}"/>
% endif

% if is_root or not xblock_url:
    <article class="xblock-render">
    ${content}
    </article>
% else:
    <div class="xblock-message-area">
    ${content}
% endif

% if not is_root:
    </section>
    % if is_reorderable:
        </li>
    % else:
        </div>
    % endif
% endif