source: trunk/grails-app/views/templateEditor/template.gsp @ 1029

Last change on this file since 1029 was 1029, checked in by robert@…, 9 years ago

Compare templates view updated.

  • Property svn:keywords set to Author Date Rev
File size: 5.0 KB
Line 
1<%
2        /**
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: 1029 $
12        * $Author: robert@isdat.nl $
13        * $Date: 2010-11-01 12:17:38 +0000 (ma, 01 nov 2010) $
14        */
15%>
16<%@ page contentType="text/html;charset=UTF-8" %>
17<html>
18        <head>
19                <meta name="layout" content="${layout}"/>
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                <g:if env="production">
24                  <script type="text/javascript" src="${resource(dir: 'js', file: 'ontology-chooser.min.js')}"></script>
25                </g:if><g:else>
26                  <script type="text/javascript" src="${resource(dir: 'js', file: 'ontology-chooser.js')}"></script>
27                </g:else>
28
29                <style type="text/css">
30                  #content .templateEditorStep { font-size: 0.8em; }
31                </style>
32        </head>
33        <body>
34
35                <script type="text/javascript">
36                        $(function() {
37                                // Enable sorting of template fields
38                                $("#selectedTemplateFields").sortable({
39                                        placeholder: 'ui-state-highlight',
40                                        items: 'li:not(.domain)',
41                                        cancel: '.empty, input, select, button, textarea, form, label',
42                                        connectWith: '.templateFields',
43                                        update: updateTemplateFieldPosition,
44                                        receive: addTemplateFieldEvent,
45                                        remove: removeTemplateFieldEvent,
46                                        start: savePosition
47                                }).disableSelection();
48
49
50                                $("#availableTemplateFields").sortable({
51                                        placeholder: 'ui-state-highlight',
52                                        cancel: '.empty, input, select, button, textarea, form, label',
53                                        connectWith: '.templateFields',
54                                        start: savePosition
55                                }).disableSelection();
56
57
58                                $("#ontologyDialog").dialog({
59                                  autoOpen: false,
60                                  title: 'Search for ontology',
61                                  height: 290,
62                                  width: 350,
63                                  modal: true,
64                                  buttons: {
65                                          'Add': addOntology,
66                                          Cancel: function() {
67                                                  $(this).dialog('close');
68                                          }
69                                  },
70                                  close: function() {
71                                  }
72
73                                });
74
75                        });
76                </script>
77               
78                <g:form action="template" name="templateChoice">
79                        <g:hiddenField name="entity" value="${encryptedEntity}" />
80                        <g:hiddenField name="ontologies" value="${ontologies}" />
81                        <input type="hidden" name="template" id="templateSelect" value="${template?.id}">
82                </g:form>
83
84                <g:if test="${template}">
85                        <div class="templateEditorStep" id="step2_selectedFields">
86                                <h3 class="templateName">${template.name} (<a class="switch" href="${createLink(action:'index',params: [ 'entity': encryptedEntity ] + extraparams )}">switch</a>)</h3>
87
88                                <p>Currently, this template contains the following fields. Drag fields to reorder. Drag fields to the list of available fields to remove the field from the template.</p>
89                                <ol id="domainFields" class="templateFields <g:if test="${template.inUse()}">inUse</g:if>">
90                                        <g:render template="elements/domainField" var="domainField" collection="${domainFields}" model="['template':template]"/>
91                                </ol>
92                                <ol id="selectedTemplateFields" class="templateFields <g:if test="${template.inUse()}">inUse</g:if>">
93                                        <g:render template="elements/selected" var="templateField" collection="${template.fields}" model="['template':template]"/>
94                                        <% /* NB: this empty field should always be the last in the list! */ %>
95                                        <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. Drag a field to this list or use the 'Add field button'.</li>
96                                </ol>
97                        </div>
98                        <div class="templateEditorStep" id="step3_availableFields">
99                                <h3>Available fields</h3>
100
101                                <p>These fields are available for adding to the template. Drag a field to the template to add it.</p>
102                                <ol id="availableTemplateFields" class="templateFields">
103                                        <g:render template="elements/available" var="templateField" collection="${allFields - template.fields}" />
104                                        <li class="empty ui-state-default" <g:if test="${allFields.size() > template.fields.size()}">style='display: none;'</g:if>>There are no additional fields that can be added. Use the 'Create new field' button to create new fields.</li>
105                                </ol>
106
107                                <div id="addNew">
108                                        <a href="#" onClick="showTemplateFieldForm( 'templateField_new' ); this.blur(); return false;">
109                                                <b>Create new field</b>
110                                        </a>
111
112                                        <form class="templateField_form" id="templateField_new_form" action="createField">
113                                                <g:hiddenField name="entity" value="${encryptedEntity}" />
114                                                <g:render template="elements/fieldForm" model="['templateField': null, 'fieldTypes': fieldTypes]"/>
115                                                <div class="templateFieldButtons">
116                                                        <input type="button" value="Save" onClick="createTemplateField( 'new' );">
117                                                        <input type="button" value="Cancel" onClick="hideTemplateFieldForm( 'new' );">
118                                                </div>
119                                        </form>
120                                </div>
121                        </div>
122                </g:if>
123                <br clear="all" />
124                <div id="ontologyDialog">
125                  <g:render template="ontologyDialog" />
126                </div>
127
128                <div id="wait" class="wait">
129                  &nbsp;
130                </div>
131                <div class="wait_text wait">
132                  <img src="<g:resource dir="images" file="spinner.gif" />"> Please wait
133                </div>
134                </body>
135</html>
Note: See TracBrowser for help on using the repository browser.