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
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
on 2015/11/28 14:58
Change comment:
Install extension [org.xwiki.platform:xwiki-platform-appwithinminutes-ui-7.3]
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Syntax
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki 2. 11 +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 - <spanclass="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 -#else if ($request.wizard == 'true')141 +#else 146 146 #showStep 147 - #set ($displayDocExtra = false) 148 148 #end 149 - {{/html}}144 +#set ($docextras = []) 150 150 {{/velocity}}