Ignore:
Timestamp:
Jun 9, 2010, 12:46:22 PM (9 years ago)
Author:
roberth
Message:

Template editor is now able to add, edit, move and delete fields. Also fixed bug #90 (searching publications in IE didn't work because fetching XML from another domain was not allowed)

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

Legend:

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

    r538 r544  
    11<li class="ui-state-default" id="templateField_${it.id}">
    2   <span class="ui-icon ui-icon-arrowthick-2-n-s"></span>
    3   <b>${it.name}</b>
    4   (<g:render template="elements/${it.type.toString().toLowerCase().replaceAll(/ /,'_')}" />)
    5 
    6   <form class="templateField_form" id="templateField_${it.id}_form" action="update">
    7     <g:hiddenField name="id" value="${it.id}" />
    8     <g:hiddenField name="version" value="${it.version}" />
    9     <label for="name">Name:</label> <g:textField name="name" value="${it.name}" /><br />
    10     <label for="type">Type:</label> <g:select from="${fieldTypes}" name="type" value="${it.type}" /><br />
    11     <label for="unit">Unit:</label> <g:textField name="unit" value="${it.unit}" /><br />
    12     <label for="comment">Comment:</label> <g:textArea name="comment" value="${it.comment}" /><br />
    13     <label for="required">Required:</label> <g:checkBox name="required" value="${it.required}" /><br />
    14 
    15     <input type="button" value="Save" onClick="updateTemplateField( ${it.id} );">
    16     <input type="button" value="Delete" onClick="">
    17     <input type="button" value="Close" onClick="hideTemplateFieldForm( ${it.id} );">
    18   </form>
     2        <g:render template="elements/liContent" model="['templateField': it, 'fieldTypes': fieldTypes]"/>
    193</li>
  • trunk/grails-app/views/templateEditor/index.gsp

    r538 r544  
    11<%
    22        /**
    3          * Template Editor overview template
    4          *
    5          * @author Jeroen Wesbeek
    6          * @since 20100422
    7          * @package wizard
    8          * @see dbnp.studycapturing.TemplateEditorController
    9          *
    10          * Revision information:
    11          * $Rev: 428 $
    12          * $Author: duh $
    13          * $Date: 2010-05-18 11:09:55 +0200 (di, 18 mei 2010) $
    14          */
     3        * Template Editor overview template
     4        *
     5        * @author Jeroen Wesbeek
     6        * @since 20100422
     7        * @package wizard
     8        * @see dbnp.studycapturing.TemplateEditorController
     9        *
     10        * Revision information:
     11        * $Rev: 428 $
     12        * $Author: duh $
     13        * $Date: 2010-05-18 11:09:55 +0200 (di, 18 mei 2010) $
     14        */
    1515%>
    1616<%@ page contentType="text/html;charset=UTF-8" %>
    1717<html>
    18  <head>
    19   <meta name="layout" content="dialog"/>
    20   <title>template editor</title>
    21   <script src="${createLinkTo(dir: 'js', file: 'templateEditor.js')}" type="text/javascript"></script>
    22   <link rel="stylesheet" href="${createLinkTo(dir: 'css', file: 'templateEditor.css')}" />
    23  </head>
    24  <body>
     18        <head>
     19                <meta name="layout" content="dialog"/>
     20                <title>template editor</title>
     21                <script src="${createLinkTo(dir: 'js', file: 'templateEditor.js')}" type="text/javascript"></script>
     22                <link rel="stylesheet" href="${createLinkTo(dir: 'css', file: 'templateEditor.css')}" />
     23        </head>
     24        <body>
    2525
    26   <script type="text/javascript">
    27          $(function() {
    28                  $("#templateFields").sortable({
    29                          placeholder: 'ui-state-highlight',
    30                          update: updateTemplateFieldPosition
    31                  });
    32                  $("#templateFields").disableSelection();
    33                  $('#templateFields li').bind('dblclick', showTemplateFormEvent);
     26                <script type="text/javascript">
     27                        $(function() {
     28                                $("#templateFields").sortable({
     29                                        placeholder: 'ui-state-highlight',
     30                                        cancel: '.empty',
    3431
    35          });
    36   </script>
     32                                        update: updateTemplateFieldPosition
     33                                });
     34                                $("#templateFields").disableSelection();
     35                                //$('#templateFields li').bind('dblclick', showTemplateFormEvent);
     36                        });
     37                </script>
    3738
    38  <p>Please select a template to edit or create a new template</p>
    39  <g:form action="index" name="templateChoice">
    40     <g:hiddenField name="entity" value="${encryptedEntity}" />
    41     <select name="template" id="templateSelect" onChange="this.form.submit();">
    42       <option value=""></option>
    43       <g:each in="${templates}" var="currentTemplate">
    44         <g:if test="${currentTemplate.id==template?.id}">
    45           <option selected value="${currentTemplate.id}">${currentTemplate.name}</option>
    46         </g:if>
    47         <g:else>
    48           <option value="${currentTemplate.id}">${currentTemplate.name}</option>
    49         </g:else>
    50       </g:each>
    51     </select>
    52  </g:form>
     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>
     44                                <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>
     51                                </g:each>
     52                        </select>
     53                </g:form>
    5354
    54  <g:if test="${template}">
    55   <p>Currently, this template contains the following fields. Drag fields to reorder and double click fields to edit.</p>
    56   <ul id="templateFields">
    57     <g:render template="elements/all" collection="${template.fields}" />
    58   </ul>
    59  </g:if>
     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}" />
     60                        </ul>
    6061
    61  add a new field:
    62  <!-- g:select from="${templateFields}" //-->
    63  
    64  </body>
     62                        <div id="addNew">
     63                                <a href="#" onClick="showTemplateFieldForm( 'templateField_new' ); this.blur(); return false;">
     64                                        <b>Add new field</b>
     65                                </a>
     66
     67                                <form class="templateField_form" id="templateField_new_form" action="addField">
     68                                        <g:render template="elements/fieldForm" model="['templateField': null, 'fieldTypes': fieldTypes]"/>
     69                                        <div class="templateFieldButtons">
     70                                                <input type="button" value="Save" onClick="addTemplateField( 'new' );">
     71                                                <input type="button" value="Cancel" onClick="hideTemplateFieldForm( 'new' );">
     72                                        </div>
     73                                </form>
     74                        </div>
     75                </g:if>
     76
     77        </body>
    6578</html>
Note: See TracChangeset for help on using the changeset viewer.