Changes for page Create Application

Last modified by Ludovic Dubost on 2024/07/22 15:51

From version 5.1
edited by Ludovic Dubost
on 2015/11/28 14:58
Change comment: Install extension [org.xwiki.platform:xwiki-platform-appwithinminutes-ui-7.3]
To version 7.1
edited by Ludovic Dubost
on 2019/05/20 19:03
Change comment: Install extension [org.xwiki.platform:xwiki-platform-appwithinminutes-ui/11.3]

Summary

Details

Page properties
Syntax
... ... @@ -1,1 +1,1 @@
1 -XWiki 2.0
1 +XWiki 2.1
Content
... ... @@ -1,20 +1,31 @@
1 -{{include reference="AppWithinMinutes.WizardStep"/}}
1 +{{include reference="AppWithinMinutes.VelocityMacros"/}}
2 2  
3 +{{velocity}}
4 +#if ($request.wizard == 'true')
5 + {{include reference="AppWithinMinutes.WizardStep"/}}
6 +#end
7 +{{/velocity}}
8 +
3 3  {{template name="locationPicker_macros.vm" /}}
4 4  
5 5  {{velocity output="false"}}
6 -#macro(showStep)
7 - {{html wiki="true"}}
8 - #appWizardHeader(1)
9 - (% class="wizard-help" %)
10 - (((
11 - **$services.localization.render('platform.appwithinminutes.wizardStepHelpTitle')** $services.localization.render('platform.appwithinminutes.wizardStepHelpDescription')
12 - (% class="steps vertical" %)
13 - #foreach($index in [1, 2, 3])
14 - * (% class="number" %)$index(%%) (% class="name" %)$services.localization.render("platform.appwithinminutes.wizardStep${index}Name")(%%)
15 - (% class="description" %)$services.localization.render("platform.appwithinminutes.wizardStep${index}Description")
16 - #end
17 - )))
12 +#macro (showStep)
13 + #appWizardHeader('name')
14 + <div class="wizard-help">
15 + <p>
16 + <strong>$services.localization.render('platform.appwithinminutes.wizardStepHelpTitle')</strong>
17 + $services.localization.render('platform.appwithinminutes.wizardStepHelpDescription')
18 + </p>
19 + <ul class="steps vertical">
20 + #foreach($step in $awmSteps)
21 + <li>
22 + <span class="number">$mathtool.add($foreach.index, 1)</span>
23 + <span class="name">$services.localization.render("appWithinMinutes.wizardStep.${step}.name")</span>
24 + <span class="description">$services.localization.render("appWithinMinutes.wizardStep.${step}.description")</span>
25 + </li>
26 + #end
27 + </ul>
28 + </div>
18 18   <form action="$doc.getURL()" method="post" class="xform wizard-body">
19 19   #locationPicker({
20 20   'id': 'app',
... ... @@ -38,7 +38,6 @@
38 38   <div class="appName-preview"></div>
39 39   #appWizardFooter(1)
40 40   </form>
41 - {{/html}}
42 42  #end
43 43  
44 44  #macro (processStep)
... ... @@ -46,10 +46,9 @@
46 46   #getAppReference
47 47   #getAppDescriptor($appReference)
48 48   #if ($appDescriptor)
49 - ## Edit an existing application. Use the configured class name.
50 - #set ($appClassRef = $appDescriptor.getObject($appDescriptorClassName).getValue('class'))
51 - ## The class reference is relative to the document holding the application descriptor.
52 - #set ($appClassRef = $services.model.resolveDocument($appClassRef, 'explicit', $appDescriptor.documentReference))
59 + ## Edit an existing application.
60 + #getAppClassReference($appDescriptor)
61 + #set ($appClassRef = $classReference)
53 53   #else
54 54   ## Create a new application. Use the default class name.
55 55   #set ($appCodeRef = $services.model.createSpaceReference('Code', $appReference))
... ... @@ -59,7 +59,6 @@
59 59   #if (!$xwiki.exists($appClassRef))
60 60   #set ($appHomeRef = $services.model.resolveDocument('', 'default', $appReference))
61 61   #set ($discard = $queryString.putAll({
62 - 'editor': 'inline',
63 63   'template': 'AppWithinMinutes.ClassTemplate',
64 64   'parent': $services.model.serialize($appHomeRef),
65 65   'title': "$appReference.name Class"
... ... @@ -71,36 +71,29 @@
71 71  #macro (validateAppName)
72 72   #getAppReference
73 73   #if (!$appReference)
74 - (% class="xErrorMsg" %)$services.localization.render('platform.appwithinminutes.appNameEmptyError')
82 + <span class="xErrorMsg">$services.localization.render('platform.appwithinminutes.appNameEmptyError')</span>
75 75   #else
76 76   #getAppDescriptor($appReference)
77 77   #if ($appDescriptor)
78 78   ## Edit an existing application.
79 - #set ($appDescriptorObj = $appDescriptor.getObject($appDescriptorClassName))
80 - #set ($appClassRef = $appDescriptorObj.getValue('class'))
81 - ## The class reference is relative to the document holding the application descriptor.
82 - #set ($appClassRef = $services.model.resolveDocument($appClassRef, 'explicit', $appDescriptor.documentReference))
83 - #set ($appDataRef = $appDescriptorObj.getValue('dataSpace'))
84 - ## The data space reference is relative to the document holding the application descriptor.
85 - #set ($appDataRef = $services.model.resolveSpace($appDataRef, 'explicit', $appDescriptor.documentReference))
87 + #getAppClassReference($appDescriptor)
88 + #set ($appClassRef = $classReference)
86 86   #else
87 87   ## Create a new application.
88 - #set ($appDataRef = $services.model.createSpaceReference('Data', $appReference))
89 89   #set ($appCodeRef = $services.model.createSpaceReference('Code', $appReference))
90 90   #set ($appClassRef = $services.model.createDocumentReference("$!{appReference.name}Class", $appCodeRef))
91 91   #end
92 - ; $services.localization.render('platform.appwithinminutes.appNamePreviewHomePageUrlLabel')
93 - : {{{$!xwiki.getDocument($appReference).externalURL}}}
94 - ; $services.localization.render('platform.appwithinminutes.appNamePreviewDataSpaceLabel')
95 - : {{html clean="false"}}#hierarchy($appDataRef){{/html}}
96 - ; $services.localization.render('platform.appwithinminutes.appNamePreviewCodeSpaceLabel')
97 - : {{html clean="false"}}#hierarchy($appClassRef.parent){{/html}}
98 - ; $services.localization.render('platform.appwithinminutes.appNamePreviewClassReferenceLabel')
99 - : {{html clean="false"}}#hierarchy($appClassRef){{/html}}
94 + <dl>
95 + <dt>$services.localization.render('platform.appwithinminutes.appNamePreviewHomePageUrlLabel')</dt>
96 + <dd><pre>$!escapetool.xml($xwiki.getDocument($appReference).externalURL)</pre></dd>
97 + <dt>$services.localization.render('platform.appwithinminutes.appNamePreviewCodeSpaceLabel')</dt>
98 + <dd>#hierarchy($appClassRef.parent)</dd>
99 + </dl>
100 100   #set ($appHomeRef = $services.model.resolveDocument('', 'default', $appReference))
101 101   #if ($appDescriptor || $xwiki.exists($appHomeRef) || $xwiki.exists($appClassRef))
102 -
103 - {{warning}}$services.localization.render('platform.appwithinminutes.appNameIsUsedWarning'){{/warning}}
102 + <div class="box warningmessage">
103 + $services.localization.render('platform.appwithinminutes.appNameIsUsedWarning')
104 + </div>
104 104   #end
105 105   #end
106 106  #end
... ... @@ -126,11 +126,14 @@
126 126   #set ($appDescriptors = $services.query.xwql($appDescriptorStatement).bindValue('space', $localSpaceReference).execute())
127 127   #if ($appDescriptors.size() > 0)
128 128   #set ($appDescriptor = $xwiki.getDocument($appDescriptors.get(0)))
130 + #else
131 + #set ($appDescriptor = $NULL)
129 129   #end
130 130  #end
131 131  {{/velocity}}
132 132  
133 133  {{velocity}}
137 +{{html clean="false"}}
134 134  #if ("$!request.appName" != '')
135 135   #if ($xcontext.action == 'get')
136 136   #validateAppName
... ... @@ -138,8 +138,9 @@
138 138   ## CSRF protection is not needed because this step only redirects to the next one passing data in the query string.
139 139   #processStep
140 140   #end
141 -#else
145 +#elseif ($request.wizard == 'true')
142 142   #showStep
147 + #set ($displayDocExtra = false)
143 143  #end
144 -#set ($docextras = [])
149 +{{/html}}
145 145  {{/velocity}}