Changes for page Create Application

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

From 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]
To 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]

Summary

Details

Page properties
Syntax
... ... @@ -1,1 +1,1 @@
1 -XWiki 2.1
1 +XWiki 2.0
Content
... ... @@ -1,31 +1,20 @@
1 -{{include reference="AppWithinMinutes.VelocityMacros"/}}
1 +{{include reference="AppWithinMinutes.WizardStep"/}}
2 2  
3 -{{velocity}}
4 -#if ($request.wizard == 'true')
5 - {{include reference="AppWithinMinutes.WizardStep"/}}
6 -#end
7 -{{/velocity}}
8 -
9 9  {{template name="locationPicker_macros.vm" /}}
10 10  
11 11  {{velocity output="false"}}
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>
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 + )))
29 29   <form action="$doc.getURL()" method="post" class="xform wizard-body">
30 30   #locationPicker({
31 31   'id': 'app',
... ... @@ -49,6 +49,7 @@
49 49   <div class="appName-preview"></div>
50 50   #appWizardFooter(1)
51 51   </form>
41 + {{/html}}
52 52  #end
53 53  
54 54  #macro (processStep)
... ... @@ -56,9 +56,10 @@
56 56   #getAppReference
57 57   #getAppDescriptor($appReference)
58 58   #if ($appDescriptor)
59 - ## Edit an existing application.
60 - #getAppClassReference($appDescriptor)
61 - #set ($appClassRef = $classReference)
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))
62 62   #else
63 63   ## Create a new application. Use the default class name.
64 64   #set ($appCodeRef = $services.model.createSpaceReference('Code', $appReference))
... ... @@ -68,6 +68,7 @@
68 68   #if (!$xwiki.exists($appClassRef))
69 69   #set ($appHomeRef = $services.model.resolveDocument('', 'default', $appReference))
70 70   #set ($discard = $queryString.putAll({
62 + 'editor': 'inline',
71 71   'template': 'AppWithinMinutes.ClassTemplate',
72 72   'parent': $services.model.serialize($appHomeRef),
73 73   'title': "$appReference.name Class"
... ... @@ -79,29 +79,36 @@
79 79  #macro (validateAppName)
80 80   #getAppReference
81 81   #if (!$appReference)
82 - <span class="xErrorMsg">$services.localization.render('platform.appwithinminutes.appNameEmptyError')</span>
74 + (% class="xErrorMsg" %)$services.localization.render('platform.appwithinminutes.appNameEmptyError')
83 83   #else
84 84   #getAppDescriptor($appReference)
85 85   #if ($appDescriptor)
86 86   ## Edit an existing application.
87 - #getAppClassReference($appDescriptor)
88 - #set ($appClassRef = $classReference)
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))
89 89   #else
90 90   ## Create a new application.
88 + #set ($appDataRef = $services.model.createSpaceReference('Data', $appReference))
91 91   #set ($appCodeRef = $services.model.createSpaceReference('Code', $appReference))
92 92   #set ($appClassRef = $services.model.createDocumentReference("$!{appReference.name}Class", $appCodeRef))
93 93   #end
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>
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}}
100 100   #set ($appHomeRef = $services.model.resolveDocument('', 'default', $appReference))
101 101   #if ($appDescriptor || $xwiki.exists($appHomeRef) || $xwiki.exists($appClassRef))
102 - <div class="box warningmessage">
103 - $services.localization.render('platform.appwithinminutes.appNameIsUsedWarning')
104 - </div>
102 +
103 + {{warning}}$services.localization.render('platform.appwithinminutes.appNameIsUsedWarning'){{/warning}}
105 105   #end
106 106   #end
107 107  #end
... ... @@ -127,14 +127,11 @@
127 127   #set ($appDescriptors = $services.query.xwql($appDescriptorStatement).bindValue('space', $localSpaceReference).execute())
128 128   #if ($appDescriptors.size() > 0)
129 129   #set ($appDescriptor = $xwiki.getDocument($appDescriptors.get(0)))
130 - #else
131 - #set ($appDescriptor = $NULL)
132 132   #end
133 133  #end
134 134  {{/velocity}}
135 135  
136 136  {{velocity}}
137 -{{html clean="false"}}
138 138  #if ("$!request.appName" != '')
139 139   #if ($xcontext.action == 'get')
140 140   #validateAppName
... ... @@ -142,9 +142,8 @@
142 142   ## CSRF protection is not needed because this step only redirects to the next one passing data in the query string.
143 143   #processStep
144 144   #end
145 -#elseif ($request.wizard == 'true')
141 +#else
146 146   #showStep
147 - #set ($displayDocExtra = false)
148 148  #end
149 -{{/html}}
144 +#set ($docextras = [])
150 150  {{/velocity}}