src/pyams_form/interfaces/templates/widget-form.pt
changeset 103 d06578da5e84
parent 93 a2b5525eb686
child 119 77ad84e8b837
equal deleted inserted replaced
102:728821df9e89 103:d06578da5e84
       
     1 <div class="ams-widget">
       
     2 	<header>
       
     3 		<span tal:condition="view.widget_icon_class | nothing"
       
     4 			  class="widget-icon"><i tal:attributes="class view.widget_icon_class"></i>
       
     5 		</span>
       
     6 		<h2 tal:content="view.legend"></h2>
       
     7 		<tal:var content="structure provider:pyams.widget_title" />
       
     8 		<tal:var content="structure provider:pyams.toolbar" />
       
     9 	</header>
       
    10 	<div class="widget-body no-padding">
       
    11 		<div tal:define="prefix provider:form_prefix"
       
    12 			 tal:replace="structure prefix">Form prefix</div>
       
    13 		<tal:var content="structure provider:form_help" />
       
    14 		<form method="post"
       
    15 			  data-async
       
    16 			  tal:attributes="id view.id;
       
    17 							  name view.name;
       
    18 							  action view.get_form_action();
       
    19 							  method view.method;
       
    20 							  enctype view.enctype;
       
    21 							  acceptCharset view.acceptCharset;
       
    22 							  accept view.accept;
       
    23 							  autocomplete view.autocomplete;
       
    24 							  class view.css_class;
       
    25 							  data-ams-data extension:object_data(view);
       
    26 							  data-ams-form-handler view.get_ajax_handler() | nothing;
       
    27 							  data-ams-form-options view.get_form_options() | nothing;
       
    28 							  data-ams-form-submit-target view.form_target | nothing;
       
    29 							  data-ams-form-download-target view.download_target | nothing;
       
    30 							  data-ams-warn-on-change view.warn_on_change;">
       
    31 			<div class="modal-viewport">
       
    32 				<fieldset>
       
    33 					<div class="widgets-prefix"
       
    34 						 tal:omit-tag="getattr(view, 'hide_widgets_prefix_div', False)"
       
    35 						 tal:define="prefix provider:widgets_prefix"
       
    36 						 tal:condition="prefix"
       
    37 						 tal:content="structure prefix">Widgets prefix</div>
       
    38 					<div class="clearfix"></div>
       
    39 					<tal:loop repeat="group view.groups">
       
    40 						<fieldset tal:define="legend group.legend"
       
    41 								  tal:omit-tag="not:legend"
       
    42 								  tal:attributes="class (group.fieldset_class or '') + (' bordered' if group.bordered else '')">
       
    43 							<tal:if condition="group.checkbox_switch">
       
    44 								<legend data-ams-checker-value="selected"
       
    45 										tal:condition="legend"
       
    46 										tal:attributes="class group.css_class;
       
    47 														data-ams-checker-fieldname '{0}:list'.format(group.checkbox_widget.name);
       
    48 														data-ams-checker-readonly 'readonly' if group.checkbox_widget.mode == 'display' else None;
       
    49 														data-ams-checker-mode 'disable' if group.checkbox_mode == 'disable' else None;
       
    50 														data-ams-checker-marker '{0}-empty-marker'.format(group.checkbox_widget.name);
       
    51 														data-ams-checker-state group.checker_state;">
       
    52 									<label tal:content="legend">Legend</label>
       
    53 								</legend>
       
    54 							</tal:if>
       
    55 							<tal:if condition="not:group.checkbox_switch">
       
    56 								<legend tal:condition="legend"
       
    57 										tal:content="legend"
       
    58 										tal:attributes="class group.css_class;
       
    59 														data-ams-switcher-state group.switcher_state;">Legend</legend>
       
    60 							</tal:if>
       
    61 							<tal:var define="help group.help" condition="help">
       
    62 								<div class="alert alert-info padding-5"
       
    63 									 tal:define="i18n_help request.localizer.translate(help);"
       
    64 									 tal:content="structure extension:html(i18n_help)"></div>
       
    65 							</tal:var>
       
    66 							<tal:loop repeat="widget group.visible_widgets">
       
    67 								<input type="hidden"
       
    68 									   tal:condition="widget.mode == 'hidden'"
       
    69 									   tal:replace="structure widget.render()" />
       
    70 								<tal:if condition="widget.mode != 'hidden'">
       
    71 									<div tal:define="required 'required-field' if widget.required and widget.label and (widget.mode != 'display') else ''"
       
    72 										 tal:attributes="class string:${widget.group_css_class | group.group_css_class | view.group_css_class | 'form-group'} ${required}">
       
    73 										<label tal:attributes="class widget.label_css_class | group.label_css_class | view.label_css_class">
       
    74 											<span>
       
    75 												<tal:var content="widget.label" />
       
    76 												<i class="fa fa-question-circle hint" title="Input hint"
       
    77 												   tal:define="description getattr(widget, 'description', widget.field.description)"
       
    78 												   tal:condition="description"
       
    79 												   tal:attributes="title description;
       
    80 																   data-ams-hint-html '<' in description;"></i>
       
    81 											</span>
       
    82 										</label>
       
    83 										<div tal:attributes="class widget.input_css_class | group.input_css_class | view.input_css_class">
       
    84 											<label class="input"
       
    85 												   tal:attributes="class widget.widget_css_class | default;
       
    86 																   data-ams-form-validator view.get_widget_callback(widget.field.getName())">
       
    87 												<div tal:define="notice widget.before_widget_notice | nothing"
       
    88 													 tal:condition="notice"
       
    89 													 tal:content="structure notice">Notice</div>
       
    90 												<input tal:replace="structure widget.render()" />
       
    91 												<div tal:define="notice widget.after_widget_notice | nothing"
       
    92 													 tal:condition="notice"
       
    93 													 tal:content="structure notice">Notice</div>
       
    94 											</label>
       
    95 										</div>
       
    96 									</div>
       
    97 								</tal:if>
       
    98 							</tal:loop>
       
    99 							<div class="subforms"
       
   100 								 tal:condition="group.subforms">
       
   101 								<fieldset tal:define="title group.subforms_legend"
       
   102 										  tal:omit-tag="not:title">
       
   103 									<legend tal:condition="title" tal:content="title" i18n:translate="">Title</legend>
       
   104 									<tal:loop repeat="subform group.subforms">
       
   105 										<tal:var replace="structure subform.render()" />
       
   106 									</tal:loop>
       
   107 								</fieldset>
       
   108 							</div>
       
   109 						</fieldset>
       
   110 					</tal:loop>
       
   111 					<div class="widgets-suffix"
       
   112 						 tal:omit-tag="getattr(view, 'hide_widgets_suffix_div', False)"
       
   113 						 tal:define="suffix provider:widgets_suffix"
       
   114 						 tal:condition="suffix"
       
   115 						 tal:content="structure suffix">Widgets suffix</div>
       
   116 					<div class="subforms"
       
   117 						 tal:condition="view.subforms">
       
   118 						<fieldset tal:define="title view.subforms_legend"
       
   119 								  tal:omit-tag="not:title">
       
   120 							<legend tal:condition="title" tal:content="title" i18n:translate="">Title</legend>
       
   121 							<tal:loop repeat="subform view.subforms">
       
   122 								<tal:var replace="structure subform.render()" />
       
   123 							</tal:loop>
       
   124 						</fieldset>
       
   125 					</div>
       
   126 					<div class="tabforms"
       
   127 						 tal:condition="view.tabforms">
       
   128 						<ul class="nav nav-tabs">
       
   129 							<li tal:repeat="tabform view.tabforms"
       
   130 								tal:attributes="class 'small {active} {errors}'.format(active='active' if repeat['tabform'].start() else '',
       
   131 																					   errors='state-error' if tabform.widgets.errors else '')">
       
   132 								<a data-toggle="tab"
       
   133 								   tal:attributes="href string:#${tabform.id};
       
   134 												   data-ams-url python:getattr(tabform, 'tab_target', None);"
       
   135 								   tal:content="tabform.tab_label" i18n:translate="">Tab label</a>
       
   136 							</li>
       
   137 						</ul>
       
   138 						<div class="tab-content">
       
   139 							<div class="tab-pane fade in"
       
   140 								 tal:repeat="tabform view.tabforms"
       
   141 								 tal:attributes="id tabform.id;
       
   142 												 class 'tab-pane {active} fade in'.format(active='active' if repeat['tabform'].start() else '');"
       
   143 								 tal:content="structure tabform.render()"></div>
       
   144 						</div>
       
   145 					</div>
       
   146 				</fieldset>
       
   147 			</div>
       
   148 			<footer tal:condition="view.actions and (view.is_dialog or (view.mode == 'input'))">
       
   149 				<button tal:repeat="action view.actions.values()"
       
   150 						tal:replace="structure action.render()">Action</button>
       
   151 			</footer>
       
   152 		</form>
       
   153 		<div tal:define="prefix provider:form_suffix"
       
   154 			 tal:replace="structure prefix">Form suffix</div>
       
   155 	</div>
       
   156 </div>