[%#
Template for the App Body section of TentMaker home page.
Expects this top level key:
block - an array element from app_blocks array given to tenter.tt
Expects this to be in view.data
statements - hash describing statements built by
Bigtop::Parser::get_keyword_docs
sequence, table, controller, or literals.
expanded_divs - hash keyed by AST ident storing true if its div is open
%]
<div class='app_block_[% block.type %]'
id='div_[% block.ident %]'>
[% IF block.type == 'sequence' %]
[% type_label = 'Sequence' %]
<fieldset>
<legend>
[% type_label %]
(
[%- INCLUDE delete_link.ttc
name = "app_body_delete::$block.ident" %]
)
</legend>
<table>
<tr>
<td> Name: </td>
<td>
<input type='text'
id='app_block::[% block.ident %]'
value='[% block.name %]'
onblur='javascript:update_tree(
"name",
"sequence::[% block.ident %]",
this.value
)'
/>
</td>
</tr>
</table>
[% ELSIF block.type == 'table' %]
[% type_label = 'Table' %]
<fieldset>
<legend>
[% type_label %]
( <a href='javascript:show_or_hide( "[% "hideable_$block.ident" %]" );'>
edit</a> |
[%- INCLUDE delete_link.ttc
name = "app_body_delete::$block.ident" %]
)
</legend>
<table>
<tr>
<td> Name: </td>
<td>
<input type='text'
id='app_block::[% block.ident %]'
value='[% block.name %]'
onblur='javascript:update_tree(
"name",
"table::[% block.ident %]",
this.value
)'
/>
</td>
</tr>
<tr>
<td colspan='2'>
[% WRAPPER show_or_hide.ttc
clickable_id = "table_heading_$block.ident"
element_under_control = "hideable_$block.ident"
label = 'Close Edit'
heading_level = 'none'
expanded = view.data.expanded_divs.${block.ident} || 0
%]
[% INCLUDE table_block %]
[% END %] </td>
</tr>
</table>
</fieldset>
[% ELSIF block.type == 'controller' %]
[% type_label = 'Controller' %]
<fieldset>
<legend>
[% type_label %]
( <a href='javascript:show_or_hide( "[%-
"hideable_$block.ident" %]" );'>
edit</a> |
[%- INCLUDE delete_link.ttc
name = "app_body_delete::$block.ident" %]
)
</legend>
<table>
<tr>
<td> Name: </td>
<td>
<input type='text'
id='app_block::[% block.ident %]'
value='[% block.name %]'
onblur='javascript:update_tree(
"name",
"controller::[% block.ident %]",
this.value
)'
/>
</td>
</tr>
<tr><td> [% type_label %] Type: </td>
<td>
<select
id='[% type_label %]::type_select::[% block.ident %]'
onchange='javascript:type_change(
"[% block.ident %]",
this.value
)'
>
<option value='stub'
[% IF block.controller_type == 'stub' %]selected='selected'[% END %]
> stub </option>
<option value='AutoCRUD'
[% IF block.controller_type == 'AutoCRUD' %]selected='selected'[% END %]
> AutoCRUD </option>
<option value='CRUD'
[% IF block.controller_type == 'CRUD' %]selected='selected'[% END %]
> CRUD </option>
</select>
</td>
</tr>
<tr>
<td colspan='2'>
[% WRAPPER show_or_hide.ttc
clickable_id = "controller_heading_$block.ident"
element_under_control = "hideable_$block.ident"
label = 'Close Edit'
heading_level = 'none'
expanded = view.data.expanded_divs.${block.ident} || 0
%]
[% INCLUDE controller_block %]
[% END %] </td>
</tr>
</table>
[% ELSIF block.type == 'literal' %]
[% type_label = 'Literal' %]
<fieldset>
<legend>
[% type_label %]
( <a href='javascript:show_or_hide( "[%-
"hideable_$block.ident" %]" );'>
edit</a> |
[%- INCLUDE delete_link.ttc
name = "app_body_delete::$block.ident" %]
)
</legend>
<table>
<tr><td> [% type_label %] Type: </td>
<td>
<select
id='[% type_label %]::type_select::[% block.ident %]'
onchange='javascript:type_change(
"[% block.ident %]",
this.value
)'
>
<option value='None'>- Not Set -</option>
<option value='Location'
[% IF block.keyword == 'Location' %]selected='selected'[% END %]
> Location </option>
<option value='HttpdConf'
[% IF block.keyword == 'HttpdConf' %]selected='selected'[% END %]
> HttpdConf </option>
<option value='SQL'
[% IF block.keyword == 'SQL' %]selected='selected'[% END %]
> SQL </option>
<option value='PerlTop'
[% IF block.keyword == 'PerlTop' %]selected='selected'[% END %]
> PerlTop </option>
<option value='PerlBlock'
[% IF block.keyword == 'PerlBlock' %]selected='selected'[% END %]
> PerlBlock </option>
<option value='Conf'
[% IF block.keyword == 'Conf' %]selected='selected'[% END %]
> Conf </option>
</select>
</td>
</tr>
<tr>
<td> String: </td>
<td>
<textarea id='app_block::[% block.ident %]'
cols='80' rows='7'
onblur='javascript:update_tree(
"literal",
"[% block.ident %]",
this.value
)'
>[% block.value %]</textarea>
</td>
</tr>
</table>
[% ELSIF block.type == 'join_table' %]
[% type_label = 'Join Table' %]
<fieldset>
<legend>
[% type_label %]
( <a href='javascript:show_or_hide( "[%-
"hideable_$block.ident" %]" );'>
edit</a> |
[%- INCLUDE delete_link.ttc
name = "app_body_delete::$block.ident" %]
)
</legend>
<table>
<tr>
<td> Name: </td>
<td>
<input type='text'
id='app_block::[% block.ident %]'
value='[% block.name %]'
onblur='javascript:update_tree(
"name",
"table::[% block.ident %]",
this.value
)'
/>
</td>
</tr>
<tr>
<td colspan='2'>
[% WRAPPER show_or_hide.ttc
clickable_id = "join_table_heading_$block.ident"
element_under_control = "hideable_$block.ident"
label = 'Close Edit'
heading_level = 'none'
expanded = view.data.expanded_divs.${block.ident} || 0
%]
[% INCLUDE join_table_block %]
[% END %] </td>
</tr>
</table>
</fieldset>
[% ELSE %][%# must be new %]
I don't know what to do:
<pre>
[% USE dumper %][% dumper.dump( block ) %]
</pre>
[% END %]
<br style='clear: both' />
</div>
[% BLOCK table_block %]
[% INCLUDE table_statement_table
statements = block.body.statements %]
<br />
<div id='quick_table::[% block.ident %]' class='quick_edit_div' >
[% INCLUDE quick_edit.ttc
fields = block.body.fields
table_ident = block.ident %]
<br />
</div>
<div class='app_block_table_new' id="create_field_box">
<fieldset>
<legend>Create Field(s)</legend>
<table>
<tr><td> Name(s): </td>
<td>
<input type='text' id='new_field_[% block.ident %]' />
</td>
<td colspan='2'>
<button type='button'
name='new_field_[% block.ident %]_create'
onclick='javascript:create_field( "[% block.ident %]" )'
> Create </button>
</td>
<td> Hint: separate names with spaces to add many fields at once.
</td>
</tr>
</table>
</div>
<br />
<fieldset>
<legend>
Edit Field:
<select id='[% block.ident %]_fields'
onchange='javascript:expose_field( this )' >
</legend>
<option value='0'> - Select - </option>
[% FOREACH item IN block.body.fields %]
[% IF item.type == 'field' %]
<option value='[% block.ident %]::[% item.ident %]'
id='field_edit_option::[% item.ident %]'>
[% item.name %]
</option>
[% END %]
[% END %]
</select>
<div id='fields_for_[% block.ident %]' >
[% FOREACH item IN block.body.fields %]
[% IF item.type == 'field' %]
<div id='field_edit_[% item.ident %]' style='display: none'>
[% INCLUDE field_block.ttc %]
</div>
[% END %]
<!--<br />-->
[% END %]
</div>
</fieldset>
[% END %][%# end table_block %]
[% BLOCK table_statement_table %]
<table class='bordered'>
<tr>
<th> Keyword </th>
<th> Value(s) </th>
<th> Description </th>
</tr>
[% FOREACH table_statement IN view.data.statements.table.statements %]
[% keyword = table_statement.keyword %]
[% NEXT IF keyword == 'data' %]
<tr>
<td> [% keyword %] </td>
<td>
[% values = statements.$keyword.get_unquoted_args
single_value = values.0 %]
[% INCLUDE input_boxes.ttc
statement = table_statement
keyword_prefix = "$block.ident::"
name_prefix = "$block.ident::"
id_prefix = "$block.ident::"
method_group = 'table_statement'
key = keyword
%]
</td>
<td>
[% table_statement.descr %]
</td>
</tr>
[% END %]
</table>
[% END %][%# end of table_statement_table %]
[% BLOCK controller_block %]
[% INCLUDE controller_statement_table
statements = block.body.statements %]
<br />
<div class='app_block_controller_element'>
<fieldset>
<legend>Create Method</legend>
<table>
<tr><td> Name: </td>
<td>
<input type='text' id='new_method_[% block.ident %]' />
</td>
<td> Method Type: </td>
<td>
<select id='new_method_type_[% block.ident %]'>
<option value='stub'> stub </option>
<option value='main_listing'> main_listing </option>
<option value='AutoCRUD_form'> AutoCRUD_form </option>
<option value='CRUD_form'> CRUD_form </option>
</select>
</td>
<td colspan='2'>
<button type='button'
name='new_method_[% block.ident %]_create'
onclick='javascript:create_method( "[% block.ident %]" )'
> Create </button>
</td>
</tr>
</table>
</div>
<br />
[% FOREACH item IN block.body.methods %]
[% INCLUDE method_block.ttc %]
<br />
[% END %]
[% END %][%# end of controller_block %]
[% BLOCK controller_statement_table %]
<table class='bordered'>
<tr>
<th> Keyword </th>
<th> Value(s) </th>
<th> Description </th>
</tr>
[% FOREACH controller_statement IN
view.data.statements.controller.statements %]
[% keyword = controller_statement.keyword %]
<tr>
<td> [% keyword %] </td>
<td>
[% values = statements.$keyword.get_unquoted_args
single_value = values.0 %]
[% INCLUDE input_boxes.ttc
statement = controller_statement
keyword_prefix = "$block.ident::"
name_prefix = "$block.ident::"
id_prefix = "$block.ident::"
method_group = 'controller_statement'
key = keyword
%]
</td>
<td>
[% controller_statement.descr %]
</td>
</tr>
[% END %]
</table>
[% END %][%# end of controller_statement_table %]
[% BLOCK join_table_block %]
[% INCLUDE join_table_statement_table
statements = block.body.statements %]
<br />
[% END %][%# end join_table_block %]
[% BLOCK join_table_statement_table %]
<table class='bordered'>
<tr>
<th> Keyword </th>
<th> Value(s) </th>
<th> Description </th>
</tr>
[% FOREACH jt_statement IN view.data.statements.join_table.statements %]
[% keyword = jt_statement.keyword %]
<tr>
<td> [% keyword %] </td>
<td>
[% values = statements.$keyword.get_unquoted_args
single_value = values.0 %]
[% INCLUDE input_boxes.ttc
statement = jt_statement
keyword_prefix = "$block.ident::"
name_prefix = "$block.ident::"
method_group = 'join_table_statement'
key = keyword
%]
</td>
<td>
[% jt_statement.descr %]
</td>
</tr>
[% END %]
</table>
[% END %][%# end of join_table_statement_table %]