UNPKG

3.5 kBHTMLView Raw
1{% macro renderBlock(page, group, block, extraClasses) %}
2 {% if page._edit %}
3 <div {% if block.id %}data-id="{{ block.id }}"{% endif %} class="{{ extraClasses }} apos-block-wrapper"{% if block.type %} data-type="{{block.type}}"{% endif %} data-block-wrapper>
4 <div class="apos-block-controls apos-ui-container" data-block-controls>
5 <span class="apos-ui-btn-group">
6 <a class="apos-button apos-ui-btn" href="#" data-block-handle><i class="icon-move"></i></a>{#
7 #}<span class="apos-button apos-ui-btn apos-ui-move-up" data-move-block="up"><i class="icon-arrow-up"></i></span>{#
8 #}<span class="apos-button apos-ui-btn apos-ui-move-down" data-move-block="down"><i class="icon-arrow-down"></i></span>
9 </span>
10 <ul {% if block.id %}data-id="{{ block.id }}"{% endif %} class="apos-blocks-menu apos-ui " href="#">
11 <li>
12 <span data-content-block-menu-toggle class="apos-ui-btn apos-button apos-ui-dropdown"><i class="icon-reorder"></i>&nbsp;Layout</span>
13 <ul {% if block.id %}data-id="{{ block.id }}"{% endif %} class="apos-editor2-content-menu-options apos-block-menu-options apos-ui-menu" data-content-block-menu-options>
14 {% for type in types %}
15 <li href="#" {% if type.name == block.type %} class="active"{% endif %} data-switch-block data-type="{{ type.name | e }}">
16 {% if type.icon %}<i class="icon {{type.icon}}"></i>{% endif %}
17 {{ type.label | e }}
18 </li>
19 {% endfor %}
20 </ul>
21 </li>
22 </ul>
23 <a class="apos-button apos-ui-btn" href="#" data-remove-block><i class="icon-trash"></i></a>
24 </div>
25 <div class="apos-block" data-block>
26 {% if block.type %}
27 {{ partial(block.type, { page: page, user: user, prefix: group + '_' + block.id + '_' }) }}
28 {% else %}
29 {# This block is the template, it will have content later after cloning #}
30 {% endif %}
31 </div>
32 </div>
33 {% else %}
34 {# When not editing we render with no extra wrappers #}
35 {{ partial(block.type, { page: page, user: user, prefix: group + '_' + block.id + '_' }) }}
36 {% endif %}
37{% endmacro %}
38
39{% if page._edit %}
40 <div class="apos-block-group" data-block-group="{{ group | e }}" data-slug="{{ page.slug | e }}">
41 <div class="apos-block-group-controls apos-ui-container">
42 <span class="apos-ui-btn" data-content-blocks-menu=""><i class="icon-plus"></i> Add {{(groupLabel | e) or ('Block')}} </span>
43 <ul class="apos-block-menu-options apos-ui-menu" data-content-blocks-menu-options="">
44 {% for type in types %}
45 <li data-new-block data-type="{{ type.name | e }}">
46 {% if type.icon %}<i class="icon {{type.icon}}"></i>{% endif %}
47 {{ type.label | e }}
48 </li>
49{# <a class="apos-button apos-ui-button" href="#" >+ {{ type.label | e }}</a> #}
50 {% endfor %}
51 </ul>
52 </div>
53 <div class="apos-blocks" data-apos-blocks>
54 {# Existing blocks #}
55 {% for block in blocks %}
56 {{ renderBlock(page, group, block, '') }}
57 {% endfor %}
58 {# This is a hidden DOM template which will be used by JS to build new blocks #}
59 {{ renderBlock(page, group, {}, 'apos-template') }}
60 </div>
61 </div>
62{% else %}
63 {# When not editing we render with no extra wrappers #}
64 {% for block in blocks %}
65 {{ renderBlock(page, group, block, '') }}
66 {% endfor %}
67{% endif %}