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
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
on 2019/05/20 19:03
Change comment:
Install extension [org.xwiki.platform:xwiki-platform-appwithinminutes-ui/11.3]
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Syntax
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki 2. 01 +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}}