Ignore:
Timestamp:
Jun 10, 2010, 4:45:53 PM (9 years ago)
Author:
roberth
Message:

Improved the TemplateEditor? again: templates can be created and removed and some checks were built in to ensure that the same fields in different templates point to the same TemplateField? object.

Location:
trunk/grails-app/views/templateEditor
Files:
8 added
1 edited
2 moved

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/views/templateEditor/elements/_available.gsp

    r544 r556  
    11<li class="ui-state-default" id="templateField_${it.id}">
    2         <g:render template="elements/liContent" model="['templateField': it, 'fieldTypes': fieldTypes]"/>
     2    <g:render template="elements/liField" model="['templateField': it, 'fieldTypes': fieldTypes]"/>
    33</li>
  • trunk/grails-app/views/templateEditor/elements/_liFieldNotInUse.gsp

    r544 r556  
    1 <a class="title" href="#" onClick="showTemplateFieldForm( 'templateField_' + ${templateField.id}); this.blur(); return false;">
    2         <span class="ui-icon ui-icon-arrowthick-2-n-s"></span>
    3         <b>${templateField.name}</b>
    4         (<g:render template="elements/${templateField.type.toString().toLowerCase().replaceAll(/ /,'_')}" />)
    5 </a>
     1<span class="listButtons">
     2  <img onClick="showTemplateFieldForm( 'templateField_' + ${templateField.id}); this.blur(); return false;" src="${createLinkTo( dir: 'images', file: 'icons/famfamfam/application_edit.png')}" alt="Edit template field properties" title="Edit template field properties">
     3  <img onClick="if( confirm( 'Are you sure?' ) ) { deleteTemplateField( ${templateField.id} ); }" src="${createLinkTo( dir: 'images', file: 'icons/famfamfam/delete.png')}" alt="Delete this template field" title="Delete this template field">
     4  <img onClick="addTemplateField( ${templateField.id} ); moveFieldListItem( ${templateField.id}, '#selectedTemplateFields' );" src="${createLinkTo( dir: 'images', file: 'icons/famfamfam/add.png')}" alt="Add field to template" title="Add field to template">
     5</span>
    66
    7 <form class="templateField_form" id="templateField_${templateField.id}_form" action="update">
     7<b>${templateField.name}</b>
     8(<g:if test="${templateField.unit}">${templateField.unit}, </g:if><g:render template="elements/${templateField.type.toString().toLowerCase().replaceAll(/ /,'_')}" model="[templateField: templateField]" />)
     9
     10<form class="templateField_form" id="templateField_${templateField.id}_form" action="updateField">
    811        <g:hiddenField name="id" value="${templateField.id}" />
    912        <g:hiddenField name="version" value="${templateField.version}" />
     
    1114        <div class="templateFieldButtons">
    1215                <input type="button" value="Save" onClick="updateTemplateField( ${templateField.id} );">
    13                 <input type="button" value="Delete" onClick="deleteTemplateField( ${templateField.id} );">
    1416                <input type="button" value="Close" onClick="hideTemplateFieldForm( ${templateField.id} );">
    1517        </div>
  • trunk/grails-app/views/templateEditor/index.gsp

    r544 r556  
    2424        <body>
    2525
    26                 <script type="text/javascript">
    27                         $(function() {
    28                                 $("#templateFields").sortable({
    29                                         placeholder: 'ui-state-highlight',
    30                                         cancel: '.empty',
     26                <div class="templateEditorStep" id="step1_template">
     27                        <h3>Select template</h3>
     28                        <p>Showing templates for <b>${humanReadableEntity}</b>.</p>
     29                        <p>Please select a template to edit or create a new template</p>
    3130
    32                                         update: updateTemplateFieldPosition
    33                                 });
    34                                 $("#templateFields").disableSelection();
    35                                 //$('#templateFields li').bind('dblclick', showTemplateFormEvent);
    36                         });
    37                 </script>
    38 
    39                 <p>Please select a template to edit or create a new template</p>
    40                 <g:form action="index" name="templateChoice">
    41                         <g:hiddenField name="entity" value="${encryptedEntity}" />
    42                         <select name="template" id="templateSelect" onChange="this.form.submit();">
    43                                 <option value=""></option>
     31                        <ul id="templates">
     32                                <li class="empty ui-state-default" <g:if test="${templates.size() > 0 }">style='display: none;'</g:if>>There are no templates for ${humanReadableEntity}. Use the 'Add template' button to add fields.</li>
    4433                                <g:each in="${templates}" var="currentTemplate">
    45                                         <g:if test="${currentTemplate.id==template?.id}">
    46                                                 <option selected value="${currentTemplate.id}">${currentTemplate.name}</option>
    47                                         </g:if>
    48                                         <g:else>
    49                                                 <option value="${currentTemplate.id}">${currentTemplate.name}</option>
    50                                         </g:else>
     34                                        <li id="template_${currentTemplate.id}"class="ui-state-default">
     35                                          <g:if test="${currentTemplate.inUse()}">
     36                                                <g:render template="elements/liTemplateNonEditable" model="['template': currentTemplate]"/>
     37                                          </g:if>
     38                                          <g:else>
     39                                                <g:render template="elements/liTemplateEditable" model="['template': currentTemplate]"/>
     40                                          </g:else>
     41                                        </li>
    5142                                </g:each>
    52                         </select>
    53                 </g:form>
    54 
    55                 <g:if test="${template}">
    56                         <p>Currently, this template contains the following fields. Drag fields to reorder and double click fields to edit.</p>
    57                         <ul id="templateFields">
    58                                 <li class="empty ui-state-default" <g:if test="${template.fields?.size() > 0 }">style='display: none;'</g:if>>This template does not yet contain any fields. Use the 'Add new field' button to add fields.</li>
    59                                 <g:render template="elements/all" collection="${template.fields}" />
    6043                        </ul>
    6144
    6245                        <div id="addNew">
    63                                 <a href="#" onClick="showTemplateFieldForm( 'templateField_new' ); this.blur(); return false;">
    64                                         <b>Add new field</b>
     46                                <a href="#" onClick="editTemplate( 'new' ); this.blur(); return false;">
     47                                        <b>Create new template</b>
    6548                                </a>
    6649
    67                                 <form class="templateField_form" id="templateField_new_form" action="addField">
    68                                         <g:render template="elements/fieldForm" model="['templateField': null, 'fieldTypes': fieldTypes]"/>
     50                                <form class="templateField_form" id="template_new_form" action="createTemplate">
     51                                        <g:hiddenField name="entity" value="${encryptedEntity}" />
     52                                        <g:render template="elements/templateForm" model="['template': null]"/>
    6953                                        <div class="templateFieldButtons">
    70                                                 <input type="button" value="Save" onClick="addTemplateField( 'new' );">
    71                                                 <input type="button" value="Cancel" onClick="hideTemplateFieldForm( 'new' );">
     54                                                <input type="button" value="Save" onClick="createTemplate( 'new' );">
     55                                                <input type="button" value="Cancel" onClick="hideTemplateForm( 'new' );">
    7256                                        </div>
    7357                                </form>
    7458                        </div>
    75                 </g:if>
     59
     60                        <g:form action="template" name="templateChoice" method="GET">
     61                                <g:hiddenField name="entity" value="${encryptedEntity}" />
     62                                <input type="hidden" name="template" id="templateSelect" value="${template?.id}">
     63                        </g:form>
     64                </div>
    7665
    7766        </body>
Note: See TracChangeset for help on using the changeset viewer.