src/pyams_portal/zmi/templates/layout.pt
changeset 5 670b7956c689
parent 0 6f99128c6d48
child 23 70720c9f56c9
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/pyams_portal/zmi/templates/layout.pt	Mon Jan 18 18:09:46 2016 +0100
@@ -0,0 +1,162 @@
+<tal:var define="template_config view.template_configuration;
+				 portlet_config view.portlet_configuration;
+				 can_change view.can_change;"
+		 i18n:domain="pyams_portal">
+	<div class="ams-widget"
+		 data-ams-focus-target
+		 data-ams-plugins="pyams_portal"
+		 data-ams-plugin-pyams_portal-src="/--static--/pyams_portal/js/portal{MyAMS.devext}.js"
+		 data-ams-plugin-pyams_portal-css="/--static--/pyams_portal/css/portal{MyAMS.devext}.css"
+		 data-ams-plugin-pyams_portal-callback="PyAMS_portal.template.initConfig">
+		<header>
+			<span tal:condition="view.widget_icon_class | nothing"
+				  class="widget-icon"><i tal:attributes="class view.widget_icon_class"></i>
+			</span>
+			<h2 tal:content="view.title">Title</h2>
+			<tal:var content="structure provider:pyams.widget_title" />
+			<tal:var content="structure provider:pyams.toolbar" />
+		</header>
+		<div class="widget-body">
+			<div class="btn-toolbar" role="toolbar"
+				 tal:condition="can_change">
+				<div class="btn-group" role="group">
+					<div class="btn btn-default btn-row hint" title="Add row" i18n:attributes="title"
+						 data-ams-hint-gravity="n">
+						<i class="fa fa-fw fa-2x fa-indent"></i>
+					</div>
+					<div class="btn btn-default btn-slot hint" title="Add slot" i18n:attributes="title"
+						 data-ams-hint-gravity="n">
+						<i class="fa fa-fw fa-2x fa-columns"></i>
+					</div>
+				</div>
+				<div class="btn-group" role="group">
+					<div tal:repeat="portlet view.selected_portlets"
+						 class="btn btn-default btn-portlet hint"
+						 data-ams-hint-gravity="n"
+						 tal:attributes="data-ams-portlet-name portlet.name;
+										 title portlet.label;">
+						<img tal:condition="portlet.toolbar_image"
+							 tal:attributes="src portlet.toolbar_image" />
+						<i tal:condition="portlet.toolbar_css_class"
+						   tal:attributes="class portlet.toolbar_css_class"></i>
+					</div>
+				</div>
+				<div class="btn-group" role="group">
+					<div class="btn btn-default hint" data-ams-url="add-template-portlet.html" data-toggle="modal"
+						 data-ams-hint-gravity="n"
+						 title="Add another portlet..." i18n:attributes="title">
+						<i class="fa fa-fw fa-2x fa-plus"></i>
+					</div>
+				</div>
+			</div>
+			<div class="clearfix">
+				<div class="ams-form form-horizontal margin-bottom-10">
+					<label class="control-label col-md-6 padding-right-5" i18n:translate="">Selected display:</label>
+					<div class="col-md-5">
+						<select id="device_selector" class="select2"
+								data-ams-select2-width="300px"
+								data-ams-change-handler="PyAMS_portal.template.selectDisplay">
+							<option value="" selected i18n:translate="">Current device</option>
+							<option value="xs" i18n:translate="">Extra small device (phone)</option>
+							<option value="sm" i18n:translate="">Small device (tablet)</option>
+							<option value="md" i18n:translate="">Medium desktop device (> 970px)</option>
+							<option value="lg" i18n:translate="">Large desktop device (> 1170px)</option>
+						</select>
+					</div>
+				</div>
+			</div>
+			<div id="portal_config" class="container"
+				 tal:attributes="data-ams-allowed-change can_change">
+				<div class="rows"
+					 data-ams-sortable-placeholder="row-highlight"
+					 data-ams-sortable-items="> .row"
+					 data-ams-sortable-over="PyAMS_portal.template.overRows"
+					 data-ams-sortable-stop="PyAMS_portal.template.sortRows">
+					<div class="row context-menu"
+						 data-ams-contextmenu-selector="#rowMenu"
+						 tal:repeat="row range(template_config.rows)"
+						 tal:attributes="data-ams-row-id row;">
+						<span class="row_id label label-success pull-right"
+							  tal:content="row"></span>
+						<div class="slots"
+							 data-ams-sortable-placeholder="slot-highlight"
+							 data-ams-sortable-connectwith=".slots"
+							 data-ams-sortable-over="PyAMS_portal.template.overSlots"
+							 data-ams-sortable-stop="PyAMS_portal.template.sortSlots">
+							<div class="slot context-menu col col-md-12 no-padding"
+								 data-ams-contextmenu-selector="#slotMenu"
+								 data-ams-resizable-start="PyAMS_portal.template.startSlotResize"
+								 data-ams-resizable-stop="PyAMS_portal.template.stopSlotResize"
+								 data-ams-resizable-handles="e"
+								 tal:repeat="slot_name template_config.get_slots(row)"
+								 tal:attributes="class string:slot context-menu col ${template_config.get_slot_configuration(slot_name).get_css_class()};
+												 data-ams-slot-name slot_name;">
+								<div class="header padding-x-5"
+									 tal:content="slot_name"></div>
+								<div class="portlets"
+									 data-ams-sortable-placeholder="portlet-highlight"
+									 data-ams-sortable-connectwith=".portlets"
+									 data-ams-sortable-over="PyAMS_portal.template.overPortlets"
+									 data-ams-sortable-stop="PyAMS_portal.template.sortPortlets">
+									<div class="portlet context-menu"
+										 data-ams-contextmenu-selector="#portletMenu"
+										 tal:repeat="portlet_id template_config.slot_config[slot_name].portlet_ids"
+										 tal:attributes="data-ams-portlet-id portlet_id;">
+										<div class="header padding-x-5"
+											 tal:define="portlet_name portlet_config.get_portlet_configuration(portlet_id).portlet_name"
+											 tal:content="view.get_portlet_label(portlet_name)"></div>
+										<div class="preview"
+											 tal:content="structure view.get_portlet_preview(portlet_id)"></div>
+									</div>
+								</div>
+								<div class="clearfix"></div>
+							</div>
+						</div>
+					</div>
+				</div>
+			</div>
+			<ul id="rowMenu" class="dropdown-menu" role="menu" style="display:none;"
+				tal:condition="can_change">
+				<li class="small">
+					<a tabindex="-1" data-ams-url="PyAMS_portal.template.deleteRow">
+						<i class="fa fa-fw fa-trash"></i>
+						<i18n:var translate="">Delete row...</i18n:var>
+					</a>
+				</li>
+			</ul>
+			<ul id="slotMenu" class="dropdown-menu" role="menu" style="display:none;"
+				tal:condition="can_change">
+				<li class="small">
+					<a tabindex="-1" data-ams-url="PyAMS_portal.template.editSlot">
+						<i class="fa fa-fw fa-edit"></i>
+						<i18n:var translate="">Edit slot properties...</i18n:var>
+					</a>
+				</li>
+				<li class="divider"></li>
+				<li class="small">
+					<a tabindex="-1" data-ams-url="PyAMS_portal.template.deleteSlot">
+						<i class="fa fa-fw fa-trash"></i>
+						<i18n:var translate="">Delete slot...</i18n:var>
+					</a>
+				</li>
+			</ul>
+			<ul id="portletMenu" class="dropdown-menu" role="menu" style="display:none;" >
+				<li class="small">
+					<a tabindex="-1" data-ams-url="PyAMS_portal.template.editPortlet">
+						<i class="fa fa-fw fa-edit"></i>
+						<i18n:var translate="">Edit portlet properties...</i18n:var>
+					</a>
+				</li>
+				<tal:if condition="can_change">
+					<li class="divider"></li>
+					<li class="small">
+						<a tabindex="-1" data-ams-url="PyAMS_portal.template.deletePortlet">
+							<i class="fa fa-fw fa-trash"></i>
+							<i18n:var translate="">Delete portlet...</i18n:var>
+						</a>
+					</li>
+				</tal:if>
+			</ul>
+		</div>
+	</div>
+</tal:var>